/** * Perlin Noise Implementation * * Classic Perlin noise for organic texture generation. * Used for foliage edges, terrain variation, and natural randomness. * * Based on Ken Perlin's improved noise algorithm. */ export declare class PerlinNoise { private readonly permutation; private readonly p; constructor(seed?: number); private generatePermutation; private fade; private lerp; private grad; /** * 2D Perlin noise * @returns Value between -1 and 1 */ noise2D(x: number, y: number): number; /** * Fractal Brownian Motion (fBm) - stacked octaves of noise * Creates more natural, detailed textures * * @param x - X coordinate * @param y - Y coordinate * @param octaves - Number of noise layers (more = more detail) * @param persistence - How much each octave contributes (0.5 typical) * @param lacunarity - Frequency multiplier per octave (2.0 typical) * @returns Value roughly between -1 and 1 */ fbm(x: number, y: number, octaves?: number, persistence?: number, lacunarity?: number): number; /** * Ridge noise - creates sharp ridges, good for mountain silhouettes */ ridgeNoise(x: number, y: number, octaves?: number, persistence?: number, lacunarity?: number): number; /** * Turbulence - absolute value noise, always positive, good for clouds/foliage */ turbulence(x: number, y: number, octaves?: number, persistence?: number, lacunarity?: number): number; } export declare function getPerlinNoise(seed?: number): PerlinNoise; //# sourceMappingURL=PerlinNoise.d.ts.map