Pad/internal
Greg Pomerantz 7239b1e7ae Handle drags: restore cross-line selection via relative line mapping
The line-lock from the previous fix made anchors immovable across lines —
dragging a handle vertically no longer extended the selection, losing the
native multi-line behaviour.

New contract: a handle anchor moves RELATIVE to its own visual line. The
finger's vertical displacement from the grab position, in whole visual line
heights, selects the target line (under half a line: the anchor's own
line); the finger's x is projected onto that line. A stationary or
horizontal drag never moves the anchor off its line (the grab-box press
stays safe — the original bug is gone), while a deliberate vertical drag
walks the anchor across lines. The mapping is relative, not the finger's
absolute line, because the 48dp grab box is centred below the line: a low
press tracking the finger's absolute line would first drag the anchor the
wrong way, through a collapse, before reaching the anchor's line.

Verified on device: end handle dragged down extends the selection across
the newline; start handle dragged up extends it onto the previous line;
horizontal drags still shrink along the line without clearing. Tests
mutation-verified against both the pre-fix mapping and the
absolute-finger-line variant. Docs section 17 updated.
2026-08-18 13:39:25 -04:00
..
browser chore: remove per-event debug logging from the normal path 2026-08-16 20:58:49 -04:00
editor Handle drags: restore cross-line selection via relative line mapping 2026-08-18 13:39:25 -04:00
io/pool Fix write-concurrency race: per-file write protocol + unique temps 2026-08-17 16:29:47 -04:00
perf perf: default-off in-app profiler + debug scroll jumps; verify scroll perf & clamping 2026-08-16 16:53:28 -04:00
test/e2e Collapse editor top bar to one row (back + filename) 2026-08-18 08:32:19 -04:00
ui Fix selection-handle drags, menu anchoring, and left-edge back-gesture theft 2026-08-18 13:09:29 -04:00