Structure peer-site selector trace candidates
This commit is contained in:
parent
0242fb85f8
commit
3d78123e28
2 changed files with 35 additions and 0 deletions
|
|
@ -3468,6 +3468,11 @@ pub struct SmpPeriodicCompanyServiceTraceReport {
|
|||
pub placed_structure_record_body_present: bool,
|
||||
#[serde(default)]
|
||||
pub infrastructure_asset_side_buffer_present: bool,
|
||||
pub peer_site_selector_candidate_owner_strip: String,
|
||||
pub peer_site_selector_candidate_persisted_tag_hex: String,
|
||||
pub peer_site_selector_candidate_selector_lane: String,
|
||||
#[serde(default)]
|
||||
pub peer_site_selector_candidate_helper_linkage: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub atlas_candidate_consumers: Vec<String>,
|
||||
#[serde(default)]
|
||||
|
|
@ -4055,6 +4060,14 @@ fn build_periodic_company_service_trace_report(
|
|||
analysis.placed_structure_dynamic_side_buffer.is_some();
|
||||
let world_issue_37_present = analysis.world_issue_37.is_some();
|
||||
let world_finance_neighborhood_present = analysis.world_finance_neighborhood.is_some();
|
||||
let peer_site_selector_candidate_owner_strip =
|
||||
"0x0045c150 -> 0x0045c310 -> 0x0045c36e -> 0x00456100 -> 0x00455b70".to_string();
|
||||
let peer_site_selector_candidate_persisted_tag_hex = "0x5dc1".to_string();
|
||||
let peer_site_selector_candidate_selector_lane = "[owner+0x23e]".to_string();
|
||||
let peer_site_selector_candidate_helper_linkage = vec![
|
||||
"0x0040ceab -> 0x0045c150".to_string(),
|
||||
"0x0040d1a1 -> 0x0045c310".to_string(),
|
||||
];
|
||||
let atlas_candidate_consumers = vec![
|
||||
"0x004019e0 periodic company outer service owner".to_string(),
|
||||
"0x00406050 city-connection bonus/news owner".to_string(),
|
||||
|
|
@ -4301,6 +4314,10 @@ fn build_periodic_company_service_trace_report(
|
|||
region_record_body_present,
|
||||
placed_structure_record_body_present,
|
||||
infrastructure_asset_side_buffer_present,
|
||||
peer_site_selector_candidate_owner_strip,
|
||||
peer_site_selector_candidate_persisted_tag_hex,
|
||||
peer_site_selector_candidate_selector_lane,
|
||||
peer_site_selector_candidate_helper_linkage,
|
||||
atlas_candidate_consumers,
|
||||
known_bridge_helpers,
|
||||
next_owner_questions,
|
||||
|
|
@ -25954,6 +25971,19 @@ mod tests {
|
|||
assert_eq!(trace.known_bridge_helpers.len(), 38);
|
||||
assert_eq!(trace.next_owner_questions.len(), 4);
|
||||
assert_eq!(trace.companies.len(), 1);
|
||||
assert_eq!(
|
||||
trace.peer_site_selector_candidate_owner_strip,
|
||||
"0x0045c150 -> 0x0045c310 -> 0x0045c36e -> 0x00456100 -> 0x00455b70"
|
||||
);
|
||||
assert_eq!(
|
||||
trace.peer_site_selector_candidate_persisted_tag_hex,
|
||||
"0x5dc1"
|
||||
);
|
||||
assert_eq!(
|
||||
trace.peer_site_selector_candidate_selector_lane,
|
||||
"[owner+0x23e]"
|
||||
);
|
||||
assert_eq!(trace.peer_site_selector_candidate_helper_linkage.len(), 2);
|
||||
assert!(trace.atlas_candidate_consumers.iter().any(|line| {
|
||||
line.contains("0x00420030 / 0x00420280")
|
||||
&& line.contains("0x006cec20")
|
||||
|
|
|
|||
|
|
@ -106,6 +106,11 @@ Working rule:
|
|||
`0x00420030 / 0x00420280 / 0x0047efe0 / 0x0047fd50` consume the resulting selector, with the
|
||||
current first target being the save-backed
|
||||
`0x0045c150 -> 0x0045c310 -> 0x0045c36e -> 0x00456100` family
|
||||
- use the structured periodic-company trace candidate fields now checked into
|
||||
`inspect-periodic-company-service-trace`: owner strip
|
||||
`0x0045c150 -> 0x0045c310 -> 0x0045c36e -> 0x00456100 -> 0x00455b70`, persisted tag
|
||||
`0x5dc1`, selector lane `[owner+0x23e]`, and helper linkage
|
||||
`0x0040ceab -> 0x0045c150` / `0x0040d1a1 -> 0x0045c310`
|
||||
- decide whether the direct `0x0040ceab / 0x0040d1a1` linkage is enough to treat that
|
||||
save-backed owner family as the same class-0 site family consumed by
|
||||
`0x00420030 / 0x00420280 / 0x0047efe0 / 0x0047fd50`, or whether one more helper-field bridge
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue