chore: add agent project rules
This commit is contained in:
30
.agent/rules/project-rules.md
Normal file
30
.agent/rules/project-rules.md
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
trigger: always_on
|
||||
---
|
||||
|
||||
# MCP Bridge Development Rules
|
||||
|
||||
## 1. Critical Workflow
|
||||
- **Reload Required**: Any changes to `main.js`, `package.json`, `scene-script.js`, or `panel/` MUST be followed by reloading the plugin ("Reload Package") or restarting the editor. Hot reload does not apply to main process scripts.
|
||||
- **Test-Driven**: Always create a standalone test script in `test/` (e.g., `test/test_feature.js`) for new features. Tests must direct HTTP requests to verify functionality.
|
||||
|
||||
## 2. Architecture & IPC
|
||||
- **Process Isolation**:
|
||||
- `scene-script.js` (Renderer Process) CANNOT access `Editor.assetdb` or `Editor.FileSystem`.
|
||||
- `main.js` (Main Process) CANNOT access `cc` (Cocos Engine) directly.
|
||||
- **Rule**: Resolve asset paths (URL -> UUID) in `main.js` using `Editor.assetdb.urlToUuid()` BEFORE calling `callSceneScript`. Pass UUIDs to the scene script.
|
||||
- **Logging**:
|
||||
- Use `addLog(type, message)` in `main.js` instead of `console.log` to ensure logs are captured by the `read_console` tool and visible in the panel.
|
||||
|
||||
## 3. Coding Standards
|
||||
- **Safe Editing**: Be extremely careful when editing `main.js` to avoid duplicate code blocks or closing braces. Use `view_file` to verify context.
|
||||
- **Undo/Redo**:
|
||||
- All scene-modifying actions (node transform, property changes) SHOULD support Undo/Redo.
|
||||
- Use `Editor.Ipc.sendToMain('scene:undo-record', ...)` if modifying via scene script, or wrap operations in `manage_undo` groups.
|
||||
|
||||
## 4. Feature Specifics
|
||||
- **Particle Systems (VFX)**:
|
||||
- Always set `particleSystem.custom = true` when modifying properties via script.
|
||||
- Ensure a valid `texture` is set (or load a default one like `db://internal/image/default_sprite_splash.png`) to avoid invisible particles.
|
||||
- **Resource Loading**:
|
||||
- Built-in assets (`db://internal/...`) may need specific extensions (`.png`, `.jpg`) depending on the editor version. Try multiple paths if lookup fails.
|
||||
Reference in New Issue
Block a user