Decode compact non-direct map event rows

This commit is contained in:
Jan Petykiewicz 2026-04-19 00:51:09 -07:00
commit 224a2d19e8
2 changed files with 459 additions and 85 deletions

View file

@ -242,18 +242,22 @@ Working rule:
longer whether kind `8` lives on a separate editor/build class either, but which loaded
kind-`8` rows actually carry the mutation-capable compact payloads
- bundle-side inspection now grounds the startup collection itself:
`War Effort.gmp` exposes a non-direct `0x4e99/0x4e9a/0x4e9b` runtime-event collection at
`0x74740c / 0x7543f4 / 0x7554cf` with `24` live rows, and those rows now segment cleanly as
compact `0x526f`-delimited bodies with repeated `0x4eb8` grouped-effect markers plus optional
`0x4eb9` terminators
- those non-direct rows now carry stable structural family ids in the inspection notes too:
the row probe emits `compact signature family = nondirect-...` keys derived from grouped-marker
offset plus salient head/post-group word lanes, so repeated compact families can be compared
across maps without scraping full raw signatures
sampled maps such as `War Effort.gmp`, `British Isles.gmp`, `Germany.gmp`, and
`Texas Tea.gmp` expose non-direct `0x4e99/0x4e9a/0x4e9b` runtime-event collections, and the
compact `0x526f/0x4eb8/0x4eb9` row family is now decoded into actual condition/grouped row
summaries rather than opaque slices
- the concrete owner strip above that bundle is grounded now too:
`0x00433060` is the direct non-direct serializer loop that writes `0x4e99/0x4e9a/0x4e9b`,
calls `0x00430d70` per live collection row, and sits beside the sibling `0x00433130` size/load
family rather than behind an unknown blob writer
- those non-direct rows still carry stable structural family ids in the inspection notes:
the row probe emits `compact signature family = nondirect-...` keys alongside decoded grouped
descriptors, so repeated compact families can still be compared across maps without scraping
raw bytes
- that moves the startup compact-effect blocker again:
the remaining question is no longer collection existence, but field mapping inside that
compact non-direct row family and whether its observed signatures correspond to loaded
`kind 8` rows that can reach the placed-structure mutation opcodes under `0x00431b20`
the remaining question is no longer compact row framing, but which serialized/live rows in this
now-decoded non-direct bundle correlate to loaded trigger-kind `8` rows and which of those can
reach the placed-structure mutation opcodes under `0x00431b20`
- the `[site+0x27a]` companion lane is grounded now too:
it is a live signed scalar accumulator rather than a second owner-identity seam, with zero-init
at `0x0042125d` and `0x0040f793`, accumulation at `0x0040dfec` and `0x00426ad8`, direct set on