FABRIC.md: item 4.4m -- REPL text size and strip height decided

Design decision, no code change (4.4j's constants are already the
final values). Text size 20px (unchanged from 4.4j), 4 visible lines,
strip height 96px (4 x the existing 24px cell height, no extra
padding -- leading is already baked into that cell height).

Flagged the constraint this feeds into before deciding: 4.4o needs a
640x480 scroll-box to fit inside CANVAS on the 600px-tall
aarch64/riscv64 screens, which only leaves 24px of slack over the
480px minimum once the 96px strip is subtracted. 4.4n's gap choice
must stay <=24px on those architectures or 4.4o's fit check fails --
recorded now so it's not a surprise two items later.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-08-11 20:17:33 -04:00
co-authored by Claude Sonnet 5
parent 9caebabd17
commit a4afecb656
+26 -1
View File
@@ -5456,7 +5456,7 @@ document and committing that amendment as its own item.*
> (CANVAS geometry) computed per-architecture needs to actually branch on this, not assume a
> single shared screen size.
- [ ] **4.4m — Decide REPL-strip pixel height.** Currently undefined anywhere in this document
- [x] **4.4m — Decide REPL-strip pixel height.** Currently undefined anywhere in this document
or the code. Once 4.4j lands, REPL text renders via `TTF-TEXT` at some chosen point/pixel
size (also not yet chosen) — strip height derives from that size's line height plus padding,
not from `font_8x16.c`'s fixed 8×16 cell.
@@ -5464,6 +5464,31 @@ document and committing that amendment as its own item.*
recorded here.
*Refs:* §27.8.
> **Decided with Captain Bob, 2026-08-11.** Before deciding, flagged the real constraint this
> choice feeds into: 4.4o needs a 640×480 scroll-box to fit inside CANVAS, and CANVAS height
> = screen height (4.4l) strip height a fixed gap (4.4n). On aarch64/riscv64 (600px tall),
> that leaves very little room — strip height + gap must stay well under 120px or 4.4o's own
> text says it must stop and report rather than silently shrink the box.
>
> **Text size: 20px, unchanged from 4.4j's provisional value** — no rework, and 4.4j's own
> `VT100_TTF_SIZE_PX`/`VT100_TTF_CELL_W_PX`/`VT100_TTF_CELL_H_PX` constants are now the
> final values, not placeholders (their code comments calling them "provisional, pending
> 4.4m" are stale as of this decision — worth a follow-up comment cleanup when 4.4n/4.4o
> touch that code next, not urgent enough to justify a code-only commit for comment text
> alone).
>
> **Visible lines: 4.** **Strip height: 4 × `VT100_TTF_CELL_H_PX` (24px) = 96px** — no
> additional padding layered on top of that, since each line already carries 4px of leading
> baked into the 24px cell height itself (`VT100_TTF_CELL_H_PX`'s own comment: "size + 4px
> leading/descender").
>
> **Checked against the 480px constraint, not assumed safe:** on the 600px-tall
> aarch64/riscv64 screens, `600 96 = 504px` remains for CANVAS + gap. That's only 24px of
> slack over the 480px minimum — a generous gap choice in 4.4n (e.g. anything over ~24px)
> would fail 4.4o's fit check. **4.4n's gap must stay ≤ 24px on the small architectures**,
> flagged here explicitly so it isn't discovered as a surprise failure two items later. amd64
> (800px tall) has no such pressure (`800 96 = 704px` for CANVAS + gap).
- [ ] **4.4n — CANVAS rectangle definition, per architecture.** Screen height (4.4l) minus REPL
strip height (4.4m) minus the small fixed gap (exact pixel value chosen here) between CANVAS
and the strip.