CharDesk Docs

Domain Reference

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

HEAD a63778e
Read this page whenA change affects a business capability, persisted state, domain command, or cross-domain boundary.
First answerWhich capability owns the rule and its public boundary?
Follow-upRead the selected public.ts, then the nearest deterministic tests. Use ownership and dependency direction for layer rules.
CapabilityOwner and contractBoundary
Account and cloud backupaccountGitHub identity and native Canvas/Slides snapshots live on the account API; an explicit first backup opts local work into revision-checked background sync
Commands, shortcuts, clipboard and input arbitrationactionsOwns action IDs, eligibility, and input adapters; delegates content changes through Canvas commands
Legacy migrationlegacy-blackboardRead-only retained source and migration journal; retirement owns lifecycle
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-libraryShared catalog/query/resource contracts live in @chardesk/character-library; insertion belongs at the Host/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.