Promote dispatch control-lane corpus into service trace

This commit is contained in:
Jan Petykiewicz 2026-04-21 17:46:38 -07:00
commit 29276da163
7 changed files with 233 additions and 0 deletions

View file

@ -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

View file

@ -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<String>,
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<String, Vec<String>>,
pub(in crate::inspect::smp) near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths:
BTreeMap<String, Vec<String>>,
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<SmpPeriodicTriLaneSaveShapeFamilyCandidateSummaryEntry>,

View file

@ -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<String>,
@ -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<String>,
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<String, Vec<String>>,
pub(super) near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths:
BTreeMap<String, Vec<String>>,
}
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()],
),
]),
}
}

View file

@ -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<String>,
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<String, Vec<String>>,
pub(super) near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths:
BTreeMap<String, Vec<String>>,
pub(super) near_city_acquisition_tri_lane_save_shape_family_status: String,
pub(super) near_city_acquisition_tri_lane_save_shape_family_candidates:
Vec<SmpPeriodicTriLaneSaveShapeFamilyCandidateSummaryEntry>,
@ -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(),

View file

@ -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

View file

@ -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<String>,
#[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<String, Vec<String>>,
#[serde(default)]
pub near_city_acquisition_nontransport_add_building_signature_condition_cluster_map_paths:
BTreeMap<String, Vec<String>>,
pub near_city_acquisition_tri_lane_save_shape_family_status: String,
#[serde(default)]
pub near_city_acquisition_tri_lane_save_shape_family_candidates:

View file

@ -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"