Learning in public — this documentation is written in the open and updated as the engine moves.
paged.Paged Docs
Plugins

paged.doc — Word documents

The Word plugin — .docx read into native frames and styles, placed into a layout or opened on its own, with byte-level save-back that keeps everything paged did not change.

Tier: IntermediateIntermediateIIexplanationDraft

In short paged.doc brings Word documents into paged. A .docx is read into native content (paragraph and character styles, lists, tables, images, links, notes) and either poured into a frame of a layout or opened as a document of its own. Saving back writes a targeted patch into the original file, so whatever paged did not touch stays exactly as Word wrote it.

What it does

  • Reads the body, styles, lists, tables, images, hyperlinks and notes of a .docx or .dotx, preserving every part it does not model verbatim.
  • Places a Word document into a frame as one undoable step, with an outline and styles panel over the imported structure.
  • Saves edits back as byte-level patches (text, paragraph properties, table rows and columns); edits it cannot write are listed in the Problems panel rather than dropped silently.
  • In development: opening a Word document on its own, a page per section, with Word's own pagination (line spacing, breaks and keeps).

How it's built

A Cargo workspace over a shared OOXML package layer (paged-ooxml) that lowers DOCX into native content, plus a TS bundle (@paged-media/doc). An identity-based alignment between the source and the edited document is what lets save-back patch only what changed.

Capability state

● shipped & verified · ○ shipped, re-test pending · ◍ shipped, untested · ◐ partial · ✗ failing · · planned

Plugin · doc 17 features · 71% green

FeatureShellPanelDoc
Atomic pour — the place path adopts Mutation::Batch for text steps (C-14)
plugin-doc.atomic-pour
●
The wordDocument surface — objectType + editContext declaration (ADR-024)
plugin-doc.edit-context
·●
Embedded placement — a .docx poured into a host frame via host mutations
plugin-doc.embedded-placement
◐●
File entry — the .docx/.dotx importer and the "Place Word document…" command
plugin-doc.file-entry
◐◐
Identity-based LCS alignment — the preservation invariant under every derived edit
plugin-doc.identity-alignment
◍
Depth-aware table locator — a nested table cannot misdirect an outer edit
plugin-doc.nested-table-locator
◍
Object model — Word document, blocks, runs and merge fields addressable through host.objects
plugin-doc.object-model
●
OPC container + verbatim carry-through preservation (paged-ooxml)
plugin-doc.opc-foundation
●
Outline/styles panel — the retained LoweredDoc surfaced in the editor
plugin-doc.outline-panel
·●
DOCX read path — body, styles, lists, tables, images, hyperlinks, notes
plugin-doc.read-path
●
Edited save-back — targeted byte-level patch of word/document.xml
plugin-doc.save-back
·●
Save-back refusal ledger — the patcher's skips reach the Problems panel
plugin-doc.save-back-feedback
●
Paragraph-property save-back — a targeted `<w:pPr>` rewrite
plugin-doc.save-back-paragraph-props
◍
Table-structure save-back — rows and columns inserted/deleted in the source bytes
plugin-doc.save-back-table-structure
◍
Standalone open — a Word document becomes the whole document, a page per section that grows
plugin-doc.standalone-open
◐
Verbatim export — the zero-edit .docx exporter and its degrade path
plugin-doc.verbatim-export
◐●
Word pagination — line spacing, breaks and keeps as Word lays them out
plugin-doc.word-pagination
◐

Recent activity

On this page