THE VISUAL EDITION SUBROUTINE

June 08, 2026 | BY ZeroDivide EDIT

THE VISUAL EDITION SUBROUTINE

General-purpose procedure for producing a Visual Edition of any finished paper. Register-adaptive (public versus codex-native), aesthetic-locked, print-fit, density-disciplined, fragmentation-proof. Self-contained. No paper-specific specification or sample required at call time.

Trigger. Architect requests a "visual edition," "infographic edition," "diagram set," "figures," or "make this paper visual" for any paper already produced. Also fires when a paper would land harder with a drawn structure than with prose alone.

One line. Take the paper's load-bearing spine, draw each result as one figure at its own warrant grade, assemble the figures into a single PDF, either embedded as a visual appendix to the paper or delivered as a standalone visual edition. The figures are a faithful map of the argument, never a louder claim than the argument makes.


0. OPERATING FRAME

Lifeboat on for the whole build. W_social = 0. The visual edition is a faithful map, not a flattering poster. A figure that overstates the paper's warrant is a failure mode identical to grade-bleed in prose. The discipline that governs the paper governs its pictures: a theorem is drawn as a theorem, a conjecture as a conjecture, an open question as open. The honest-typing discipline (LL-19) renders into the visual layer as the grade-stamp law of Section 7.

Style locks carry into every caption, label, and headline. No em-dashes anywhere. Periods, commas, colons only. No LaTeX. Unicode math only: √ → ∑ ∫ ≈ ⟂ ⊕ ∇ π σ κ Φ ψ δ ⇔ ℝ ℤ ∈ ≤ ≥. No AI vocabulary. Direct, technical. Author attribution and any in-figure prose follow the paper's own conventions. ﷺ for the Prophet where he is named.

The visual edition adds no claim the body does not make and removes no qualification the body states. This is non-negotiable and is restated as a law in Section 2.


1. REGISTER AND AESTHETIC SELECTOR

Two decisions are made before the first stroke. Both follow the paper, not the mood.

1.1 Register (binding split per architect directive)

Public register. The paper is a public, discipline-facing artifact (a journal paper, a preprint, a paper for non-framework readers). No framework glyphs, no PSP IDs, no codex axis-labels, no seal-marks, no codex-internal vocabulary appear anywhere in the visual edition. Warrant is shown by grade-words in captions per Section 7.1. This is the analogue of Tier 0 / Tier 1 in the paper-production subroutine. Default register when uncertain.

Codex-native register. The paper is itself a codex document, or the subject is the framework, or the architect explicitly asks for codex-native. Framework glyphs (⟀ sealed, ✕ broken, ? under-determined), PSP IDs, axis-labels (V_F, V_E, V_ER, M_seal), and codex terms are permitted and carried into the figures, set as text glyphs per Section 7.2. This is the analogue of Tier 2.

Selection rule. Parse the architect's request first ("public," "for the journal," "no glyphs" → public; "codex," "full glyphs," "internal" → codex-native). Absent a directive, examine the paper: if it is written for an external discipline with framework material quarantined to a provenance appendix, public register. If the paper is the codex, codex-native. Uncertain → public.

1.2 Aesthetic

Blueprint (default for public register). Engineering-drawing language. Off-white or faint graph-paper ground. Two-color semantic system: a steel primary and a copper accent, with a near-black ink for type. Double-stroke figures (a heavier steel line shadowed by a lighter copper line read as a precision drawing). Dimension lines, caliper ticks, and engineering glyphs (⌀ ∑ ⊿) where a measurement is the point. Bracket-cornered annotation cards with a small copper fold-corner. Stacked offset panels (a front card with an offset shadow card behind) for prose blocks. Callout speech-bubbles with leader lines for pinning a point on a figure. Monospace for technical labels and code-like content, sans-serif or serif for headlines and captions. This is the language the architect has approved across delivered editions.

