Expose building source selector bytes

This commit is contained in:
Jan Petykiewicz 2026-04-19 12:11:58 -07:00
commit f690a1ebd0
3 changed files with 133 additions and 19 deletions

View file

@ -156,25 +156,26 @@ rebuild a substantial portion of each live candidate record:
`[candidate+0x79c/+0x7a0/+0x78c/+0x790/+0x794/+0x7b0]`
- reads the fixed per-record stream fields at
`[candidate+0x04/+0x22/+0x26/+0x28/+0x2a/+0x2e/+0x32/+0x33]`
- restores the selector-bank bytes
`[candidate+0xb9/+0xba/+0xbb]`
- allocates and streams the packed `0xbc` descriptor array into `[candidate+0x37]`
But in the checked `0x004120b0` body there is still **no** write to:
- `[candidate+0xba]`
- `[candidate+0xbb]`
So the current strongest ownership split is now:
- direct named-availability table `[state+0x66b2]` is not the missing differentiator by itself
- per-record stream-load `0x004120b0` is also not where the port-versus-warehouse availability
bytes are authored
- the surviving writer-side frontier is the later template-bank path in `0x00412d70`, where the
imported record is cloned or reused against one bank-qualified live candidate before the runtime
descriptor and membership rebuilds run
- both source-record import `0x00414490` and per-record stream-load `0x004120b0` do carry the
relevant selector-bank bytes from persisted/source state into the live candidate family
- but the stock `Data/BuildingTypes/*.bca` corpus currently keeps `[record+0xb8/+0xb9/+0xba/+0xbb]`
at zero across every observed file, including `Warehouse.bca` and `Port.bca`
- so the surviving frontier is no longer “does the lower loader import `[candidate+0xba/+0xbb]`?”
but rather which later owner or alternate content path makes the live bank-qualified split differ
from that all-zero shipped BCA corpus before `0x00412d70` clones or reuses one bank-qualified
live candidate
That makes the next Tier 2 question more concrete still:
- how the bank-qualified template source selected under `[candidate+0xba]` versus `[candidate+0xbb]`
seeds the later `Warehouse%02d` side in `Louisiana.gmp`
- how any nonzero bank-qualified template source under `[candidate+0xba]` versus `[candidate+0xbb]`
is actually seeded above the stock all-zero BCA corpus, and then
drives the later `Warehouse%02d` side in `Louisiana.gmp`
- and whether that preserved bank/template state is the real bridge from the minimal recipe cluster
to the shipped `5200 :: [7:0]` `Add Building Warehouse05` row