Add named locomotive availability runtime surface

This commit is contained in:
Jan Petykiewicz 2026-04-16 10:23:29 -07:00
commit 8c7ff335cb
16 changed files with 542 additions and 13 deletions

View file

@ -51,11 +51,15 @@ 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. 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 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.
## Project Docs