rrt/artifacts/exports/rt3-1.06/runtime-effect-kind8-tier2-setup-core-note.md

6.5 KiB

Runtime Effect Kind-8 Tier2 Setup Core Note

This note records the current setup-payload-core comparison across the six bundled add-building carrier maps:

  • Alternate USA.gmp
  • Chicago to New York.gmp
  • Louisiana.gmp
  • Pacific Coastal.gmp
  • Rhodes Unfinished.gmp
  • Texas Tea.gmp

The comparison uses the checked compare-setup-payload-core surface.

Immediate result

The upstream setup payload already differs across the carrier set.

Observed differing fields:

  • payload_word_0x14
  • payload_byte_0x20
  • payload_word_0x3b2
  • candidate_header_word_0_hex
  • candidate_header_word_1_hex

Carrier-set shape

Current payload_word_0x3b2 values:

  • Alternate USA.gmp = 1
  • Chicago to New York.gmp = 2
  • Louisiana.gmp = 2
  • Pacific Coastal.gmp = 1
  • Rhodes Unfinished.gmp = 1
  • Texas Tea.gmp = 3

That means Louisiana.gmp is not unique on payload_word_0x3b2.

Current candidate-header word pairs:

  • Alternate USA.gmp = 0x10000000 / 0x00009000
  • Chicago to New York.gmp = 0x00000000 / 0x00000000
  • Louisiana.gmp = 0xcdcdcdcd / 0xcdcdcdcd
  • Pacific Coastal.gmp = 0x00000000 / 0x00000000
  • Rhodes Unfinished.gmp = 0x00000000 / 0x00000000
  • Texas Tea.gmp = 0x00000000 / 0x00000000

So Louisiana.gmp is currently unique among the shipped carrier set on the candidate-header sentinel pair, while Alternate USA.gmp stays separately unique on the recognized rt3-105-map-container-v1 header pair.

Wider map-corpus check

A wider compare-setup-payload-core pass over all 41 bundled rt3_105/maps/*.gmp files changes the candidate-header read materially:

  • (0x00000000, 0x00000000) appears on 31 maps
  • (0xcdcdcdcd, 0xcdcdcdcd) appears on 9 maps
  • (0x10000000, 0x00009000) appears only on Alternate USA.gmp

Current 0xcdcdcdcd / 0xcdcdcdcd maps in that wider corpus:

  • Argentina Opens Up.gmp
  • Britain.gmp
  • Crossing the Alps.gmp
  • Greenland Growing.gmp
  • Japan Trembles.gmp
  • Louisiana.gmp
  • Pacific NW.gmp
  • South East Australia.gmp
  • Spanish Mainline.gmp

So the candidate-header sentinel pair is no longer a plausible Louisiana-specific upstream explanation by itself.

That wider read also matches the already checked atlas note in post-load-generation-paintterrain-and-save-load-restore.md: the candidate-availability table header scan had already narrowed the visible family to those same three stable (header_word_0, header_word_1) pairs, with the 0xcdcdcdcd class behaving like reused source-family framing rather than a direct availability payload or a unique scenario-side trigger.

One narrower outlier still survives that wider scan:

  • no other bundled rt3_105 map matches the full current Louisiana.gmp setup-core tuple payload_word_0x14 = 1870, payload_byte_0x20 = 0x3a, payload_word_0x3b2 = 2, candidate_header = 0xcdcdcdcd / 0xcdcdcdcd
  • even the nearest header-class peers still diverge:
    • Argentina Opens Up.gmp: same header pair, but payload_word_0x14 = 1880, payload_byte_0x20 = 0x57, payload_word_0x3b2 = 1
    • Crossing the Alps.gmp: same header pair, but payload_word_0x14 = 1875, payload_byte_0x20 = 0x8f, payload_word_0x3b2 = 1
    • Spanish Mainline.gmp: same header pair, but payload_word_0x14 = 1876, payload_byte_0x20 = 0xe3, payload_word_0x3b2 = 1

Known owner path for the compared fields

The named consumer path for the compared setup-core fields is now bounded too:

  • 0x00442400 shell_setup_load_selected_profile_bundle_into_payload_record materializes the larger setup payload record from the map-style chunk family
  • 0x00502220 shell_setup_window_publish_selected_profile_labels_and_preview_surface then copies the small compared field set through
  • 0x0047be50 shell_setup_profile_copy_payload_scroll_count_and_campaign_byte_and_seed_row_categories

That grounded copy path currently lands on staged runtime-profile fields, not on the Tier 2 candidate rebuild strip directly:

  • payload +0x14 -> [profile+0x77]
  • payload +0x3b2 -> [profile+0x79]
  • payload +0x3ba -> [profile+0x7b]
  • payload +0x20 -> [profile+0xc5]

That setup/profile bridge is not the end of the path, though. The later scenario reset or reactivation owners already import a subset of those staged values back into the live world before the coupled Tier 2 rebuild strip runs:

  • 0x00436d10 scenario_state_reset_defaults_seed_named_availability_collections_and_rebuild_runtime_bridges checks [profile+0xc5] and, when the setup-not-sandbox branch is active, copies [profile+0x77] into the selected-year world lanes before rerunning 0x00435603, 0x00435630, 0x0041e970, 0x00412bd0, 0x00434130, and 0x00436af0
  • 0x00443a50 world_entry_transition_and_runtime_bringup mirrors [profile+0xc5] into [world+0x66de], restores the selected-year lane from [profile+0x77], and then re-enters the same rebuild family in the load-side rehydrate band

So the bridge is now narrower and more concrete:

  • setup payload +0x14 -> [profile+0x77] -> selected-year restore -> Tier 2 rebuild family
  • setup payload +0x20 -> [profile+0xc5] -> campaign/setup gate -> world-entry/reset branch
  • setup payload +0x3b2/+0x3ba -> [profile+0x79/+0x7b] are still only grounded on the setup-side panel and scroll-threshold path, not yet on the later Tier 2 rebuild owners

That means the next upstream question is now smaller than before:

  • whether Louisiana.gmp's unique +0x14/+0x20 setup-core pair is enough to explain its coupled Tier 2 runtime shape through the already-grounded [profile+0x77/+0xc5] bridge
  • or whether the remaining differentiator still sits elsewhere, most likely in the sparse recipe/runtime side rather than the setup-panel-only +0x3b2/+0x3ba pair

Current implication

The upstream side of the Tier 2 strip is now bounded more tightly:

  • the current Louisiana.gmp recipe/runtime outlier status is not explained by payload_word_0x3b2 alone, because Chicago to New York.gmp also carries 2
  • and Louisiana.gmp no longer stands out on the candidate-header sentinel pair once the broader 41-map corpus is included
  • but Louisiana.gmp still keeps a unique combined setup-core tuple once the broader corpus is included

So the next Tier 2 upstream question is narrower:

  • whether Louisiana.gmp's remaining upstream setup-core outlier is a more specific combination of payload_word_0x14, payload_byte_0x20, and the sparse recipe/runtime profile, rather than the coarse candidate-header class itself, in the coupled 0x00435630 / 0x00412d70 / 0x00412fb0 / 0x00412c10 rebuild strip.