docs: final handoff pass
Adds accessibility/README.md, the player-facing setup and keymap reference -- the thing to read before playtesting. Brings the developer docs in line with what was actually built: - docs/README.md rewritten as an index with current status and a one-paragraph architecture summary. - docs/scratch.md gains a HANDOFF section: state of play, the commands to run after any change, the five traps that each cost real debugging time, what is NOT verified and why, deliberate omissions, and how to rebase onto a future game version. - docs/03-implementation-plan.md gains a status banner listing where the implementation deliberately diverged from the plan (menu narration pulled forward as a blocker, levelCursorPopup not patched, tryInteract insufficient as a tracker filter, testbed added, no settings UI built). - docs/04-open-questions.md gains a resolution banner: Q6 and Q8 remain open. Also records that the testbed check count varies between runs (23-26) because some blocks are conditional, so what matters is zero failures rather than the total. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
96ec79ed75
commit
6380998376
@@ -1,5 +1,28 @@
|
||||
# Implementation plan
|
||||
|
||||
> ## ⚠ Status: Phases 0–5 are COMPLETE.
|
||||
>
|
||||
> This document is the *original* plan, kept for its reasoning. Where the
|
||||
> implementation diverged, the reason is recorded in
|
||||
> [scratch.md](scratch.md) and [05-decisions.md](05-decisions.md).
|
||||
>
|
||||
> Notable divergences from what is written below:
|
||||
>
|
||||
> * **Phase 4 was pulled forward, partly into Phase 1's slot.** Menu narration
|
||||
> turned out to be a hard blocker — the screen name was spoken but not the
|
||||
> selected option, so a blind player could not start a new game at all.
|
||||
> * **`levelCursorPopup` is NOT patched** (contrary to Phase 2a below). It fires
|
||||
> from an animation-completion callback and lands a keypress late; the
|
||||
> `ingame_observe` descriptor polls the cursor position instead.
|
||||
> * **`tile.tryInteract` is not a sufficient tracker filter** (contrary to
|
||||
> Phase 3 below). `wall` carries a flavour-only `tryInteractFunction`.
|
||||
> See the D4 correction in `05-decisions.md`.
|
||||
> * **A code-driven testbed was added** (`accessibility/testbed.lua`), not in the
|
||||
> original plan. It found five real bugs that would otherwise have surfaced
|
||||
> only during play.
|
||||
> * **Phase 5's mod-settings screen was not built.** Settings exist as fields in
|
||||
> the relevant modules and are not yet exposed at runtime.
|
||||
|
||||
Phases are ordered so each one is independently playable-and-testable. Nothing later is required for something earlier to be useful.
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user