Skip to content

fix(transform): smooth sampling uses no edge margins, so the Start corner click works (#393) - #394

Merged
Maxaubert merged 4 commits into
mainfrom
fix/393-corner-click
Oct 9, 2026
Merged

Maxaubert merged 4 commits into
mainfrom
fix/393-corner-click

Conversation

@Maxaubert

Copy link
Copy Markdown
Owner

Fixes #393.

Problem

Zoomed, a click in the bottom-left corner did not open Start. Unzoomed it does, and native Magnifier opens it at 2x, 3x, 11x and 16x.

Cause

Two margins keep desktop texels out of the zoomed view:

The pointer-framework hit-test ignores a pointer outside the view, so the corner pixel was dead. Field probes on 2026-10-09: either margin alone kills the corner; both at 0 fix it. Native's rect always reaches column 0 and row 2160.

Fix

EdgeMarginsFor(samplingMode, txEdgeMargin) picks the margins:

  • smooth: 0 and 0, native's exact rect. It clamps to edge and survives the far corner, as native does.
  • nearest (and an unset mode): 1 and 2 as before. Both margins defend the nearest path (grey edge line; the 16-bit driver reset).

Used by the tick writer and the hook writer.

Tests

  • Unit suite: 596 cases pass, with new cases for EdgeMarginsFor and the corner pixel at 2x to 16x.
  • Full app build OK.
  • Field: the corner opened Start with both margins at 0 (hot ini prototype). The integration build with this branch is deployed for a final check.

Note: when #388 merges, it deletes hook_transform.*; the hook hunks here then drop.

🤖 Generated with Claude Code

https://claude.ai/code/session_011zPmivSAQeivGUdBjTsaMu

Maxaubert and others added 4 commits October 9, 2026 20:47
…rner click works (#393)

Both the low-side edge margin and the right/bottom TDR margin keep desktop
texels out of the zoomed view, and the pointer-framework hit-test ignores a
pointer outside it: zoomed, the bottom-left corner click never reached
Start. Both margins defend the nearest path only. Smooth sampling now uses
native Magnifier's exact rect (0 and 0); nearest keeps 1 and 2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011zPmivSAQeivGUdBjTsaMu
The input-transform publish used the unclamped source rounded to nearest,
while the visual write floors at the far edge (and the 16-bit backstop can
move it further), so hover hit-testing sat up to a source pixel off along
the right/bottom edge. Publish the offsets actually written. Review of #394.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011zPmivSAQeivGUdBjTsaMu
# Conflicts:
#	src/hook_transform.cpp
#	src/hook_transform.h
#	src/main.cpp
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011zPmivSAQeivGUdBjTsaMu
@Maxaubert
Maxaubert merged commit cba0b46 into main Oct 9, 2026
1 check passed
@Maxaubert
Maxaubert deleted the fix/393-corner-click branch October 9, 2026 21:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Zoomed: a click in the bottom-left corner does not open Start

1 participant