Domain Reference
Capability owners, public contracts, and non-obvious boundaries.
HEAD a63778e| Capability | Owner and contract | Boundary |
|---|---|---|
| Commands, shortcuts, clipboard and input arbitration | actions | Owns action IDs, eligibility, and input adapters; delegates content changes through Canvas commands |
| Blackboard source repository, revisions and compilation | blackboard | Source files are authoritative; Canvas owns only the derived read surface and session lifecycle shell; app owns agent-tool host adaptation |
| Editable content, Yjs projection, history and viewport | canvas | Owns active Yjs content, projection, and history; state flows owns origin and persistence direction |
| Character catalog, packs, facets and filters | character-library | Generated datasets are inputs; insertion belongs at the widget/canvas boundary |
| Room links, connection lifecycle and presence | collaboration | Owns room transport, room-local persistence, and presence; Canvas owns editable maps, projection, and integrity filtering |
| External text parsing and conversion | document | Owns session-source conversion and the pluggable pasted-text renderer; Canvas applies results without owning syntax rules |
| Runtime, commands, tools, keymaps and extensions | editor | Coordinates execution; owns neither canvas data nor product metadata |
| Export registry, preparation and browser delivery | export | Pure preparation returns a delivery-neutral result before platform side effects |
| Static-grid addresses, ranges and movement | selection | Deterministic and independent of React, DOM events and browser coordinates |
| Session identity, catalog schema and migrations | sessions | Owns IndexedDB catalog records and legacy decoding; Canvas owns Yjs document persistence coordination and runtime recovery |
| Deck, slide mutation, dimensions and Markdown container | slides | Owns page metadata and fences; explicit chargraph fences use the shared compiler, while Canvas owns page content, active projection, and crop/history coordination |
| Retired Structured input migration | legacy-structured (private) | Read-only decoder used only by document, session, and Canvas migration boundaries; output is always CellPlane |
Use the selected public.ts and nearest tests. Dependency rules are owned by
ownership and dependency direction.