From 049104b9afbd86ef6e4c98268115e3a624ffe897 Mon Sep 17 00:00:00 2001 From: Mark Tolmacs Date: Wed, 29 Jan 2025 12:02:06 +0100 Subject: [PATCH] [skip ci] Refactor --- packages/excalidraw/element/binding.ts | 3 ++- packages/excalidraw/element/collision.ts | 10 +++++----- packages/excalidraw/element/distance.ts | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/excalidraw/element/binding.ts b/packages/excalidraw/element/binding.ts index 54bf4c3770..118323b68b 100644 --- a/packages/excalidraw/element/binding.ts +++ b/packages/excalidraw/element/binding.ts @@ -76,7 +76,7 @@ import { intersectElementWithLine } from "./collision"; import { RoughGenerator } from "roughjs/bin/generator"; import { _generateElementShape } from "../scene/Shape"; import { COLOR_PALETTE } from "../colors"; -import { debugDrawPoint } from "../visualdebug"; +import { debugClear, debugDrawPoint } from "../visualdebug"; export type SuggestedBinding = | NonDeleted @@ -1313,6 +1313,7 @@ const updateBoundPoint = ( pointDistanceSq(g!, edgePointAbsolute) - pointDistanceSq(h!, edgePointAbsolute), ); + debugClear(); debugDrawPoint(focusPointAbsolute, { color: "red", permanent: true }); newEdgePoint = intersections[0]; } diff --git a/packages/excalidraw/element/collision.ts b/packages/excalidraw/element/collision.ts index ad55ad0791..1397583201 100644 --- a/packages/excalidraw/element/collision.ts +++ b/packages/excalidraw/element/collision.ts @@ -212,7 +212,7 @@ const intersectRectanguloidWithLine = ( -element.angle as Radians, ); const roundness = getCornerRadius( - Math.min(element.width + 2 * offset, element.height + 2 * offset), + Math.min(element.width * offset, element.height * offset), element, ); @@ -264,10 +264,10 @@ const intersectRectanguloidWithLine = ( ] : []; - debugClear(); - sides.forEach((s) => debugDrawLine(s, { color: "red", permanent: true })); - corners.forEach((s) => debugDrawArc(s, { color: "green", permanent: true })); - debugDrawLine(line(rotatedA, rotatedB), { color: "blue", permanent: true }); + // debugClear(); + // sides.forEach((s) => debugDrawLine(s, { color: "red", permanent: true })); + // corners.forEach((s) => debugDrawArc(s, { color: "green", permanent: true })); + // debugDrawLine(line(rotatedA, rotatedB), { color: "blue", permanent: true }); const sideIntersections: GlobalPoint[] = sides .map((s) => diff --git a/packages/excalidraw/element/distance.ts b/packages/excalidraw/element/distance.ts index 72b2cdaf49..a28350e130 100644 --- a/packages/excalidraw/element/distance.ts +++ b/packages/excalidraw/element/distance.ts @@ -32,7 +32,7 @@ export const distanceToBindableElement = ( case "embeddable": case "frame": case "magicframe": - return distanceToRectangleElement(element, p); + return distanceToRectanguloidElement(element, p); case "diamond": return distanceToDiamondElement(element, p); case "ellipse": @@ -48,7 +48,7 @@ export const distanceToBindableElement = ( * @param p The point to consider * @returns The eucledian distance to the outline of the rectanguloid element */ -export const distanceToRectangleElement = ( +export const distanceToRectanguloidElement = ( element: ExcalidrawRectanguloidElement, p: GlobalPoint, ) => {