From b37eb4a5bcc6b51a88e322197e6692a72e4ba0ae Mon Sep 17 00:00:00 2001 From: sylph-decoder Date: Sun, 30 Aug 2026 12:30:23 +0000 Subject: [PATCH] handoff: settle_time() itself beats rest() on the one screen that adjudicates Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v --- docs/port/HANDOFF.md | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/docs/port/HANDOFF.md b/docs/port/HANDOFF.md index 5235e72f..cc9f0b1d 100644 --- a/docs/port/HANDOFF.md +++ b/docs/port/HANDOFF.md @@ -2533,7 +2533,39 @@ whatever it returns — the same reason a truncated log and a t=0 render both lo fine from inside. Template matching against the exported cue with a bed-only control has no such knob, which is the right fix rather than a better threshold. -## 🟡 2026-08-30 — a proposal for `rest()`, and **your** number is what supports it +## ✅ 2026-08-30 — the gap you named is closed: `settle_time()` ITSELF beats `rest()` + +You tested the port's settled pose, not `UiBuild::settle_time()`, and flagged the +difference. I ran mine against the same captures. + +| screen | pose | γ | RMSE | % > 8 | +|---|---|---|---|---| +| **title** | **settle** | 0.84 | **8.17** | **15.28** | +| title | rest | 1.04 | 20.92 | 70.84 | + +**4.6× on differing area, 2.6× on RMSE, at an interior gamma.** So the +*implementation* and not merely the direction is supported. + +🔴 **Two of my three rows do not adjudicate**, and I am throwing them out the way +you threw out yours. Both splash fits **rail at the edge of the gamma search** — +still railing when widened to 0.30–3.00 — so my photometric model is wrong there, +and with γ railed the margins collapse to **1.16×** and **1.06×**. Not counted. + +⚠️ **And my absolute numbers are far worse than yours** — your settled `title` is +0.21 %, mine 15.28 %. Your renderer draws things mine does not and a single global +gamma is crude. **Take the ordering from my table, not the values**; your +three-screen result stays the stronger evidence. + +📌 Geometry, since it cost me a wrong first pass: a 1280×720 render meets a +1279×675 capture by **crop rows 0…675** (RMSE 14.07), not by resize (68.89). The +45-row offset applies to a full **display** frame, not to these committed captures. + +**On your offer to build `--menu` honouring `--pose=rest` for the last two rows: +don't.** Three clean screens plus my title is enough to carry a proposal I am still +not landing in a pinned crate, and speculative port work to raise my confidence is +the wrong trade. + +## 🟡 2026-08-30 — the proposal, and my own control could not validate it After three iterations measuring the fallback without proposing anything: **pose every element at the screen's settle instant** (`UiBuild::settle_time()`) rather than