clone

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

main
miau-is-true / openspec / changes / add-rule-driven-automata / tasks.md
tasks.md 2.8K rendered
1## 1. Automaton data and engine state23- [x] 1.1 Define normalized level automaton schema `{ id, subject?, property, pattern, phase? }` with object `move`/`wait` steps and optional cue/sound.4- [x] 1.2 Add backward-compatible `automata` state entries with `id`, optional subject, property, pattern, phase, and active fields.5- [x] 1.3 Activate property-carried automata from parsed `SUBJECT IS PROPERTY`, with optional subject restriction and transfer when the property word moves.6- [x] 1.4 Implement player → parse/transform → automaton front-first movement → parse/transform → contact resolution using atomic push rules.7- [x] 1.5 Advance phase once only when a player turn is accepted and at least one entity is active, including blocked automaton actions and explicit `wait`.89## 2. Events, Undo, replay, and solver1011- [x] 2.1 Extend settled events with `automated` entries reporting action, entity ID, from/to or blocked details, and optional cue/sound.12- [x] 2.2 Include normalized automata state and phase in Undo/reset snapshots and verify exact restoration.13- [x] 2.3 Extend replay and solver state keys to distinguish automata phase and active state and reproduce front-first movement.14- [x] 2.4 Add deterministic fixtures for property transfer, blocked actions, wait, contacts, reset, Undo, replay, and solver exploration.1516## 3. Mod validation and sharing1718- [x] 3.1 Validate optional subject, property vocabulary, object action tokens, cardinal deltas, pattern/phase bounds, cue/sound values, and unique IDs in local CommonJS mods.19- [x] 3.2 Normalize automata into data-only shared payloads and reject unsupported or malformed fields without executing shared code.20- [x] 3.3 Add atomic failure fixtures for malformed local and shared automata while preserving earlier registered packs.2122## 4. Presentation and feedback2324- [x] 4.1 Derive current/next pattern feedback from automata phase and render it with accessible text and optional cue/sound.25- [x] 4.2 Provide reduced-motion and mobile-safe beat feedback without changing simulation geometry or timing semantics.26- [x] 4.3 Add visual fixtures for property transfer, blocked actions, current/next steps, and automated movement details.27- [ ] 4.4 Apply the designer's D21 beat-strip review: one emoji tile, direction/wait glyph cells, and placement directly under the mobile ledger.2829## 5. Verification3031- [x] 5.1 Run browser controls, rule changes, bundled CommonJS mod loading, and Undo coverage with automata-enabled and legacy levels.32- [x] 5.2 Run deterministic solver/replay checks and the full Node suite.33- [x] 5.3 Run production build and document visual review items before enabling an authored automaton in a default pack.34- [ ] 5.4 Review settled desktop/mobile beat-strip frames with the designer after 4.4, then archive this change.