From cbfeee3078686f3e71fb7f404195401e28a84826 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Sun, 24 May 2026 19:34:13 +0000 Subject: [PATCH] Changes Co-authored-by: Reifonas <211114984+Reifonas@users.noreply.github.com> --- src/stores/useModelStore.ts | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/stores/useModelStore.ts b/src/stores/useModelStore.ts index 1432d84..abdf245 100644 --- a/src/stores/useModelStore.ts +++ b/src/stores/useModelStore.ts @@ -418,8 +418,11 @@ export const useModelStore = create((set, get) => ({ fineTuning: { ...defaultFineTuning }, setFineTuning: (ft) => set((state) => { - const newFT = { ...state.fineTuning, ...ft }; const activeId = state.activeModelId; + const activeBefore = state.models.find(m => m.id === activeId); + // Lock guard: when the active model is locked, ignore any movement/scale change. + if (activeBefore?.locked) return {}; + const newFT = { ...state.fineTuning, ...ft }; const models = activeId ? state.models.map(m => m.id === activeId ? { ...m, fineTuning: newFT } : m) : state.models; @@ -429,8 +432,10 @@ export const useModelStore = create((set, get) => ({ return { fineTuning: newFT, models }; }), resetFineTuning: () => set((state) => { - const reset = { ...defaultFineTuning }; const activeId = state.activeModelId; + const activeBefore = state.models.find(m => m.id === activeId); + if (activeBefore?.locked) return {}; + const reset = { ...defaultFineTuning }; const models = activeId ? state.models.map(m => m.id === activeId ? { ...m, fineTuning: reset } : m) : state.models; @@ -449,11 +454,17 @@ export const useModelStore = create((set, get) => ({ setXrSupported: (xrSupported) => set({ xrSupported }), scaleRatio: SCALE_PRESETS.find(p => p.label === '1:1')!, - setScaleRatio: (scaleRatio) => set({ scaleRatio }), + setScaleRatio: (scaleRatio) => set((state) => { + const activeBefore = state.models.find(m => m.id === state.activeModelId); + if (activeBefore?.locked) return {}; + return { scaleRatio }; + }), scaleResetNonce: 0, resetScale: () => set((state) => { - const oneToOne = SCALE_PRESETS.find(p => p.label === '1:1')!; const activeId = state.activeModelId; + const activeBefore = state.models.find(m => m.id === activeId); + if (activeBefore?.locked) return {}; + const oneToOne = SCALE_PRESETS.find(p => p.label === '1:1')!; const models = activeId ? state.models.map(m => m.id === activeId ? { ...m, fineTuning: { ...m.fineTuning, scale: 1 } }