| 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 (add pub mod in core/mod.rs)
engine/src/core/pending/<domain>.rs — Request structs + queue methods + bridge fns
engine/src/core/commands/<domain>.rs — Dispatch entry + handler function
engine/src/bridge/<domain>.rs — Apply system + selection emit (register in bridge/mod.rs SelectionPlugin::build())
Rust Engine (supporting, if needed)
engine/src/core/history.rs — UndoableAction variant + EntitySnapshot field
engine/src/core/entity_factory.rs — delete/duplicate/undo/redo + spawn_from_snapshot
engine/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 from slices/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 in executor.ts handler registry)
web/src/components/editor/<Inspector>.tsx — Inspector panel
Integration (5 required files)
web/src/components/editor/InspectorPanel.tsx — Import + render
web/src/components/chat/ToolCallCard.tsx — Display labels
mcp-server/manifest/commands.json — MCP commands. Set visibility: 'public' or 'internal' (mandatory)
web/src/data/commands.json — COPY of #16 (keep in sync)
TESTING.md — Manual test cases