Skip to content

Spec 001 T008: figures as large as the page allows, linked to the website - #106

Merged
adamjohnwright merged 1 commit into
mainfrom
t008/widths
Nov 3, 2026
Merged

adamjohnwright merged 1 commit into
mainfrom
t008/widths

Conversation

@adamjohnwright

Copy link
Copy Markdown
Contributor

Spec 001, T008 (research R4, FR-016, FR-003).

Measured. Release 98's 1,170 human diagrams, each drawn by the render service from the release's own files and placed by the layout's measure() and place(). None failed.

  • 1,168 have 12 px labels; the median diagram is 3,654 px wide, the widest 19,652.
  • Even on its best page, only 80 (7%) print labels at 5 pt, 311 at 3 pt, 652 at 2 pt, 1,070 at 1 pt. Median 2.1 pt.
  • Today's book has no floor: event-pdf fits each diagram to the portrait text width and half the page height. From the files' sizes, its labels print at a median of about 1.85 pt (inference; the book's pages were not measured).

Decided (with the user, for a reader on a screen):

  • each figure prints as large as the page allows, in portrait or on a landscape page of its own where that is larger (1,060 diagrams and all 221 illustrations), never split;
  • each figure links to its interactive form on the website (FR-003 amended): a pathway's diagram in the Pathway Browser, the event selected where an ancestor's diagram draws it; a reaction's figure to its page;
  • a figure whose labels print below 1 pt is listed in the run report (100 diagrams).

The rule is FLOOR_PT and the comparison in place(), so it is easy to change once curators have looked.

Illustrations. Their lettering is outlines; src/layout/lettering.ts reads it from the PATHWAY TEXT paths at the render service's viewport scale, so they are no longer reported as unmeasured. Every label is about a 12 px font; the reading from the render's SVG and from the file agreed.

Tests. 11 for the lettering, 6 for the links, the placement tests rewritten. Each mutant listed in tasks.md made one fail. The link was printed and read back: one annotation over the figure on its landscape page (two without the link's inline-block). All 143 tests pass against the fixture graph.

Also from #105's review: serve's bind names the analysis gateway as its second caller.

🤖 Generated with Claude Code

…site

Measured release 98's 1,170 human diagrams, drawn by the render service from the
release's files: only 7% can print their 12 px labels at 5 pt on any page; today's
book has no floor and prints a median of about 1.85 pt. By the user's decision, a
figure now prints as large as the page allows, in portrait or on a landscape page of
its own where that is larger, never split; it links to its interactive form on the
website (FR-003); and one whose labels print below 1 pt is listed in the run report.

Illustrations' lettering is outlines: it is read from their PATHWAY TEXT paths at the
render service's viewport scale (src/layout/lettering.ts), so they are no longer
reported as unmeasured.

Also from #105's review: serve's bind names the analysis gateway as a caller.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adamjohnwright
adamjohnwright merged commit 9fb369a into main Nov 3, 2026
2 checks passed
adamjohnwright added a commit that referenced this pull request Nov 3, 2026
Spec 001 T008, from #106's review: the lettering reader's edge cases
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant