/** * WorldStreamer.ts * * Chunk-based world streaming: loading/unloading by distance, * async chunk generation, seamless transitions, and memory budgets. * * @module world */ export type ChunkState = 'unloaded' | 'loading' | 'loaded' | 'unloading'; export interface WorldChunk { id: string; x: number; z: number; state: ChunkState; data: Record | null; priority: number; lastAccessTime: number; size: number; } export interface StreamingConfig { chunkSize: number; loadRadius: number; unloadRadius: number; maxConcurrentLoads: number; memoryBudget: number; } export declare class WorldStreamer { private config; private chunks; private viewerPosition; private totalMemory; private loadQueue; private activeLoads; private chunkGenerator; constructor(config?: Partial); setChunkGenerator(gen: (x: number, z: number) => Record): void; setViewerPosition(x: number, z: number): void; update(): void; private requestLoad; private processLoadQueue; private unloadChunk; loadChunk(x: number, z: number): WorldChunk; getChunk(x: number, z: number): WorldChunk | undefined; getLoadedChunks(): WorldChunk[]; getLoadedCount(): number; getTotalMemory(): number; isOverBudget(): boolean; getChunkSize(): number; } //# sourceMappingURL=WorldStreamer.d.ts.map