clone

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

main
miau-is-true / openspec / changes / archive / 2026-09-24-modularize-runtime-boundaries / tasks.md
tasks.md 1.6K source

1. Review and contracts

  • [x] 1.1 Audit module size, state ownership, dependency direction, duplicated semantics, and future mechanics risks.
  • [x] 1.2 Define an OpenSpec runtime-boundary contract and staged architecture design.
  • [x] 1.3 Record the review findings, module ownership, and follow-up migration path in repository documentation.

2. Focused extraction

  • [x] 2.1 Consolidate Pause and Index keyboard, pointer, and programmatic actions around shared semantic methods while preserving controls.
  • [x] 2.2 Extract app session/lifecycle work from the bootstrap module and clarify the stage projection boundary.
  • [x] 2.3 Reduce repeated full-board scans in engine turn work through turn-local lookups without changing events or snapshots.
  • [x] 2.4 Centralize data-only clone semantics used by catalog, pack, and share boundaries.
  • [x] 2.5 Extract pure rule parsing, board render-model/entity passes, and visual effect projections while preserving their public APIs.
  • [x] 2.6 Extract stage HUD and scene drawing from the stage controller while preserving canvas output and accessibility.
  • [x] 2.7 Separate INDEX progress persistence from map layout/navigation and format the application styles.

3. Verification

  • [x] 3.1 Verify stage navigation and one-action behavior on desktop and mobile, including Pause, Index, wait, and Undo.
  • [x] 3.2 Verify rule changes, automata, CommonJS mod loading, data-only sharing, and Undo in Node and browser checks.
  • [x] 3.3 Run production build, inspect gameplay screenshots and text state, and check console errors.
  • [x] 3.4 Validate and archive this OpenSpec change only after implemented tasks and behavior gates pass.