mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
Shift pressed while dragging a segment had no effect on the curve: Direct Selection's curved-segment and spine-segment drags, the Anchor Point tool and the Pen with Alt sent the pointer offset alone, and the segment bent freely. The reference app keeps the handles in the perpendicular direction and of equal length while Shift is held. path.reshapeSegment and object.blend.spine.reshapeSegment take perpendicular (default false, which keeps today's behavior). With it, both of the segment's handles stand at right angles to the line between its anchors, on the same side and at the same length, and the point at t lies as far from that line as the moved point does. A smooth anchor at either end stays smooth, as it does in a drag without perpendicular, and a segment whose anchors coincide bends as it does without perpendicular. With Direct Selection, Shift pressed once a curved segment's drag has started sends perpendicular; Shift held at the press still toggles the path's selection, as before. Direct Selection's spine-segment drag and the Anchor Point tool's segment drag send Shift as perpendicular too, so the Pen with Alt does as well. A straight segment dragged with Direct Selection already moves at 45° steps with Shift. Docs: docs/mcp.md, docs/target-app-parity.md.