Decode save-side region policy rows

This commit is contained in:
Jan Petykiewicz 2026-04-18 08:41:29 -07:00
commit 91651f3a9a
2 changed files with 105 additions and 12 deletions

View file

@ -11,11 +11,12 @@ Working rule:
- 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) and its now
grounded repeated `0x55f1/0x55f2/0x55f3` record-triplet envelope, especially the fixed `0x55f2`
policy row behind `[region+0x272/+0x25a/+0x25e]`, 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.
grounded repeated `0x55f1/0x55f2/0x55f3` record-triplet envelope, especially the large `0x55f3`
profile payload that should carry 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, now that the fixed `0x55f2` policy row already exposes its three leading f32 lanes,
reserved dwords, and trailing word structurally.
- 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.
@ -61,6 +62,10 @@ Working rule:
- That same corrected region seam now also exposes repeated `0x55f1/0x55f2/0x55f3` serialized
record triplets with len-prefixed names plus fixed policy/profile chunk lengths, so the next
city-connection pass can target the real record envelope instead of another blind scan.
- The fixed `0x55f2` row inside each region triplet is now decoded structurally as three leading
`f32` lanes, three reserved `u32` lanes, and a trailing `u16` word, so the next save-region
slice can focus on the larger `0x55f3` payload where the pending/completion/one-shot latches are
most likely to live.
- 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.