auto-git:
[add] src/geometry/model-instance-collider-generation.ts [add] src/runtime-three/rapier-collision-world.ts [change] AGENTS.md [change] CHAT_CONTEXT.md [change] architecture.md [change] package.json [change] prompts-lite.txt [change] prompts.txt [change] roadmap.md [change] src/assets/model-instances.ts [change] src/document/migrate-scene-document.ts [change] src/document/scene-document-validation.ts [change] src/document/scene-document.ts [change] src/runtime-three/first-person-navigation-controller.ts [change] src/runtime-three/navigation-controller.ts [change] src/runtime-three/runtime-host.ts [change] src/runtime-three/runtime-scene-build.ts [change] src/runtime-three/runtime-scene-validation.ts [change] src/viewport-three/viewport-host.ts [change] testing.md
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
type ProjectAssetRecord
|
||||
} from "../assets/project-assets";
|
||||
import type { ModelInstance } from "../assets/model-instances";
|
||||
import { isModelInstanceCollisionMode } from "../assets/model-instances";
|
||||
import {
|
||||
type InteractableEntity,
|
||||
type PointLightEntity,
|
||||
@@ -646,6 +647,28 @@ function validateModelInstance(modelInstance: ModelInstance, path: string, docum
|
||||
diagnostics.push(createDiagnostic("error", "invalid-model-instance-scale", "Model instance scales must remain finite and positive on every axis.", `${path}.scale`));
|
||||
}
|
||||
|
||||
if (!isModelInstanceCollisionMode(modelInstance.collision.mode)) {
|
||||
diagnostics.push(
|
||||
createDiagnostic(
|
||||
"error",
|
||||
"invalid-model-instance-collision-mode",
|
||||
"Model instance collision mode must be one of none, terrain, static, dynamic, or simple.",
|
||||
`${path}.collision.mode`
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if (!isBoolean(modelInstance.collision.visible)) {
|
||||
diagnostics.push(
|
||||
createDiagnostic(
|
||||
"error",
|
||||
"invalid-model-instance-collision-visibility",
|
||||
"Model instance collision visibility must be a boolean.",
|
||||
`${path}.collision.visible`
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
const asset = document.assets[modelInstance.assetId];
|
||||
|
||||
if (asset === undefined) {
|
||||
|
||||
Reference in New Issue
Block a user