re: RATC +0x0c is two u16s forming an ordered interval, not one number

Read as a u32 it looks meaningless -- 179 distinct values up to 248581842. The
raw values give it away (0x0007000F, 0x000F001A, 0x003C0064): two big-endian
u16s. Over all 2985 bundles, high < low in 2985/2985 with no equal and no
inverted cases, and both are bounded by the animation length at +0x08. Span
runs 1-1200, clustering on 1/10/30/8/20; low equals the animation length in 4%.

A strict ordering holding 2985 times rules out flags or a packed count. Which
interval it is stays yellow -- playback range, loop region and active window all
fit equally.

Recorded the alternative I did NOT test: that (high, low) is simply the min and
max keyframe time, making it a derived summary rather than an authored range.
First step written down. The 34.9% of bundles with high == 0 leans against it
but is not evidence on its own.
This commit is contained in:
Sylpheed RE agent
2026-08-26 06:46:50 +00:00
parent 13a97daf75
commit 49cd4996f2
2 changed files with 48 additions and 2 deletions

View File

@@ -303,7 +303,10 @@ See [`structures/ui-composable-bundles.md`](structures/ui-composable-bundles.md)
at 1.0 rather than near zero (that histogram is what rules out a vacuous
bound). 🟡 `+0x04` (`0x3C0000`/`0x1E0000` = 60.0/30.0 in 16.16) stays amber:
the only supporting evidence is that the twelve 30.0 bundles cap at `+0x08`=30
while the 2 843 60.0 ones reach 1 440. ❔ `+0x0c` and `+0x10` unexplained.
while the 2 843 60.0 ones reach 1 440. ✅ `+0x0c` is **two u16s forming an ordered
interval** — `high < low` in **2 985/2 985**, both bounded by the animation
length; 🟡 which interval, and ❔ whether it is authored or just the keyframe
min/max, is untested. `+0x10` still ❔.
See [`structures/ui-rat-layout.md`](structures/ui-rat-layout.md).
* 🟡 **What `opt ` links — a record→record reference** (2026-08-24, measured
disc-wide and asserted). All **1 467** links reachable from a declaration table