This commit is contained in:
gpt-engineer-app[bot]
2026-02-28 00:49:38 +00:00
parent fcc6856f4d
commit 89fbd4636f
3 changed files with 167 additions and 16 deletions
+16 -2
View File
@@ -2,7 +2,7 @@ import { useState } from 'react';
import {
Eye, LayoutGrid, Grid3X3, Box, Ruler, Trash2, Camera,
Move, RotateCw, RefreshCw, ChevronUp, ChevronDown, Grip,
ClipboardCheck, X,
ClipboardCheck, X, Crosshair,
} from 'lucide-react';
import { Button } from '@/components/ui/button';
import { Slider } from '@/components/ui/slider';
@@ -17,9 +17,11 @@ const ROTATION_STEP = 0.1;
interface XRHudProps {
freeMove: boolean;
onToggleFreeMove: () => void;
placementMode?: boolean;
onTogglePlacement?: () => void;
}
export function XRHud({ freeMove, onToggleFreeMove }: XRHudProps) {
export function XRHud({ freeMove, onToggleFreeMove, placementMode = false, onTogglePlacement }: XRHudProps) {
const [expanded, setExpanded] = useState(false);
const [checklistOpen, setChecklistOpen] = useState(false);
@@ -147,6 +149,18 @@ export function XRHud({ freeMove, onToggleFreeMove }: XRHudProps) {
{expanded ? <ChevronDown className="h-4 w-4" /> : <ChevronUp className="h-4 w-4" />}
</Button>
{/* Hit-test placement toggle */}
{onTogglePlacement && (
<Button
variant={placementMode ? 'default' : 'outline'}
size="sm" className="h-8 gap-1.5 text-[10px] font-mono"
onClick={onTogglePlacement}
>
<Crosshair className="h-3.5 w-3.5" />
{placementMode ? 'Posicionar…' : 'Reposicionar'}
</Button>
)}
<Button
variant={freeMove ? 'default' : 'outline'}
size="sm" className="h-8 gap-1.5 text-[10px] font-mono"