Bound infrastructure asset consumer candidates
This commit is contained in:
parent
6bfe4d043f
commit
61aed9e9ab
2 changed files with 47 additions and 1 deletions
|
|
@ -2970,8 +2970,16 @@ pub struct SmpInfrastructureAssetTraceReport {
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub side_buffer_unique_name_pair_count: usize,
|
pub side_buffer_unique_name_pair_count: usize,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
|
pub bridge_like_name_pair_count: usize,
|
||||||
|
#[serde(default)]
|
||||||
|
pub tunnel_like_name_pair_count: usize,
|
||||||
|
#[serde(default)]
|
||||||
|
pub track_cap_like_name_pair_count: usize,
|
||||||
|
#[serde(default)]
|
||||||
pub triplet_alignment_overlap_count: usize,
|
pub triplet_alignment_overlap_count: usize,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
|
pub atlas_candidate_consumers: Vec<String>,
|
||||||
|
#[serde(default)]
|
||||||
pub branches: Vec<SmpServiceTraceBranchStatus>,
|
pub branches: Vec<SmpServiceTraceBranchStatus>,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub notes: Vec<String>,
|
pub notes: Vec<String>,
|
||||||
|
|
@ -3666,6 +3674,31 @@ fn build_infrastructure_asset_trace_report(
|
||||||
let alignment = analysis
|
let alignment = analysis
|
||||||
.placed_structure_dynamic_side_buffer_alignment
|
.placed_structure_dynamic_side_buffer_alignment
|
||||||
.as_ref();
|
.as_ref();
|
||||||
|
let name_pair_summaries = side_buffer
|
||||||
|
.map(|probe| probe.name_pair_summaries.as_slice())
|
||||||
|
.unwrap_or(&[]);
|
||||||
|
let bridge_like_name_pair_count = name_pair_summaries
|
||||||
|
.iter()
|
||||||
|
.filter(|summary| summary.primary_name.contains("Bridge"))
|
||||||
|
.count();
|
||||||
|
let tunnel_like_name_pair_count = name_pair_summaries
|
||||||
|
.iter()
|
||||||
|
.filter(|summary| summary.primary_name.contains("Tunnel"))
|
||||||
|
.count();
|
||||||
|
let track_cap_like_name_pair_count = name_pair_summaries
|
||||||
|
.iter()
|
||||||
|
.filter(|summary| summary.primary_name.contains("TrackCap"))
|
||||||
|
.count();
|
||||||
|
let atlas_candidate_consumers = vec![
|
||||||
|
"0x0048a1e0 infrastructure child attach helper".to_string(),
|
||||||
|
"0x0048dd50 infrastructure child rebuild loop".to_string(),
|
||||||
|
"0x00490a3c infrastructure payload attach helper".to_string(),
|
||||||
|
"0x004559d0 infrastructure tagged string-triplet serializer".to_string(),
|
||||||
|
"0x00455870 infrastructure tagged string-triplet load companion".to_string(),
|
||||||
|
"0x00455930 infrastructure scalar-triplet serializer sibling".to_string(),
|
||||||
|
"0x00448a70 / 0x00493660 / 0x0048b660 route and world follow-on family".to_string(),
|
||||||
|
"0x004133b0 placed-structure local-runtime refresh outer owner".to_string(),
|
||||||
|
];
|
||||||
let branches = vec![
|
let branches = vec![
|
||||||
build_service_trace_branch_status(
|
build_service_trace_branch_status(
|
||||||
"infrastructure_asset_owner_seam",
|
"infrastructure_asset_owner_seam",
|
||||||
|
|
@ -3752,9 +3785,13 @@ fn build_infrastructure_asset_trace_report(
|
||||||
side_buffer_unique_name_pair_count: side_buffer
|
side_buffer_unique_name_pair_count: side_buffer
|
||||||
.map(|probe| probe.unique_embedded_name_pair_count)
|
.map(|probe| probe.unique_embedded_name_pair_count)
|
||||||
.unwrap_or_default(),
|
.unwrap_or_default(),
|
||||||
|
bridge_like_name_pair_count,
|
||||||
|
tunnel_like_name_pair_count,
|
||||||
|
track_cap_like_name_pair_count,
|
||||||
triplet_alignment_overlap_count: alignment
|
triplet_alignment_overlap_count: alignment
|
||||||
.map(|probe| probe.overlapping_name_pair_count)
|
.map(|probe| probe.overlapping_name_pair_count)
|
||||||
.unwrap_or_default(),
|
.unwrap_or_default(),
|
||||||
|
atlas_candidate_consumers,
|
||||||
branches,
|
branches,
|
||||||
notes,
|
notes,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,11 @@ Working rule:
|
||||||
`runtime inspect-infrastructure-asset-trace <save.gms>` now shows that the `0x38a5`
|
`runtime inspect-infrastructure-asset-trace <save.gms>` now shows that the `0x38a5`
|
||||||
infrastructure-asset seam is grounded and the old alias hypothesis is disproved on `q.gms`, so
|
infrastructure-asset seam is grounded and the old alias hypothesis is disproved on `q.gms`, so
|
||||||
the next placed-structure slice should target the consumer mapping above that seam rather than
|
the next placed-structure slice should target the consumer mapping above that seam rather than
|
||||||
more collection discovery.
|
more collection discovery; the same trace now also carries atlas-backed candidate consumers
|
||||||
|
(`0x0048a1e0`, `0x0048dd50`, `0x00490a3c`, `0x004559d0`, `0x00455870`, `0x00455930`,
|
||||||
|
`0x00448a70/0x00493660/0x0048b660`, `0x004133b0`) plus bridge/tunnel/track-cap name-family
|
||||||
|
counts, so the next pass can start at those concrete owners instead of the whole
|
||||||
|
placed-structure family.
|
||||||
- Reconstruct the save-side region record body on top of the newly corrected non-direct tagged
|
- Reconstruct the save-side region record body on top of the newly corrected non-direct tagged
|
||||||
region seam (`0x5209/0x520a/0x520b`, stride hint `0x06`, `Marker09` record stems) now that the
|
region seam (`0x5209/0x520a/0x520b`, stride hint `0x06`, `Marker09` record stems) now that the
|
||||||
`0x55f3` payload is known to be fully consumed by the embedded profile collection on grounded
|
`0x55f3` payload is known to be fully consumed by the embedded profile collection on grounded
|
||||||
|
|
@ -82,6 +86,11 @@ Working rule:
|
||||||
seams; the region trace keeps the queued kind-`7` notice family on the transient side; and the
|
seams; the region trace keeps the queued kind-`7` notice family on the transient side; and the
|
||||||
infrastructure trace now makes the `0x38a5` consumer-mapping blocker first-class after
|
infrastructure trace now makes the `0x38a5` consumer-mapping blocker first-class after
|
||||||
disproving any alias to the `0x36b1` placed-structure triplet corpus.
|
disproving any alias to the `0x36b1` placed-structure triplet corpus.
|
||||||
|
- The infrastructure trace now also carries one small atlas-backed static-analysis layer above that
|
||||||
|
seam: bridge/tunnel/track-cap name-family counts from the real side-buffer corpus plus concrete
|
||||||
|
consumer candidates rooted at the `Infrastructure` child attach/rebuild/serializer helpers and
|
||||||
|
the later route/local-runtime follow-on owners. That means the next `0x38a5` pass can be
|
||||||
|
targeted static mapping instead of another generic scan.
|
||||||
- Save inspection now splits the shared `0x5209/0x520a/0x520b` family correctly: the smaller
|
- Save inspection now splits the shared `0x5209/0x520a/0x520b` family correctly: the smaller
|
||||||
direct `0x1d5` collection is the live train family and now exposes a live-entry directory rooted
|
direct `0x1d5` collection is the live train family and now exposes a live-entry directory rooted
|
||||||
at metadata dword `16`, while the actual region family is the larger non-direct `Marker09`
|
at metadata dword `16`, while the actual region family is the larger non-direct `Marker09`
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue