Volumes: the reference that did not generalise

Last commit said what would settle the volume candidate and implied one of those
was available. They are not. Recording the failure rather than moving on quietly.

Level 0's data.bin -- the level's file descriptor -- contains the value 799204
exactly once, at 0xab6360, and 799204 is byte-for-byte the offset of the 20-record
144-byte candidate table. A single 4-byte match in 13.3 MB has a chance
expectation of ~0.003, so it was worth checking rather than assuming.

It does not hold up. Each level's own best 144-byte table, searched in that same
level's own data.bin:

    level  candidate   records   refs (chance ~0.0035)
      0    1,810,724      32      0
      1    1,884,884     386      0
      2    2,066,804     224      0
      3    2,438,228     365      0
      4    2,677,780     114      0
      5    1,255,780      14      0
      6    2,496,020     115      0
      7    2,062,072     311      0

None. The level 0 hit at 0xab6360 also sits among high-entropy neighbours, and
level 0's own BEST table -- a different offset, 32 records, not the 20-record one
-- is not referenced either. So the hit does not generalise and is most likely
coincidence.

This retracts what the previous commit implied. Nothing links a 144-byte float
table to volumes: the table is reached by walking structure rather than by an
explicit pointer, so the discriminator I named does not exist, and the candidate
stands exactly where it did.

Recording the three routes that would actually settle it, all of them
unavailable: the game's own volume code (same dead end as the collision anchor
-- a GP-relative string search returns nothing); ground truth, such as a count of
level 0's trigger volumes from a map; or a correlation with a named class, since
gameplay.bin resolves ids through its dispatch records -- but no class name
containing "volume" exists on the disc, which is exactly why this is unavailable.

No test added, because there is no solid claim here to assert. 240 tests,
unchanged.
This commit is contained in:
2026-10-13 07:35:58 +02:00
parent ca277a0a01
commit 040386c0fb
2 changed files with 47 additions and 1 deletions
+4 -1
View File
@@ -417,7 +417,10 @@ Phase 1 hands over the extents; this phase works out what each one contains.
bugs on the way are written up: a validity test that counted zero as
world-plausible scored zero-filled memory perfectly, and the 144-byte stride
rested on four eyeballed offsets that the gap histogram did not support.
Not located. Nothing examined so far presents itself as a
A promising lead also failed: level 0's `data.bin` references one candidate
offset exactly once (chance ~0.003), but **none** of seven other levels'
candidates are referenced by their own `data.bin`, so the table is reached
by walking structure and nothing links it to volumes. Not located. Nothing examined so far presents itself as a
volume: `core_data`, the chunk region and `gameplay.bin` all yield
structures that are accounted for by something else.
- [~] `level_overlay` — header, constant block and level data parsed