DOCS v0.1.13 github

@hatch:noise v0.2.2

Procedural noise primitives — 2D + 3D Simplex / Perlin / Value scalars, fractal Brownian motion octave-sum, and a batched Float32Array heightmap sampler. Backed by the noise crate so terrain generators, foliage scatter, weather simulations, and texture authoring all share the same deterministic, seeded implementations.

stable system updated Jun 4, 2026 source ↗
$ hatch add @hatch:noise

MOD noise

CL NoiseCore

FN NoiseCore.static simplex2(x, y, seed)

FN NoiseCore.static simplex3(x, y, z, seed)

FN NoiseCore.static perlin2(x, y, seed)

FN NoiseCore.static perlin3(x, y, z, seed)

FN NoiseCore.static value2(x, y, seed)

FN NoiseCore.static value3(x, y, z, seed)

FN NoiseCore.static fbm2(x, y, seed, octaves, lacunarity, persistence)

FN NoiseCore.static fbm3(x, y, z, seed, octaves, lacunarity, persistence)

FN NoiseCore.static fillSimplex2(out, originX, originY, stepX, stepY, width, height, seed)

FN NoiseCore.static worley2(x, y, seed)

FN NoiseCore.static worley3(x, y, z, seed)

FN NoiseCore.static ridgedFbm2(x, y, seed, octaves, lacunarity, persistence)

FN NoiseCore.static ridgedFbm3(x, y, z, seed, octaves, lacunarity, persistence)

FN NoiseCore.static fillPerlin2(out, originX, originY, stepX, stepY, width, height, seed)

FN NoiseCore.static fillValue2(out, originX, originY, stepX, stepY, width, height, seed)

FN NoiseCore.static fillWorley2(out, originX, originY, stepX, stepY, width, height, seed)

FN NoiseCore.static fillSimplex3(out, originX, originY, originZ, stepX, stepY, stepZ, width, height, depth, seed)

CL Noise

FN Noise.static simplex2(x: Num, y: Num, seed: Num) → Num

FN Noise.static simplex3(x: Num, y: Num, z: Num, seed: Num) → Num

FN Noise.static perlin2(x: Num, y: Num, seed: Num) → Num

FN Noise.static perlin3(x: Num, y: Num, z: Num, seed: Num) → Num

FN Noise.static value2(x: Num, y: Num, seed: Num) → Num

FN Noise.static value3(x: Num, y: Num, z: Num, seed: Num) → Num

FN Noise.static fbm2(x: Num, y: Num, seed: Num, octaves: Num, lacunarity: Num, persistence: Num) → Num

FN Noise.static fbm3(x: Num, y: Num, z: Num, seed: Num, octaves: Num, lacunarity: Num, persistence: Num) → Num

FN Noise.static fillSimplex2(out: Float32Array, originX: Num, originY: Num, stepX: Num, stepY: Num, width: Num, height: Num, seed: Num)

FN Noise.static worley2(x: Num, y: Num, seed: Num) → Num

FN Noise.static worley3(x: Num, y: Num, z: Num, seed: Num) → Num

FN Noise.static ridgedFbm2(x: Num, y: Num, seed: Num, octaves: Num, lacunarity: Num, persistence: Num) → Num

FN Noise.static ridgedFbm3(x: Num, y: Num, z: Num, seed: Num, octaves: Num, lacunarity: Num, persistence: Num) → Num

FN Noise.static fillPerlin2(out: Float32Array, originX: Num, originY: Num, stepX: Num, stepY: Num, width: Num, height: Num, seed: Num)

FN Noise.static fillValue2(out: Float32Array, originX: Num, originY: Num, stepX: Num, stepY: Num, width: Num, height: Num, seed: Num)

FN Noise.static fillWorley2(out: Float32Array, originX: Num, originY: Num, stepX: Num, stepY: Num, width: Num, height: Num, seed: Num)

FN Noise.static fillSimplex3(out: Float32Array, originX: Num, originY: Num, originZ: Num, stepX: Num, stepY: Num, stepZ: Num, width: Num, height: Num, depth: Num, seed: Num)

FN Noise.static WGSL_COMPANION → String