auto-git:

[change] src/commands/apply-terrain-brush-patch-command.ts
 [change] src/core/terrain-brush.ts
 [change] src/document/migrate-scene-document.ts
 [change] src/document/scene-document.ts
 [change] src/geometry/terrain-brush.ts
 [change] src/geometry/terrain-mesh.ts
This commit is contained in:
2026-05-02 11:24:29 +02:00
parent 47defd9e03
commit e9adf9f37e
6 changed files with 166 additions and 19 deletions

View File

@@ -2320,6 +2320,38 @@ function readTerrain(value: unknown, label: string): Terrain {
})
);
})();
const foliageBlockerMask =
value.foliageBlockerMask === undefined
? undefined
: (() => {
if (!isRecord(value.foliageBlockerMask)) {
throw new Error(`${label}.foliageBlockerMask must be an object.`);
}
if (!Array.isArray(value.foliageBlockerMask.values)) {
throw new Error(
`${label}.foliageBlockerMask.values must be an array.`
);
}
return {
resolutionX: expectFiniteNumber(
value.foliageBlockerMask.resolutionX,
`${label}.foliageBlockerMask.resolutionX`
),
resolutionZ: expectFiniteNumber(
value.foliageBlockerMask.resolutionZ,
`${label}.foliageBlockerMask.resolutionZ`
),
values: value.foliageBlockerMask.values.map(
(maskSample, sampleIndex) =>
expectFiniteNumber(
maskSample,
`${label}.foliageBlockerMask.values.${sampleIndex}`
)
)
};
})();
return createTerrain({
id: expectString(value.id, `${label}.id`),
@@ -2339,7 +2371,8 @@ function readTerrain(value: unknown, label: string): Terrain {
heights,
layers,
paintWeights,
foliageMasks
foliageMasks,
foliageBlockerMask
});
}