diff --git a/campaign/DASHBOARD.md b/campaign/DASHBOARD.md index b270edf..e8b2c60 100644 --- a/campaign/DASHBOARD.md +++ b/campaign/DASHBOARD.md @@ -1,18 +1,18 @@ # SotS RE campaign — coverage dashboard -Generated 2026-09-07 21:56 UTC · `sots-re` @ c61a35f,2026-09-07 · `sots-engine` @ 750ad59,2026-09-07 (26 commits) · regenerate with `tools/dashboard.py` +Generated 2026-09-07 21:57 UTC · `sots-re` @ 436a51f,2026-09-07 · `sots-engine` @ 750ad59,2026-09-07 (26 commits) · regenerate with `tools/dashboard.py` > **North star:** A functional reimplementation of the engine — behavior-equivalent, NOT byte-for-byte ## 1. Map coverage (campaign/board.md) -45 targets · mapped-or-better **34/45** `[████████░░] 76%` · verified **18/45** `[████░░░░░░] 40%` +45 targets · mapped-or-better **35/45** `[████████░░] 78%` · verified **19/45** `[████░░░░░░] 42%` | Status | Count | % | |---|---:|---:| -| verified | 18 | 40% | +| verified | 19 | 42% | | mapped | 16 | 36% | -| in-progress | 4 | 9% | +| in-progress | 3 | 7% | | backlog | 6 | 13% | | blocked | 1 | 2% | @@ -22,7 +22,7 @@ Generated 2026-09-07 21:56 UTC · `sots-re` @ c61a35f,2026-09-07 · `sots-engine | control-flow | 0 | 2 | 0 | 0 | 0 | 2 | | subsystems | 1 | 5 | 1 | 3 | 1 | 11 | | engine | 6 | 1 | 1 | 0 | 0 | 8 | -| verify | 3 | 2 | 1 | 0 | 0 | 6 | +| verify | 4 | 2 | 0 | 0 | 0 | 6 | | phase2 | 1 | 0 | 1 | 3 | 0 | 5 | | meta | 2 | 4 | 0 | 0 | 0 | 6 | @@ -78,7 +78,7 @@ Board `engine:` rows: verified **6**, mapped 1, in flight 1 (of 8) — verified ## 7. Open questions -Open **23** · resolved/parked 7 · backlog items: Now 4, Next 3, Later 2, Breadth queue 7, Parked 1 +Open **23** · resolved/parked 8 · backlog items: Now 4, Next 3, Later 2, Breadth queue 7, Parked 1 Most recent open: @@ -90,10 +90,10 @@ Most recent open: ## 8. Delta since previous dashboard -- verified targets: 17 → 18 (+1) · mapped-or-better: 33 → 34 (+1) -- engine LOC: 11,480 → 13,535 (+2,055) · test files: 52 → 64 (+12) · checks: 1,332 → 1,794 (+462) +- verified targets: 18 → 19 (+1) · mapped-or-better: 34 → 35 (+1) +- engine LOC: 13,535 → 13,535 (+0) · test files: 64 → 64 (+0) · checks: 1,794 → 1,794 (+0) - addresses verified: 90 → 90 (+0) · recovered layouts: 21 → 21 (+0) · open questions: 23 → 23 (+0) --- warnings: mars-rng.md: no oracle total row parsed; mars-stream.md: no oracle total row parsed; mars-vfs.md: no oracle total row parsed - + diff --git a/findings/objects/save-editor-structs.md b/findings/objects/save-editor-structs.md index 40abf50..2e5a3ab 100644 --- a/findings/objects/save-editor-structs.md +++ b/findings/objects/save-editor-structs.md @@ -6,6 +6,8 @@ order + type matter**, and most values are preceded by their own name string. Target game version: **SOTS1 v1.8+** (both editors target the 1.8.x line; repo2 says "1.80 +19"). +> **Tag-name note (2026-09-07):** this document preserves the community editors' (R1) field spellings. The real on-disk tags, byte-confirmed on our saves, differ in a few places: `otnF` (not `ontF`) in Odes/Owep/Otch, `nextid` (not `nextId`) in NdGr2, Design = `FAIDes/DHide/DWep/DName`, and `ords`/`wpts`/`paths` are real tags. See `verify/save-reader/SAVE_FORMAT.md` §10. + ## Sources - **[R1] BardezAnAvatar/Sots.Sots1.SavedGameEditor** — C#. A *complete, ordered, typed* Streamable parser. Migrated from SourceForge `sots-sge`. This is the authoritative layout diff --git a/verify/design-rules/SHIP_DESIGN_RULES.md b/verify/design-rules/SHIP_DESIGN_RULES.md index 468ef17..9e0fdbb 100644 --- a/verify/design-rules/SHIP_DESIGN_RULES.md +++ b/verify/design-rules/SHIP_DESIGN_RULES.md @@ -1,5 +1,8 @@ # SOTS1 ship-design rules (data-derived) +> **Tag-name note (2026-09-07):** where this document quotes save fields by R1's spellings (`faiDes`, `dHide`, `dWep`, `dName`), the on-disk tags are `FAIDes`, `DHide`, `DWep`, `DName` (byte-confirmed); the Python reader keeps the R1 keys as typed-dict keys for compatibility. See `verify/save-reader/SAVE_FORMAT.md` §10. + + What constrains a valid `ShipDesignDef`, derived from the shipped data (`Species//sections/*.shipsection` 875, `Weapons/*.weapon` 207, `Weapons/_turrets.txt` 42 rows, `Weapons/_defaultweapons.txt` 31 rows,