diff --git a/src/components/three/XRHudInWorld.tsx b/src/components/three/XRHudInWorld.tsx
index 4f89c49..dd41d6e 100644
--- a/src/components/three/XRHudInWorld.tsx
+++ b/src/components/three/XRHudInWorld.tsx
@@ -328,6 +328,15 @@ function ToolsTab(p: XRHudInWorldProps) {
const setShowGrid = useModelStore((s) => s.setShowGrid);
const measureMode = useModelStore((s) => s.measureMode);
const setMeasureMode = useModelStore((s) => s.setMeasureMode);
+ const selectionMode = useModelStore((s) => s.selectionMode);
+ const setSelectionMode = useModelStore((s) => s.setSelectionMode);
+ const selectedCount = useModelStore((s) => s.selectedElementKeys.size);
+ const hideSelectedElements = useModelStore((s) => s.hideSelectedElements);
+ const isolateSelectedElements = useModelStore((s) => s.isolateSelectedElements);
+ const showAllElements = useModelStore((s) => s.showAllElements);
+ const hasHidden = useModelStore((s) =>
+ s.hiddenElementKeys.size > 0 || s.isolatedElementKeys !== null
+ );
const scaleRatio = useModelStore((s) => s.scaleRatio);
const setScaleRatio = useModelStore((s) => s.setScaleRatio);
const resetScale = useModelStore((s) => s.resetScale);
@@ -353,52 +362,61 @@ function ToolsTab(p: XRHudInWorldProps) {
+
-
+ {/* Selecionar — paridade com a tela inicial */}
+ Selecionar
+ 0 ? `${selectedCount} sel.` : 'Selec…') : 'Selec'}
+ active={selectionMode} onClick={() => setSelectionMode(!selectionMode)} />
+
+
+
+
+
Opacidade {Math.round(opacity * 100)}%
- setOpacity(Math.max(0, opacity - 0.25))} />
- setOpacity(Math.max(0, opacity - 0.05))} />
- setOpacity(Math.min(1, opacity + 0.05))} />
- setOpacity(Math.min(1, opacity + 0.25))} />
- setOpacity(1)} />
-
+
Escala {scaleRatio.label}
{SCALE_LABELS.map((lbl, i) => {
const preset = SCALE_PRESETS.find((sp) => sp.label === lbl)!;
return (
setScaleRatio(preset)} />
);
})}
- {/* Reset Escala — devolve a peça ao tamanho 1:1 (cancela qualquer
- escala manual feita com duas mãos). */}
-
- {/* Limpa todos os labels de medição. */}
-
- {/* Legenda dos controles para Medir */}
{measureMode && (
-
+
Gatilho D: marcar · A: desfazer · B: limpar · Gatilho E: alternar snap
)}
-
- {/* Grid floor controls */}
);