From def955b49ad998291eb1d4925d75ca9bde11884f Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Sat, 2 May 2026 04:09:23 +0200 Subject: [PATCH] Add function to create flat foliage mask values for terrain --- src/document/terrains.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/document/terrains.ts b/src/document/terrains.ts index 4dee645e..f3e46a2a 100644 --- a/src/document/terrains.ts +++ b/src/document/terrains.ts @@ -275,6 +275,29 @@ export function createFlatTerrainPaintWeights( ).fill(0); } +export function createFlatTerrainFoliageMaskValues( + resolutionX: number, + resolutionZ: number, + value = 0 +): number[] { + const normalizedResolutionX = normalizeTerrainSampleCount( + resolutionX, + "Terrain foliage mask resolutionX" + ); + const normalizedResolutionZ = normalizeTerrainSampleCount( + resolutionZ, + "Terrain foliage mask resolutionZ" + ); + + if (!Number.isFinite(value)) { + throw new Error("Terrain foliage mask values must remain finite."); + } + + return new Array(normalizedResolutionX * normalizedResolutionZ).fill( + clamp(value, 0, 1) + ); +} + export function getTerrainSampleIndex( terrain: Pick, sampleX: number,