Validate box brush geometry vertices for finiteness in scene document validation

This commit is contained in:
2026-04-05 02:28:36 +02:00
parent 67d87fe7dc
commit efc5d5b0cf

View File

@@ -19,7 +19,7 @@ import {
type TriggerVolumeEntity
} from "../entities/entity-instances";
import { type InteractionLink } from "../interactions/interaction-links";
import { BOX_FACE_IDS, hasPositiveBoxSize } from "./brushes";
import { BOX_FACE_IDS, BOX_VERTEX_IDS, hasPositiveBoxSize } from "./brushes";
import type { SceneDocument } from "./scene-document";
import {
isAdvancedRenderingShadowMapSize,
@@ -1291,6 +1291,19 @@ export function validateSceneDocument(document: SceneDocument): SceneDocumentVal
);
}
for (const vertexId of BOX_VERTEX_IDS) {
if (!isFiniteVec3(brush.geometry.vertices[vertexId])) {
diagnostics.push(
createDiagnostic(
"error",
"invalid-box-geometry-vertex",
"Box brush geometry vertices must remain finite on every axis.",
`${path}.geometry.vertices.${vertexId}`
)
);
}
}
for (const faceId of BOX_FACE_IDS) {
const materialId = brush.faces[faceId].materialId;