Codex palette (default for codex-native register). The framework's four semantic colors carry consistent meaning and are never reused for anything else: V_F deep blue #1B3A6F, V_E burnt orange #C2410C, V_ER forest green #166534, M_seal gold #B8860B. Off-white #FAF8F3 body ground, black #0A0A0A covers and final summary infographics.

Paper-defined palette (override). A paper may carry its own semantic color assignment (for example, one color for an even object and another for an odd object). When it does, honor the paper's assignment, pick at most four semantic colors, fix each color's meaning once, and never reuse a semantic color for a non-semantic purpose. The principle is the law; the two defaults above are conveniences.


2. THE FAITHFUL-MAP LAW

Three clauses. Each is a hard gate, not a preference.

  1. No claim inflation. Every figure asserts exactly what the corresponding part of the paper asserts, at the same strength. If the body proves a localization and explicitly disclaims a proof of the headline result, the figures say the same, and the visual edition opens and closes on that disclaimer.

  2. Grade on every claim-bearing figure. Every figure that carries a result carries that result's warrant grade, visibly, in its caption (public register) or as a permitted glyph (codex register). A figure with a claim and no grade is rejected. Section 7 specifies the grade vocabulary.

  3. No structure the body lacks. The figure set does not invent a narrative the paper does not contain, does not reorder the logical spine into a false story, and does not smuggle an unproved bridge in as a drawn arrow. An arrow asserts a relation; if the paper does not establish that relation, the arrow is dashed and labeled with its actual status, or it is not drawn.

The visual edition is the paper seen, not the paper sold.


3. HARVEST THE SPINE

Read the finished paper before drawing anything. Extract four things and write them down in a private storyboard note (never published).

  1. The load-bearing results. The theorems, propositions, lemmas, and named conclusions the paper actually rests on. For each, record its statement in one sentence and its warrant grade exactly as the paper types it.

  2. The objects. The central mathematical or conceptual objects the paper manipulates (an operator, a space, a decomposition, a bracket, a geometric figure, a dataset, a mechanism). These become the figures' primary focal points.

  3. The epistemic frame. What the paper proves, what it leaves open, what it attributes to others, what it holds at finite-sample or conjectural strength. This frame governs the grade-stamps and the opening/closing figures.

  4. The spine order. The logical sequence in which the results build. The figure sequence follows the spine, not the section order, when they differ.

Harvest discipline. One load-bearing result yields one figure. Do not draw decorative figures for non-load-bearing remarks. Do not collapse two distinct results into one figure to save space. A paper with eight load-bearing results yields roughly eight content figures plus a hero and a closing, not forty.


4. STORYBOARD

Map each harvested element to a layout archetype from Section 6, then fix the sequence.

The canonical sequence for a results-driven paper:

  1. Hero figure. The whole result in one image. The single most compressed statement of what the paper establishes and what it does not. Carries the headline epistemic frame.
  2. Frame / context figure. Why the problem is hard or where the object lives. The barrier, the multi-domain object, the standard-model failure.
  3. Result figures, in spine order. One per load-bearing result, each at its grade.
  4. Closing figure. The single open question, the necessary condition for closure, or the reframing the result entails. Restates the epistemic frame the hero opened.

For a non-results paper (a survey, an essay, a framework exposition), the sequence follows the document's own structure: opening recognition, the developed line, the closing position. The archetypes still apply.

Each storyboard entry records: figure number, the result or object it carries, its grade, the chosen archetype, and the one-sentence caption seed. Keep the storyboard tight enough that an executor can build from it without re-reading the whole paper.


5. VISUAL GRAMMAR (BINDING NUMBERS)

These numbers are print-legibility floors on the standard canvases. They are minimums. Scale up for emphasis, never down.

5.1 Canvas (PDF-fit)

