1. Automaton data and engine state
- [x] 1.1 Define normalized level automaton schema
{ id, subject?, property, pattern, phase? }with objectmove/waitsteps and optional cue/sound. - [x] 1.2 Add backward-compatible
automatastate entries withid, optional subject, property, pattern, phase, and active fields. - [x] 1.3 Activate property-carried automata from parsed
SUBJECT IS PROPERTY, with optional subject restriction and transfer when the property word moves. - [x] 1.4 Implement player → parse/transform → automaton front-first movement → parse/transform → contact resolution using atomic push rules.
- [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.
2. Events, Undo, replay, and solver
- [x] 2.1 Extend settled events with
automatedentries reporting action, entity ID, from/to or blocked details, and optional cue/sound. - [x] 2.2 Include normalized automata state and phase in Undo/reset snapshots and verify exact restoration.
- [x] 2.3 Extend replay and solver state keys to distinguish automata phase and active state and reproduce front-first movement.
- [x] 2.4 Add deterministic fixtures for property transfer, blocked actions, wait, contacts, reset, Undo, replay, and solver exploration.
3. Mod validation and sharing
- [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.
- [x] 3.2 Normalize automata into data-only shared payloads and reject unsupported or malformed fields without executing shared code.
- [x] 3.3 Add atomic failure fixtures for malformed local and shared automata while preserving earlier registered packs.
4. Presentation and feedback
- [x] 4.1 Derive current/next pattern feedback from automata phase and render it with accessible text and optional cue/sound.
- [x] 4.2 Provide reduced-motion and mobile-safe beat feedback without changing simulation geometry or timing semantics.
- [x] 4.3 Add visual fixtures for property transfer, blocked actions, current/next steps, and automated movement details.
- [ ] 4.4 Apply the designer's D21 beat-strip review: one emoji tile, direction/wait glyph cells, and placement directly under the mobile ledger.
5. Verification
- [x] 5.1 Run browser controls, rule changes, bundled CommonJS mod loading, and Undo coverage with automata-enabled and legacy levels.
- [x] 5.2 Run deterministic solver/replay checks and the full Node suite.
- [x] 5.3 Run production build and document visual review items before enabling an authored automaton in a default pack.
- [ ] 5.4 Review settled desktop/mobile beat-strip frames with the designer after 4.4, then archive this change.