name: component-checklist description: "Use when adding a new ECS component, MCP command, or engine capability. Checklist of all files that must be updated across Rust engine, web layer, and integration points."
New Component / Command Checklist
When adding a new ECS component, update these domain-scoped files:
Rust Engine (4 required files)
engine/src/core/<component>.rs— Component struct + marker (addpub modincore/mod.rs)engine/src/core/pending/<domain>.rs— Request structs + queue methods + bridge fnsengine/src/core/commands/<domain>.rs— Dispatch entry + handler functionengine/src/bridge/<domain>.rs— Apply system + selection emit (register inbridge/mod.rsSelectionPlugin::build())
Rust Engine (supporting, if needed)
engine/src/core/history.rs—UndoableActionvariant +EntitySnapshotfieldengine/src/core/entity_factory.rs— delete/duplicate/undo/redo +spawn_from_snapshotengine/src/core/engine_mode.rs—snapshot_scene(separate query param)engine/src/bridge/events.rs— Emit function(s)engine/src/bridge/query.rs— Query handler (if component has query support)
Web Layer (4 required files)
web/src/stores/slices/<domain>Slice.ts— State + actions (+ re-export fromslices/index.ts)web/src/hooks/events/<domain>Events.ts— Event handler(s)web/src/lib/chat/handlers/<domain>Handlers.ts— Tool call handler(s) (registered inexecutor.tshandler registry)web/src/components/editor/<Inspector>.tsx— Inspector panel
Integration (5 required files)
web/src/components/editor/InspectorPanel.tsx— Import + renderweb/src/components/chat/ToolCallCard.tsx— Display labelsmcp-server/manifest/commands.json— MCP commands. Setvisibility: 'public'or'internal'(mandatory)web/src/data/commands.json— COPY of #16 (keep in sync)TESTING.md— Manual test cases