import seedrandom from 'seedrandom'; /** * Heightmap Generator * * Generates deterministic heightmaps using layered Perlin/Simplex noise. * Inspired by Azgaar's heightmap-generator.js but implemented independently. * * Reference: reference/AZGAAR_SNAPSHOT.md Section 1 */ export interface HeightmapOptions { /** Seed for deterministic generation */ seed: string; /** Width of heightmap grid */ width: number; /** Height of heightmap grid */ height: number; /** Number of octaves (noise layers) for detail */ octaves?: number; /** Persistence (amplitude decay per octave) */ persistence?: number; /** Lacunarity (frequency increase per octave) */ lacunarity?: number; /** Land ratio target (0-1, default 0.3 for ~30% land) */ landRatio?: number; } export interface Heightmap { width: number; height: number; /** Flat array of elevation values (0-100) */ data: Uint8Array; /** Sea level threshold (typically 20) */ seaLevel: number; } /** * Generate a heightmap from a seed */ export declare function generateHeightmap(seed: string, width: number, height: number, options?: Partial): Uint8Array; /** * Add ridges/tectonic features to heightmap * * Inspired by Azgaar's "Range" primitive for mountain ranges. */ export declare function addRidges(heightmap: Uint8Array, width: number, height: number, rng: seedrandom.PRNG, count?: number): Uint8Array; /** * Smooth heightmap to reduce jaggedness * * Applies a simple averaging filter. */ export declare function smoothHeightmap(heightmap: Uint8Array, width: number, height: number, iterations?: number): Uint8Array; //# sourceMappingURL=heightmap.d.ts.map