F6 is a clock question, not an effect question: the human confirms the light animation itself looks like the game's and only starts earlier, and separately that the port may be running it faster (flagged by them as an impression). The port passed time_units straight to the leaf, which is an assumption -- offset 0, rate 1 -- that nobody measured and that the Decoder's capture contradicts: the game's leaf t=0 is its first drawn frame, 40 frames after the title's first element, at a rate measuring well below the title's. ScreenView.leaf_clock(screen_units) applies an origin and a rate; both default to -1.0 meaning unmeasured, in which case it is the identity and behaviour is unchanged. Fed from authored/rendering.json leaf_clock per screen, currently null with the provenance recorded. No placeholder values, per F1: an invented constant here is indistinguishable from a measured one later. Verified inert: title rendered at t=2/3/4 s, 0 differing pixels against captures taken before the change. Also corrected in the process: my earlier 'the sweep enters the viewport at t=61' used the UNROTATED sprite width. The leaf carries a 30 deg rest rotation, so its AABB is 886 px against a 399 px sprite -- matching the Decoder's measured ~890 to within 4 px. Port and game both put the quad on screen at leaf t~0, so the whole discrepancy is the leaf clock's origin and rate.
Authored decisions
Everything here is a decision we made, not something the disc said. It is
hand-written, committed, and survives a re-export — unlike export/, which is
regenerated wholesale and must never be hand-edited.
Every entry carries a why. When the RE agent decodes the real answer, delete
the entry and let the exporter emit it; that deletion is the measure of
progress.
See docs/FORMAT.md for the schemas and docs/BLOCKED.md for which HANDOFF
question each placeholder is standing in for.