Rule out event branch in region restore strip

This commit is contained in:
Jan Petykiewicz 2026-04-19 12:55:36 -07:00
commit 499462fae5
3 changed files with 12 additions and 0 deletions

View file

@ -5847,6 +5847,7 @@ fn build_region_service_trace_report(
"direct disassembly of 0x00421510 now also shows the exact tagged loop shape: it opens 0x5209, reads 0x520a, iterates live entry ordinals through 0x518380/0x518140, seeds a stack-local world-region vtable helper through 0x0041f590/0x0041f5b0, dispatches each loaded record through slot +0x40, and only then closes 0x520b".to_string(), "direct disassembly of 0x00421510 now also shows the exact tagged loop shape: it opens 0x5209, reads 0x520a, iterates live entry ordinals through 0x518380/0x518140, seeds a stack-local world-region vtable helper through 0x0041f590/0x0041f5b0, dispatches each loaded record through slot +0x40, and only then closes 0x520b".to_string(),
"direct disassembly of 0x0041f5c0 now also shows its post-0x00455fc0 work is local to the profile collection path: it clamps [region+0x31b] back to 1.0f when needed, zeroes [region+0x317], allocates one 0x88-sized helper through 0x53b070/0x518b90, stores it at [region+0x37f], loads that helper through 0x518680, and clears [region+0x385] before returning".to_string(), "direct disassembly of 0x0041f5c0 now also shows its post-0x00455fc0 work is local to the profile collection path: it clamps [region+0x31b] back to 1.0f when needed, zeroes [region+0x317], allocates one 0x88-sized helper through 0x53b070/0x518b90, stores it at [region+0x37f], loads that helper through 0x518680, and clears [region+0x385] before returning".to_string(),
"the first caller-side checkpoint above 0x00421510 is now grounded too: 0x00444887 invokes the region collection refresh inside a broader restore sequence and then immediately advances to territory_collection_refresh_records_from_tagged_bundle 0x00487c20 and support_collection_refresh_records_from_tagged_bundle 0x0040b5d0, which makes the missing latches look like a later global rebuild seam rather than hidden work inside 0x00421510 itself".to_string(), "the first caller-side checkpoint above 0x00421510 is now grounded too: 0x00444887 invokes the region collection refresh inside a broader restore sequence and then immediately advances to territory_collection_refresh_records_from_tagged_bundle 0x00487c20 and support_collection_refresh_records_from_tagged_bundle 0x0040b5d0, which makes the missing latches look like a later global rebuild seam rather than hidden work inside 0x00421510 itself".to_string(),
"direct disassembly now rules down the next 0x00444887 continuation branch too: after the region, territory, and support refresh owners, 0x00433130 only opens 0x4e99/0x4e9a, repopulates live event collection 0x0062be18 through 0x0042db20, and closes 0x4e9b, so that event-side loader is not the missing later region restore handoff for [region+0x2a4] or [region+0x310/+0x338/+0x360] either".to_string(),
"that broader restore strip now also has one grounded later region-local sweep: at 0x00444b08 it re-enters the live region collection through 0x00421ce0, which walks live records via 0x518380/0x518140 and dispatches 0x0041fb00 per record".to_string(), "that broader restore strip now also has one grounded later region-local sweep: at 0x00444b08 it re-enters the live region collection through 0x00421ce0, which walks live records via 0x518380/0x518140 and dispatches 0x0041fb00 per record".to_string(),
"the checked-in atlas already grounds 0x0041fb00 as the class-0-only default-region helper under the same family, and 0x00421730 as the later raster finalizer that repopulates [world+0x212d] from class-0 region ids".to_string(), "the checked-in atlas already grounds 0x0041fb00 as the class-0-only default-region helper under the same family, and 0x00421730 as the later raster finalizer that repopulates [world+0x212d] from class-0 region ids".to_string(),
"direct disassembly now tightens that later sweep too: 0x0041fb00 exits immediately for nonzero [region+0x23e], while 0x00421730 clears the per-cell region word at [world+0x212d]+cell*4+1, seeds cached bounds-like fields [region+0x242/+0x246/+0x24a/+0x24e/+0x252], and only then enters the class-0 path that consumes [region+0x256] and the coordinate helpers 0x00455800/0x00455810".to_string(), "direct disassembly now tightens that later sweep too: 0x0041fb00 exits immediately for nonzero [region+0x23e], while 0x00421730 clears the per-cell region word at [world+0x212d]+cell*4+1, seeds cached bounds-like fields [region+0x242/+0x246/+0x24a/+0x24e/+0x252], and only then enters the class-0 path that consumes [region+0x256] and the coordinate helpers 0x00455800/0x00455810".to_string(),

View file

@ -1363,6 +1363,11 @@ The same brush strip is tighter now too:
per-cell compatibility bits through the byte-level helpers per-cell compatibility bits through the byte-level helpers
`0x00448c20/0x00448cb0/0x00448d90/0x00448e60/0x00448e90/0x0044de30`, with the older pre-`0x400` `0x00448c20/0x00448cb0/0x00448d90/0x00448e60/0x00448e90/0x0044de30`, with the older pre-`0x400`
branch explicitly clearing those newer bits back to the legacy fallback pattern. branch explicitly clearing those newer bits back to the legacy fallback pattern.
The `0x00444887` continuation is ruled down further now too: after the region, territory, and
support refresh owners, its next loader `0x00433130` is only the packed runtime-event restore
path, opening `0x4e99/0x4e9a`, repopulating live event collection `0x0062be18` through
`0x0042db20`, and closing `0x4e9b`. So that event-side branch is not the missing later region
restore handoff for `[region+0x2a4]` or `[region+0x310/+0x338/+0x360]` either.
One adjacent mid-restore preview branch is explicit now too: for version `>= 0x3ee` the loader One adjacent mid-restore preview branch is explicit now too: for version `>= 0x3ee` the loader
restores one width/height-tagged dword surface, optionally resamples it through restores one width/height-tagged dword surface, optionally resamples it through
`shell_world_presentation_stage_overlay_rect_from_normalized_bounds` `0x00534930`, republishes it `shell_world_presentation_stage_overlay_rect_from_normalized_bounds` `0x00534930`, republishes it

View file

@ -1552,6 +1552,12 @@ Working rule:
`[region+0x317/+0x31b]` band through `0x00420350`. So the next region pass should treat the `[region+0x317/+0x31b]` band through `0x00420350`. So the next region pass should treat the
broader `0x00444887` continuation as the live handoff seam when chasing broader `0x00444887` continuation as the live handoff seam when chasing
`[region+0x2a4]` and `[region+0x310/+0x338/+0x360]`, not as just another generic restore note. `[region+0x2a4]` and `[region+0x310/+0x338/+0x360]`, not as just another generic restore note.
- That same continuation is less ambiguous now too: the loader immediately after territory/support
refresh, `0x00433130`, is only
`scenario_event_collection_refresh_runtime_records_from_packed_state`, opening `0x4e99/0x4e9a`,
repopulating live event collection `0x0062be18` through `0x0042db20`, and closing `0x4e9b`.
So the event-side branch under `0x00444887` is ruled out as the missing later region restore
handoff too.
- That same continuation is slightly less symmetric now too: the atlas-backed territory side at - That same continuation is slightly less symmetric now too: the atlas-backed territory side at
`0x00487c20` currently restores only collection metadata/live ids and still uses no-op per-entry `0x00487c20` currently restores only collection metadata/live ids and still uses no-op per-entry
load/save callbacks `0x00487670/0x00487680`, so the next pass should bias more heavily toward load/save callbacks `0x00487670/0x00487680`, so the next pass should bias more heavily toward