diff --git a/docs/formats/core-data-regions.md b/docs/formats/core-data-regions.md index 13a371f..9c3fc06 100644 --- a/docs/formats/core-data-regions.md +++ b/docs/formats/core-data-regions.md @@ -528,3 +528,40 @@ This is weaker evidence than the sound bank's 40-byte result, which was sharply isolated and identical on all 27 levels. Here the peak is weaker (0.09-0.22 excess against sound bank's 0.45) and it moves between levels and spans. Recorded at the confidence it deserves. + +## Two independent measurements agree on moby's 16-byte vertex + +The moby part table established `vertex_offset + 16 * vertex_count == +next_part` on 43,467 of 43,467 parts, which fixes the vertex stride at 16. +Autocorrelation over the spans reaches the same number without using that +result at all. + +**Range measured:** moby class spans of 16 KB or more on level 0 -- 60 spans, +each bounded by consecutive class offsets, measured over the first 32,768 +bytes. + +**Method:** peak-stride autocorrelation against a matched control, searching +strides 4 to 64. + +**Result:** + +| peak stride | spans | +|---|---| +| **16** | **43** | +| 8 | 8 | +| 48 | 4 | +| 32 | 3 | +| 24 | 2 | + +16 dominates, and it is the same 16 the part table produces from a completely +different argument -- a tiling identity over part records rather than a +periodicity measurement over span contents. + +Two unrelated methods agreeing is worth more than either alone, because the +autocorrelation would be vulnerable to exactly the kinds of artifact this +project has already been bitten by: a dominant byte value would inflate it, +and a period that happened to divide the window would look the same as a real +one. Neither applies here, and the tiling identity cannot be inflated at all. + +This is the strongest form of evidence produced in this project: a structural +invariant confirmed by two methods that do not share a failure mode.