Ground locomotives-page descriptor semantics

This commit is contained in:
Jan Petykiewicz 2026-04-16 22:26:23 -07:00
commit 358d4cdec3
26 changed files with 1157 additions and 710 deletions

View file

@ -115,12 +115,12 @@ Implemented today:
`world_flags` through `world_flag_equals` without fixture-authored placeholder ids
- the tracked parity save-slice no longer preserves an opaque `unsupported_framing` record; its
remaining captured residue is now structurally decoded `real_packed_v1` parity state that lands
in existing explicit blocker buckets, with the first leftover now identified as the
locomotives-page `Unknown Loco Available` band instead of anonymous descriptor residue
in existing explicit blocker buckets, with the first leftover now pinned to the unresolved
upper locomotives-page availability tail instead of anonymous descriptor residue
- the next recovered locomotives-page descriptor band is now partially executable too:
descriptors `230..240`, `241..351`, `352..451`, `453`, and `457..500` now carry recovered
world-side scalar metadata, while descriptors `454..456` (`All Steam/Diesel/Electric Locos
Avail.`) now execute as keyed `world_flags`
descriptors `230..240`, `241..351`, `352..451`, `453`, `457..474`, and `475..502` now carry
recovered world-side scalar metadata, while descriptors `454..456`
(`All Steam/Diesel/Electric Locos Avail.`) now execute as keyed `world_flags`
- a first-class named locomotive availability runtime surface now exists too:
save-slice documents can carry the persisted `[world+0x66b6]` name table into
`RuntimeState.named_locomotive_availability`, and imported runtime effects can mutate that map
@ -130,9 +130,10 @@ Implemented today:
raw `.smp` inspection/export now reconstructs the save-side locomotive row family and derives the
catalog directly into save-slice documents, so standalone save-slice imports can execute those
rows whenever the save carries enough catalog entries
- the adjacent locomotive-cost bands `352..451` and `475..500` now import too through the same
save-native or embedded catalog into the event-owned `RuntimeState.named_locomotive_cost` map
when their scalar payloads are nonnegative
- the grounded lower locomotive-cost band `352..409` now imports too through the same save-native
or embedded catalog into the event-owned `RuntimeState.named_locomotive_cost` map when its
scalar payloads are nonnegative; the unresolved lower tail and upper cost tail now stay on
explicit parity instead of synthetic execution
- the remaining recovered scalar world families now execute as well: cargo-production `230..240`
rows lower into slot-indexed `cargo_production_overrides`, and territory-access-cost descriptor
`453` lowers into `world_restore.territory_access_cost`