10 Commits
Author SHA1 Message Date
Steffen Becker 1ba47e0ff3 docs: the book spread shows a chapter opening beside a running page
The shot follows the chapter heading rather than a fixed page, so it keeps both
page designs in view if the break ever moves. The gallery notes why the folio
and the document page differ there.
2026-09-06 22:42:23 +02:00
Steffen Becker 92a5c7d713 docs: the showcase documents vary their running heads
The book carries the chapter and the title towards the outer edge and its page
number centred at the foot; the newsletter opens with the masthead and runs a
head with a rule from the second page on. The thesis keeps chapter and number
in the head, so the three read as three page designs.
2026-09-06 22:04:59 +02:00
Steffen Becker 1f38ff0e0e docs: the newsletter's schedule opens the second page
Both tables now sit on it, so the tables screenshot shows the page nearly full
instead of half white; the shot takes it at 120%.
2026-09-06 21:58:19 +02:00
Steffen Becker 284fdae43e docs: the showcase screenshots are shot at twice the pixel density
openApp() passes page options through, so the showcase run sets
deviceScaleFactor 2 — same CSS viewport and layout as the tests, 2800x2000 px
images that stay sharp where the README scales them down.
2026-09-06 21:19:14 +02:00
Steffen Becker d8be23cf68 fix: a bracket typed without \left keeps its glyph height
The MathML operator dictionary makes ( [ { | stretchy, so a plain bracket grew
to the tallest thing in its row — next to a sum with a fraction, C(b) came out
in full row height. Only a fence node emits stretchy brackets now.
2026-09-06 21:19:09 +02:00
Steffen Becker 99f10c9399 docs: each showcase shot opens the tab its feature lives in
A shot names a ribbon tab and, optionally, where the caret goes: the tables
one lands in a cell, so the contextual Table Layout tab is up. The floating
table toolbar is hidden while shooting — it covered the table the ribbon is
already showing. `data-tab` on the tab buttons is what the script clicks.
2026-09-06 19:07:24 +02:00
Steffen Becker ab133f7966 fix: page decor, an opening page's margin and a run's own underline
An empty first master page was swallowed by the next one's match, so the
watermark and the fold marks missed the first section entirely.
Every master of a section now writes the running zone, blank where its own
page has none — the layout takes the band off the margin for the whole
section, and an opening page lost 0.8cm of its own.
Both importers compared whether a run underlines, not how, so a red or wavy
line under a plainly underlining style came back plain.
2026-09-06 19:07:18 +02:00
Steffen Becker 76c9564028 fix: a list item's further blocks, a header row and a note's picture survive the save
An .odt kept only the first paragraph of a list item; the rest ride it SEG-separated and
are split back out inside the same item. A header row the table did not ask to repeat
came back as ordinary cells, and only DOCX wrote it. An endnote's picture pointed at a
relationship the package never minted, and neither note's pictures were read through
their own part's relationships. A frame band-wrapped flush left is at no side of its own.
Blocks wrapped into columns drop a page break nothing there honours, and a cell's content
expression now says what both exporters can write into one.
2026-09-06 19:07:16 +02:00
Steffen Becker 3b6cb06e6f fix: LibreOffice reads back what both exporters write
A section opening on a side hands its one-page master over to a follow-up
master instead of asking for a right-only page, which doubled the page count.
DOCX names its default style Normal and marks it as the default, zone tabs
stay tabs, footnote numbering rides in the section properties, and w:position
counts half-points. The importer keeps content controls, shape text boxes and
index page numbers, and opens no phantom section on the leading master.
Editing rejects the nesting the formats cannot hold, note repairs ride the
undo history, and the showcase files are rebuilt.
2026-09-06 19:07:15 +02:00
Steffen Becker 406206c300 docs: showcase documents and screenshots replace the README's sample picture
scripts/showcase/run.mjs builds three sample documents plus a review
variant as .odt and .docx through the app's own exporters in headless
Chromium, opens each through the file dialog and takes the README
screenshots; docs/showcase/ holds the results. The README gets a
light/dark hero picture and a gallery of four tiles.
2026-09-06 19:07:13 +02:00