← Design · c132
review-phase3.md
c132 review stop: the loop built (Phase 3, 2026-11-11, evening)
Reader: Mark. What to look at, in order:
- The bake-off page, now with both sides for every state. The six holes are closed: B's
freshandminimalcaptures were taken by the native capture mode. Wipefreshon Harnesses: the empty states agree; wipeminimalon the harness page: 17 calls, 478k tokens, $17.97 on both sides. One drift the wipe showed: the app's rail has a Help › Getting started group since the Tour stretch and the skin's rail had not; D7 doing its job. c131 D20 had already ruled the launcher's place (gathered in the sidebar), so the skin took the group at this stop and A was recaptured; the chrome wipes clean again. - process.md: the five steps, who does which with what, the two media exactly, the native capture mode, the token bridge, the review stop as a page, what is not in the loop yet. Read it as the thing a designer or an executor is handed.
- The native capture mode in action:
npm run shots -- --native scripts/shot-programs/c132-native-worlds.json(13 captures in about a minute once the binary is built). The program is the model for every cycle after this. /gpui-story(.claude/skills/gpui-story/SKILL.md): the story shape, the test, the capture, the path from a Vue mock to a story.- The hand-on to qnative c2, landed: one line in
crates/stories/src/main.rsso the stories readQPOINT_WORLDas the app does (the patch file was removed from this tree once c2 applied it). The first captures were taken from a scratch copy with that patch; c2 landed it (b4cbc23) with the recut the same evening, and the final captures come from qnative proper: four worlds,meridian-day90now nina-mbp andpilotpriya-x1. The wipe onpilotshows what the first bake-off showed; the wipe onmeridian-day90shows nina's quiet laptop on both sides.
What was built
scripts/capture.mts:--native <program.json>(the mode),scaleandclipfor programs, pages and shots,--clipand--scalefor single shots; manifest entries carryscale, and native onessurface: native,world,variant: world=<name>.scripts/shot-programs/c132-native-worlds.json(B per world) andc132-bake-off.json(A at 2×, clipped to the window; the eleven captures retaken, no hand crop)..claude/skills/gpui-story/SKILL.md,process.md, the bake-off page with both sides.- The token bridge was not rebuilt:
scripts/tokens-to-kit.mjsexists from qnative c2 and is documented inprocess.md.
Not done, and why
- The kit's own skills are not installed in
.claude/skills. They come from the kit's repo (npx skills add longbridge/gpui-kitfetches and runs from the network); the primer says they lag the kit and renders empty on the kit's site. Install from the repo at the pinned tag when a cycle needs them, after looking at what they contain. - A dark variant per world for A: the skin follows the site's theme, so a dark program would set the theme first; B has
--mode dark. Not needed for the pick. /figma-to-gpui: Q2 (a kit-shaped Figma library) stays open.The recutlanded (qnative71dd21a) while Phase 3 ran: synced, both programs re-run,pilotadded as a fourth state on the bake-off page.
Open for you
- Phase 4, the worked example: Status or Inventory through the loop and into c131. Inventory is already most of the way (three views in both media on three worlds); Status has no page yet in either medium and would exercise the loop end to end, including the six endpoint-only shapes (c131 D17) as a world to cut. Which?
Whether the skin takes the rail's Help group nowtaken (c131 D20 had ruled it; a Phase 3 follow-up, no new ruling).- Whether the native mode should also publish into design's own atlas (a copy of each native capture under
public/cycles/design/with the cycle's thread) so a design cycle's Visual record shows B beside A without crossing into the qnative atlas. Today it writes to one project.