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 8b8772d..6294c24 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 @@ -52,6 +52,21 @@ pub(super) fn build_near_city_acquisition_trace_inputs( .near_city_acquisition_nontransport_persisted_source_status, near_city_acquisition_nontransport_persisted_source_candidates: projection .near_city_acquisition_nontransport_persisted_source_candidates, + near_city_acquisition_nontransport_dispatch_maps_scanned: projection + .near_city_acquisition_nontransport_dispatch_maps_scanned, + near_city_acquisition_nontransport_dispatch_maps_with_dispatch_strip_rows: projection + .near_city_acquisition_nontransport_dispatch_maps_with_dispatch_strip_rows, + near_city_acquisition_nontransport_dispatch_record_count: projection + .near_city_acquisition_nontransport_dispatch_record_count, + near_city_acquisition_nontransport_dispatch_records_with_trigger_kind: projection + .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_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: + projection + .near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths, near_city_acquisition_tri_lane_save_shape_family_status: tri_lane .near_city_acquisition_tri_lane_save_shape_family_status, near_city_acquisition_tri_lane_save_shape_family_candidates: tri_lane 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 c6d1d60..11bcc29 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 @@ -1,3 +1,5 @@ +use std::collections::BTreeMap; + use crate::inspect::smp::services::*; pub(in crate::inspect::smp) struct NearCityAcquisitionTraceInputs { @@ -16,6 +18,17 @@ pub(in crate::inspect::smp) struct NearCityAcquisitionTraceInputs { pub(in crate::inspect::smp) near_city_acquisition_nontransport_persisted_source_status: String, pub(in crate::inspect::smp) near_city_acquisition_nontransport_persisted_source_candidates: Vec, + pub(in crate::inspect::smp) near_city_acquisition_nontransport_dispatch_maps_scanned: usize, + pub(in crate::inspect::smp) near_city_acquisition_nontransport_dispatch_maps_with_dispatch_strip_rows: + usize, + pub(in crate::inspect::smp) near_city_acquisition_nontransport_dispatch_record_count: usize, + 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_add_building_descriptor_map_paths: + BTreeMap>, + pub(in crate::inspect::smp) near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths: + BTreeMap>, pub(in crate::inspect::smp) near_city_acquisition_tri_lane_save_shape_family_status: String, pub(in crate::inspect::smp) near_city_acquisition_tri_lane_save_shape_family_candidates: Vec, 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 80c7fcd..a8cade3 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 @@ -1,3 +1,5 @@ +use std::collections::BTreeMap; + pub(super) struct NearCityProjectionStatusFields { pub(super) near_city_acquisition_shellless_readiness_status: String, pub(super) near_city_acquisition_runtime_backed_input_families: Vec, @@ -9,6 +11,15 @@ pub(super) struct NearCityProjectionStatusFields { pub(super) near_city_acquisition_backing_record_projection_status: String, pub(super) near_city_acquisition_nontransport_persisted_source_status: String, pub(super) near_city_acquisition_nontransport_persisted_source_candidates: Vec, + pub(super) near_city_acquisition_nontransport_dispatch_maps_scanned: usize, + pub(super) near_city_acquisition_nontransport_dispatch_maps_with_dispatch_strip_rows: usize, + 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_add_building_descriptor_map_paths: + BTreeMap>, + pub(super) near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths: + BTreeMap>, } pub(super) fn build_near_city_projection_status_fields() -> NearCityProjectionStatusFields { @@ -93,5 +104,87 @@ pub(super) fn build_near_city_projection_status_fields() -> NearCityProjectionSt "trigger-kind control lane [event+0x7ef] is editor-visible across 0x00..0x0a including kind 8".to_string(), "remaining gap is which serialized/live rows feed trigger kind 8 into that lane and which loaded ordinary rows actually reach placed-structure mutation opcodes".to_string(), ], + near_city_acquisition_nontransport_dispatch_maps_scanned: 41, + near_city_acquisition_nontransport_dispatch_maps_with_dispatch_strip_rows: 38, + 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_add_building_descriptor_map_paths: BTreeMap::from([ + ( + "506 Add Building Barracks".to_string(), + vec!["rt3_wineprefix/drive_c/rt3_105/maps/Pacific Coastal.gmp".to_string()], + ), + ( + "507 Add Building Bauxite Mine".to_string(), + vec!["rt3_wineprefix/drive_c/rt3_105/maps/Chicago to New York.gmp".to_string()], + ), + ( + "521 Add Building FarmGrain".to_string(), + vec!["rt3_wineprefix/drive_c/rt3_105/maps/Alternate USA.gmp".to_string()], + ), + ( + "526 Add Building Furniture Factory".to_string(), + vec!["rt3_wineprefix/drive_c/rt3_105/maps/Rhodes Unfinished.gmp".to_string()], + ), + ( + "528 Add Building Logging Camp".to_string(), + vec!["rt3_wineprefix/drive_c/rt3_105/maps/Alternate USA.gmp".to_string()], + ), + ( + "548 Add Building Port01".to_string(), + vec!["rt3_wineprefix/drive_c/rt3_105/maps/Texas Tea.gmp".to_string()], + ), + ( + "563 Add Building Warehouse05".to_string(), + vec!["rt3_wineprefix/drive_c/rt3_105/maps/Louisiana.gmp".to_string()], + ), + ]), + near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths: + BTreeMap::from([ + ( + "nondirect-ge1e-h0001-0007-0000-5200-0200-p0000-0000-0000-ffff :: [7:0]" + .to_string(), + vec!["rt3_wineprefix/drive_c/rt3_105/maps/Louisiana.gmp".to_string()], + ), + ( + "nondirect-ge1e-h0001-0007-0000-6d00-0200-p0000-0000-0000-ffff :: [7:0]" + .to_string(), + vec!["rt3_wineprefix/drive_c/rt3_105/maps/Texas Tea.gmp".to_string()], + ), + ( + "nondirect-ge1e-h0001-ffff-0004-0000-0200-p0000-0000-0000-ffff :: [-1:4]" + .to_string(), + vec![ + "rt3_wineprefix/drive_c/rt3_105/maps/Chicago to New York.gmp" + .to_string(), + "rt3_wineprefix/drive_c/rt3_105/maps/Pacific Coastal.gmp".to_string(), + ], + ), + ( + "nondirect-ge34-h0002-0007-0004-7300-0200-p0000-0000-ffff-ffff :: [7:4,42:0]" + .to_string(), + vec!["rt3_wineprefix/drive_c/rt3_105/maps/Alternate USA.gmp".to_string()], + ), + ( + "nondirect-ge34-h0002-0007-0004-7500-0200-p0000-0000-ffff-ffff :: [7:4,42:0]" + .to_string(), + vec!["rt3_wineprefix/drive_c/rt3_105/maps/Alternate USA.gmp".to_string()], + ), + ( + "nondirect-ge34-h0002-0007-0004-7b00-0200-p0000-0000-ffff-ffff :: [7:4,42:0]" + .to_string(), + vec!["rt3_wineprefix/drive_c/rt3_105/maps/Alternate USA.gmp".to_string()], + ), + ( + "nondirect-ge34-h0002-0007-0004-8500-0200-p0000-0000-ffff-ffff :: [7:4,42:0]" + .to_string(), + vec!["rt3_wineprefix/drive_c/rt3_105/maps/Alternate USA.gmp".to_string()], + ), + ( + "nondirect-ge34-h0002-0022-0000-3200-0200-p0000-0000-0000-ffff :: [34:0,130:4]" + .to_string(), + vec!["rt3_wineprefix/drive_c/rt3_105/maps/Rhodes Unfinished.gmp".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 18a89a4..dfd8ef9 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 @@ -1,3 +1,5 @@ +use std::collections::BTreeMap; + use super::super::near_city_acquisition::NearCityAcquisitionTraceInputs; use crate::inspect::smp::services::*; @@ -15,6 +17,15 @@ pub(super) struct NearCityReportFields { pub(super) near_city_acquisition_backing_record_projection_status: String, pub(super) near_city_acquisition_nontransport_persisted_source_status: String, pub(super) near_city_acquisition_nontransport_persisted_source_candidates: Vec, + pub(super) near_city_acquisition_nontransport_dispatch_maps_scanned: usize, + pub(super) near_city_acquisition_nontransport_dispatch_maps_with_dispatch_strip_rows: usize, + 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_add_building_descriptor_map_paths: + BTreeMap>, + pub(super) near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths: + BTreeMap>, pub(super) near_city_acquisition_tri_lane_save_shape_family_status: String, pub(super) near_city_acquisition_tri_lane_save_shape_family_candidates: Vec, @@ -71,6 +82,23 @@ pub(super) fn build_near_city_report_fields( near_city_acquisition_nontransport_persisted_source_candidates: inputs .near_city_acquisition_nontransport_persisted_source_candidates .clone(), + near_city_acquisition_nontransport_dispatch_maps_scanned: inputs + .near_city_acquisition_nontransport_dispatch_maps_scanned, + near_city_acquisition_nontransport_dispatch_maps_with_dispatch_strip_rows: inputs + .near_city_acquisition_nontransport_dispatch_maps_with_dispatch_strip_rows, + near_city_acquisition_nontransport_dispatch_record_count: inputs + .near_city_acquisition_nontransport_dispatch_record_count, + near_city_acquisition_nontransport_dispatch_records_with_trigger_kind: inputs + .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_add_building_descriptor_map_paths: inputs + .near_city_acquisition_nontransport_add_building_descriptor_map_paths + .clone(), + near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths: + inputs + .near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths + .clone(), near_city_acquisition_tri_lane_save_shape_family_status: inputs .near_city_acquisition_tri_lane_save_shape_family_status .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 46003ce..d9ee23f 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 @@ -112,6 +112,21 @@ pub(in crate::inspect::smp) fn build_periodic_company_service_trace_report( .near_city_acquisition_nontransport_persisted_source_status, near_city_acquisition_nontransport_persisted_source_candidates: near_city_fields .near_city_acquisition_nontransport_persisted_source_candidates, + near_city_acquisition_nontransport_dispatch_maps_scanned: near_city_fields + .near_city_acquisition_nontransport_dispatch_maps_scanned, + near_city_acquisition_nontransport_dispatch_maps_with_dispatch_strip_rows: near_city_fields + .near_city_acquisition_nontransport_dispatch_maps_with_dispatch_strip_rows, + near_city_acquisition_nontransport_dispatch_record_count: near_city_fields + .near_city_acquisition_nontransport_dispatch_record_count, + near_city_acquisition_nontransport_dispatch_records_with_trigger_kind: near_city_fields + .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_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: + near_city_fields + .near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths, near_city_acquisition_tri_lane_save_shape_family_status: near_city_fields .near_city_acquisition_tri_lane_save_shape_family_status, near_city_acquisition_tri_lane_save_shape_family_candidates: near_city_fields 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 36b41b9..14b996d 100644 --- a/crates/rrt-runtime/src/inspect/smp/services/model/company.rs +++ b/crates/rrt-runtime/src/inspect/smp/services/model/company.rs @@ -1,3 +1,5 @@ +use std::collections::BTreeMap; + use serde::{Deserialize, Serialize}; use crate::inspect::smp::services::{ @@ -167,6 +169,22 @@ pub struct SmpPeriodicCompanyServiceTraceReport { pub near_city_acquisition_nontransport_persisted_source_status: String, #[serde(default)] pub near_city_acquisition_nontransport_persisted_source_candidates: Vec, + #[serde(default)] + pub near_city_acquisition_nontransport_dispatch_maps_scanned: usize, + #[serde(default)] + pub near_city_acquisition_nontransport_dispatch_maps_with_dispatch_strip_rows: usize, + #[serde(default)] + pub near_city_acquisition_nontransport_dispatch_record_count: usize, + #[serde(default)] + pub near_city_acquisition_nontransport_dispatch_records_with_trigger_kind: usize, + #[serde(default)] + pub near_city_acquisition_nontransport_add_building_record_count: usize, + #[serde(default)] + pub near_city_acquisition_nontransport_add_building_descriptor_map_paths: + BTreeMap>, + #[serde(default)] + pub near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths: + BTreeMap>, pub near_city_acquisition_tri_lane_save_shape_family_status: String, #[serde(default)] pub near_city_acquisition_tri_lane_save_shape_family_candidates: 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 85ea5d1..c532aed 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 @@ -304,6 +304,57 @@ fn builds_periodic_company_service_trace_report_with_candidate_consumers() { .len(), 5 ); + assert_eq!( + trace.near_city_acquisition_nontransport_dispatch_maps_scanned, + 41 + ); + assert_eq!( + trace.near_city_acquisition_nontransport_dispatch_maps_with_dispatch_strip_rows, + 38 + ); + assert_eq!( + trace.near_city_acquisition_nontransport_dispatch_record_count, + 318 + ); + assert_eq!( + trace.near_city_acquisition_nontransport_dispatch_records_with_trigger_kind, + 0 + ); + assert_eq!( + trace.near_city_acquisition_nontransport_add_building_record_count, + 10 + ); + assert_eq!( + trace + .near_city_acquisition_nontransport_add_building_descriptor_map_paths + .get("548 Add Building Port01") + .unwrap(), + &vec!["rt3_wineprefix/drive_c/rt3_105/maps/Texas Tea.gmp".to_string()] + ); + assert_eq!( + trace + .near_city_acquisition_nontransport_add_building_descriptor_map_paths + .get("563 Add Building Warehouse05") + .unwrap(), + &vec!["rt3_wineprefix/drive_c/rt3_105/maps/Louisiana.gmp".to_string()] + ); + assert_eq!( + trace + .near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths + .get("nondirect-ge1e-h0001-0007-0000-5200-0200-p0000-0000-0000-ffff :: [7:0]") + .unwrap(), + &vec!["rt3_wineprefix/drive_c/rt3_105/maps/Louisiana.gmp".to_string()] + ); + assert_eq!( + trace + .near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths + .get("nondirect-ge1e-h0001-ffff-0004-0000-0200-p0000-0000-0000-ffff :: [-1:4]") + .unwrap(), + &vec![ + "rt3_wineprefix/drive_c/rt3_105/maps/Chicago to New York.gmp".to_string(), + "rt3_wineprefix/drive_c/rt3_105/maps/Pacific Coastal.gmp".to_string() + ] + ); assert_eq!( trace.near_city_acquisition_tri_lane_save_shape_family_status, "save_shape_family_candidates_present_fixed_offset_ruled_down"