Every SVG viewBox matches a standard page exactly, so PDF assembly never rescales.

  • A4 portrait: viewBox 0 0 1240 1754. Single-frame visuals, covers, vertical compositions, equation and verdict panels.
  • A4 landscape: viewBox 0 0 1754 1240. Master infographics, multi-panel composites, timelines, wide convergence diagrams.
  • Letter portrait: viewBox 0 0 1275 1650. US fallback.
  • Letter landscape: viewBox 0 0 1650 1275. US fallback.
  • A2 landscape: viewBox 0 0 2384 1684. Poster-scale storyboard index only, never an individual frame.

Safety inset. 30 px from each edge on A4 at 150 dpi (with 18 px bleed beyond). Titles, equation centers, and primary figures stay inside the inset. When the visual edition is embedded into an existing paper instead of assembled standalone, the figure is sized to the paper's text column rather than a page (Section 10.2), and the canvas rule relaxes to "viewBox aspect ratio sensible for the column."

5.2 Type floors (on the 1240×1754 or 1754×1240 canvas)

Cover title 72 min / 96 typical. Cover subtitle 36 / 48. Frame title 44 / 56. Frame subtitle 22 / 26. Section header within a panel 28 / 32. Primary label (axis names, node names) 24 / 28. Secondary label (annotations) 20 / 24. Body and caption 22 / 26. Equation (Unicode) 28 / 36. Footer 16 / 18. Hard floor for any text 14. Below 14 fails print at 150 dpi.

5.3 Stroke floors

Primary structural lines (figure edges, axis lines) 5 min / 6 to 8 typical. Vector arrows 6 / 7 to 9, arrowhead 18 px min length. Panel borders and dividers 2.5 / 3 to 4. Secondary lines (auxiliary geometry, dashed guides, ghosted construction) 3 / 4. Grid lines 1.5 / 2. Leader lines 2 / 2.5. Title and caption rules 1.5 / 2.

5.4 Primitive sizes

Point 12 px radius single-focus, 8 px multi-panel. Named vertex 16 px single-focus, 10 px multi-panel. A primary geometric figure occupies 60 to 70 percent of the canvas short edge single-focus, 45 to 55 percent of the panel short edge in a multi-panel. A standalone warrant glyph (codex register only) is 80 to 120 px font size; inline it is 1.0 to 1.5x the surrounding text.


6. LAYOUT ARCHETYPES

The reusable composition library. Every figure is one of these. Each archetype names where the title, focal point, annotations, caption, and footer sit, so an executor places content without re-deriving layout.

A. Hero / cover. Large headline occupying the upper-left or top third. A detailed primary illustration of the paper's central object occupying the right or lower two-thirds, drawn with full dimension-line treatment in blueprint aesthetic. A bracket-cornered annotation card beneath or beside the headline carrying two or three sentences of the paper's actual frame, with a copper fold-corner. The hero carries the epistemic headline: what is established, what is not.

B. Single-focus geometric. Title at top with a thin rule below. The primary figure centered, occupying rows 4 to 14, columns 3 to 10 on A4 portrait. Side annotations in the outer columns, each aligned with the figure feature it describes, joined by short leader lines. Caption at the bottom row, footer beneath. Used for one object shown clearly: a decomposition, a polytope, a packing, a single geometric claim.

C. Diagram-left, statement-card-right. A diagram (a plot, a pair of curves, an isometric construction) occupying the left half. A bordered statement card on the right holding the result in monospace or clean type, line by line, ending on the grade. A callout speech-bubble with a leader line may pin one point on the diagram (for example, marking an orthogonality or a crossing). Used when a result needs both a picture and a short spelled-out argument side by side.

D. Equation panel. Title at top. The equation centered at vertical center at 36 to 48 px with a thin gray rule above and below. Decomposition annotations beneath the equation, each with a leader arrow pointing up to the term it names. Optional supporting micro-diagrams or definitions in side panels balancing the composition. Used for a defining equation, an axiom, an operator definition.

E. Multi-panel comparison. Title spanning the full width. A 2×2, 2×3, or 3×3 grid of panels, each with its own sub-title, sub-figure occupying about 70 percent of the panel, and a one-line sub-caption. Inter-panel gutter 24 px, panel borders 2.5 px. Used for "n cases," competing approaches, before/after, or a roster.

