/** * Foliage Noise Generator * * Generates organic, noise-based foliage edges for tree silhouettes. * Creates the "fluffy" look of tree canopies and foliage clusters * using multiple octaves of noise for natural variation. */ export interface FoliageEdgeConfig { noiseScale: number; noiseAmplitude: number; octaves: number; bumpiness: number; irregularity: number; density: number; clumpiness: number; leafScale: number; } export interface FoliageCluster { x: number; y: number; radius: number; edgePoints: Array<{ x: number; y: number; }>; density: number; } export declare class FoliageNoiseGenerator { private config; private noise; private noiseOffset; constructor(config?: Partial, seed?: number); /** * Generate edge points around a circular foliage cluster */ generateCircularFoliage(centerX: number, centerY: number, baseRadius: number, pointCount?: number): FoliageCluster; /** * Generate edge points around an elliptical foliage area */ generateEllipticalFoliage(centerX: number, centerY: number, radiusX: number, radiusY: number, pointCount?: number): FoliageCluster; /** * Generate a tree crown silhouette with typical crown shape * (wider at bottom, narrower at top for deciduous trees) */ generateCrownSilhouette(centerX: number, baseY: number, width: number, height: number, crownShape?: "round" | "conical" | "spreading" | "columnar", pointCount?: number): Array<{ x: number; y: number; }>; /** * Generate multiple small foliage clusters for sparse canopy */ generateFoliageClusters(centerX: number, centerY: number, spreadX: number, spreadY: number, clusterCount: number, minRadius: number, maxRadius: number): FoliageCluster[]; /** * Sample a single noise value for edge displacement * Useful for applying to pre-existing geometry */ sampleEdgeNoise(x: number, y: number): number; /** * Apply foliage noise to an existing set of points * Useful for adding organic edges to simple shapes */ applyNoiseToPoints(points: Array<{ x: number; y: number; }>, centerX: number, centerY: number): Array<{ x: number; y: number; }>; } /** * Create foliage configs for different tree types */ export declare const FOLIAGE_PRESETS: Record>; //# sourceMappingURL=FoliageNoiseGenerator.d.ts.map