/** * Macro continent mask — additive layer on top of the simplex elevation field * that produces discrete landmasses (vs the moiré of micro islands a pure FBM * generates on humid worlds). * * The mask is a 3D voronoi tessellation of the unit sphere. Each cell receives * a binary "continent / depression" tag from a sin-free polynomial hash, so the * formula is byte-identical between the CPU sampler used by `BodySimulation` * and the GLSL replica that lives in `liquidMask.glsl`. Boundaries are softened * with a smoothstep on the F2-F1 distance — sharp cliffs would clash with the * smooth band quantisation downstream. * * Pure module — no `three` dependency, safe to import from headless callers. */ /** * Evaluates the continent mask at a unit-sphere position. * * The point is scaled into voronoi space (`unit * scale + seedOffset`) and the * 3×3×3 neighbourhood is searched for the two closest cells. The tag of the * nearest cell decides continent (`+1`) or depression (`-1`); the F2-F1 * distance softens the boundary so cell walls feel like coastlines rather * than tectonic faults. * * @param unit Unit-sphere direction `(x, y, z)`. Magnitude must be ~1. * @param scale Voronoi frequency. `1` ≈ 4–8 cells visible from one * hemisphere; `2` ≈ 12–20 cells; up to `3` for archipelagos. * @param seedOffset Per-planet domain offset — see {@link continentSeedFromName}. * @returns Mask in `[-1, +1]` ready to be added to a noise sample, scaled by * a caller-supplied amplitude. */ export declare function continentMask3D(unit: { x: number; y: number; z: number; }, scale: number, seedOffset: readonly [number, number, number]): number; /** * Derives a deterministic 3-component seed offset from the body name. The * offset shifts the voronoi sampling domain so two bodies with different names * grow different continent layouts — same name → same continents. * * The triplet is also exposed as a `vec3` shader uniform so the GPU mask * matches the CPU classification on the liquid boundary. */ export declare function continentSeedFromName(name: string): [number, number, number]; //# sourceMappingURL=continents.d.ts.map