From b5edbd181023e6a056d0ada4fd55ae9e1332ee48 Mon Sep 17 00:00:00 2001 From: ReaperOfVeriod Date: Sun, 11 Oct 2026 03:53:49 +0200 Subject: [PATCH] Show sky sub-object 0 is a slowly-varying sequence at two scales Range measured: level 0, sky region +365760..+388880, 23120 bytes. Method: Pearson correlation between the byte sequence and itself at increasing lag, against a shuffled control. This asks whether consecutive records are related, which the position-wise distinct-value counts could not show. lag 1 +0.050 lag 256 -0.044 lag 4 +0.560 lag 512 +0.304 lag 8 +0.746 lag 1024 +0.247 lag 16 +0.666 lag 2048 +0.079 lag 32 +0.602 shuffled +0.003 lag 64 +0.432 lag 128 +0.140 The profile peaks at lag 8, decays to a zero crossing near 256, then rises again to a second smaller peak at 512 before decaying. So records are related within themselves and repeat every 64 records. This settles the earlier "no constant substructure" reading. The records share no fixed fields, but they are not independent either, and that was the thing the distinct-value counts were failing to capture. Slowly varying values, related within a record, repeating every 64 records, is the shape of a keyframe or lookup table -- which is what sky data should be, where a colour or fog parameter is sampled rather than computed per vertex. Still not decoded: nothing names the values or the sampling. But the shape is now known well enough for a decode attempt to aim at, rather than to hunt. --- docs/formats/core-data-regions.md | 42 +++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) 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.