Co-authored-by: Reifonas <211114984+Reifonas@users.noreply.github.com>
This commit is contained in:
gpt-engineer-app[bot]
2026-05-21 16:57:29 +00:00
parent e9046b6aa7
commit 1e56e584e3
+1 -6
View File
@@ -712,10 +712,8 @@ function SelectionHandler() {
if (o.geometry instanceof THREE.PlaneGeometry) return false;
return true;
});
console.log('[Selection] click', { intersects: intersects.length, hit: !!hit, hitName: hit?.object?.name, hitUserData: hit?.object?.userData });
if (!hit) return;
// Walk up to find ifcElement node AND the GLBModel root (carrying modelId)
let cur: THREE.Object3D | null = hit.object;
let element: THREE.Object3D | null = null;
let modelId: string | null = null;
@@ -724,13 +722,10 @@ function SelectionHandler() {
if (!modelId && cur.userData?.modelId) modelId = cur.userData.modelId as string;
cur = cur.parent;
}
console.log('[Selection] walked', { foundIfcElement: !!element, modelId, elementName: element?.name });
// Non-IFC fallback: pick the mesh itself
if (!element) element = hit.object;
if (!modelId) modelId = useModelStore.getState().activeModelId;
if (!modelId || !element) { console.log('[Selection] aborted: no modelId/element'); return; }
if (!modelId || !element) return;
const key = elementKey(modelId, element);
console.log('[Selection] toggling', key);
useModelStore.getState().toggleElementSelection(key);
};