Files
wordcraft/docs/parity-checklist.md
T
aiongg 08028c44c0 Engine: several open documents; file.new opens another
One session holds several open documents. The active document stays in
the Session's own fields, so commands and the UI keep working on it; the
others are parked as DocState values and swapped in field by field
(std::mem::swap, no clones or relayout). Session and DocState are
destructured exhaustively, so a new field must be classified as per
document or shared before it builds.

- Session::documents, activate, add_document, close_document,
  is_untouched_blank, with_document, find_open, is_open; DocInfo.
- Document ids come from a process-wide counter.
- file.new opens beside the open documents; file.open replaces an
  untouched blank document, opens beside the others otherwise, and
  activates a file that is already open ("alreadyOpen": true).
- file.closeDocument {id?, force?} closes a document without a window
  (refuses unsaved changes unless forced); file.close is unchanged.
- view.switchWindows {id?} lists the open documents or activates one.
- Envelopes, Labels, Finish & Merge and New from Template open their
  result as a new document; the main document stays open, with no undo
  step for the command.
- Each document keeps its own recovery worker and copy; Read Aloud
  readings name their document; with_document tags UI requests with the
  document they came from.
2026-10-22 14:41:20 +00:00

1.6 KiB
Raw Blame History

WordCraft feature parity

Generated by cargo xtask parity (wordcraft-cli parity --markdown): the word-processor feature catalog (crates/engine/src/catalog.rs) compared with the live command registry.

499 of 513 catalog features have commands (97.3%).

Tab Live Total
File 23 23
Quick Access 5 5
Title Bar 1 1
Home 104 105
Insert 47 53
Draw 10 11
Design 10 10
Layout 22 22
References 25 25
Mailings 19 19
Review 29 31
View 26 29
Developer 11 11
Table Design 8 8
Table Layout 33 33
Equation 21 22
Outlining 13 13
Picture Format 14 14
Shape Format 13 13
SmartArt Design 7 7
Chart Design 5 5
Header & Footer 5 5
Editing 41 41
Tools 7 7

Missing

Home

  • Voice › Dictate (tools.dictate)

Insert

  • Illustrations › Online Pictures (insert.onlinePicture)
  • Illustrations › 3D Models (insert.model3d)
  • Illustrations › Screenshot (insert.screenshot)
  • Add-ins › Get Add-ins (addins.get)
  • Media › Online Video (insert.video)
  • Symbols › Ink Equation (insert.inkEquation)

Draw

  • Convert › Ink to Math (draw.inkToMath)

Review

  • Language › Translate (review.translate)
  • Protect › Block Authors (review.blockAuthors)

View

  • Window › Arrange All (view.arrangeAll)
  • Window › View Side by Side (view.sideBySide)
  • Window › Synchronous Scrolling (view.syncScroll)

Equation

  • Tools › Ink Equation (insert.inkEquation)