/** * LODStreamer.ts * * Distance-based LOD streaming: load/unload queues, * budget management, priority ordering, and hysteresis. * * @module lod */ export interface StreamableAsset { id: string; /** World-space position of the asset for distance-based LOD selection. */ position: [number, number, number]; lodLevels: number[]; currentLOD: number; priority: number; memoryCost: number[]; } export interface StreamRequest { assetId: string; targetLOD: number; type: 'load' | 'unload'; } export declare class LODStreamer { private assets; private loadQueue; private unloadQueue; private memoryBudget; private memoryUsed; private hysteresis; constructor(memoryBudget: number); registerAsset(asset: StreamableAsset): void; update(cameraX: number, cameraY: number, cameraZ: number): void; evaluateDistance(assetId: string, distance: number): number; private selectLOD; processQueue(maxItems?: number): StreamRequest[]; getMemoryUsed(): number; getMemoryBudget(): number; getLoadQueueSize(): number; getUnloadQueueSize(): number; getCurrentLOD(id: string): number; } //# sourceMappingURL=LODStreamer.d.ts.map