import type { Vector3 } from '@holoscript/core'; /** * CloudRenderer.ts * * Noise-based cloud rendering: layered cloud generation, * wind drift, density thresholds, lighting, and coverage control. * * @module rendering */ export interface CloudConfig { coverage: number; density: number; altitude: number; thickness: number; windSpeed: { x: number; z: number; }; lightColor: [number, number, number]; ambientColor: [number, number, number]; lightDirection: Vector3; noiseScale: number; detailScale: number; layers: number; } export interface CloudSample { position: [number, number, number] & { x: number; y: number; z: number; }; density: number; lighting: number; } export declare class CloudRenderer { private config; private time; constructor(config?: Partial); setConfig(config: Partial): void; getConfig(): CloudConfig; update(dt: number): void; sampleDensity(x: number, y: number, z: number): number; sampleLighting(x: number, y: number, z: number, steps?: number): CloudSample; private pseudoNoise; getCoverageMap(gridSize: number, cellSize: number, worldOffsetX?: number, worldOffsetZ?: number): Float32Array; } //# sourceMappingURL=CloudRenderer.d.ts.map