Document Work Screen
The active document screen — the document on the left, the capability-gated Inspector beside it.
The Document Work Screen is where a user works on one document: reading it, editing it, building its structure, and talking to Goldie about it.
Route
/app/canvas/$routeKey—src/app/routes/app/canvas.$routeKey.tsx.routeKeyresolves to a folio. When that folio is a document, the route rendersConnectedDocumentWork(src/pages/document-work/); a workspace or project renders the folio container (src/pages/folio-container/) instead.- Search params:
?surface=picks the opening posture (Form is agent-led, Document user-led),?fresh=marks a first visit,?guide=truedraws the Spec outline for visual comparison.
What's on screen
Canvas shell
├── Work Bar ← trail back up the folio, role rail
├── Document Surface ← the document card, its modules, their blocks
│ └── Control Panel ← opens on the selected block: About card, notices, block Goldie
├── Inspector ← right-hand panel, what the current selection is
└── Goldie ← document-scoped conversationWork Bar
Top row: the trail back to the containing folio and /app/canvas, and the role
rail for previewing a role or requesting one.
Document Surface
The document rendered as an ordered list of modules, each holding its blocks.
DocumentWorkScreen (src/pages/document-work/ui/document-work-screen.tsx)
owns the selection and hands everything else to the drafting editor
(src/widgets/drafting-editor/). Module chrome is Builder-only; with
chromeless it disappears and the blocks read as plain document text.
The Control Panel
Block-level work happens in place, in the panel attached to the selected block: its notice row and its own Goldie thread, scoped to that block. The block's About rows — its name, guide and tags — sit in a collapsible card at the top of that conversation, not on a separate face. Module and Document cards open the same panel with their own words.
Inspector and Goldie
The Inspector names the current selection. Goldie, in the same panel, is the
document-scoped conversation; @ mentions in the composer refer to modules and
blocks by handle. Readers are agent-excluded — no use-agent capability, no
conversation panel. On narrow screens the Inspector becomes a drawer.
What governs it
- Role decides what you may do. The effective role's capabilities gate every operation the editor offers — Permissions and Visibility.
- One venue (glossary): every visible block renders on the document surface. There is nothing to choose.
- The screen composes, it does not decide. Block authoring travels the
route →
ConnectedDocumentWork→DocumentWorkScreen→ editor chain as oneBlockAuthoringActionsobject; the route supplies the implementations and the screen layers forward it untouched.
Related
- Canvas Frame — the shared shell, chat surface, and data model these screens sit in
- The Stack — the card furniture every folio on this screen is drawn with; not repeated here
- Container Screen — the Project listing a document is opened from
- Documents, modules and blocks — the content model
- Permissions and Visibility