Import locomotive availability descriptors with overlay context

This commit is contained in:
Jan Petykiewicz 2026-04-16 10:50:13 -07:00
commit 87108f357b
21 changed files with 1154 additions and 27 deletions

View file

@ -51,15 +51,18 @@ recovered locomotives-page `real_packed_v1` record that lands in the explicit
`blocked_unmapped_world_descriptor` bucket. The next recovered descriptor band is now partially
executable too: descriptors `454..456` (`All Steam/Diesel/Electric Locos Avail.`) now lower
through checked-in metadata into keyed `world_flags`, while the wider locomotive availability/cost
scalar bands remain recovered-but-parity-only until per-locomotive identity is grounded. The
runtime now carries the save-owned named locomotive availability table directly too: checked-in
save-slice documents can populate `RuntimeState.named_locomotive_availability`, and imported
runtime effects can mutate that map through the ordinary event-service path without needing full
Trainbuy or live-locomotive parity. Explicit unmapped world-condition and world-descriptor
frontier buckets still remain where current checked-in metadata stops. Shell purchase-flow and
selected-profile parity remain out of scope. Mixed supported/unsupported real rows still stay
parity-only. The PE32 hook remains useful as capture and integration tooling, but it is no longer
the main execution milestone.
scalar bands are now split more cleanly: the boolean `0/1` availability subset can import through
an overlay-backed `RuntimeState.locomotive_catalog` into
`RuntimeState.named_locomotive_availability`, while non-boolean availability payloads plus the
locomotive-cost/cargo-production/territory-access-cost families remain recovered-but-parity-only.
The runtime still carries the save-owned named locomotive availability table directly too:
checked-in save-slice documents can populate `RuntimeState.named_locomotive_availability`, and
imported runtime effects can mutate that map through the ordinary event-service path without
needing full Trainbuy or live-locomotive parity. Explicit unmapped world-condition and
world-descriptor frontier buckets still remain where current checked-in metadata stops. Shell
purchase-flow and selected-profile parity remain out of scope. Mixed supported/unsupported real
rows still stay parity-only. The PE32 hook remains useful as capture and integration tooling, but
it is no longer the main execution milestone.
## Project Docs