diff --git a/docs/plan/level-assets.md b/docs/plan/level-assets.md index 2d78445..06314f3 100644 --- a/docs/plan/level-assets.md +++ b/docs/plan/level-assets.md @@ -1939,3 +1939,24 @@ recorded for `moby_anim`. Not concluded: what the 238 entries *are*. The float reading is suggestive, not established -- it was read at one stride, on one level, and rule 3a applies. + +### Cross-reference scan by raw immediate: does not discriminate + +The natural next probe is to search `.text` for immediates matching each chunk's +offset. Run over all 27 levels (0x2d70260 bytes, 23.8M u16 values): + + moby_classes 0x00c0 49,230 occurrences + tie_classes 0x1e80 111 occurrences + +**This comparison is meaningless and must not be quoted as evidence.** The two +offsets differ in magnitude, and small values are simply common: the single most +frequent u16 in `.text` occurs 1,834,535 times, so a two-byte value that is +common by construction will beat a rarer one no matter what it references. The +whole scan is confounded by value frequency, which is rule 3a again, one level +below where it has bitten before -- not the measurement being wrong but the +*comparison* having no shared denominator. + +Doing it properly means decoding instructions and counting immediates only where +they are immediates, which is what `tools/overlay-anchors` is for. Until that +exists the answer is not "moby_classes is referenced more" or "less", it is +"this method cannot tell".