clone

a browser grid puzzle game where you push words around to rewrite the rules of each level

Record W3 and D22 polish progress

Dami committed 92c774c
commit
92c774cb292e638b6df43287918bfef4ff6debdb
parent
513e6bfe18d7d6cd48227a7added8716ecae0107
author
Dami <dami.etoile@gmail.com>
1 file changed, +6 -0
Mprogress.md6++++++
M progress.md +6 -0
@@ -31,3 +31,9 @@ TODO: Review the audio mix by ear and keep the spacing rule for future teaching
3131 2026-09-23: Started the runtime architecture review and `modularize-runtime-boundaries` OpenSpec change. Read-only audits found stage action duplication, dense application turn orchestration, engine full-array lookups, repeated pack clone code, and minified CSS as the highest maintenance risks. `docs/architecture-review.md` records state ownership, boundaries, risks for gates/switches/crumble, and staged follow-up work. Pack data cloning is centralized in commit `f014da5`; CSS formatting is isolated in commit `2dfb250`. Stage, app, and engine extraction slices are under integration review before their individual commits. The designer and world team files remain separately owned.3232 3333 2026-09-23: Completed and archived `modularize-runtime-boundaries`. Stage is 648 lines (from 1,526), board renderer 432 (from 660), engine 378 (from 427), and INDEX progress is separate from map navigation. The app has dedicated turn, intent, and developer-view modules; juice has pure visual/effect projections; pack cloning has one data boundary. The browser loop found a missing proof-renderer import and stale engine indexes after Undo, both fixed and covered. Final local gates: 183 Node tests, Vite build, full share/campaign browser flow, automata desktop/mobile flow, death-Undo visual flow, inspected screenshots, and no console errors. OpenSpec strict validation passed all 11 active/live items. Stable public preview https://fcbc.n.zip/ is revision 9 (existing expiry retained). Next architecture work: geometry-derived pointer targets, further juice event-reducer split, unified mod/engine validation, mechanics-aware snapshots and solver keys, and an explicit automata conflict policy before gates/switches/crumble.34+35+2026-09-23: The ongoing polish goal is active. W3 compact BFS and fast transitions now reproduce ten baseline routes and 150 per-action states exactly. Same-search RSS is 29.7–47.0% lower than the legacy full-state solver on three representative proofs. `tools/solve.mjs` uses the compact fast path, with optional `solverBudget`, `allowBypass`, `allowHandsOff`, and `mustForm` author checks. The worlds team confirmed the field names; its packs and CI gate remain in progress. W6 Crossword rework remains with the worlds team. W11 diagnostics now recognize pack palette/vocabulary nouns such as Word Lab GEM and report cross-proof property/thing ambiguity; design's revised Gift/Workshop copy and mobile affordances are in local browser review. Public revision 10 remains the stable preview until that review passes. TODO: finish W11 visual browser acceptance, coordinate bundled-world budgets and CI, then update the public preview after design review.36+37+2026-09-23: Design accepted W11. Revision 11 is live at https://fcbc.n.zip/ with its existing expiry and access policy; the public share/campaign browser flow passes without console errors. W11 is archived in OpenSpec after 278 Node tests, the production build, strict validation, and mobile Gift/Workshop warning screenshots. A nonblocking Workshop mobile keycap/CLOSE polish item is underway. The W3 CLI now honors an explicit `--max` above the 2M default; Tidewater `shell-game --forbid 'JELLY IS SHELL' --max 3000000` genuinely reaches LIMIT after 3M attempts (223.47 s), so its `mustForm` remains unset. TODO: finish Workshop mobile polish, agree first bundled-world CI pack set and heavy solver budgets, then resume W6 Crossword content validation.38+39+2026-09-23: The first W3 bundled-world gate is being implemented for core, Crate Works, Tidewater, and Clockwork. The worlds team confirmed those packs solve at the default 2M cap; core `two-things-can-win` will declare its intentional BYPASS. A bounded `shell-game` audit found no equivalent states to merge among 50,417 sampled states, so its unproven `mustForm` remains unset while the worlds team simplifies that proof. W6's PUSH/STOP precedence, `X IS X`, spatial transformation order, and bounded stacked-cell grammar are implemented; Crossword's `carry-the-pair` route now correctly loses under DEFEAT-before-WIN, and the worlds team has the content rework handoff. D22 Pause, Win, ledger, skid, HUD and an explicit `?slowmo=N` presentation clock are committed locally under `animate-stage-motion-language`. Browser review found a selected Pause tile contrast bug and a clipped mobile hint; those are being corrected before design review. Revision 11 remains public until the designer accepts the new motion captures and Workshop mobile P2.