← 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)StepNote
09:14startReading done (plan, records, worlds, api.rs, repo.rs, the three pages in Rust, the native captures). Clock starts here.
09:17Phase 0useNativeWorld.ts written (the key rule from Request::key, dynamic import per world, client-side load).
09:19skinapp/components/native/ (Window, Icon, Period, PageHeader, LabBar, Skeleton) and useNativeMock.ts written.
09:22pagesnative-inventory.ts (landing.rs / harnesses.rs / harness.rs ported) and the three mocks written; registry, subjects and the pages index edited.
09:24verify 1All 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:26Phase 0 recordplan.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:28capture 1npm 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:31capture 2Recaptured; 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:30bake-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:36reviewreview.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:43Phase 2Mark's rulings recorded (D1 ruled; D7, D8), committed.
09:48Phase 3capture.mts: scale, clip (program and single-shot), --native mode. A recaptured at 2× clipped to the window (no hand crop).
09:53Phase 3The 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:55Phase 3/gpui-story skill, process.md, the bake-off page with both sides for every state.
10:05recutqnative 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:53follow-upThe skin's rail takes Help › Getting started (c131 D20 had ruled the launcher's place); A recaptured so the chrome wipes clean.
12:16recaptureA 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:40Phase 4Mark 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:50Phase 4 BThe 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:20D21Mark 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.
laterc5's Bc5 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).

Qpoint Brand Style Guide