Add validation test for invalid terrain foliage blocker masks

This commit is contained in:
2026-05-02 11:34:52 +02:00
parent d62e467f9b
commit 89a9c8ddca

View File

@@ -79,6 +79,43 @@ describe("validateSceneDocument", () => {
expect(validation.warnings).toEqual([]);
});
it("detects invalid terrain foliage blocker masks", () => {
const terrain = createTerrain({
id: "terrain-invalid-blocker-mask",
sampleCountX: 2,
sampleCountZ: 2
});
const document = createEmptySceneDocument({
name: "Invalid Terrain Blocker Mask"
});
terrain.foliageBlockerMask = {
resolutionX: 3,
resolutionZ: 2,
values: [0, 1, Number.NaN]
} as any;
document.terrains[terrain.id] = terrain;
const validation = validateSceneDocument(document);
expect(validation.errors).toEqual(
expect.arrayContaining([
expect.objectContaining({
code: "invalid-terrain-foliage-blocker-mask-resolution-x",
path: `terrains.${terrain.id}.foliageBlockerMask.resolutionX`
}),
expect.objectContaining({
code: "invalid-terrain-foliage-blocker-mask-value-count",
path: `terrains.${terrain.id}.foliageBlockerMask.values`
}),
expect.objectContaining({
code: "invalid-terrain-foliage-blocker-mask-value",
path: `terrains.${terrain.id}.foliageBlockerMask.values.2`
})
])
);
});
it("validates project-global actor schedule targets against all project scenes", () => {
const sceneA = createEmptyProjectScene({
id: "scene-a",