type Vec3 = [number, number, number]; /** * NavMesh.ts * * Navigation mesh: polygon regions, walkable areas, * point-in-polygon checks, and nearest-point queries. * * @module navigation */ export type NavPoint = Vec3; export interface NavPolygon { id: string; vertices: NavPoint[]; neighbors: string[]; walkable: boolean; cost: number; center: NavPoint; tag?: string; } export interface NavMeshData { polygons: NavPolygon[]; bounds: { min: NavPoint; max: NavPoint; }; } export declare class NavMesh { private polygons; private toArr3; addPolygon(vertices: Array, walkable?: boolean, cost?: number): NavPolygon; removePolygon(id: string): boolean; connectPolygons(id1: string, id2: string): void; getPolygon(id: string): NavPolygon | undefined; getPolygonCount(): number; /** * Find which polygon contains the given point (2D, ignoring Y/altitude). * Note: HoloScript standard is [x, y, z] where y is up. */ findPolygonAtPoint(point: NavPoint | { x: number; y: number; z: number; }): NavPolygon | null; /** * Find the nearest walkable polygon center to a point. */ findNearestPolygon(point: NavPoint | { x: number; y: number; z: number; }): NavPolygon | null; /** * Get walkable neighbor polygons. */ getWalkableNeighbors(polyId: string): NavPolygon[]; export(): NavMeshData; private computeCenter; private isPointInPolygon2D; private dist; } export {}; //# sourceMappingURL=NavMesh.d.ts.map