diff --git a/src/LGraphCanvas.ts b/src/LGraphCanvas.ts index 467f86e64..6614236cf 100644 --- a/src/LGraphCanvas.ts +++ b/src/LGraphCanvas.ts @@ -4757,7 +4757,7 @@ export class LGraphCanvas implements ConnectionColorContext { } else { // Calculate start control for the next iter control point const nextPos = reroutes[j + 1]?.pos ?? endPos - const dist = Math.min(80, distance(reroute.pos, nextPos) * 0.25) + const dist = Math.min(Reroute.maxSplineOffset, distance(reroute.pos, nextPos) * 0.25) startControl = [dist * reroute.cos, dist * reroute.sin] } } diff --git a/src/Reroute.ts b/src/Reroute.ts index d5d08578c..17d1106de 100644 --- a/src/Reroute.ts +++ b/src/Reroute.ts @@ -33,6 +33,8 @@ export interface FloatingRerouteSlot { */ export class Reroute implements Positionable, LinkSegment, Serialisable { static radius: number = 10 + /** Maximum distance from reroutes to their bezier curve control points. */ + static maxSplineOffset: number = 80 static drawIdBadge: boolean = false #malloc = new Float32Array(8) @@ -417,7 +419,7 @@ export class Reroute implements Positionable, LinkSegment, Serialisable Math.PI * 0.5) diff += Math.PI - const dist = Math.min(80, distance(linkStart, this.#pos) * 0.25) + const dist = Math.min(Reroute.maxSplineOffset, distance(linkStart, this.#pos) * 0.25) // Store results const originDiff = originToReroute - diff