diff --git a/frontend/js/labs/stereo.js b/frontend/js/labs/stereo.js index 0c7f9ba..c401ef9 100644 --- a/frontend/js/labs/stereo.js +++ b/frontend/js/labs/stereo.js @@ -3361,6 +3361,19 @@ class StereoSim { _drawAngleArc(center, dir1, dir2, angleDeg, radius, color) { const n1 = dir1.clone().normalize(); const n2 = dir2.clone().normalize(); + + // Right angle → draw the conventional square corner marker, not an arc. + if (Math.abs(angleDeg - 90) < 0.5) { + const r = radius * 0.7; + const p1 = center.clone().addScaledVector(n1, r); + const p2 = center.clone().addScaledVector(n2, r); + const p3 = p1.clone().addScaledVector(n2, r); // outer corner + const geo = new THREE.BufferGeometry().setFromPoints([p1, p3, p2]); + const mat = new THREE.LineBasicMaterial({ color: new THREE.Color(color), transparent: true, opacity: 0.85 }); + this._angleGroup.add(new THREE.Line(geo, mat)); + return; + } + const angleRad = angleDeg * Math.PI / 180; const steps = Math.max(8, Math.round(angleDeg / 5)); const pts = [];