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:
Accessibility Mod
2026-08-01 22:25:09 +02:00
co-authored by Claude Opus 5
parent 96ec79ed75
commit 6380998376
5 changed files with 284 additions and 15 deletions
+119
View File
@@ -0,0 +1,119 @@
# Accessibility mod — Sulphur Memories: Alchemist
Blind-accessibility mod adding screen-reader speech, an object tracker, tile
exploration and directional wall tones.
Speech goes through **Tolk**, so it uses your running screen reader (NVDA, JAWS,
System Access) and falls back to SAPI 5 if none is running.
## Running
```
"C:\Program Files\LOVE\love.exe" "D:\code\Sulphur Memories Alchemist 0.4.2 sanctified"
```
Use `lovec.exe` instead of `love.exe` to get a console window — every spoken line
is mirrored there, which is useful for reporting bugs.
The TTS libraries live in `accessibility/lib/` and are loaded by absolute path,
so nothing needs installing or copying into Program Files.
If speech does not work, check the console for the startup self-test:
```
[accessibility] TTS: available
[accessibility] speech channel: yes
```
`speech channel: NO` means Tolk loaded but found no screen reader and no SAPI.
---
## Keys added by the mod
All of these are **in addition to** the game's own controls, and none of them
replace a key the game uses.
### Reading the message log
| Key | Action |
|---|---|
| `[` | Previous message |
| `]` | Next message |
| `Shift+[` | Oldest message |
| `Shift+]` | Newest message (and resume following new messages) |
| `\` | Repeat the current message |
| `Shift+\` | Copy the current message to the clipboard |
New messages are spoken automatically. Pressing any key that does something in
the game cancels whatever is still queued, so you are never stuck listening to a
backlog. While you are moving through the history, new messages do **not** drag
the cursor away — press `Shift+]` to return to the newest.
### Looking around
| Key | Action |
|---|---|
| `/` | Scan all eight neighbouring tiles, clockwise from north |
| `;` | Where am I — area name, in-game date and time, coordinates |
| `Ctrl` + numpad `1`–`9` | Describe the tile in that direction without moving |
| `Ctrl` + numpad `5` | Describe the tile you are standing on |
The game's own examine mode (**`x`**) is also fully spoken: the arrow keys move a
cursor around the map and each tile is described with its distance and direction
from you. Press `f` in examine mode to jump between exits.
### Object tracker
Finds everything you have seen, sorted by distance.
| Key | Action |
|---|---|
| `Ctrl+PageUp` / `Ctrl+PageDown` | Previous / next **category** |
| `PageUp` / `PageDown` | Previous / next **kind** of thing in that category |
| `Shift+PageUp` / `Shift+PageDown` | Previous / next **instance** of that kind |
| `Home` | Distance, direction, and number of steps by path |
Categories: Creatures, Items, Alchemy, Interactables, Exits, Terrain features.
So `Ctrl+PageDown` to reach "Creatures", `PageDown` to move between rat / beetle
/ guard, and `Shift+PageDown` to step through the individual rats. `Home` gives
you the walking distance, which indoors is often very different from the
straight-line distance.
The tracker only ever reports things you have actually seen.
### Your character
| Key | Action |
|---|---|
| `'` | Health and active effects |
| `,` | Currently selected action |
You are also told automatically when you take damage or are healed.
### Wall tones
Each step you take, a tone sounds from the direction of any wall within five
tiles, positioned in 3D so you can hear where it is. Further walls are louder.
---
## Reporting problems
Run with `lovec.exe` and include the console output. Lines beginning `[speech]`
show exactly what was spoken and when:
- `[speech]!` — interrupted whatever was being said
- `[speech]*` — urgent alert, spoken immediately
- `[speech] ` — queued normally
If something is **silent that should not be**, that is the most useful thing to
report, together with the screen you were on and the key you pressed.
---
## For developers
See `accessibility/docs/` — start with `docs/README.md`, and read
`docs/scratch.md` first if you are picking the work up mid-stream.