mirror of
https://github.com/storytold/wordcraft.git
synced 2026-11-04 01:38:35 +00:00
* M6: Update Table puts each heading on its real page The second pass removed the entries and laid the document out again before looking headings up at `path + entries.len()`, so every lookup landed past its heading: later entries showed the next heading's page and the last fell back to page 1. Lay out with the entries still in place, then replace them. A heading typed after a manual page break also starts with the break, so its page is now read after any leading breaks rather than before them. The existing test only had a heading on page 1; the new one puts headings on pages 2, 3 and 4 (before: 4, 1, 1). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * M6: save the table of contents as a TOC field Word can update The writer saved the TOC heading's field empty (begin, instruction, separate and end all at the end of "Contents"), with the entries as plain paragraphs after it. Word showed them as ordinary text: no TOC frame, and no Update Table or Update Field on the entries. Write the field so its result spans the entries (closed at the end of the last entry) and wrap heading and entries in the Table of Contents content control (w:sdt with docPartGallery "Table of Contents", ECMA-376 17.5.2). The reader already keeps a multi-paragraph field's start as an empty field in its first paragraph and the rest as text, so WordCraft reads the TOC back exactly as before; the new round-trip test checks both the file and that. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <shared2@storyteller.ai>