Extend add-building candidate bridge artifact

This commit is contained in:
Jan Petykiewicz 2026-04-19 02:48:05 -07:00
commit 7d9240c277
4 changed files with 105 additions and 54 deletions

View file

@ -4,7 +4,8 @@
"Add-building descriptor ids 503..613 ground candidate id as descriptor_id - 503 through direct disassembly of 0x00430270 world_try_place_random_structure_batch_from_compact_record.",
"Direct disassembly of 0x0041ede0 structure_candidate_collection_stream_load_records_seed_name_catalogs_and_refresh_filter_sidebands shows the imported candidate row names being copied into runtime name catalogs keyed by live candidate id.",
"The concrete candidate names below are checked against the stable RT3 1.05 candidate-availability table order exposed by runtime inspect-candidate-table on Alternate USA, Southern Pacific, and Spanish Mainline saves.",
"Availability bits vary by scenario, but the ordered candidate names for candidate ids 0..66 are stable across the checked saves."
"Availability bits vary by scenario, but the ordered candidate names for candidate ids 0..66 are stable across the checked saves.",
"The checked RT3 1.05 candidate-availability table count stays at 0x43 = 67 across the current non-hook corpus, so descriptor-side candidate ids 67..110 remain grounded only as descriptor_id - 503 bridges until a broader non-hook name catalog is recovered."
],
"bindings": [
{ "descriptor_id": 503, "candidate_id": 0, "candidate_name": "AluminumMill", "binding_index": 1, "binding_source": "rt3_105_candidate_table_and_0x41ede0" },
@ -73,6 +74,50 @@
{ "descriptor_id": 566, "candidate_id": 63, "candidate_name": "Warehouse08", "binding_index": 64, "binding_source": "rt3_105_candidate_table_and_0x41ede0" },
{ "descriptor_id": 567, "candidate_id": 64, "candidate_name": "Warehouse09", "binding_index": 65, "binding_source": "rt3_105_candidate_table_and_0x41ede0" },
{ "descriptor_id": 568, "candidate_id": 65, "candidate_name": "Warehouse10", "binding_index": 66, "binding_source": "rt3_105_candidate_table_and_0x41ede0" },
{ "descriptor_id": 569, "candidate_id": 66, "candidate_name": "Warehouse11", "binding_index": 67, "binding_source": "rt3_105_candidate_table_and_0x41ede0" }
{ "descriptor_id": 569, "candidate_id": 66, "candidate_name": "Warehouse11", "binding_index": 67, "binding_source": "rt3_105_candidate_table_and_0x41ede0" },
{ "descriptor_id": 570, "candidate_id": 67, "binding_index": 68, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 571, "candidate_id": 68, "binding_index": 69, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 572, "candidate_id": 69, "binding_index": 70, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 573, "candidate_id": 70, "binding_index": 71, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 574, "candidate_id": 71, "binding_index": 72, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 575, "candidate_id": 72, "binding_index": 73, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 576, "candidate_id": 73, "binding_index": 74, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 577, "candidate_id": 74, "binding_index": 75, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 578, "candidate_id": 75, "binding_index": 76, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 579, "candidate_id": 76, "binding_index": 77, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 580, "candidate_id": 77, "binding_index": 78, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 581, "candidate_id": 78, "binding_index": 79, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 582, "candidate_id": 79, "binding_index": 80, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 583, "candidate_id": 80, "binding_index": 81, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 584, "candidate_id": 81, "binding_index": 82, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 585, "candidate_id": 82, "binding_index": 83, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 586, "candidate_id": 83, "binding_index": 84, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 587, "candidate_id": 84, "binding_index": 85, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 588, "candidate_id": 85, "binding_index": 86, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 589, "candidate_id": 86, "binding_index": 87, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 590, "candidate_id": 87, "binding_index": 88, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 591, "candidate_id": 88, "binding_index": 89, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 592, "candidate_id": 89, "binding_index": 90, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 593, "candidate_id": 90, "binding_index": 91, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 594, "candidate_id": 91, "binding_index": 92, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 595, "candidate_id": 92, "binding_index": 93, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 596, "candidate_id": 93, "binding_index": 94, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 597, "candidate_id": 94, "binding_index": 95, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 598, "candidate_id": 95, "binding_index": 96, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 599, "candidate_id": 96, "binding_index": 97, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 600, "candidate_id": 97, "binding_index": 98, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 601, "candidate_id": 98, "binding_index": 99, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 602, "candidate_id": 99, "binding_index": 100, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 603, "candidate_id": 100, "binding_index": 101, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 604, "candidate_id": 101, "binding_index": 102, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 605, "candidate_id": 102, "binding_index": 103, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 606, "candidate_id": 103, "binding_index": 104, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 607, "candidate_id": 104, "binding_index": 105, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 608, "candidate_id": 105, "binding_index": 106, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 609, "candidate_id": 106, "binding_index": 107, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 610, "candidate_id": 107, "binding_index": 108, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 611, "candidate_id": 108, "binding_index": 109, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 612, "candidate_id": 109, "binding_index": 110, "binding_source": "0x430270_descriptor_bridge_only" },
{ "descriptor_id": 613, "candidate_id": 110, "binding_index": 111, "binding_source": "0x430270_descriptor_bridge_only" }
]
}

