diff --git a/crates/rrt-runtime/src/inspect/smp/services/company/near_city_acquisition/mod.rs b/crates/rrt-runtime/src/inspect/smp/services/company/near_city_acquisition/mod.rs index 6294c24..2485e3d 100644 --- a/crates/rrt-runtime/src/inspect/smp/services/company/near_city_acquisition/mod.rs +++ b/crates/rrt-runtime/src/inspect/smp/services/company/near_city_acquisition/mod.rs @@ -62,6 +62,10 @@ pub(super) fn build_near_city_acquisition_trace_inputs( .near_city_acquisition_nontransport_dispatch_records_with_trigger_kind, near_city_acquisition_nontransport_add_building_record_count: projection .near_city_acquisition_nontransport_add_building_record_count, + near_city_acquisition_nontransport_late_bringup_candidate_branches: projection + .near_city_acquisition_nontransport_late_bringup_candidate_branches, + near_city_acquisition_nontransport_explicit_trigger_kind_retags: projection + .near_city_acquisition_nontransport_explicit_trigger_kind_retags, near_city_acquisition_nontransport_add_building_descriptor_map_paths: projection .near_city_acquisition_nontransport_add_building_descriptor_map_paths, near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths: diff --git a/crates/rrt-runtime/src/inspect/smp/services/company/near_city_acquisition/model.rs b/crates/rrt-runtime/src/inspect/smp/services/company/near_city_acquisition/model.rs index 11bcc29..1b4a070 100644 --- a/crates/rrt-runtime/src/inspect/smp/services/company/near_city_acquisition/model.rs +++ b/crates/rrt-runtime/src/inspect/smp/services/company/near_city_acquisition/model.rs @@ -25,6 +25,10 @@ pub(in crate::inspect::smp) struct NearCityAcquisitionTraceInputs { pub(in crate::inspect::smp) near_city_acquisition_nontransport_dispatch_records_with_trigger_kind: usize, pub(in crate::inspect::smp) near_city_acquisition_nontransport_add_building_record_count: usize, + pub(in crate::inspect::smp) near_city_acquisition_nontransport_late_bringup_candidate_branches: + Vec, + pub(in crate::inspect::smp) near_city_acquisition_nontransport_explicit_trigger_kind_retags: + Vec, pub(in crate::inspect::smp) near_city_acquisition_nontransport_add_building_descriptor_map_paths: BTreeMap>, pub(in crate::inspect::smp) near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths: diff --git a/crates/rrt-runtime/src/inspect/smp/services/company/near_city_acquisition/projection_status.rs b/crates/rrt-runtime/src/inspect/smp/services/company/near_city_acquisition/projection_status.rs index a8cade3..501640f 100644 --- a/crates/rrt-runtime/src/inspect/smp/services/company/near_city_acquisition/projection_status.rs +++ b/crates/rrt-runtime/src/inspect/smp/services/company/near_city_acquisition/projection_status.rs @@ -16,6 +16,8 @@ pub(super) struct NearCityProjectionStatusFields { pub(super) near_city_acquisition_nontransport_dispatch_record_count: usize, pub(super) near_city_acquisition_nontransport_dispatch_records_with_trigger_kind: usize, pub(super) near_city_acquisition_nontransport_add_building_record_count: usize, + pub(super) near_city_acquisition_nontransport_late_bringup_candidate_branches: Vec, + pub(super) near_city_acquisition_nontransport_explicit_trigger_kind_retags: Vec, pub(super) near_city_acquisition_nontransport_add_building_descriptor_map_paths: BTreeMap>, pub(super) near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths: @@ -109,6 +111,20 @@ pub(super) fn build_near_city_projection_status_fields() -> NearCityProjectionSt near_city_acquisition_nontransport_dispatch_record_count: 318, near_city_acquisition_nontransport_dispatch_records_with_trigger_kind: 0, near_city_acquisition_nontransport_add_building_record_count: 10, + near_city_acquisition_nontransport_late_bringup_candidate_branches: vec![ + "0x00442c30 shell_apply_scenario_name_specific_post_load_world_and_object_fixups".to_string(), + "0x004354a0 world_publish_shell_controller_progress_scalar_from_year_thresholds_or_selector_overrides".to_string(), + "0x00435603 scenario_state_ensure_derived_year_threshold_band".to_string(), + "0x00412c10 structure_candidate_collection_refresh_named_availability_latch_0x7ac_and_tail_into_cargo_economy_filter_refresh".to_string(), + "0x00412bd0 structure_candidate_collection_rebuild_cargo_membership_tables_counts_and_scaled_rate_bands_for_all_live_records".to_string(), + "0x00434130 scenario_state_refresh_year_gap_scalar_from_current_year_minus_1850_into_0x4ca2".to_string(), + "0x00436af0 scenario_state_refresh_cached_available_locomotive_rating_from_year_baseline_and_live_availability_gates".to_string(), + "0x00437737 world_preseed_named_candidate_availability_records_from_live_pool".to_string(), + ], + near_city_acquisition_nontransport_explicit_trigger_kind_retags: vec![ + "0x00443526 SP - GOLD rewrites [event+0x7ef] 1 -> 5 for live runtime-event id 1 under [world+0x66de]".to_string(), + "0x00443601 Labor rewrites [event+0x7ef] 0 -> 2 for live runtime-event id 0x0d under [world+0x66de]".to_string(), + ], near_city_acquisition_nontransport_add_building_descriptor_map_paths: BTreeMap::from([ ( "506 Add Building Barracks".to_string(), diff --git a/crates/rrt-runtime/src/inspect/smp/services/company/status/near_city_fields.rs b/crates/rrt-runtime/src/inspect/smp/services/company/status/near_city_fields.rs index dfd8ef9..5fc0cb7 100644 --- a/crates/rrt-runtime/src/inspect/smp/services/company/status/near_city_fields.rs +++ b/crates/rrt-runtime/src/inspect/smp/services/company/status/near_city_fields.rs @@ -22,6 +22,8 @@ pub(super) struct NearCityReportFields { pub(super) near_city_acquisition_nontransport_dispatch_record_count: usize, pub(super) near_city_acquisition_nontransport_dispatch_records_with_trigger_kind: usize, pub(super) near_city_acquisition_nontransport_add_building_record_count: usize, + pub(super) near_city_acquisition_nontransport_late_bringup_candidate_branches: Vec, + pub(super) near_city_acquisition_nontransport_explicit_trigger_kind_retags: Vec, pub(super) near_city_acquisition_nontransport_add_building_descriptor_map_paths: BTreeMap>, pub(super) near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths: @@ -92,6 +94,12 @@ pub(super) fn build_near_city_report_fields( .near_city_acquisition_nontransport_dispatch_records_with_trigger_kind, near_city_acquisition_nontransport_add_building_record_count: inputs .near_city_acquisition_nontransport_add_building_record_count, + near_city_acquisition_nontransport_late_bringup_candidate_branches: inputs + .near_city_acquisition_nontransport_late_bringup_candidate_branches + .clone(), + near_city_acquisition_nontransport_explicit_trigger_kind_retags: inputs + .near_city_acquisition_nontransport_explicit_trigger_kind_retags + .clone(), near_city_acquisition_nontransport_add_building_descriptor_map_paths: inputs .near_city_acquisition_nontransport_add_building_descriptor_map_paths .clone(), diff --git a/crates/rrt-runtime/src/inspect/smp/services/company/status/report.rs b/crates/rrt-runtime/src/inspect/smp/services/company/status/report.rs index d9ee23f..d14a5d2 100644 --- a/crates/rrt-runtime/src/inspect/smp/services/company/status/report.rs +++ b/crates/rrt-runtime/src/inspect/smp/services/company/status/report.rs @@ -122,6 +122,10 @@ pub(in crate::inspect::smp) fn build_periodic_company_service_trace_report( .near_city_acquisition_nontransport_dispatch_records_with_trigger_kind, near_city_acquisition_nontransport_add_building_record_count: near_city_fields .near_city_acquisition_nontransport_add_building_record_count, + near_city_acquisition_nontransport_late_bringup_candidate_branches: near_city_fields + .near_city_acquisition_nontransport_late_bringup_candidate_branches, + near_city_acquisition_nontransport_explicit_trigger_kind_retags: near_city_fields + .near_city_acquisition_nontransport_explicit_trigger_kind_retags, near_city_acquisition_nontransport_add_building_descriptor_map_paths: near_city_fields .near_city_acquisition_nontransport_add_building_descriptor_map_paths, near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths: diff --git a/crates/rrt-runtime/src/inspect/smp/services/model/company.rs b/crates/rrt-runtime/src/inspect/smp/services/model/company.rs index 14b996d..563ea36 100644 --- a/crates/rrt-runtime/src/inspect/smp/services/model/company.rs +++ b/crates/rrt-runtime/src/inspect/smp/services/model/company.rs @@ -180,6 +180,10 @@ pub struct SmpPeriodicCompanyServiceTraceReport { #[serde(default)] pub near_city_acquisition_nontransport_add_building_record_count: usize, #[serde(default)] + pub near_city_acquisition_nontransport_late_bringup_candidate_branches: Vec, + #[serde(default)] + pub near_city_acquisition_nontransport_explicit_trigger_kind_retags: Vec, + #[serde(default)] pub near_city_acquisition_nontransport_add_building_descriptor_map_paths: BTreeMap>, #[serde(default)] diff --git a/crates/rrt-runtime/src/inspect/smp/tests/services/periodic_company.rs b/crates/rrt-runtime/src/inspect/smp/tests/services/periodic_company.rs index c532aed..e31c20b 100644 --- a/crates/rrt-runtime/src/inspect/smp/tests/services/periodic_company.rs +++ b/crates/rrt-runtime/src/inspect/smp/tests/services/periodic_company.rs @@ -324,6 +324,42 @@ fn builds_periodic_company_service_trace_report_with_candidate_consumers() { trace.near_city_acquisition_nontransport_add_building_record_count, 10 ); + assert_eq!( + trace + .near_city_acquisition_nontransport_late_bringup_candidate_branches + .len(), + 8 + ); + assert!( + trace + .near_city_acquisition_nontransport_late_bringup_candidate_branches + .iter() + .any(|line| line.contains("0x00442c30")) + ); + assert!( + trace + .near_city_acquisition_nontransport_late_bringup_candidate_branches + .iter() + .any(|line| line.contains("0x00437737")) + ); + assert_eq!( + trace + .near_city_acquisition_nontransport_explicit_trigger_kind_retags + .len(), + 2 + ); + assert!( + trace + .near_city_acquisition_nontransport_explicit_trigger_kind_retags + .iter() + .any(|line| line.contains("0x00443526") && line.contains("1 -> 5")) + ); + assert!( + trace + .near_city_acquisition_nontransport_explicit_trigger_kind_retags + .iter() + .any(|line| line.contains("0x00443601") && line.contains("0 -> 2")) + ); assert_eq!( trace .near_city_acquisition_nontransport_add_building_descriptor_map_paths