diff --git a/src/stores/useModelStore.ts b/src/stores/useModelStore.ts index abdf245..79612aa 100644 --- a/src/stores/useModelStore.ts +++ b/src/stores/useModelStore.ts @@ -33,7 +33,7 @@ function saveXRFeatures(f: XRFeatureFlags) { try { localStorage.setItem(XRFEAT_KEY, JSON.stringify(f)); } catch {} } -interface StoredPlacement { fineTuning: FineTuning; } +interface StoredPlacement { fineTuning: FineTuning; calibrationQuat?: [number, number, number, number] | null; } function loadPlacements(): Record { try { const raw = localStorage.getItem(PLACEMENT_KEY); @@ -41,10 +41,14 @@ function loadPlacements(): Record { } catch {} return {}; } -function savePlacement(fileName: string, fineTuning: FineTuning) { +function savePlacement(fileName: string, fineTuning: FineTuning, calibrationQuat?: [number, number, number, number] | null) { try { const all = loadPlacements(); - all[fileName] = { fineTuning }; + const prev = all[fileName] ?? { fineTuning }; + all[fileName] = { + fineTuning, + calibrationQuat: calibrationQuat === undefined ? prev.calibrationQuat ?? null : calibrationQuat, + }; localStorage.setItem(PLACEMENT_KEY, JSON.stringify(all)); } catch {} }