Execute recovered world scalar event descriptors

This commit is contained in:
Jan Petykiewicz 2026-04-16 11:39:59 -07:00
commit 13c7268b0d
23 changed files with 675 additions and 98 deletions

View file

@ -51,23 +51,25 @@ 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 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 still remain
parity-only. The runtime still carries the save-owned named locomotive availability table directly
too:
scalar bands are now split more cleanly: the recovered locomotive availability bands can import as
full scalar overrides through an overlay-backed `RuntimeState.locomotive_catalog` into
`RuntimeState.named_locomotive_availability`, while save-slice-only imports of those rows still
block explicitly when catalog context is missing. 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. A parallel event-owned named locomotive cost map
now exists too: recovered locomotive-cost descriptors from bands `352..451` and `475..500` can
import through the same overlay-backed locomotive catalog into
`RuntimeState.named_locomotive_cost`, while cargo-production and territory-access-cost rows remain
metadata-rich parity-only families until a later slice grounds an honest landing surface. Explicit
unmapped world-condition and world-descriptor frontier buckets still remain where current
checked-in metadata stops. Shell purchase-flow, Trainbuy refresh, cached locomotive-rating
recomputation, 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.
`RuntimeState.named_locomotive_cost`, and the remaining recovered scalar world families now execute
too: cargo-production slots `230..240` lower into `cargo_production_overrides`, and descriptor
`453` lowers into `world_restore.territory_access_cost`. Explicit unmapped world-condition and
world-descriptor frontier buckets still remain where current checked-in metadata stops, with the
main scalar residue now being missing-catalog locomotive rows rather than unknown world-side
families. Shell purchase-flow, Trainbuy refresh, cached locomotive-rating recomputation, 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