● Roadmap

An engine family, not a single-format project.

Each new format is a sibling crate on the same core rather than a fork, and the layering gate is what keeps that promise cheap.

Now

DOCX

  • Lossless round-trip: hand-rolled ZIP writer copies untouched entries byte-for-byte, ZIP64 and unknown extensions included — 399/399 corpus files in CI.
  • Line breaking and pagination: Knuth-Plass optimal breaks, UAX#14 rules, CJK anywhere / Latin at whitespace.
  • Page geometry from sectPr, real font-metric shaping, golden break-point snapshots.
  • Incremental pagination with budgeted background reflow; incremental rebuilds are provably identical to full rebuilds.
Next · Phase 3–4

DOCX depth, then collaboration

  • Tables, headers/footers, columns and tracked changes — sequenced by the corpus green-light rate, not by a feature calendar.
  • CRDT collaborative layer behind an adapter slot, so the collaboration dependency loads only when a document is actually shared.
Then

XLSX

  • A sibling format crate on the same OPC container and lossless discipline.
  • Workbook model, formula engine, and a sheet render list — a grid layout model, deliberately its own rather than a reuse of DOCX flow.
  • Charts follow the grid, not the other way around.
Then

PPTX

  • Slide and shape model reusing the layout and shaping crates, with a canvas layout model of its own.
  • A presentation render list on the same display-list contract the native and browser shells already consume.
Structure

Shell split, when it earns its keep

Shells stay in-tree until one ships releases of its own, its licence diverges, or its contributor community diverges. Until then the layering gate keeps the separation clean, so splitting later is a move of directories rather than a rewrite.