FABRIC.md: checkpoint -- all 113 v1 glyphs verified, 3 arches (4.3.6g)

Punch list §25 item 4.3.6g complete. Fixed the cross-arch bug found
while first attempting this checkpoint: aarch64 and riscv64 both boot
an 800x600 ramfb device (confirmed empirically for both, not assumed),
against amd64's 1280x800 GOP framebuffer -- the original verification
grid's Y coordinates ran off the top of the smaller screens. Rebuilt
the grid to fit 800x600, safe on amd64's larger screen too.

All 113 glyphs confirmed legible and correctly positioned on all three
architectures, one screendump each, from the identical FORTH command
sequence. No code changes -- font.4th/fabric.4th are unchanged since
4.3.6f; this is verification only.

Three-arch acceptance boot clean, Stadium conservation unchanged.

Stroke font (4.3.6-4.3.6g) is now complete. Per this item's own
posture, stopping here before scoping REPL wiring (M8) -- 4.3.7
(TrueType, adjunct) is the scoped-but-not-started next work.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-08-09 21:35:07 -04:00
co-authored by Claude Sonnet 5
parent 28731b8536
commit b9b7cb2c6a
12 changed files with 54864 additions and 97 deletions
+19 -13
View File
@@ -4635,25 +4635,31 @@ document and committing that amendment as its own item.*
> (`resident_sum=43691 reservoir=21845 sum=65536`): amd64 (`logs/20260809-204422`),
> aarch64 (`logs/20260809-204458`), riscv64 (`logs/20260809-204550`).
- [ ] **4.3.6g — Checkpoint: render every v1 glyph on the CANVAS.** Same posture as
- [x] **4.3.6g — Checkpoint: render every v1 glyph on the CANVAS.** Same posture as
4.3.4/4.3.5f — stop and review here before scoping REPL wiring (M8). *Done when:* a single
screendump shows all 113 glyphs in the v1 repertoire (§27.6.4) rendered legibly and
correctly positioned, on all three architectures, matching the 4.3.3b/4.3.4 completion
pattern (screendump-verified, not just non-crashing). Three-arch acceptance boot clean,
logs committed. *Refs:* §27.6.
> **Paused 2026-08-09, mid-verification.** amd64's 113-glyph grid screendump (1280×800 GOP
> framebuffer) looked correct. Re-running the same grid on aarch64 surfaced a real,
> previously-unaccounted-for cross-arch difference: aarch64 boots with an 800×600 `ramfb`
> device, not amd64's 1280×800 linear GOP framebuffer — the grid's Y coordinates (laid out
> for 800px height) ran off the top of the smaller screen. Not yet re-run with corrected,
> screen-size-aware coordinates on any architecture. This checkbox stays open.
> **Done 2026-08-09.** Fixed the cross-arch framebuffer-size bug found while first
> attempting this checkpoint (paused note, now superseded): aarch64 and riscv64 both boot
> an 800×600 `ramfb` device (confirmed for riscv64 too, not assumed from aarch64's number —
> checked via screendump pixel dimensions), against amd64's 1280×800 GOP framebuffer.
> Rebuilt the verification grid to fit 800×600 (7 rows, `GSIZE 28`, all rows below the boot
> log text), which is automatically safe on amd64's larger screen too.
>
> The review this checkpoint exists for happened here, ahead of schedule: seeing the
> stroke-rendered repertoire together prompted the decision to add TrueType rendering as
> an adjunct rather than continue refining the stroke system alone — see 4.3.7 below. The
> stroke font itself is being kept, not reverted; this item still needs to finish (grid
> fixed, all three arches, screendump-verified) before REPL wiring (M8) is scoped, per its
> own "Done when."
> All 113 glyphs confirmed legible and correctly positioned, one screendump per
> architecture, no clipping, no dispatch errors: amd64, aarch64, riscv64 all rendered from
> the identical command sequence (same FORTH source, same VM, different framebuffer
> geometry only).
>
> Three-architecture acceptance boot clean, Stadium conservation unchanged
> (`resident_sum=43691 reservoir=21845 sum=65536`): amd64 (`logs/20260809-213223`),
> aarch64 (`logs/20260809-213301`), riscv64 (`logs/20260809-213354`).
>
> Stroke font (4.3.64.3.6g) is now fully complete. Per this item's own posture, stop here
> before scoping REPL wiring (M8) — 4.3.7 (TrueType, adjunct) is the scoped-but-not-started
> next work, not M8.
- [ ] **4.3.7 — TTF parser core.** A C module (not FORTH — parsing and rasterization are
impractical to interpret) reading a `.ttf`'s `sfnt` directory plus `head`/`maxp`/`loca`/