re: the menu's edge residual is not global misregistration and not blur
sylpheed-port ran the signed-edge discriminator I proposed but could not execute -- it needs their render beside the capture. Recorded as their measurement, with their tool and commit. Controls against deliberately damaged copies of their own render: a known +1 px shift reads back as +0.938 px, a known blur as r -0.896 on the laplacian, neither leaking into the other's channel. The menu against the capture gives -0.010 px horizontal, -0.009 px vertical, laplacian r +0.103 -- and the weak blur term is the opposite sign to the blur control. So global misregistration and blur are both excluded, and of the three candidates I named the misplaced soft element is the only one left. Reach is the whole reach: a whole-frame fit excludes a global translation, not a local one, since one misplaced element is a small share of 38752 edge pixels. The next test is local and needs the residual map, which is theirs. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
This commit is contained in:
@@ -110,3 +110,36 @@ screens. **A consumer must not carry a global tone correction.**
|
||||
* Our render draws the sweeps' **parent** record only — the pre-leaf-fix state —
|
||||
so the geometry share measured here includes both the missing rotation and the
|
||||
missing leaf placement. Both are closed by the same decision.
|
||||
|
||||
## ✅ The menu's edge residual is NOT global misregistration, and not blur
|
||||
|
||||
**Measured by `sylpheed-port`** (`tools/port/edge-residual-kind`, branch
|
||||
`auto/port-p6-audio` at `f4351b0`), running the discriminator I proposed but could
|
||||
not execute — it needs their render beside the capture, which I do not have.
|
||||
Recorded as their measurement.
|
||||
|
||||
The test, made concrete: a shift by `(dx,dy)` makes the **signed** residual track
|
||||
the **gradient**, and the fitted slope *is* the shift in pixels; a blur makes it
|
||||
track the **laplacian**, symmetric and directionless.
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| **control** — a known +1 px shift | reads back **+0.938 px** (r +0.789) |
|
||||
| **control** — a known blur | **r −0.896** on the laplacian |
|
||||
| neither leaked into the other's channel | ✅ |
|
||||
| **`main_menu` vs the capture** | **−0.010 px** horizontal, **−0.009 px** vertical; laplacian **r +0.103** |
|
||||
|
||||
❌ **Global misregistration is excluded**: any whole-frame translation is under a
|
||||
hundredth of a pixel, against a control that reads a true 1 px at 0.938.
|
||||
❌ **Blur is excluded**: the weak laplacian term is the **opposite sign** to the
|
||||
blur control, so the capture is not a softened render either.
|
||||
|
||||
⚠️ **The reach is the whole reach: this is a WHOLE-FRAME fit.** One misplaced
|
||||
element is a small share of 38 752 edge pixels and would not move these numbers. It
|
||||
excludes a **global** translation, not a **local** one.
|
||||
|
||||
📌 **So of the three candidates I named — misregistration, antialiasing, a misplaced
|
||||
soft element — the third survives, and it is the only one left.** The next test is
|
||||
necessarily **local**: where does the edge residual concentrate spatially, and does
|
||||
that region correspond to one element? ⚠️ That needs the residual map, which is on
|
||||
the port's side; I can state the test and cannot run it.
|
||||
|
||||
Reference in New Issue
Block a user