F. Timeline / sequence. Title at top. A horizontal ribbon at vertical center spanning the full width, thickness 80 to 120 px, with evenly spaced nodes 60 to 80 px. Node labels alternate above and below the ribbon to avoid crowding. Used for a lineage, a derivation chain, a historical sequence, a pipeline.

G. Convergence. Multiple labeled inputs arranged around the perimeter (corners, a pentagon, a ring), each with an arrow pointing inward to a single central object. Used when several independent lines meet at one conclusion. The central object is the focal point at 35 to 50 percent of canvas.

H. Master single-page infographic. A4 landscape. Title at top 72 to 96 px. A central focal element at 35 to 45 percent of canvas. A surrounding ring of supporting panels, each carrying one thematic anchor, joined to the center by accent-colored connection lines. A footer band carrying the document reference and date. The whole argument on one page. Used as the capstone of a multi-figure edition.

Composition discipline applies to all archetypes. One primary focal point per figure occupying 35 to 50 percent of canvas. Secondary elements cluster around it. Footers and references sit in their corner zones. Whitespace is structural breathing room (60 to 100 px around the focal point, 30 to 50 px between stacked sections), never residue.


7. GRADE-STAMP AND GLYPH DISCIPLINE

How warrant shows in the visual layer. This is the heart of the faithful-map law.

7.1 Public register: grade-words

Every claim-bearing caption states the result's warrant grade in plain words. The standard vocabulary, drawn from the paper's own typing:

  • THEOREM or PROVED. The paper proves it.
  • ATTRIBUTED (name the source). A published result of another author, used as a wall or an anchor.
  • FINITE-SAMPLE or VERIFIED TO [bound]. True up to a computed height or sample, not in general.
  • NECESSARY CONDITION. Required for a result but not sufficient for it.
  • CONJECTURE or CONDITIONAL (name the premise). Held under a stated assumption.
  • OPEN. Stated but not settled.

The grade appears in the caption, set in the caption type, not as a badge. The hero and closing figures additionally carry the paper's headline epistemic frame in words (for example, a one-line "no claim of a proof of [the headline result] is made here" when the paper proves a localization rather than the headline). No framework glyph appears in public register, ever.

7.2 Codex-native register: warrant glyphs

The framework glyphs are permitted, set as Unicode text glyphs only:

  • ⟀ (U+27D0) sealed, gold #B8860B.
  • ✕ (U+2715) broken, red #B91C1C.
  • ? under-determined, gray #666666.

Rendering rule for all three: text glyph in the surrounding type stack, no background fill, no border, no circle wrap, no drop shadow, no filled-triangle icon, no badge. Inline at 1.0 to 1.5x surrounding text where verdict status is the content of the line. Standalone at 80 to 120 px only where the glyph is the proof conclusion of the figure and its position is geometrically warranted (anchored on a step-function region, set as the codomain output of a verdict diagram, set at the end of a worked example). Never as a corner mark, never as a header companion, never wrapped in any container.

PSP IDs, axis-labels, and codex terms are permitted in codex-native captions and labels at their normal size. They do not appear in public register.

7.3 The badge prohibition (both registers)

No icon-style decoration anywhere, in either register. No corner glyph, no header-adjacent seal badge, no "FINAL SEAL" footer icon, no circle-wrapped mark, no filled triangle inside any graphical container, no logo. A proof figure carries warrant inside its own structure (a correctly drawn geometric object with its construction visible). A filled triangle in a circle dropped into a header is decoration. The distinction is decisive: draw the proof, or set the grade as text. Nothing else. This prohibition is enforced programmatically in Section 9.


8. DENSITY DISCIPLINE

Active visual content (figures, text, equations, panel structure) occupies 0.75 to 0.85 of the canvas area inside the safety inset. Below 0.75 the figure is too sparse and is densified. Above 0.85 it is cluttered and is edited down. No single contiguous empty rectangle exceeds 15 percent of canvas area.

