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

@ -82,12 +82,16 @@ Implemented today:
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`
- 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
through the ordinary event-service path without requiring Trainbuy or live locomotive-pool parity
That means the next implementation work is breadth, not bootstrap. The recommended next slice is
broader real grouped-descriptor and ordinary condition-id coverage beyond the current access,
whole-game toggle, train, player, and numeric-threshold batches. Richer runtime ownership should
still be added only where a later descriptor or condition family needs more than the current
event-owned roster.
whole-game toggle, train, player, numeric-threshold, and named locomotive availability batches.
Richer runtime ownership should still be added only where a later descriptor or condition family
needs more than the current event-owned roster.
## Why This Boundary