/** * NoiseGenerator.ts * * Procedural noise generation: Perlin, Simplex-like value noise, * Fractal Brownian Motion, domain warping, and ridged multifractal. * * @module procedural */ export interface NoiseConfig { seed: number; octaves: number; lacunarity: number; gain: number; scale: number; } export type NoiseType = 'value' | 'perlin' | 'ridged' | 'warped' | 'worley'; export declare class NoiseGenerator { private config; private perm; constructor(config?: Partial); /** * 2D value noise (smooth random values at integer lattice). */ value2D(x: number, y: number): number; /** * 2D gradient noise (Perlin-like). */ perlin2D(x: number, y: number): number; /** * 3D value noise. */ value3D(x: number, y: number, z: number): number; /** * Worley (cellular) noise — distance to nearest feature point. */ worley2D(x: number, y: number, density?: number): number; /** * Fractal Brownian Motion (FBM) — layered octaves of noise. */ fbm2D(x: number, y: number, type?: 'value' | 'perlin'): number; /** * Ridged multifractal noise — sharp ridges from inverted absolute values. */ ridged2D(x: number, y: number): number; /** * Domain-warped noise — distorts input coordinates for organic shapes. */ warped2D(x: number, y: number, warpStrength?: number): number; /** * Sample noise at a point using the specified type. */ sample2D(x: number, y: number, type?: NoiseType): number; /** * Generate a 2D noise map. */ generateMap(width: number, height: number, type?: NoiseType): Float32Array; setSeed(seed: number): void; setConfig(config: Partial): void; getConfig(): NoiseConfig; private fade; private lerp; private hash2D; private hash3D; private permAt; private grad2D; private buildPermutationTable; } //# sourceMappingURL=NoiseGenerator.d.ts.map