diff --git a/src/stores/useModelStore.ts b/src/stores/useModelStore.ts index 48f3b8d..5589f7f 100644 --- a/src/stores/useModelStore.ts +++ b/src/stores/useModelStore.ts @@ -244,6 +244,23 @@ interface ModelStore { setMeasureMode: (on: boolean) => void; positionMode: boolean; setPositionMode: (on: boolean) => void; + + // ── Selection (hide/isolate/export elements) ──────────── + selectionMode: boolean; + setSelectionMode: (on: boolean) => void; + /** Keys: `${modelId}:${ifcId|name|uuid}` */ + selectedElementKeys: Set; + /** Hidden element keys, per-active-model file (persisted by fileName). */ + hiddenElementKeys: Set; + /** When non-null, only these keys are visible (isolation). */ + isolatedElementKeys: Set | null; + toggleElementSelection: (key: string) => void; + clearElementSelection: () => void; + hideSelectedElements: () => void; + isolateSelectedElements: () => void; + showAllElements: () => void; + /** Bump whenever visibility/selection state changes — viewer re-applies. */ + visibilityNonce: number; measurePoints: MeasurePoint[]; addMeasurePoint: (p: MeasurePoint) => void; undoLastMeasurePoint: () => void;