diff --git a/src/components/three/ModelViewer.tsx b/src/components/three/ModelViewer.tsx index 8af14cd..1ad921e 100644 --- a/src/components/three/ModelViewer.tsx +++ b/src/components/three/ModelViewer.tsx @@ -469,6 +469,52 @@ function ModelMeasurements({ modelId }: { modelId: string }) { ); } +/** Renders snap indicator, hover tooltip, pending point and any *legacy* + * world-frame measurements that aren't attached to a specific model. */ +function HoverLabelOverlay({ hoverInfo }: { hoverInfo: any }) { + const visible = !!hoverInfo; + const position = hoverInfo?.position ?? [0, 0, 0]; + const text = hoverInfo + ? hoverInfo.type === 'hole' + ? `Ø ${hoverInfo.value.toFixed(1)}` + : `${hoverInfo.value.toFixed(1)} mm` + : ''; + const variant = hoverInfo?.type === 'hole' ? 'accent' : 'primary'; + + const dfDynamic = useLabelDistanceFactor(position); + + const borderClass = variant === 'success' + ? 'border-success/60' + : variant === 'accent' + ? 'border-amber-400/70' + : 'border-primary/60'; + const textClass = variant === 'success' + ? 'text-success' + : variant === 'accent' + ? 'text-amber-400' + : 'text-primary'; + + return ( + +