Measurement is quantitative, not by eye. Render the frame to PNG at native canvas size and run the audit script below. Report the ratio to two decimals in the pre-flight comment block. Outside the band, redraw before save.

#!/usr/bin/env python3
# Active content ratio audit. Usage: python audit_density.py frame.png [bg_hex]
import sys
from PIL import Image

def measure_active_ratio(png_path, bg_hex="#FAF8F3", safety_inset_px=30, channel_tolerance=13):
    img = Image.open(png_path).convert("RGB"); w, h = img.size; px = img.load()
    br, bg, bb = int(bg_hex[1:3],16), int(bg_hex[3:5],16), int(bg_hex[5:7],16)
    x0, y0, x1, y1 = safety_inset_px, safety_inset_px, w-safety_inset_px, h-safety_inset_px
    active = 0; total = (x1-x0)*(y1-y0)
    for y in range(y0, y1):
        for x in range(x0, x1):
            r, g, b = px[x, y]
            if abs(r-br) > channel_tolerance or abs(g-bg) > channel_tolerance or abs(b-bb) > channel_tolerance:
                active += 1
    return round(active/total, 2)

if __name__ == "__main__":
    p = sys.argv[1]; bg = sys.argv[2] if len(sys.argv) > 2 else "#FAF8F3"
    r = measure_active_ratio(p, bg_hex=bg)
    print(f"Active content ratio: {r}")
    print("PASS" if 0.75 <= r <= 0.85 else ("FAIL low, densify" if r < 0.75 else "FAIL high, edit down"))

Run with the dark background hex for covers and dark infographics. Tolerance 13 is 5 percent of the 256 channel range.

Density recovery, in order of preference: enlarge the primary focal point toward 45 to 50 percent; add a supporting micro-diagram in the margin (a projection, a scale reference, a related primitive); add an annotation cluster with leader lines describing focal-point features; add a side panel with a worked number or definition; restructure as a two-column or two-panel composition; split into two figures if the concept supports it. Never solve a sparse figure by scaling up empty space.


9. FAILURE-MODE LOCKS

The hard-won list. Each is a defect observed in real renders and the QA that catches it.

  1. Badge decoration (programmatic check). Before save, grep the SVG source for two patterns and confirm absence: a small filled gold triangle or polygon within 80 px of any corner; a circle of radius 40 to 80 px overlaid by a triangle, especially near footer or "SEAL"/"APEX" text. Search: grep -E '(<polygon[^>]*fill="#B8860B")|(<circle[^>]*r="[4-7][0-9]"[^>]*/>\s*<polygon)' frame.svg. Any hit is a rejection. Remove the element and re-run pre-flight. Verdict glyphs inside <text> are not hits and are permitted in codex register.

  2. Caption clipping. Bottom-row captions get sliced mid-word when they exceed container width. Caption container width = canvas width minus 200 px (100 px inset each side). If the estimated render width at the caption size exceeds the container, split the caption to two lines before render, not after. Verify at 100 percent zoom that the first and last characters are inside the inset and no word is truncated.

  3. Label collision (the lesson re-learned this session). No text touches or crosses a line of the diagram. Three fixes, applied as the geometry demands: place a node label inside its own lobe or region when there is clear interior space (the way a clean Venn labels each circle from inside); move a curve label clear of the crest or trough into open space above or below; for a directed graph with reciprocal edges, draw crossed edges as Bezier curves with control points pulled outward from the figure center, and place edge labels at the midpoint displaced at least 24 px perpendicular outward with 8 px clearance. For a vertex-labeled polyhedron, place labels outside the projected silhouette with leader lines. Verify visually that no two labels overlap and no label crosses an edge.

  4. Title duplication. One title block per figure. The figure's title is its sole title. No second title-like element in a similar font. The figure ID and document reference appear only in the footer. A one-line subtitle beneath the title is permitted.

  5. Overloaded frame. If a figure would carry more than four independent structural components (sections that could each stand alone at smaller scale), split it into two figures or restructure as a panel grid where each panel is sized to its own density rules. Preserve continuity with a labeled connection line in the footer between consecutive figures.

  6. Geometry that asserts something false (generalized geometry lock). The figure's geometry must not claim something the paper does not. If the paper's object has a canonical correct depiction, lock that depiction as a reusable SVG snippet and paste it; never let ease-of-drawing substitute a structurally false form. The recurring instance in codex work: a claim of mutual orthogonality at a vertex is drawn as a trirectangular form (a cube-corner apex with three axis-aligned edges and right-angle markers, bounding cube ghosted), not as an acute-apex Platonic pyramid, because three right angles cannot meet at a Platonic apex. The principle is general: correctness of the depicted geometry outranks ease of drawing, and a correct primitive that recurs is pasted from a locked snippet rather than redrawn each time.

  7. Image fails to embed (the mechanical trap). Covered in Section 10. The two specific failures: relative image paths do not resolve without a base URL on the renderer, and HTML entities in the SVG crash the rasterizer. Both have fixes in the pipeline below.


