Skip to content

Commit e3bc553

Browse files
committed
Gestalt = production: marginalia-gestalt renders FIGURES, not duplicates
The gestalt review page rendered its own paint code (70 e_* + 6 j_* functions in scripts/build_marginalia.py) that drifted from the production figures in src/marginalia.py FIGURES. Reviewers saw a different picture than readers; this is exactly how the user noticed overlapping items on the gestalt that didn't ship on the example pages. Rebuild marginalia-gestalt.html as a thin view over production: scripts/build_marginalia.py shrinks from 1018 → 156 lines. Every gestalt card now pulls its paint function, intrinsic width, and intrinsic height directly from FIGURES[ATTACHMENTS[slug][0][1]]; its score and commentary from SCORES[slug]. No bespoke paint code lives in the gestalt build script. Cards iterate every example in the manifest order (109 cards), skipping any slug without an attachment. The historical "operators-and-literals" gestalt-only slug (since split into "operators" + "literals" on main) drops out naturally. The journey-overview thumbnails section is removed — those j_* paint functions had no production equivalent. Per-section journey figures are reviewed on journey-figures-gestalt.html, which already uses production paint code. Tests simplify: ALL_FIGURES = FIGURES (the gestalt has no separate registry to audit). The 8 iterating geometry/grammar/size/emphasis contracts run once over the 109 production figures instead of duplicating work across two registries. 53 tests still pass. Drift between "what readers see on /examples/<slug>" and "what reviewers see on the gestalt" is now structurally impossible: there is only one paint registry.
1 parent 6e1a21c commit e3bc553

3 files changed

Lines changed: 433 additions & 1135 deletions

File tree

0 commit comments

Comments
 (0)