CharDesk Docs

Domain Reference

Capability owners, public contracts, and non-obvious boundaries.

HEAD a63778e
CapabilityOwner and contractBoundary
Commands, shortcuts, clipboard and input arbitrationactionsOwns action IDs, eligibility, and input adapters; delegates content changes through Canvas commands
Blackboard source repository, revisions and compilationblackboardSource 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 viewportcanvasOwns active Yjs content, projection, and history; state flows owns origin and persistence direction
Character catalog, packs, facets and filterscharacter-libraryGenerated datasets are inputs; insertion belongs at the widget/canvas boundary
Room links, connection lifecycle and presencecollaborationOwns room transport, room-local persistence, and presence; Canvas owns editable maps, projection, and integrity filtering
External text parsing and conversiondocumentOwns session-source conversion and the pluggable pasted-text renderer; Canvas applies results without owning syntax rules
Runtime, commands, tools, keymaps and extensionseditorCoordinates execution; owns neither canvas data nor product metadata
Export registry, preparation and browser deliveryexportPure preparation returns a delivery-neutral result before platform side effects
Static-grid addresses, ranges and movementselectionDeterministic and independent of React, DOM events and browser coordinates
Session identity, catalog schema and migrationssessionsOwns IndexedDB catalog records and legacy decoding; Canvas owns Yjs document persistence coordination and runtime recovery
Deck, slide mutation, dimensions and Markdown containerslidesOwns 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 migrationlegacy-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.