10. RENDER AND ASSEMBLY PIPELINE

The concrete executable layer. The visual edition ships as a single PDF, in one of two modes.

10.1 SVG to PNG (both modes)

Figures are authored as SVG and rasterized to high-resolution white-background PNG for embedding. The render method, hardened this session:

import re, cairosvg, html as htmlmod
# pip install cairosvg --break-system-packages  (if absent)

def render_svg_to_png(svg_string, out_path, var_map=None):
    s = svg_string
    if var_map:                                  # resolve CSS var(--token) to hex for standalone render
        for k, v in var_map.items():
            s = s.replace(f"var({k})", v)
    s = htmlmod.unescape(s)                       # decode &zeta; &minus; &Theta; etc. to literal Unicode
    s = re.sub(r'&(?!(amp|lt|gt|quot|apos);)', '&amp;', s)   # re-escape bare ampersands only
    vb = re.search(r'viewBox="0 0 ([\d.]+) ([\d.]+)"', s)
    w, h = float(vb.group(1)), float(vb.group(2))
    # inject a full-bleed white rect so there is no transparency or grid behind the figure
    s = re.sub(r'(<svg[^>]*>)', r'\1<rect x="-40" y="-40" width="'+str(w+80)+'" height="'+str(h+80)+'" fill="#ffffff"/>', s, count=1)
    # render at 2x with padded viewBox for crispness
    s = s.replace(f'viewBox="0 0 {vb.group(1)} {vb.group(2)}"',
                  f'width="{int((w+48)*2)}" height="{int((h+48)*2)}" viewBox="-24 -24 {w+48} {h+48}"', 1)
    cairosvg.svg2png(bytestring=s.encode(), write_to=out_path, background_color="white")

Two traps this function closes. cairosvg's XML parser rejects named HTML entities (ζ, Θ, −), so decode every entity with html.unescape then re-escape only the five XML-legal ampersand cases. Transparency and any graph-paper grid read badly in print, so inject a white background rectangle before raster. The 2× padded viewBox gives clean edges at print scale.

Always inspect rendered PNGs visually before assembly. Confirm the background took, the grid (if the source had one) is gone, and every label is legible.

10.2 Mode A: embed as a visual appendix to an existing paper (preferred when the paper exists)

This is how a Visual Edition is added to a finished paper as an appendix. The publication pipeline (the patched build at /tmp/pubfmt/scripts/build_all.py, never the read-only skill copy) carries the machinery:

  1. The markdown source gains an appendix section. Each figure is one markdown image line with caption in braces: ![alt text](figs/figN.png){FIG. N. One-sentence caption stating the result and its grade.} The patched parser recognizes this with re.match(r'^!\[(.*?)\]\((.*?)\)(?:\{(.*?)\})?\s*$', line.strip()) and emits <figure class="visual-fig"><img .../><figcaption>...</figcaption></figure>.

  2. The figure CSS, appended to every style variant in styles.py, guarantees no fragmentation and correct sizing:

