clone

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

docs: record automata demo and public revision 7

Dami committed 32f8f30
commit
32f8f3038fe3380c8a90a134bafdab680be07635
parent
7f248768232807e0b659cc4dee916ee56cd1c1e3
author
Dami <dami.etoile@gmail.com>
2 files changed, +15 -7
MREADME.md16+++++++++-------
Mprogress.md6++++++
M README.md +9 -7
@@ -11,7 +11,7 @@ npm run dev
1111 1212 Open the local URL printed by Vite. Run `npm test` for the engine, pack, sharing, and content fixtures, and `npm run build` to produce `dist/`.1313 14-The current [public test build](https://fcbc.n.zip/) is revision 5 at the stable14+The current [public test build](https://fcbc.n.zip/) is revision 7 at the stable1515 nzip address `public:miau-is-true`. It is a static test origin that can support1616 a later shoo.dev identity integration. The current game has no account or1717 sign-in flow.
@@ -21,6 +21,7 @@ sign-in flow.
2121 - Arrow keys or WASD: move one cell.2222 - Z: undo a successful move.2323 - R: restart the current level.24+- Space: wait one turn in an automata proof; active automata then take their next pattern step. The mobile proof shows a WAIT button.2425 - The desktop fullscreen button is available in developer mode (`?dev`).2526 - Workshop is visible from Title and INDEX with `Space`, and is also available from Pause.2627 - Pause includes sound and optional music controls.
@@ -28,7 +29,7 @@ sign-in flow.
2829 2930 Each word is a pushable object. Straight sentences read left to right or top to bottom. `MIAU IS YOU` makes the cat controllable; moving `STOP` out of `ROCK IS STOP` makes rocks passable. `AND` can join subjects or predicates. Words can also turn one noun into another, such as `MIAU IS ROCK`.3031 31-The first property set is `YOU`, `PUSH`, `STOP`, `WIN`, `SINK`, and `DEFEAT`. This engine has its own MIAU levels and presentation; it does not attempt full compatibility with Baba Is You.32+The first property set is `YOU`, `PUSH`, `STOP`, `WIN`, `SINK`, and `DEFEAT`. A mod can declare a level-scoped behavior property such as `TICK`: a formed `FENN IS TICK` sentence activates FENN's repeating move/wait pattern. The pattern follows that property if the sentence changes; its phase is included in Undo, reset, snapshots, and the solver. This engine has its own MIAU levels and presentation; it does not attempt full compatibility with Baba Is You.3233 3334 The engine also exposes physical sentence spans for presentation. Each span3435 keeps its word IDs and horizontal or vertical axis, while semantic rules remain
@@ -57,16 +58,17 @@ decoded without evaluating CommonJS source.
5758 5859 The full-screen stage, scene flow, input routing, audio events, local font,5960 mobile behavior, reduced-motion behavior, and developer flow are implemented.60-Revision 4 passed 145 Node tests, 36 browser checks against the public URL,61-and the production build. It fixes next-proof first-frame positioning,62-same-entity `YOU` and `WIN`, spatial INDEX arrows, actor facing, and direct63-Workshop access. The designer accepted the stage visual gate, and its OpenSpec64-change is archived.61+Revision 7 passes 166 Node tests, the production build, and focused automata62+browser checks against the public URL on desktop and mobile. The designer63+accepted the earlier stage visual gate. The automata visual review remains in64+the active `add-rule-driven-automata` OpenSpec change.6565 6666 ## Make a mod6767 6868 Open **Workshop** from Title or INDEX, then choose **Import…** to select a trusted local `.cjs` or `.js` file. A mod exports a CommonJS object with a manifest, level data, and optional noun palette. See [the example mod](mods/example.cjs) and [modding guide](docs/modding.md). Local modules execute JavaScript in the browser, so load files you trust.6969 70+To try the automata mechanic, import [the FENN clock example](mods/automata-example.cjs) through Workshop. It is a mechanics sample outside the default campaign while the Clockwork world is being authored. Patterns are bounded declarative data in the pack, and shared links preserve that data without executing source.71+7072 ## Design and workflow7173 7274 - [Design backbone](docs/design-backbone.md): vocabulary, turn order, puzzle design research, and extension boundaries.
M progress.md +6 -0
@@ -19,3 +19,9 @@ Original prompt: I want to create a web app game engine that supports 'baba is y
1919 2026-09-24: The public reduced-motion walkthrough passed at 1280×800 and 390×844 through Title, INDEX, Proof, Pause, and Win with no console errors or visible iris, shake, or particle artifacts. The shipped audio clip mapping was sent to the designer for a future mix-by-ear review.2020 2121 TODO: Review the audio mix by ear and keep the spacing rule for future teaching proofs. New mechanic or campaign work should begin with a new OpenSpec change from the roadmap.22+23+2026-09-23: Began `add-rule-driven-automata` for patterned emoji actors. The first slice uses declarative, turn-based patterns activated by a level-scoped word property (for example `MOUSE IS TICK`); the property may transfer to another noun when the sentence changes. Accepted movement or explicit WAIT advances one beat, while blocked player input and inactive rules hold the phase. Engine, CommonJS validation/sharing, and beat-strip UI are in parallel implementation. The designer owns final beat visuals through `docs/design-inbox.md`; the worlds team has the property-carried contract in `docs/worlds-inbox.md`. Current source edits are provisional and not yet committed or published.24+25+2026-09-23: Rule-driven automata now pass 166 Node tests, the production build, strict OpenSpec validation, and 9 focused browser checks across desktop and 390×844 mobile. FENN 🦊 is the named example actor; the TICK beat strip, on-board action cue, optional sound, Space/mobile WAIT, Undo/reset phase, data-only sharing, and solver snapshot/phase support work. The unbundled `mods/automata-example.cjs` remains a mechanics sample because the solver finds a bypass in 8 rightward moves; the Clockwork world is authoring a timing-dependent proof. Gates/occupancy plates and rule-driven one-step tiles are assigned to Crate Works and Tidewater respectively, with semantics pending scenario review in `docs/mod-mechanic-stressors.md`.26+27+2026-09-23: Public revision 7 at https://fcbc.n.zip/ preserves the existing nzip target and expiry (2026-10-23T23:16:58Z). Its focused desktop/mobile browser run passes 9 checks with no console errors. The final mobile WAIT control is labelled plainly and fits above Restart. The active automata OpenSpec change remains open for deterministic solver and visual fixtures, plus designer review of the final frames. The designer was asked to replace the old fox token in its owned reference docs and prototype with FENN.