diff --git a/docs/formats/core-data-regions.md b/docs/formats/core-data-regions.md index a56036e..d54abd6 100644 --- a/docs/formats/core-data-regions.md +++ b/docs/formats/core-data-regions.md @@ -387,3 +387,45 @@ help: the values span -32743..32633, close to the full range, with no per-position structure (533, 371, 401 and 187 distinct at positions 0-3). Recorded as a characterisation, with its range, so the next attempt starts from the composition rather than re-deriving it. + +### Sky sub-object 0 is a slowly-varying sequence, not independent records + +**Range measured:** level 0, sky region `+365760 .. +388880`, 23,120 bytes. + +**Method:** Pearson correlation between the byte sequence and itself at +increasing lag, against a shuffled control. This measures whether consecutive +records are *related*, which the position-wise distinct-value counts could +not show. + +**Result:** + +| lag (bytes) | correlation | +|---|---| +| 1 | +0.050 | +| 4 | +0.560 | +| **8** | **+0.746** | +| 16 | +0.666 | +| 32 | +0.602 | +| 64 | +0.432 | +| 128 | +0.140 | +| 256 | −0.044 | +| **512** | **+0.304** | +| 1024 | +0.247 | +| shuffled control (lag 1) | +0.003 | + +The profile has a peak at lag 8, decays to a zero crossing near 256, and then +a second, smaller peak at 512 before decaying again. + +This is what settles the earlier "no constant substructure" reading. The +records do not share fixed fields, but they are *not independent*: consecutive +8-byte records are strongly related, and that relation repeats at 512 bytes, +i.e. every 64 records. + +Slowly varying values, related within a record, repeating every 64 records, is +the shape of a keyframe or lookup table -- which is what one would expect to +find in sky data, where a colour or fog parameter is sampled rather than +computed per vertex. + +**Still not decoded.** Nothing here names the values or the sampling. But the +structure is now characterised well enough that a decode attempt has a shape +to aim at rather than a field to hunt for.