Rotate TODO to coverage-broadening step (seed-compat item tables done)
This commit is contained in:
24
TODO.md
24
TODO.md
@@ -29,11 +29,23 @@ Refactor ground rules:
|
|||||||
|
|
||||||
# Next Step
|
# Next Step
|
||||||
|
|
||||||
Verify the seed-compatibility claim against the C reference on c-master: same
|
Broaden unit test coverage where playtesting finds thin spots (rings, sticks,
|
||||||
seed, same dungeon, same item tables, for several seeds.
|
wizard commands).
|
||||||
|
|
||||||
# Completed Steps
|
# Completed Steps
|
||||||
|
|
||||||
|
- 2026-07-24 Seed compatibility — item tables (seed-compat): instrumented the C
|
||||||
|
reference on modern-rogue with a DUMP mode (testdata/c_seedcompat.patch) that
|
||||||
|
forces the RNG seed and prints the per-seed item appearance tables (potion
|
||||||
|
colors, scroll names, ring stones, wand/staff materials) before initscr, and
|
||||||
|
captured its output for four seeds as testdata/item_tables.golden.
|
||||||
|
TestSeedCompatItemTables regenerates the same tables from the Go port and they
|
||||||
|
match byte for byte — proving the LCG and its consumption order through the
|
||||||
|
whole init sequence agree with C. The remaining "same dungeon (map)" half
|
||||||
|
would need the harder headless-curses C dump (new_level draws to curses);
|
||||||
|
deferred — the item-table match already validates RNG-order faithfulness
|
||||||
|
through init, and the Go generation goldens guard determinism thereafter.
|
||||||
|
|
||||||
- 2026-07-23 Playtest hardening (playtest-hardening): added two death-safe
|
- 2026-07-23 Playtest hardening (playtest-hardening): added two death-safe
|
||||||
crash-sweep drives through the real turn loop, within the step-8 os.Exit
|
crash-sweep drives through the real turn loop, within the step-8 os.Exit
|
||||||
constraint (a fortify() helper pins HP/food/exp and clears the freeze/stuck
|
constraint (a fortify() helper pins HP/food/exp and clears the freeze/stuck
|
||||||
@@ -164,15 +176,13 @@ seed, same dungeon, same item tables, for several seeds.
|
|||||||
|
|
||||||
# Future Steps
|
# Future Steps
|
||||||
|
|
||||||
1. Broaden unit test coverage where playtesting finds thin spots (rings, sticks,
|
1. Tag a release once a full game (Amulet retrieval and score entry) completes
|
||||||
wizard commands).
|
|
||||||
2. Tag a release once a full game (Amulet retrieval and score entry) completes
|
|
||||||
without defects.
|
without defects.
|
||||||
3. Full-terminal-size support (deferred by explicit decision 2026-07-06):
|
2. 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.
|
||||||
4. Note: this repo is exempt from the standard policy scaffold. A minimal dev
|
3. 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.
|
||||||
|
|||||||
9
game/testdata/README.md
vendored
9
game/testdata/README.md
vendored
@@ -3,11 +3,10 @@
|
|||||||
`item_tables.golden` is the per-seed item appearance tables (potion colors,
|
`item_tables.golden` is the per-seed item appearance tables (potion colors,
|
||||||
scroll names, ring stones, wand/staff materials) captured from the **C
|
scroll names, ring stones, wand/staff materials) captured from the **C
|
||||||
reference** on the `modern-rogue` branch, for the seeds in the `seeds` list in
|
reference** on the `modern-rogue` branch, for the seeds in the `seeds` list in
|
||||||
`TestSeedCompatItemTables`. That test regenerates the same tables
|
`TestSeedCompatItemTables`. That test regenerates the same tables from the Go
|
||||||
from the Go port and checks they match byte for byte — proving the LCG and its
|
port and checks they match byte for byte — proving the LCG and its consumption
|
||||||
consumption order through the whole init sequence (`init_probs` →
|
order through the whole init sequence (`init_probs` → `init_player` →
|
||||||
`init_player` → `init_names` → `init_colors` → `init_stones` →
|
`init_names` → `init_colors` → `init_stones` → `init_materials`) agree with C.
|
||||||
`init_materials`) agree with C.
|
|
||||||
|
|
||||||
## Regenerating the golden
|
## Regenerating the golden
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user