import { Move, RotateCw, RefreshCw } from 'lucide-react';
import { Button } from '@/components/ui/button';
import { useModelStore } from '@/stores/useModelStore';
const POSITION_STEP = 0.001; // 1mm
const ROTATION_STEP = 0.1; // 0.1°
function StepButton({ label, onClick }: { label: string; onClick: () => void }) {
return (
);
}
function AxisControl({
axis,
value,
unit,
onIncrement,
onDecrement,
displayValue,
}: {
axis: string;
value: number;
unit: string;
onIncrement: () => void;
onDecrement: () => void;
displayValue: string;
}) {
return (
{axis}
{displayValue}{unit}
);
}
export function FineTuningControls() {
const { fineTuning, setFineTuning, resetFineTuning, scaleRatio } = useModelStore();
return (
Ajuste Fino
{scaleRatio.label}
{/* Position */}
Posição (±1mm)
setFineTuning({ posX: fineTuning.posX + POSITION_STEP })}
onDecrement={() => setFineTuning({ posX: fineTuning.posX - POSITION_STEP })}
/>
setFineTuning({ posY: fineTuning.posY + POSITION_STEP })}
onDecrement={() => setFineTuning({ posY: fineTuning.posY - POSITION_STEP })}
/>
setFineTuning({ posZ: fineTuning.posZ + POSITION_STEP })}
onDecrement={() => setFineTuning({ posZ: fineTuning.posZ - POSITION_STEP })}
/>
{/* Rotation */}
Rotação Y (±0.1°)
setFineTuning({ rotY: fineTuning.rotY + ROTATION_STEP })}
onDecrement={() => setFineTuning({ rotY: fineTuning.rotY - ROTATION_STEP })}
/>
No Quest 3: Grip + Joystick esq. = X/Y, Joystick dir. = Z/Rotação
);
}