From e1d19943421ecf2d2a69398d771ec47d2c235560 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Mon, 13 Apr 2026 17:30:06 +0200 Subject: [PATCH] Add collision settings and actor usage summary to App component --- src/app/App.tsx | 278 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 278 insertions(+) diff --git a/src/app/App.tsx b/src/app/App.tsx index dd7ef7e3..22e5362f 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -13623,6 +13623,32 @@ export function App({ store, initialStatusMessage }: AppProps) { }} /> +
+
+ {selectedNpcSameSceneActorUsages.length > 0 + ? "Duplicate In Scene" + : selectedNpcOtherSceneActorUsages.length > 0 + ? "Reused Across Scenes" + : "Unique In Project"} +
+
+ {selectedNpcSameSceneActorUsages.length > 0 + ? `This actor id is also used by ${selectedNpcSameSceneActorUsages.length} other NPC${selectedNpcSameSceneActorUsages.length === 1 ? "" : "s"} in this scene.` + : selectedNpcOtherSceneActorUsages.length > 0 + ? `This actor id is reused by ${selectedNpcOtherSceneActorUsages.length} NPC${selectedNpcOtherSceneActorUsages.length === 1 ? "" : "s"} in other scenes.` + : "This actor id is currently unique across the project."} +
+
+ {selectedNpcOtherActorUsages.map((usage) => ( +
+ {usage.sceneId === editorState.activeSceneId + ? `Also in this scene: ${usage.entityName ?? usage.entityId}` + : `Also in ${usage.sceneName}: ${usage.entityName ?? usage.entityId}`} +
+ ))}
Actor IDs are stable authored identities for this NPC and are intended to stay consistent across scenes. @@ -13656,6 +13682,258 @@ export function App({ store, initialStatusMessage }: AppProps) {
+
+
Collision
+ + + + + {npcColliderModeDraft === "capsule" ? ( +
+ + +
+ ) : null} + + {npcColliderModeDraft === "box" ? ( +
+ + + +
+ ) : null} + +
+ {getNpcColliderModeDescription(npcColliderModeDraft)} +
+
+ When no model is assigned, the editor and runner use + this collider as the NPC preview volume. +
+
+
Model Asset