diff --git a/docs/port/HANDOFF.md b/docs/port/HANDOFF.md index 54173498..760f6870 100644 --- a/docs/port/HANDOFF.md +++ b/docs/port/HANDOFF.md @@ -805,6 +805,36 @@ one level, parent alpha **0** throughout. **(200, 90)** against a 399×180 sprite — the pivot *is* the centre, so rotation displaces it by nothing. +## ✅ 2026-08-29 — how much of `title`'s residual the rotation would actually buy + +Measured, because the rotation decision needs a size and not just a direction — +[`title-residual-tone-vs-geometry.md`](../re/structures/title-residual-tone-vs-geometry.md). + +A **per-level LUT** fitted on a screen is the most general tone model possible, +so whatever it cannot close is **by construction spatial**. Fitting it on the +screen itself bounds the tone share from above: + +| | closed by a self-fitted tone LUT | +|---|---| +| **main menu** (positive control — your 0.06 %, so geometry is right) | **70.3 %** | +| **title** | **32.0 %** | + +🔴 **So at most a third of the title's disagreement is tone, and at least two +thirds is geometry** — content in the wrong place. The rotation is the dominant +term by roughly two to one, and the fitted LUT is generous to tone, so the real +geometry share is larger. + +⚠️ **And do NOT carry a global tone correction.** Fitting on the title and +applying to the menu closes 29.7 %; fitting on the menu and applying to the title +makes it **24 % worse**. A curve fitted on a dark flat screen is unconstrained at +the bright end and actively harms elsewhere. This extends the single-exponent +refutation: **even a full per-level LUT does not transfer between screens.** + +⚠️ Reach: my pairing is looser than yours — same screen, not the same instant — +so the **ratio** is the claim, not the absolute level. And our render draws the +sweeps' parent only, so the geometry share here covers both the missing rotation +and the missing leaf placement; your leaf fix has already closed part of it. + ## Status | | Question | State | Answer / link |