Rotate TODO to playtest step (docs refresh done)
This commit is contained in:
34
TODO.md
34
TODO.md
@@ -29,11 +29,24 @@ Refactor ground rules:
|
|||||||
|
|
||||||
# Next Step
|
# Next Step
|
||||||
|
|
||||||
Docs refresh: update ARCHITECTURE.md Part 2 and README.md for the post-refactor
|
Playtest hardening pass: play several full games with the tcell binary and
|
||||||
names; add the C name → Go name rename table.
|
extend run_test.go to drive a deeper multi-level playthrough (descend past level
|
||||||
|
5, use potions, scrolls, zapping, save/restore). Note: game-over now exits the
|
||||||
|
process (step 8), so scripted drives must stay bounded and avoid
|
||||||
|
death/quit/save-command; exercise the exit paths (death display, 'S' save)
|
||||||
|
another way if needed. Fix any panics, message mismatches, or divergences from
|
||||||
|
the C behavior that this uncovers, with regression tests.
|
||||||
|
|
||||||
# Completed Steps
|
# Completed Steps
|
||||||
|
|
||||||
|
- 2026-07-23 Docs refresh (docs-refresh): rewrote ARCHITECTURE.md Part 2 (the
|
||||||
|
pre-implementation design sketch) to match the final code — current type/field
|
||||||
|
names (ObjectKind, DiceSpec, split o_arm, step-1 flag names, TrapCount, Level
|
||||||
|
list methods), the static tables now on the per-game gameData struct, the
|
||||||
|
daemon/effect handler tables, the MessageLine extraction, the Terminal
|
||||||
|
interface, the flat gob SaveState, and the New(Params) + os.Exit design. Added
|
||||||
|
§7.1, a C-name → Go-name rename table, and a README note on the make targets.
|
||||||
|
|
||||||
- 2026-07-23 Refactor step 8 (refactor/constructor-style): constructor and exit
|
- 2026-07-23 Refactor step 8 (refactor/constructor-style): constructor and exit
|
||||||
pass. NewGame(Config) → New(Params) and Restore takes Params, so the package's
|
pass. NewGame(Config) → New(Params) and Restore takes Params, so the package's
|
||||||
primary type gets the canonical New() constructor with a named-field Params
|
primary type gets the canonical New() constructor with a named-field Params
|
||||||
@@ -144,24 +157,17 @@ names; add the C name → Go name rename table.
|
|||||||
|
|
||||||
# Future Steps
|
# Future Steps
|
||||||
|
|
||||||
1. Playtest hardening pass: play several full games with the tcell binary and
|
1. Verify the seed-compatibility claim against the C reference on c-master: same
|
||||||
extend run_test.go to drive a deeper multi-level playthrough (descend past
|
|
||||||
level 5, use potions, scrolls, zapping, save/restore). Note: game-over now
|
|
||||||
exits the process (step 8), so scripted drives must stay bounded and avoid
|
|
||||||
death/quit/save-command; exercise the exit paths (death display, 'S' save)
|
|
||||||
another way if needed. Fix any panics, message mismatches, or divergences
|
|
||||||
from the C behavior that this uncovers, with regression tests.
|
|
||||||
2. Verify the seed-compatibility claim against the C reference on c-master: same
|
|
||||||
seed, same dungeon, same item tables, for several seeds.
|
seed, same dungeon, same item tables, for several seeds.
|
||||||
3. Broaden unit test coverage where playtesting finds thin spots (rings, sticks,
|
2. Broaden unit test coverage where playtesting finds thin spots (rings, sticks,
|
||||||
wizard commands).
|
wizard commands).
|
||||||
4. Tag a release once a full game (Amulet retrieval and score entry) completes
|
3. Tag a release once a full game (Amulet retrieval and score entry) completes
|
||||||
without defects.
|
without defects.
|
||||||
5. Full-terminal-size support (deferred by explicit decision 2026-07-06):
|
4. Full-terminal-size support (deferred by explicit decision 2026-07-06):
|
||||||
per-game dungeon dimensions instead of the 80x24 constants; open design
|
per-game dungeon dimensions instead of the 80x24 constants; open design
|
||||||
questions are resize policy, gameplay tuning at larger sizes, and a --classic
|
questions are resize policy, gameplay tuning at larger sizes, and a --classic
|
||||||
80x24 mode.
|
80x24 mode.
|
||||||
6. Note: this repo is exempt from the standard policy scaffold. A minimal dev
|
5. Note: this repo is exempt from the standard policy scaffold. A minimal dev
|
||||||
Makefile (fmt/fmt-check/lint/test/check targets) exists per sneak's
|
Makefile (fmt/fmt-check/lint/test/check targets) exists per sneak's
|
||||||
2026-07-07 request, but do not add a Dockerfile, CI config, or
|
2026-07-07 request, but do not add a Dockerfile, CI config, or
|
||||||
REPO_POLICIES.md.
|
REPO_POLICIES.md.
|
||||||
|
|||||||
Reference in New Issue
Block a user