diff --git a/src/components/three/XRControllerMeasure.tsx b/src/components/three/XRControllerMeasure.tsx index 668bb68..be27487 100644 --- a/src/components/three/XRControllerMeasure.tsx +++ b/src/components/three/XRControllerMeasure.tsx @@ -44,6 +44,11 @@ export function XRControllerMeasure() { const laserMat = useRef(new THREE.LineBasicMaterial({ color: '#22c55e', transparent: true, opacity: 0.7, depthTest: false })); const tipColor = useRef(new THREE.Color('#22c55e')); + // Dwell detection for hover-based smart measurement (1 s) + const dwellPos = useRef(new THREE.Vector3(Infinity, Infinity, Infinity)); + const dwellStart = useRef(0); + const dwellFired = useRef(false); + useFrame((_state, _dt, frame: XRFrame | undefined) => { const measureMode = useModelStore.getState().measureMode; if (laserRef.current) laserRef.current.visible = false;