/** * LODManager.ts * * Level-of-detail management: distance-based LOD selection, * transition blending, hysteresis, and per-object bias config. * * @module world */ export interface LODLevel { level: number; maxDistance: number; meshDetail: number; } export interface LODObject { id: string; position: [number, number, number]; currentLevel: number; levels: LODLevel[]; bias: number; visible: boolean; transitionAlpha: number; } export interface LODConfig { defaultLevels: LODLevel[]; hysteresis: number; transitionSpeed: number; maxObjects: number; } export declare class LODManager { private config; private objects; private viewerPosition; constructor(config?: Partial); register(id: string, position: [number, number, number] | { x: number; y: number; z: number; }, levels?: LODLevel[], bias?: number): LODObject; unregister(id: string): boolean; setViewerPosition(x: number, y: number, z: number): void; update(dt: number): void; getObject(id: string): LODObject | undefined; getObjectCount(): number; getLevelDistribution(): Map; getObjectsAtLevel(level: number): LODObject[]; getAverageLOD(): number; } //# sourceMappingURL=LODManager.d.ts.map