From 0f7dcd5d53d6d5085c5c36f466acae49e2626d0d Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Wed, 13 May 2026 18:36:37 +0200 Subject: [PATCH] Refactor junction mesh geometry calculations and remove transition UV distance helper --- src/geometry/spline-corridor-junction-mesh.ts | 31 ++++++------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/src/geometry/spline-corridor-junction-mesh.ts b/src/geometry/spline-corridor-junction-mesh.ts index 8180a714..557507da 100644 --- a/src/geometry/spline-corridor-junction-mesh.ts +++ b/src/geometry/spline-corridor-junction-mesh.ts @@ -296,15 +296,15 @@ function getConnectionMiterDistance(options: { x: roadOuterPoint.x - segmentOuterStart.x, z: roadOuterPoint.z - segmentOuterStart.z }; - const rawDistance = - crossXZVector(delta, roadTangent) / denominator - - dotXZVector( - { - x: options.point.x - options.segmentStart.x, - z: options.point.z - options.segmentStart.z - }, - options.segmentDirection - ); + const intersectionDistance = crossXZVector(delta, roadTangent) / denominator; + const pointDistance = dotXZVector( + { + x: options.point.x - options.segmentStart.x, + z: options.point.z - options.segmentStart.z + }, + options.segmentDirection + ); + const rawDistance = Math.abs(intersectionDistance - pointDistance); return Math.min( options.segmentLength * 0.45, @@ -396,19 +396,6 @@ export function buildSplineCorridorJunctionEdgeMeshData(options: { return rowOffset; } - function getTransitionUvDistance( - firstNormal: { x: number; z: number }, - secondNormal: { x: number; z: number } - ): number { - return Math.max( - 0.01, - Math.hypot( - (firstNormal.x - secondNormal.x) * options.edge.width, - (firstNormal.z - secondNormal.z) * options.edge.width - ) - ); - } - for (let pointIndex = 0; pointIndex < footprint.points.length; pointIndex += 1) { if (isRoadMouthSegment(footprint.points, pointIndex)) { continue;