Validate box brush geometry vertices for finiteness in scene document validation
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user