Correct save train and region collection probes

This commit is contained in:
Jan Petykiewicz 2026-04-18 08:26:58 -07:00
commit 86511f9670
5 changed files with 251 additions and 113 deletions

View file

@ -191,11 +191,12 @@ The highest-value next passes are now:
electric-only periodic-company override rewrites the world route-preference byte to the
effective company preference, ending it restores the base world byte, and runtime service state
now carries both the active and last applied override
- save inspection now also exposes the tagged live region header `0x5209/0x520a/0x520b` plus its
live-entry directory rooted at metadata dword `16`, and the tagged placed-structure header
`0x36b1/0x36b2/0x36b3`, as first-class owner seams, so the remaining city-connection /
linked-transit blocker is record-body reconstruction rather than missing save-side collection
identity
- save inspection now also separates the shared `0x5209/0x520a/0x520b` save family correctly: the
smaller direct `0x1d5` collection is the live train family and now exposes a live-entry
directory rooted at metadata dword `16`, while the actual region collection is the larger
non-direct `Marker09` family; the tagged placed-structure header `0x36b1/0x36b2/0x36b3`
remains grounded alongside them, so the remaining city-connection / linked-transit blocker is
record-body reconstruction rather than missing save-side collection identity
- the project rule on the remaining closure work is now explicit too: when one runtime-facing field
is still ambiguous, prefer rehosting the owning source state or real reader/setter family first
instead of guessing another derived leaf field from neighboring raw offsets; the checked-in

View file

@ -9,11 +9,11 @@ Working rule:
## Next
- Reconstruct the save-side region record body on top of the newly grounded tagged region
header-plus-directory seam, especially the pending bonus lane `[region+0x276]`, completion latch
`[region+0x302]`, one-shot notice latch `[region+0x316]`, severity/source lane
`[region+0x25e]`, and any stable region-id or class discriminator that can drive shellless
city-connection service.
- Reconstruct the save-side region record body on top of the newly corrected non-direct tagged
region seam (`0x5209/0x520a/0x520b`, stride hint `0x06`, `Marker09` record stems), especially
the pending bonus lane `[region+0x276]`, completion latch `[region+0x302]`, one-shot notice
latch `[region+0x316]`, severity/source lane `[region+0x25e]`, and any stable region-id or
class discriminator that can drive shellless city-connection service.
- Reconstruct the save-side placed-structure collection body on top of the newly grounded
`0x36b1/0x36b2/0x36b3` header seam so the blocked city-connection / linked-transit branch can
stop depending on atlas-only placed-structure and local-runtime refresh notes.
@ -44,17 +44,18 @@ Working rule:
- Any candidate slice that requires guessing rather than rehosting owning state or real
reader/setter families stays blocked until a better owner seam is grounded.
- The city-connection announcement / linked-transit roster-maintenance branch is still blocked at
the record-body level, not the collection-identity level: the runtime now has a tagged region
header-plus-directory seam and a tagged placed-structure header seam, but it does not yet
reconstruct the live region or placed-structure record bodies those service owners need.
the record-body level, not the collection-identity level: the runtime now has a corrected
non-direct tagged region seam, a tagged train header-plus-directory seam, and a tagged
placed-structure header seam, but it does not yet reconstruct the live region or
placed-structure record bodies those service owners need.
## Recently Done
- Save inspection now exposes the tagged region collection header (`0x5209/0x520a/0x520b`,
stride `0x1d5`) plus the live-entry directory rooted at metadata dword `16`, and the tagged
placed-structure collection header (`0x36b1/0x36b2/0x36b3`) as first-class owner seams, so the
blocked city-connection / linked-transit queue now has grounded save-side collection counts,
ids, and region payload offsets to build on instead of only atlas notes.
- Save inspection now splits the shared `0x5209/0x520a/0x520b` family correctly: the smaller
direct `0x1d5` collection is the live train family and now exposes a live-entry directory rooted
at metadata dword `16`, while the actual region family is the larger non-direct `Marker09`
collection with live_id/count `0x96/0x91`; the tagged placed-structure header
(`0x36b1/0x36b2/0x36b3`) remains grounded alongside them.
- Stepped calendar progression now also refreshes save-world owner time fields, including packed
year, packed tuple words, absolute counter, and the derived selected-year gap scalar.
- Automatic year-rollover calendar stepping now invokes periodic-boundary service.

View file

@ -269,11 +269,12 @@ electric-only periodic-company override rewrites `[world+0x4c74]` to the effecti
preference for the active service pass, ending the override restores the base world byte, and
runtime service state now carries both the active and last applied override instead of leaving the
route-preference seam as a pure reader note.
Save inspection now also exposes the tagged live region header `0x5209/0x520a/0x520b` plus its
live-entry directory rooted at metadata dword `16`, and the tagged placed-structure header
`0x36b1/0x36b2/0x36b3`, as first-class owner seams, so the remaining city-connection /
linked-transit blocker is record-body reconstruction rather than missing save-side collection
identity.
Save inspection now also separates the shared `0x5209/0x520a/0x520b` save family correctly: the
smaller direct `0x1d5` collection is the live train family and now exposes a live-entry
directory rooted at metadata dword `16`, while the actual region collection is the larger
non-direct `Marker09` family. The tagged placed-structure header `0x36b1/0x36b2/0x36b3` remains
grounded alongside them, so the remaining city-connection / linked-transit blocker is record-body
reconstruction rather than missing save-side collection identity.
That same seam now also carries the fixed-world building-density growth setting plus the linked
chairman personality byte, which is enough to rehost the annual stock-repurchase gate on owned
save/runtime state instead of another threshold-only note. The stock-capital issue branch now