FABRIC.md: break the morning resume note into proper punch-list items

The prior commit's resume note was a single blockquote blob with a
numbered list buried inside item 4.4v -- not the document's own
established format. Replaced with four real standalone items matching
every other entry in this section (own checkbox, description, Done
when, Refs): 4.4w (pin 4.4u's open numbers), 4.4x (redo 4.4n's CANVAS
math for the real strip height), 4.4y (decide the toggle meta-key),
4.4z (draw the scroll box's visible border). Updated 4.4r's dependency
list to include 4.4v and 4.4z.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-08-11 23:49:25 -04:00
co-authored by Claude Sonnet 5
parent 074466f271
commit 098b437180
+43 -24
View File
@@ -5773,8 +5773,9 @@ document and committing that amendment as its own item.*
- [ ] **4.4r — Toggle word: hide/show the scroll box.** A FORTH word that hides the 640×480
scroll box, revealing the rest of CANVAS beneath it for drawing; showing it again restores
the scroll-box content undisturbed, no scrollback loss. Depends on 4.4o/4.4p (geometry),
4.4q (scrollback), and 4.4t (confinement — the box must be real before it can be hidden)
all being done first.
4.4q (scrollback), 4.4t (confinement — the box must be real before it can be hidden), 4.4v
(keyboard bridge — the toggle key has to reach the REPL), and 4.4z (the box needs a drawn
border before "hide/show" is visually meaningful) all being done first.
*Done when:* toggling off then on again, verified by screendump, shows the CANVAS drawing
area unobstructed while off and the exact prior scroll-box content restored when back on;
three-arch QEMU boot + logs per CLAUDE.md.
@@ -5905,28 +5906,46 @@ document and committing that amendment as its own item.*
CLAUDE.md.
*Refs:* §27.8, 4.3.5 series, 4.4r, 4.4u, `docs/lithosananke/ROADMAP.md` M8 section.
> **Session breakpoint, 2026-08-11 night — punch list for resume, not a new item.** Nothing
> below this line is implemented; recorded so "continue" tomorrow picks up exactly here
> instead of re-deriving it. In order:
> 1. **Pin 4.4u's still-open numbers with Bob**: exact gray RGB for the REPL-strip border
> lines (currently just "a mid-gray, not chosen"); reconcile the "~255/256 char" REPL
> input-line width against the real `INPUT_BUFFER_SIZE`=1025 (CLAUDE.md); confirm the
> 15px/15px REPL-strip gaps and 8px box gap are final, not just the current mockup
> working values.
> 2. **Redo 4.4n's CANVAS-rectangle math** once 4.4u's real (much smaller than 96px) strip
> height is pinned — this is arithmetic against already-known numbers, not a new design
> question, but must happen before any drawing code touches CANVAS sizing.
> 3. **Decide the toggle meta-key** (TAB/Ctrl+TAB/other) — explicitly deferred by Bob
> 2026-08-11, needed before 4.4v's interception code can be written.
> 4. **Build 4.4v** (keyboard→REPL bridge) — scancode/EV_KEY→ASCII tables, second poll path
> in `sk_readline()`, meta-key interception. Three-arch verified via QEMU's
> `input-send-event` monitor command, not socat/serial injection (that would only prove
> the REPL side works, not the keyboard side).
> 5. **Draw the scroll box's visible border** (4.4t confined content to the rect but never
> stroked a line on it — small, separable from 4.4v).
> 6. **Build 4.4r** (hide/show toggle) — depends on 1-5 above being real, not just planned.
> None of steps 1-6 has code yet. Do not skip ahead per §25.0 rule 1 — this order is also the
> dependency order, not an arbitrary preference.
- [ ] **4.4w — Pin 4.4u's open numbers with Bob.** Design-only, no code. Three specific values
4.4u left as working/placeholder, not final: (1) exact gray RGB for the two REPL-strip
border lines — 4.4u only says "a mid-gray, not chosen"; (2) the REPL input-line's character
width — Bob's verbal estimate was "~255/256 chars," which needs reconciling against the real
shared `INPUT_BUFFER_SIZE`=1025 (CLAUDE.md) — are these the same buffer, or does the REPL
strip want a smaller practical typing limit than LOAD's block-content buffer; (3) the
15px/15px REPL-strip gaps and 8px box-to-strip gap used in the second mockup pass — confirm
final or still tune-able.
*Done when:* all three values above are stated explicitly and recorded here, no longer
"working values."
*Refs:* §27.8, 4.4u.
- [ ] **4.4x — Redo 4.4n's CANVAS rectangle for the real (single-line) REPL-strip height.**
4.4n's existing CANVAS math assumed 4.4m's 96px/4-line REPL strip; 4.4u replaced that with a
single-line strip (4.4w's gap values, once pinned, give the real height — order-of-magnitude
20-40px, not 96px). Pure arithmetic against already-decided numbers, not a new design
question, but CANVAS's top-left/width/height must be recomputed before any drawing code
reads them. Depends on 4.4w (gap values pinned first).
*Done when:* a new CANVAS rectangle (top-left, width, height) is computed and recorded per
architecture, explicitly superseding 4.4n's numbers the way 4.4n itself is referenced from
4.4u as historical record, not edited in place.
*Refs:* §27.8, 4.4n, 4.4u, 4.4w.
- [ ] **4.4y — Decide the toggle meta-key.** Design-only, no code. 4.4u step 8 left this open —
candidates floated were TAB and Ctrl+TAB, Bob explicitly deferred choosing ("we'll figure out
what meta keys we wanna use for that part later," 2026-08-11). Blocks 4.4v's interception
code, which needs to know which key to intercept before it can be written.
*Done when:* one specific key (or key combination) is chosen and recorded here.
*Refs:* §27.8, 4.4u, 4.4v.
- [ ] **4.4z — Draw the scroll box's visible border.** 4.4t confined REPL text to the 640×480
box's coordinate space but never stroked a visible rectangle outline on it — the box's edges
are implicit (where text stops), not drawn. 4.4u step 6 calls for "an actual stroked
rectangle outline." Small, separable from 4.4v/4.4r — a single `fb_fill_rect()`-based
rectangle-outline draw (four thin `fb_fill_rect()` strips, matching 4.4p's reverted probe
technique but made permanent this time) called once when TTF mode is entered (alongside
4.4t's existing box-clear in `vt100_enable_ttf()`), redrawn if the box is ever cleared.
*Done when:* three-arch screendump shows a visible border on the box matching the color 4.4u
locks in (see 4.4w); three-arch QEMU boot + logs per CLAUDE.md.
*Refs:* §27.8, 4.4t, 4.4u, 4.4w.
- [ ] **4.5 — URGENT, flagged by Captain Bob 2026-08-11: the kernel build has never used any
compiler optimization.** **Blocking priority, set by Captain Bob 2026-08-11: no other