← Design · c132
bake-off-log.md
c132 bake-off: medium A's time log
Wall-clock notes kept while building medium A (Vue mocks in a native skin) on 2026-11-11, by the agent that built it. B's figures are c2's commit times in ../qnative (see review.md).
| When (MST) | Step | Note |
|---|---|---|
| 09:14 | start | Reading done (plan, records, worlds, api.rs, repo.rs, the three pages in Rust, the native captures). Clock starts here. |
| 09:17 | Phase 0 | useNativeWorld.ts written (the key rule from Request::key, dynamic import per world, client-side load). |
| 09:19 | skin | app/components/native/ (Window, Icon, Period, PageHeader, LabBar, Skeleton) and useNativeMock.ts written. |
| 09:22 | pages | native-inventory.ts (landing.rs / harnesses.rs / harness.rs ported) and the three mocks written; registry, subjects and the pages index edited. |
| 09:24 | verify 1 | All six routes answer 200 on :3000; headless Chromium: no errors, rows load in every world. The only warning is the router's "no match" for the bake-off page, not yet written. Friction: the layer's DataTable sorts by column label, so initialSort takes "sessions", not the key; NavJumpPills spies on window.scrollY, so inside the window's own scroll box the highlight does not follow (the jump itself works); the layer has no Lucide glyphs, so the rail's icons are drawn by hand. |
| 09:26 | Phase 0 record | plan.md Phase 0: what each medium needs installed; the bake-off page. Shot program written. (Earlier rows corrected to file mtimes: the first draft of this log guessed.) |
| 09:28 | capture 1 | npm run shots -- --program scripts/shot-programs/c132-bake-off.json: 11 shots. Found the rail missing: the program's hideCss hides every nav, and the window's rail was one. Made it an aside. |
| 09:31 | capture 2 | Recaptured; cropped the 1440 × 900 viewport shots to the window (1120 × 720) with PIL (sips --cropOffset crops centred whatever the offset). "last active" put on the wall clock, as the app's format::ago is today (B said 133d on 2026-11-10). |
| 09:30 | bake-off page | /pages/native/bake-off written: A beside B per view and state with UxImageCompare (wipe, onion, side), the figures table, what the evidence suggests. |
| 09:36 | review | review.md written; the record (CYCLE.md, the story, CYCLES.md). Clock stops for the bake-off's figure at the verified page: about 40 minutes from 09:14. |
| 09:43 | Phase 2 | Mark's rulings recorded (D1 ruled; D7, D8), committed. |
| 09:48 | Phase 3 | capture.mts: scale, clip (program and single-shot), --native mode. A recaptured at 2× clipped to the window (no hand crop). |
| 09:53 | Phase 3 | The stories honour QPOINT_WORLD through a one-line patch in a scratch copy of qnative (handon-stories-world.patch), built into qnative's shared target dir; the first build failed on a closure arity and the old binary silently captured the default world for all three, caught by reading the PNGs. Fixed; 13 per-world captures in public/cycles/qnative/ (thread worlds). |
| 09:55 | Phase 3 | /gpui-story skill, process.md, the bake-off page with both sides for every state. |
| 10:05 | recut | qnative c2 landed the recut (nina-mbp default, pilot) and the stories patch while Phase 3 ran: worlds re-synced (four), both media recaptured (A 14, B 18), the bake-off page and the records brought in line. |
| 11:53 | follow-up | The skin's rail takes Help › Getting started (c131 D20 had ruled the launcher's place); A recaptured so the chrome wipes clean. |
| 12:16 | recapture | A recaptured after a template-only import (agoFrom) broke the harness page once the dev server's transform went cold: the helpers are bound locally now (the known design-site gotcha). The run was slow while outbound DNS was down (the page's external script never settled). |
| 12:40 | Phase 4 | Mark picked Status and said forge ahead: the brief, the mock on four worlds with the state knob, eight captures, review-phase4.md with S1–S6; Phase 5: the CLAUDE.md section. |
| 12:50 | Phase 4 B | The Phase 3 review's rulings (D9, D10) applied: the mirror, the bridge per world, the mock on the bridge; then Status built in qnative (the page, route, nozzle, stories, the composed asset source for the Activity glyph the kit's default set lacks), rendered and tested. |
| 13:20 | D21 | Mark ruled S1–S6 (c131 D21): the lab reshaped Status as the landing, built Sensor and Activity on four worlds, recaptured; qnative c5 took the push; no further qnative edits from here. |
| later | c5's B | c5 landed D21 in the app and captured Status, Sensor and Activity per world; the bake-off page wipes the lab's three pages over them; the lab keeps the world's dates (the captures freeze the clock). |