View file

@ -5135,7 +5135,7 @@
},
{
"descriptor_id": 570,
"label": "Add Building Slot 68",
"label": "Add Building Candidate Slot 68",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5144,7 +5144,7 @@
},
{
"descriptor_id": 571,
"label": "Add Building Slot 69",
"label": "Add Building Candidate Slot 69",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5153,7 +5153,7 @@
},
{
"descriptor_id": 572,
"label": "Add Building Slot 70",
"label": "Add Building Candidate Slot 70",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5162,7 +5162,7 @@
},
{
"descriptor_id": 573,
"label": "Add Building Slot 71",
"label": "Add Building Candidate Slot 71",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5171,7 +5171,7 @@
},
{
"descriptor_id": 574,
"label": "Add Building Slot 72",
"label": "Add Building Candidate Slot 72",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5180,7 +5180,7 @@
},
{
"descriptor_id": 575,
"label": "Add Building Slot 73",
"label": "Add Building Candidate Slot 73",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5189,7 +5189,7 @@
},
{
"descriptor_id": 576,
"label": "Add Building Slot 74",
"label": "Add Building Candidate Slot 74",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5198,7 +5198,7 @@
},
{
"descriptor_id": 577,
"label": "Add Building Slot 75",
"label": "Add Building Candidate Slot 75",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5207,7 +5207,7 @@
},
{
"descriptor_id": 578,
"label": "Add Building Slot 76",
"label": "Add Building Candidate Slot 76",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5216,7 +5216,7 @@
},
{
"descriptor_id": 579,
"label": "Add Building Slot 77",
"label": "Add Building Candidate Slot 77",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5225,7 +5225,7 @@
},
{
"descriptor_id": 580,
"label": "Add Building Slot 78",
"label": "Add Building Candidate Slot 78",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5234,7 +5234,7 @@
},
{
"descriptor_id": 581,
"label": "Add Building Slot 79",
"label": "Add Building Candidate Slot 79",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5243,7 +5243,7 @@
},
{
"descriptor_id": 582,
"label": "Add Building Slot 80",
"label": "Add Building Candidate Slot 80",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5252,7 +5252,7 @@
},
{
"descriptor_id": 583,
"label": "Add Building Slot 81",
"label": "Add Building Candidate Slot 81",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5261,7 +5261,7 @@
},
{
"descriptor_id": 584,
"label": "Add Building Slot 82",
"label": "Add Building Candidate Slot 82",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5270,7 +5270,7 @@
},
{
"descriptor_id": 585,
"label": "Add Building Slot 83",
"label": "Add Building Candidate Slot 83",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5279,7 +5279,7 @@
},
{
"descriptor_id": 586,
"label": "Add Building Slot 84",
"label": "Add Building Candidate Slot 84",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5288,7 +5288,7 @@
},
{
"descriptor_id": 587,
"label": "Add Building Slot 85",
"label": "Add Building Candidate Slot 85",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5297,7 +5297,7 @@
},
{
"descriptor_id": 588,
"label": "Add Building Slot 86",
"label": "Add Building Candidate Slot 86",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5306,7 +5306,7 @@
},
{
"descriptor_id": 589,
"label": "Add Building Slot 87",
"label": "Add Building Candidate Slot 87",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5315,7 +5315,7 @@
},
{
"descriptor_id": 590,
"label": "Add Building Slot 88",
"label": "Add Building Candidate Slot 88",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5324,7 +5324,7 @@
},
{
"descriptor_id": 591,
"label": "Add Building Slot 89",
"label": "Add Building Candidate Slot 89",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5333,7 +5333,7 @@
},
{
"descriptor_id": 592,
"label": "Add Building Slot 90",
"label": "Add Building Candidate Slot 90",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5342,7 +5342,7 @@
},
{
"descriptor_id": 593,
"label": "Add Building Slot 91",
"label": "Add Building Candidate Slot 91",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5351,7 +5351,7 @@
},
{
"descriptor_id": 594,
"label": "Add Building Slot 92",
"label": "Add Building Candidate Slot 92",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5360,7 +5360,7 @@
},
{
"descriptor_id": 595,
"label": "Add Building Slot 93",
"label": "Add Building Candidate Slot 93",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5369,7 +5369,7 @@
},
{
"descriptor_id": 596,
"label": "Add Building Slot 94",
"label": "Add Building Candidate Slot 94",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5378,7 +5378,7 @@
},
{
"descriptor_id": 597,
"label": "Add Building Slot 95",
"label": "Add Building Candidate Slot 95",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5387,7 +5387,7 @@
},
{
"descriptor_id": 598,
"label": "Add Building Slot 96",
"label": "Add Building Candidate Slot 96",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5396,7 +5396,7 @@
},
{
"descriptor_id": 599,
"label": "Add Building Slot 97",
"label": "Add Building Candidate Slot 97",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5405,7 +5405,7 @@
},
{
"descriptor_id": 600,
"label": "Add Building Slot 98",
"label": "Add Building Candidate Slot 98",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5414,7 +5414,7 @@
},
{
"descriptor_id": 601,
"label": "Add Building Slot 99",
"label": "Add Building Candidate Slot 99",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5423,7 +5423,7 @@
},
{
"descriptor_id": 602,
"label": "Add Building Slot 100",
"label": "Add Building Candidate Slot 100",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5432,7 +5432,7 @@
},
{
"descriptor_id": 603,
"label": "Add Building Slot 101",
"label": "Add Building Candidate Slot 101",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5441,7 +5441,7 @@
},
{
"descriptor_id": 604,
"label": "Add Building Slot 102",
"label": "Add Building Candidate Slot 102",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5450,7 +5450,7 @@
},
{
"descriptor_id": 605,
"label": "Add Building Slot 103",
"label": "Add Building Candidate Slot 103",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5459,7 +5459,7 @@
},
{
"descriptor_id": 606,
"label": "Add Building Slot 104",
"label": "Add Building Candidate Slot 104",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5468,7 +5468,7 @@
},
{
"descriptor_id": 607,
"label": "Add Building Slot 105",
"label": "Add Building Candidate Slot 105",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5477,7 +5477,7 @@
},
{
"descriptor_id": 608,
"label": "Add Building Slot 106",
"label": "Add Building Candidate Slot 106",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5486,7 +5486,7 @@
},
{
"descriptor_id": 609,
"label": "Add Building Slot 107",
"label": "Add Building Candidate Slot 107",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5495,7 +5495,7 @@
},
{
"descriptor_id": 610,
"label": "Add Building Slot 108",
"label": "Add Building Candidate Slot 108",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5504,7 +5504,7 @@
},
{
"descriptor_id": 611,
"label": "Add Building Slot 109",
"label": "Add Building Candidate Slot 109",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5513,7 +5513,7 @@
},
{
"descriptor_id": 612,
"label": "Add Building Slot 110",
"label": "Add Building Candidate Slot 110",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,
@ -5522,7 +5522,7 @@
},
{
"descriptor_id": 613,
"label": "Add Building Slot 111",
"label": "Add Building Candidate Slot 111",
"target_mask_bits": 8,
"parameter_family": "world_building_spawn",
"runtime_key": null,