From cfaabf546ec4f76ad9fe4a0d77a850cb69837811 Mon Sep 17 00:00:00 2001 From: Mark Tolmacs Date: Tue, 22 Apr 2025 19:20:20 +0200 Subject: [PATCH] Fix snapping at diamond edges --- packages/element/src/binding.ts | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/packages/element/src/binding.ts b/packages/element/src/binding.ts index d63b1c043a..88100cc8b2 100644 --- a/packages/element/src/binding.ts +++ b/packages/element/src/binding.ts @@ -44,7 +44,6 @@ import { intersectElementWithLineSegment } from "./collision"; import { distanceToBindableElement } from "./distance"; import { headingForPointFromElement, - headingIsHorizontal, vectorToHeading, type Heading, } from "./heading"; @@ -923,23 +922,16 @@ export const bindPointToSnapToElementOutline = ( let intersection: GlobalPoint | null = null; if (elbowed) { - const isHorizontal = headingIsHorizontal( - headingForPointFromElement(bindableElement, aabb, globalP), - ); - const otherPoint = pointFrom( - isHorizontal ? center[0] : edgePoint[0], - !isHorizontal ? center[1] : edgePoint[1], - ); intersection = intersectElementWithLineSegment( bindableElement, lineSegment( - otherPoint, + center, pointFromVector( vectorScale( - vectorNormalize(vectorFromPoint(edgePoint, otherPoint)), + vectorNormalize(vectorFromPoint(edgePoint, center)), Math.max(bindableElement.width, bindableElement.height) * 2, ), - otherPoint, + center, ), ), )[0];