소스 검색

fix: Patch over intersection calculation issue (#8350)

* Patch over intersection calculation issue
Márk Tolmács 1 년 전
부모
커밋
261304c1a4
2개의 변경된 파일11개의 추가작업 그리고 8개의 파일을 삭제
  1. 11 6
      packages/excalidraw/element/binding.ts
  2. 0 2
      packages/excalidraw/element/linearElementEditor.ts

+ 11 - 6
packages/excalidraw/element/binding.ts

@@ -759,6 +759,11 @@ export const bindPointToSnapToElementOutline = (
         [point[0], point[1] + 2 * bindableElement.height],
         FIXED_BINDING_DISTANCE,
         elementsMap,
+      ).map((i) =>
+        distanceToBindableElement(bindableElement, i, elementsMap) >=
+        bindableElement.height / 2
+          ? ([point[0], -1 * i[1]] as Point)
+          : ([point[0], i[1]] as Point),
       ),
       ...intersectElementWithLine(
         bindableElement,
@@ -766,13 +771,13 @@ export const bindPointToSnapToElementOutline = (
         [point[0] + 2 * bindableElement.width, point[1]],
         FIXED_BINDING_DISTANCE,
         elementsMap,
+      ).map((i) =>
+        distanceToBindableElement(bindableElement, i, elementsMap) >=
+        bindableElement.width / 2
+          ? ([-1 * i[0], point[1]] as Point)
+          : ([i[0], point[1]] as Point),
       ),
-    ].map((i) =>
-      distanceToBindableElement(bindableElement, i, elementsMap) >
-      Math.min(bindableElement.width, bindableElement.height) / 2
-        ? ([-1 * i[0], -1 * i[1]] as Point)
-        : i,
-    );
+    ];
 
     const heading = headingForPointFromElement(bindableElement, aabb, point);
     const isVertical =

+ 0 - 2
packages/excalidraw/element/linearElementEditor.ts

@@ -1447,8 +1447,6 @@ export class LinearElementEditor {
             : null;
       }
 
-      console.warn("movePoints", options?.changedElements);
-
       const mergedElementsMap = options?.changedElements
         ? toBrandedType<SceneElementsMap>(
             new Map([...elementsMap, ...options.changedElements]),