From c4c9962584d7630ea7cd176199c937a6f696b21b Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Thu, 21 May 2026 14:50:03 +0000 Subject: [PATCH] Changes Co-authored-by: Reifonas <211114984+Reifonas@users.noreply.github.com> --- src/stores/useModelStore.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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;