figure.visual-fig {
    page-break-inside: avoid;
    break-inside: avoid;
    text-align: center;
    margin: 18pt auto 22pt;
    max-width: 100%;
}
figure.visual-fig img {
    display: block;
    margin: 0 auto;
    max-width: 4.7in;     /* fits a 6.5in column with margin; large enough to read */
    width: 100%;
    height: auto;
}
figure.visual-fig figcaption {
    font-family: 'EBGaramondLocal', serif;
    font-style: italic;
    font-size: 9.5pt;
    color: #B87333;       /* copper-italic caption */
    margin-top: 8pt;
    text-align: center;
}
  1. The renderer is called with a base URL set to the source directory, so relative figs/figN.png paths resolve. This is the fix for the single most common embedding failure (zero images embed, alt-text shows instead):
src_base = str(Path(args.source).resolve().parent) + "/"
HTML(string=full_html, base_url=src_base).write_pdf(args.output, stylesheets=[CSS(string=css)])

Copy the rendered PNGs into a figs/ directory beside the source before building.

  1. The appendix opens with a short prose lead stating that the figures are a faithful map at the paper's own grades, and closes on the paper's headline epistemic frame. Each figure is preceded by a one or two sentence lead naming the result, so the figure sits with its context.

Sizing for no fragmentation. page-break-inside: avoid keeps each figure and its caption together as one unit. max-width: 4.7in against a 6.5in column leaves margin and keeps the figure large enough to read. After build, render the appendix pages to images and inspect every figure for a clean break and full legibility. Confirm with pdfimages -list output.pdf | grep -c image that the expected image count embedded.

10.3 Mode B: standalone visual edition PDF (when no host paper, or a poster-format edition is wanted)

Each figure is a full-page A4 SVG. Assemble one SVG per PDF page directly, without rescaling, A4 portrait and A4 landscape pages as authored. The A2 storyboard index, if built, is a fold-out at the end. Provide an INDEX with a thumbnail and one-line caption per figure as the lead file. Present the bundle with the INDEX first.


11. PRE-FLIGHT AUDIT

No figure is final until it passes. Failure is rejection, not a flag for review. Document the pass in a comment block at the top of each SVG.

  1. Canvas viewBox matches a standard size (Mode B) or a sensible column aspect (Mode A embed).
  2. Active content ratio measured by the Section 8 script, reported to two decimals, inside 0.75 to 0.85.
  3. Largest empty rectangle below 15 percent of canvas.
  4. One primary focal point at 35 to 50 percent of canvas.
  5. Every text element at or above the Section 5.2 floor. Hard floor 14 px never crossed.
  6. Every stroke at or above the Section 5.3 floor. Hard floor 1.5 px never crossed.
  7. Primitives within Section 5.4 bounds.
  8. Grade present. Every claim-bearing figure carries its warrant grade (public: grade-word in caption; codex: permitted glyph). The grade matches the paper's typing exactly. No claim-bearing figure is ungraded.
  9. Faithful map. The figure asserts no more and no less than the body. Arrows assert only relations the paper establishes.
  10. Semantic colors consistent and not reused for non-semantic purposes.
  11. No em-dashes. No LaTeX. Unicode math only.
  12. No badge decoration. Programmatic grep per Section 9.1 passed. In public register, no framework glyph anywhere. In codex register, glyphs only as bare text glyphs per Section 7.2.
  13. Footer present: document/section reference, figure ID, ISO date.
  14. Caption fully visible, no clipping, split to two lines before render if it would overflow.
  15. No label collision, no label crosses a line, no two labels overlap (Section 9.3).
  16. One title block only (Section 9.4).
  17. Four-component threshold respected (Section 9.5).
  18. Geometry asserts nothing false; canonical primitives pasted from a locked snippet where one exists (Section 9.6).
  19. Print test: render to PNG at 300 dpi, view at 100 percent, every label readable, every line crisp.
  20. Embedding verified (Mode A): expected image count embedded, every figure unfragmented, captions present and copper-italic.

