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 > (CANVAS geometry) computed per-architecture needs to actually branch on this, not assume a
> single shared screen size. > 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 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, 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. 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. recorded here.
*Refs:* §27.8. *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 - [ ] **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 strip height (4.4m) minus the small fixed gap (exact pixel value chosen here) between CANVAS
and the strip. and the strip.