re: index and cross-references for the record layout and the loading screens

This commit is contained in:
sylph-decoder
2026-08-29 14:06:10 +00:00
parent 33a15efa3c
commit b28dfedf35
3 changed files with 21 additions and 4 deletions

View File

@@ -1,5 +1,21 @@
# What a keyframe time is worth, and what shape the ramp has
> ## ✅ 2026-08-29 — the argument on this page about WHICH BLOCK OWNS A TIME is over
>
> It was never a choice between two readings. A placement group is
> `frames` records of `{u32 time; 36-byte pose}` after an 8-byte header, so the
> time word **precedes** its pose; the group's "lead-in word" is pose 0's time,
> and **no** time is missing. `SYLPHEED_KF_TIME_SHIFT` had the association right
> and pose 0 untimed, which is the only reason it looked like it cost build 7
> 13.1 % of its pixels. Decoded disc-wide, with controls, in
> [`ui-keyframe-record-layout.md`](ui-keyframe-record-layout.md); the gate is now
> `SYLPHEED_KF_TIME_LEGACY=1`.
>
> **Everything else on this page stands** — the ramp is linear, the clock advances
> 2 units per submitted frame, and `1 unit = 1/60 s` is measured. Read the
> sections below with that correction applied: where a table pairs a time with a
> pose, the pairing is the corrected one.
**Status:** ✅ `CONFIRMED` for the two things the port is blocked on — the ramp is
**linear**, and the animation clock advances **2 keyframe time units per frame the
game submits**. 🟡 the conversion to *seconds* rests on one further step: the game