auto-git:

[change] src/document/scene-document-validation.ts
This commit is contained in:
2026-04-23 08:51:25 +02:00
parent 61e39a9dd4
commit 29bb55b03a

View File

@@ -23,6 +23,7 @@ import {
} from "../controls/control-surface";
import { WHITEBOX_SELECTION_MODES } from "../core/whitebox-selection-mode";
import {
isCameraRigRailPlacementMode,
isCameraRigTransitionMode,
isNpcPresenceMode,
isPlayerStartColliderMode,
@@ -1560,6 +1561,61 @@ function validateCameraRigEntity(
);
}
}
if (!isCameraRigRailPlacementMode(entity.railPlacementMode)) {
diagnostics.push(
createDiagnostic(
"error",
"invalid-camera-rig-rail-placement-mode",
"Rail Camera Rig placement mode must be nearestToTarget or mapTargetBetweenPoints.",
`${path}.railPlacementMode`
)
);
} else if (entity.railPlacementMode === "mapTargetBetweenPoints") {
if (!isFiniteVec3(entity.trackStartPoint)) {
diagnostics.push(
createDiagnostic(
"error",
"invalid-camera-rig-track-start-point",
"Mapped Rail Camera Rig track start points must remain finite on every axis.",
`${path}.trackStartPoint`
)
);
}
if (!isFiniteVec3(entity.trackEndPoint)) {
diagnostics.push(
createDiagnostic(
"error",
"invalid-camera-rig-track-end-point",
"Mapped Rail Camera Rig track end points must remain finite on every axis.",
`${path}.trackEndPoint`
)
);
}
if (!isFiniteNumberInRange(entity.railStartProgress, 0, 1)) {
diagnostics.push(
createDiagnostic(
"error",
"invalid-camera-rig-rail-start-progress",
"Mapped Rail Camera Rig start progress must remain between 0 and 1.",
`${path}.railStartProgress`
)
);
}
if (!isFiniteNumberInRange(entity.railEndProgress, 0, 1)) {
diagnostics.push(
createDiagnostic(
"error",
"invalid-camera-rig-rail-end-progress",
"Mapped Rail Camera Rig end progress must remain between 0 and 1.",
`${path}.railEndProgress`
)
);
}
}
}
if (!isNonNegativeFiniteNumber(entity.priority)) {