/** * Pure geometry math utilities for snap detection. * * All functions are stateless and operate on Vec3 coordinates. */ import type { Vec3 } from './raycaster.js'; /** * Euclidean distance between two points. */ export declare function distance(a: Vec3, b: Vec3): number; /** * Check if two vectors are approximately equal. */ export declare function vecEquals(a: Vec3, b: Vec3, epsilon?: number): boolean; /** * Get closest point on an edge segment with parameter t (0-1). */ export declare function closestPointOnEdgeWithT(point: Vec3, v0: Vec3, v1: Vec3): { point: Vec3; distance: number; t: number; }; /** * Convert a screen-space radius (pixels) to a world-space radius at `dist`. * * `fov` is the vertical field of view in RADIANS — matching `Camera.getFOV()`, * which is the only source of this value (the snap detector passes it straight * through). It used to apply a degrees→radians conversion here, but the camera * already supplies radians, so that shrank every snap radius by ~57× (tan of a * 57×-too-small angle) — snap then needed sub-millimetre precision and fell back * to face hits on anything but a near-perfect cursor, e.g. small bolts. */ export declare function screenToWorldRadius(screenRadius: number, dist: number, fov: number, screenHeight: number): number; //# sourceMappingURL=snap-geometry-utils.d.ts.map