Make locomotive context save-native

This commit is contained in:
Jan Petykiewicz 2026-04-16 12:18:13 -07:00
commit b060c42fa2
18 changed files with 1240 additions and 83 deletions

View file

@ -128,13 +128,13 @@ The highest-value next passes are now:
metadata into keyed `world_flags`, while the wider locomotive availability/cost scalar bands now
split cleanly between executable scalar availability/cost rows and the remaining world-side
scalar families
- the runtime now also carries both the save-owned named locomotive availability table and an
overlay-backed locomotive catalog context: checked-in save-slice documents can populate
`RuntimeState.named_locomotive_availability`, and recovered scalar availability descriptors can
lower through `RuntimeState.locomotive_catalog` into the same ordinary event-service path
- that same overlay-backed locomotive catalog now unlocks the recovered locomotive-cost bands too:
nonnegative scalar rows from descriptors `352..451` and `475..500` can lower into the new
event-owned `RuntimeState.named_locomotive_cost` map through the ordinary runtime path
- raw `.smp` inspection/export now reconstructs the persisted save-side named locomotive table and
derives a minimal locomotive catalog from its row order, so save-slice documents can carry both
`RuntimeState.named_locomotive_availability` and the catalog context needed for descriptor
lowering
- recovered scalar locomotive availability and locomotive-cost descriptors now import through that
save-native or embedded `RuntimeState.locomotive_catalog` context into the ordinary
`named_locomotive_availability` and `named_locomotive_cost` runtime maps
- cargo-production `230..240` and territory-access-cost `453` now execute too through minimal
world-side scalar landing surfaces: slot-indexed `cargo_production_overrides` and
`world_restore.territory_access_cost`