From 2c20de977cd5384e373bbfb77f41955117d126d6 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Tue, 12 May 2026 22:27:59 +0200 Subject: [PATCH] Enhance visual feedback and rendering of path segments and points --- src/viewport-three/viewport-host.ts | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/viewport-three/viewport-host.ts b/src/viewport-three/viewport-host.ts index db253153..b5d172a8 100644 --- a/src/viewport-three/viewport-host.ts +++ b/src/viewport-three/viewport-host.ts @@ -10932,6 +10932,16 @@ export class ViewportHost { selected ? PATH_SELECTED_COLOR : hovered ? PATH_HOVERED_COLOR : PATH_COLOR ); + for (const segment of renderObjects.segments) { + segment.mesh.material.color.setHex( + selected + ? PATH_SELECTED_COLOR + : hovered + ? PATH_HOVERED_COLOR + : PATH_COLOR + ); + } + for (const pointMesh of renderObjects.pointMeshes) { const pointSelected = isPathPointSelected( this.currentSelection, @@ -10951,6 +10961,13 @@ export class ViewportHost { ? PATH_POINT_HOVERED_COLOR : PATH_POINT_COLOR ); + pointMesh.outlineMesh.scale.setScalar( + pointSelected + ? PATH_POINT_SELECTED_SCALE + : pointHovered + ? PATH_POINT_HOVERED_SCALE + : 1 + ); pointMesh.mesh.scale.setScalar( pointSelected ? PATH_POINT_SELECTED_SCALE @@ -11310,7 +11327,14 @@ export class ViewportHost { ), ...Array.from(this.pathRenderObjects.values(), (renderObjects) => [ renderObjects.line, - ...renderObjects.pointMeshes.map((pointMesh) => pointMesh.mesh) + ...renderObjects.segments.flatMap((segment) => [ + segment.outlineMesh, + segment.mesh + ]), + ...renderObjects.pointMeshes.flatMap((pointMesh) => [ + pointMesh.outlineMesh, + pointMesh.mesh + ]) ]).flat(), ...Array.from( this.terrainRenderObjects.values(),