diff --git a/src/components/three/ModelViewer.tsx b/src/components/three/ModelViewer.tsx index 1d39073..bd176c3 100644 --- a/src/components/three/ModelViewer.tsx +++ b/src/components/three/ModelViewer.tsx @@ -281,7 +281,8 @@ function GLBModel({ sceneModel, isActive }: { sceneModel: SceneModel; isActive: const wq = new THREE.Quaternion(); (calGroupRef.current ?? e.object).getWorldQuaternion(wq); pushModelFaceNormal(n, wq); - if ((calibration.step as string) === 'done') { + // Apply / refresh calibration whenever we have ≥2 pairs. + if (calibration.pairs.length >= 2) { const q = computeCalibrationQuaternion(calibration.pairs); if (q) { useModelStore.getState().setCalibration(sceneModel.id, [q.x, q.y, q.z, q.w]);