Add validation test for foliage mask references and ranges in terrain
This commit is contained in:
@@ -9,6 +9,7 @@ import {
|
||||
createSceneDocumentFromProject,
|
||||
createEmptyProjectDocument
|
||||
} from "../../src/document/scene-document";
|
||||
import { createTerrain, createTerrainFoliageMask } from "../../src/document/terrains";
|
||||
import { validateSceneDocument } from "../../src/document/scene-document-validation";
|
||||
import { BUNDLED_FOLIAGE_PROTOTYPES } from "../../src/foliage/bundled-foliage-manifest";
|
||||
import {
|
||||
@@ -116,6 +117,40 @@ describe("foliage document foundations", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("validates terrain foliage mask layer references and ranges", () => {
|
||||
const document = createEmptySceneDocument();
|
||||
const terrain = createTerrain({
|
||||
id: "terrain-invalid-foliage-mask",
|
||||
sampleCountX: 2,
|
||||
sampleCountZ: 2,
|
||||
foliageMasks: {
|
||||
"missing-foliage-layer": createTerrainFoliageMask({
|
||||
layerId: "missing-foliage-layer",
|
||||
resolutionX: 2,
|
||||
resolutionZ: 2,
|
||||
values: [0, 0.25, 0.5, 1]
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
document.terrains[terrain.id] = {
|
||||
...terrain,
|
||||
foliageMasks: {
|
||||
"missing-foliage-layer": {
|
||||
...terrain.foliageMasks["missing-foliage-layer"]!,
|
||||
values: [0, 2, 0.5, 1]
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
expect(validateSceneDocument(document).errors).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({ code: "missing-terrain-foliage-mask-layer" }),
|
||||
expect.objectContaining({ code: "invalid-terrain-foliage-mask-value" })
|
||||
])
|
||||
);
|
||||
});
|
||||
|
||||
it("validates custom project-asset LOD references", () => {
|
||||
const document = createEmptySceneDocument();
|
||||
const prototype = createFoliagePrototype({
|
||||
|
||||
Reference in New Issue
Block a user