Add validation and tests for climbable properties in scene documents

This commit is contained in:
2026-04-30 00:20:18 +02:00
parent 39794c084a
commit 1f72e3650e

View File

@@ -658,6 +658,7 @@ describe("validateSceneDocument", () => {
brush.rotationDegrees.y = Number.NaN; brush.rotationDegrees.y = Number.NaN;
brush.size.x = 0; brush.size.x = 0;
brush.faces.posZ.materialId = "material-that-does-not-exist"; brush.faces.posZ.materialId = "material-that-does-not-exist";
brush.faces.negZ.climbable = "yes" as unknown as boolean;
const validation = validateSceneDocument({ const validation = validateSceneDocument({
...createEmptySceneDocument(), ...createEmptySceneDocument(),
@@ -679,6 +680,10 @@ describe("validateSceneDocument", () => {
expect.objectContaining({ expect.objectContaining({
code: "missing-material-ref", code: "missing-material-ref",
path: "brushes.brush-invalid.faces.posZ.materialId" path: "brushes.brush-invalid.faces.posZ.materialId"
}),
expect.objectContaining({
code: "invalid-brush-face-climbable",
path: "brushes.brush-invalid.faces.negZ.climbable"
}) })
]) ])
); );
@@ -738,6 +743,7 @@ describe("validateSceneDocument", () => {
jump: "", jump: "",
sprint: "", sprint: "",
crouch: "", crouch: "",
climb: "",
interact: "", interact: "",
clearTarget: "", clearTarget: "",
pauseTime: "" pauseTime: ""
@@ -747,6 +753,7 @@ describe("validateSceneDocument", () => {
jump: "invalidButton", jump: "invalidButton",
sprint: "invalidButton", sprint: "invalidButton",
crouch: "invalidButton", crouch: "invalidButton",
climb: "invalidButton",
interact: "invalidButton", interact: "invalidButton",
clearTarget: "invalidButton", clearTarget: "invalidButton",
pauseTime: "invalidButton" pauseTime: "invalidButton"