Comment block format:

<!-- Visual Edition figure
Deliverable: [paper short-name], Figure N
Register: public / codex-native     Aesthetic: blueprint / codex-palette / paper-defined
Canvas: A4 portrait viewBox 0 0 1240 1754
Active content ratio: 0.81 (measured)     Largest empty region: 0.08
Primary focal point: [object] at ~42% of canvas
Grade carried: THEOREM / ATTRIBUTED(Author) / FINITE-SAMPLE / NECESSARY CONDITION / CONJECTURE / OPEN
Faithful map: asserts exactly the body's claim at the body's strength ✓
Min font 22 px   Min stroke 3 px
Badge grep: clean ✓   Caption: "[full text]" fully visible ✓   Label collision: none ✓
Pre-flight 1 to 20: pass -->

12. EXECUTION ORDER

Per visual edition:

  1. Select register and aesthetic (Section 1).
  2. Read the paper, harvest the spine (Section 3), write the private storyboard (Section 4).
  3. For each storyboard entry: pick the archetype, author the SVG on the locked canvas, place the focal point first, add labels at the font floors and geometry at the stroke floors, paste any locked primitive snippet.
  4. Render to PNG (Section 10.1), inspect visually.
  5. Run the density audit, the badge grep, the caption and label checks. Fix in place. Re-run.
  6. Write the comment block, save the SVG.
  7. After every several figures, print-test the recent batch at 100 percent.
  8. Assemble: Mode A embed into the paper as a visual appendix, or Mode B standalone PDF (Section 10.2 or 10.3).
  9. Verify the assembled PDF: image count, no fragmentation, legibility end to end, the appendix opening and closing on the paper's epistemic frame.
  10. Present the single PDF (Mode A: the paper with its new appendix; Mode B: the standalone edition with its INDEX).

QUICK REFERENCE CARD

Register: public (no framework glyphs, grade-words in captions) or codex-native (⟀ ✕ ? text glyphs, codex terms permitted). Default public. Aesthetic: blueprint (steel + copper + ink on faint grid) default; codex palette (V_F blue, V_E orange, V_ER green, M_seal gold) for codex register; paper-defined palette honored where the paper carries one. Canvas: A4 portrait 1240×1754, A4 landscape 1754×1240, 150 dpi work / 300 dpi export. Safety inset 30 px. Density: 0.75 to 0.85, measured by the PIL script, reported to two decimals. Font floors: title 56, header 28, label 22, footer 16. Hard floor 14. Stroke floors: primary 5, secondary 3, grid 1.5. Hard floor 1.5. Grade on every claim-bearing figure. Faithful map, never inflation. Hero and closing carry the headline epistemic frame. No badges, either register. Programmatic grep before save. No corner glyph, no circle-wrapped mark, no filled triangle in a container. Caption: container = canvas minus 200 px, split before render, verify no clipping. Labels: never cross a line, never overlap. Inside-lobe placement, clear-of-curve placement, Bezier for crossed edges, leaders for polyhedra. One title block. Split frames past four components. Correct geometry outranks ease of drawing. Render: cairosvg with html.unescape, white rect, 2× viewBox. Embed: figure CSS with page-break-inside avoid, max-width 4.7in, base_url on the renderer, copy PNGs to figs/. Output: a single PDF. Mode A appendix-embed (preferred when the paper exists) or Mode B standalone. No em-dashes. No LaTeX. Unicode math only. The figures are the paper seen, not the paper sold.


Closing seal. The visual edition draws what the paper proves, at the grade the paper earns, and stops there. Each figure carries its warrant inside its own structure or states it as text. No decoration. No inflation. Each line communicates. Each empty region is breathing room. Each figure embeds whole. The map is faithful to the territory.