Refresh the roadmap status summaries and retract stale Beta claims #258

Merged
jqueuniet merged 1 commit from refs/pull/258/head into main 2026-07-17 09:15:57 +02:00
jqueuniet commented 2026-07-17 09:10:56 +02:00 (Migrated from codeberg.org)

Refreshes ROADMAP.md to reflect the current state of the project, and corrects the stale Beta-savegame claims in docs/formats/saves.md that the refreshed roadmap now delegates to.

Summaries

The status-overview cells had grown into paragraphs restating each phase's detail, which is what the rest of the page and the per-subject docs are for. Each cell is now a one-line verdict — what is done, what is not, where the detail lives.

Counts corrected against the tree: 17 per-format docs (was 8), 16 fixtures across all eight platform families (the table said "15 ports + 1 reserved slot" while a sentence below said 15 ports and the tree holds 16).

Two phase intros were stale and now contradict-by-a-wide-margin what shipped:

  • Phase 5 opened with "the subcommand surface is wired but only info actually does work" — every subcommand is real for the landed formats; what remains is repack --target raw-extract and the Phase 3-blocked convert / extract paths.
  • Phase 6 opened with "Currently absent" — only the crates.io release and per-crate examples/ remain.

Beta claims

Phase 4's Beta block re-derived the bitstream layout (mask offsets, popcounts, bit budget) that docs/formats/saves.md already tabulates, and still carried a live hedge from before the work landed ("Neither interpretation has been verified end-to-end against the engine"). It is now a done statement pointing at saves.md and save-record-stream.md, keeping only the two retracted theories worth not re-deriving.

docs/formats/saves.md still asserted, as current fact:

  • the record stream is pending and only slot 0 decodes, with the other 8 slots needing masks re-derived;
  • the tile-chain walk is bounded by a Beta [DUNGEON+4] map count of 44 (BETA_TILE_CHAIN_MAP_COUNT).

Both were retired by #256: the constant is gone from the crate, the walk covers all n_maps = 54 maps, and all 9 slots decode, land inside the final flush byte, and field-round-trip byte-for-byte. The capability table's Beta row (⚠️ round-trip, ⚠️ objects) and footnotes 6/7 are updated to match, and the retraction is recorded so the cap is not re-derived.

Verification

Documentation only — no code changes. Every count and claim in the diff was fact-checked against the code and tests (crate/doc/fixture counts; the Beta decode/round-trip/oracle claims against crates/dm2-saves/; the cited test names; the Phase 3/5/6 pending items; every § and item cross-reference resolves).

Refreshes `ROADMAP.md` to reflect the current state of the project, and corrects the stale Beta-savegame claims in `docs/formats/saves.md` that the refreshed roadmap now delegates to. ## Summaries The status-overview cells had grown into paragraphs restating each phase's detail, which is what the rest of the page and the per-subject docs are for. Each cell is now a one-line verdict — what is done, what is not, where the detail lives. Counts corrected against the tree: 17 per-format docs (was 8), 16 fixtures across all eight platform families (the table said "15 ports + 1 reserved slot" while a sentence below said 15 ports and the tree holds 16). Two phase intros were stale and now contradict-by-a-wide-margin what shipped: - Phase 5 opened with "the subcommand surface is wired but only `info` actually does work" — every subcommand is real for the landed formats; what remains is `repack --target raw-extract` and the Phase 3-blocked `convert` / `extract` paths. - Phase 6 opened with "Currently absent" — only the crates.io release and per-crate `examples/` remain. ## Beta claims Phase 4's Beta block re-derived the bitstream layout (mask offsets, popcounts, bit budget) that `docs/formats/saves.md` already tabulates, and still carried a live hedge from before the work landed ("Neither interpretation has been verified end-to-end against the engine"). It is now a done statement pointing at `saves.md` and `save-record-stream.md`, keeping only the two retracted theories worth not re-deriving. `docs/formats/saves.md` still asserted, as current fact: - the record stream is pending and only slot 0 decodes, with the other 8 slots needing masks re-derived; - the tile-chain walk is bounded by a Beta `[DUNGEON+4]` map count of 44 (`BETA_TILE_CHAIN_MAP_COUNT`). Both were retired by #256: the constant is gone from the crate, the walk covers all `n_maps` = 54 maps, and all 9 slots decode, land inside the final flush byte, and field-round-trip byte-for-byte. The capability table's Beta row (⚠️ round-trip, ⚠️ objects) and footnotes 6/7 are updated to match, and the retraction is recorded so the cap is not re-derived. ## Verification Documentation only — no code changes. Every count and claim in the diff was fact-checked against the code and tests (crate/doc/fixture counts; the Beta decode/round-trip/oracle claims against `crates/dm2-saves/`; the cited test names; the Phase 3/5/6 pending items; every `§` and item cross-reference resolves).
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
jqueuniet/dm2-tools!258
No description provided.