| One write path. |
Every change is a registry command, applied on a draft by the document core, committed as a group of signed events. Nothing else mutates a document. |
§2.5, CMD-13, CMD-17, CMD-18 |
| Parity between people and agents. |
The registry is the API. The editor, ud, the Plugin API layer and MCP tools are callers of it, never owners of logic. A conformance test enumerates the registry. |
CMD-19, CMD-20 |
| Figma-compatible surface. |
Layer 1 (Figma MCP tool names and parameters) and layer 2 (the figma global) are thin adapters over layer 3. Node and property names in the core are Figma’s where Figma has one. |
CMD-1, CMD-10, CMD-15 |
| Same geometry everywhere. |
One document core, one layout engine, one text engine, one display list, compiled for Node and for the webview from the same TypeScript. |
§2.5, TXT-5, LAY-9, NFR-8 |
| Files that merge. |
Flat node map, fractional sibling indexes, property-level events, derived layout. |
PLT-3, COL-4, NFR-2 |
| Fluid on large files. |
Incremental folding, incremental layout, tiled rendering with level of detail, a spatial index, a replica of the document in the webview. |
NFR-1, CAN-11, CMD-31 |
| Safe by default. |
Strict CSP, scripts in a WASM sandbox, bridge sockets private to the user, SVG sanitised before it becomes nodes. |
NFR-4, CMD-11 |