You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(library): reserve an endpoint zone so no bend handle ever starves a grip
My previous fix only covered lone straight edges; a short PINNED S-jog (diagram 79)
still starved both endpoint grips to 0px, because a bend handle on its terminal stub
AND one on its 5px inner jog sat right on top of the endpoints. The root cause is
universal: nothing kept bend handles clear of the endpoints, so on any short or
crowded edge a handle lands inside an endpoint's grip zone and the reconnect target
(drawn on top) caps the grip to nothing.
Generalise "endpoints first" to every segment: each endpoint reserves a run along the
edge (ENDPOINT_HANDLE_RESERVE_PX), and ANY bend handle — terminal, inner or lone —
whose position falls within that reserve of either endpoint is withheld. The endpoints
then own their ends; every handle that survives sits clear in the middle at a usable
size. This replaces the narrower lone-segment rule. A short terminal stub (~30px) no
longer exposes a bend handle — its handle only gave a ~7px grip anyway — so the
endpoint grip is legible instead.
Diagram 79 grips: 0px → visible; a long edge still keeps its centre bend handle.
Updated the bend-handle unit tests to the endpoint-reserve behaviour and the
consecutive-bend e2e to grab a reshaping handle (short stubs no longer expose one);
added the pinned-jog e2e case. 1519 unit, handle + fresh-bend + interaction e2e green,
gate 23/23.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments