- duplicateSelected: recursive subtree cloning via graph.cloneTree() Filters to top-level selection to avoid double-cloning. Children get new IDs wired to new parent. Single undo entry. - PropertyListRoot isMixed: compare array lengths first (fast path), only JSON.stringify when lengths match (rare). - glContext in use-canvas.ts: ownership verified correct, no change. |
||
|---|---|---|
| .. | ||
| cli | ||
| core | ||
| demos | ||
| docs | ||
| mcp | ||
| vue | ||