1. childIds direct mutation bypasses emitter (CRITICAL): Added SceneGraph.insertChildAt() — removes from old parent, inserts at index, emits node:reordered. Replaced all direct childIds filter+splice in structure.ts (wrapSelectionInContainer, ungroup, bringToFront, sendToBack) with insertChildAt(). 2. Canvas input orchestrator 815→461 lines: Extracted input/move.ts (215 lines) — move drag, snap, reparent Extracted input/select.ts (172 lines) — hit resolve, select, hover Extracted input/draw.ts (32 lines) — shape drawing 3. PropertyListContext generic typing: PropertyListContext<T> — items, add, update, patch all typed. usePropertyList<Fill>() gives Fill-typed context. Added missing patch to context and PropertyListItem. |
||
|---|---|---|
| .. | ||
| cli | ||
| core | ||
| demos | ||
| docs | ||
| mcp | ||
| vue | ||