Narrow event trigger bridge to nondirect framing

This commit is contained in:
Jan Petykiewicz 2026-04-19 02:29:20 -07:00
commit bf97363fca
2 changed files with 17 additions and 0 deletions

View file

@ -9546,6 +9546,11 @@ fn parse_event_runtime_collection_summary_with_tag_width(
"decoded grouped rows already reach the 0x00431b20 dispatch strip in this collection even though the current inspection surface recovered no trigger/control kind bytes for those records"
.to_string(),
);
if nondirect_compact_record_count == records.len() {
control_lane_notes.push(
"every currently decoded dispatch-strip row in this collection still sits in the nondirect compact 0x4e99/0x4e9a/0x4e9b family with null [event+0x7ef], so the direct full-record 0x4e21/0x4e22 framing path is not currently bridging trigger-kind control bytes for these mutation-capable rows".to_string(),
);
}
}
control_lane_notes.push(format!(
"0x00431b20 dispatch-strip opcodes present in decoded grouped rows = {:?}",
@ -22335,6 +22340,11 @@ mod tests {
assert!(summary.control_lane_notes.iter().any(|line| {
line.contains("decoded grouped rows already reach the 0x00431b20 dispatch strip")
}));
assert!(summary.control_lane_notes.iter().any(|line| {
line.contains("every currently decoded dispatch-strip row")
&& line.contains("0x4e99/0x4e9a/0x4e9b")
&& line.contains("0x4e21/0x4e22")
}));
assert!(
summary
.control_lane_notes

View file

@ -259,6 +259,13 @@ Working rule:
`Game Variable 1`, `Company Variable 1..4`, and `Player Variable 1`, so the next pass can
focus on that smaller subset instead of the full 24-row compact collection while avoiding the
earlier overclaim that opcode `4` alone already proves a placed-structure mutation row
- the sampled-map framing split is narrower now too:
targeted real-map inspections of `Texas Tea.gmp`, `British Isles.gmp`, and `Germany.gmp`
still show their entire event-runtime collections as nondirect compact
`0x4e99/0x4e9a/0x4e9b` rows with `records_with_trigger_kind = 0`, even when grouped rows
already reach the grounded `0x00431b20` dispatch strip. That means the direct full-record
`0x4e21/0x4e22` parser path is not currently bridging `[event+0x7ef]` for the ordinary
mutation-capable rows in those sampled maps.
- cross-map probing now gives a better static-analysis lead too:
`British Isles.gmp` shows no current `0x00431b20` dispatch-strip rows, `Germany.gmp` stays on
`Game Variable 1` plus `Company Variable 3..4`, while `Texas Tea.gmp` adds `Economic Status`