- commit
- 3e53b8384f8f2e230f44da585e6ae399b8d7bc86
- parent
- f218e31713a62f13c79e009daf3bd94fb763f9a9
- author
- Dami <dami.etoile@gmail.com>
| M | .gitignore | 1 | + |
| M | README.md | 6 | ++++++ |
| M | docs/ | 4 | ++-- |
| M | progress.md | 4 | +++- |
@@ -11,6 +11,12 @@ npm run dev
1111 1212 Open the local URL printed by Vite. Run `npm test` for the engine and content fixtures, and `npm run build` to produce `dist/`.1313 14+The current [public test build](https://fcbc.n.zip/) uses the stable nzip site15+alias `public:miau-is-true`. Its current revision expires October 23, 2026;16+re-publishing to the same target preserves the URL. The site is a static test17+origin that can support a later shoo.dev identity integration. The current game18+has no account or sign-in flow.19+1420 ## Play1521 1622 - Arrow keys or WASD: move one cell.@@ -4,7 +4,7 @@ This is a planning queue, not a claim that the later vocabulary already works. E
44 55 ## 0. Playable foundation — `build-dynamic-rule-engine`66 7-Three MIAU puzzles establish the turn contract: stacked occupancy, cardinal movement, atomic push chains, `IS` and `AND`, six properties, transformations, undo, a CommonJS content format, and a fixed emoji grid. The active OpenSpec change records these as behavioral requirements.7+Three MIAU puzzles establish the turn contract: stacked occupancy, cardinal movement, atomic push chains, `IS` and `AND`, six properties, transformations, undo, a CommonJS content format, and a fixed emoji grid. The completed OpenSpec change is archived at `openspec/changes/archive/2026-09-23-build-dynamic-rule-engine/`; its behavioral requirements are now the live specs in `openspec/specs/`.88 99 ## 1. Make the rule language composable1010 @@ -50,4 +50,4 @@ Group levels by the word they introduce, mark challenges separately, and preserv
5050 4. Stacked words generate sentence combinations in stable object order; the UI offsets occupants and shows a stack count.5151 5. No `YOU` state is recoverable with undo or restart. A later loss screen should be designed only if puzzles need it.5252 53-The [design backbone](design-backbone.md) explains the research behind these priorities. The first release documents its actual behavior in `openspec/specs/` after its active change is archived.53+The [design backbone](design-backbone.md) explains the research behind these priorities. The first release documents its actual behavior in `openspec/specs/`.@@ -8,4 +8,6 @@ Original prompt: I want to create a web app game engine that supports 'baba is y
88 99 2026-09-23: Playwright browser checks pass for rule breaking, keyboard and touch movement, undo, reset, valid and invalid CommonJS imports, victory, and continuing to the next level. Inspected the rule-break and victory screenshots and the text game state; the rule table updates when STOP moves. Level 2's wall-rule shortcut was sealed and its intended push solution still passes. The designer requested richer settled turn events (E1/E2); source IDs and axes are implemented, and the event payload is receiving a final ordering/contact review before OpenSpec archival.1010 11-TODO: Complete the E2 event review and focused fixtures, rerun tests/build/browser smoke, then mark and archive the OpenSpec change. Keep visual design changes coordinated through docs/design-inbox.md.11+2026-09-23: E2 event review completed. Movement includes push provenance and contact-destroyed movers; rule deltas retain source IDs and axis; blocked events identify the physical blocker. All 24 Node tests and the production build pass. The local and public nzip origins both pass the Playwright integration check. Published https://fcbc.n.zip/ to the existing `public:miau-is-true` alias with a 30-day TTL. OpenSpec change `build-dynamic-rule-engine` was validated and archived; four capability specs are now live.12+13+TODO: The visual design owner is developing the board-first presentation and can consume E1/E2 through docs/design-inbox.md. Future mechanic changes should begin with a new OpenSpec change from the roadmap.