From 7c36d50ee08ae32a497f48f33d9dd330ce2bf567 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Mon, 11 May 2026 13:59:54 +0200 Subject: [PATCH] Update ViewportHost to handle triggerVolume and NPC transforms --- src/viewport-three/viewport-host.ts | 44 +++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/src/viewport-three/viewport-host.ts b/src/viewport-three/viewport-host.ts index d4afd7d3..681cb24c 100644 --- a/src/viewport-three/viewport-host.ts +++ b/src/viewport-three/viewport-host.ts @@ -6377,7 +6377,6 @@ export class ViewportHost { break; case "pointLight": case "soundEmitter": - case "triggerVolume": case "interactable": this.applyEntityRenderObjectTransform({ ...currentEntity, @@ -6388,6 +6387,34 @@ export class ViewportHost { position: this.currentTransformSession.preview.position }); break; + case "triggerVolume": + this.applyEntityRenderObjectTransform({ + ...currentEntity, + position: this.currentTransformSession.preview.position, + rotationDegrees: + this.currentTransformSession.preview.rotation.kind === "euler" + ? this.currentTransformSession.preview.rotation + .rotationDegrees + : currentEntity.rotationDegrees, + size: + this.currentTransformSession.preview.scale.kind === "size" + ? this.currentTransformSession.preview.scale.size + : currentEntity.size + }); + this.applyLocalLightRenderObjectTransform({ + ...currentEntity, + position: this.currentTransformSession.preview.position, + rotationDegrees: + this.currentTransformSession.preview.rotation.kind === "euler" + ? this.currentTransformSession.preview.rotation + .rotationDegrees + : currentEntity.rotationDegrees, + size: + this.currentTransformSession.preview.scale.kind === "size" + ? this.currentTransformSession.preview.scale.size + : currentEntity.size + }); + break; case "spotLight": this.applyEntityRenderObjectTransform({ ...currentEntity, @@ -6410,7 +6437,6 @@ export class ViewportHost { break; case "playerStart": case "sceneEntry": - case "npc": case "teleportTarget": this.applyEntityRenderObjectTransform({ ...currentEntity, @@ -6429,6 +6455,20 @@ export class ViewportHost { : currentEntity.yawDegrees }); break; + case "npc": + this.applyEntityRenderObjectTransform({ + ...currentEntity, + position: this.currentTransformSession.preview.position, + yawDegrees: + this.currentTransformSession.preview.rotation.kind === "yaw" + ? this.currentTransformSession.preview.rotation.yawDegrees + : currentEntity.yawDegrees, + scale: + this.currentTransformSession.preview.scale.kind === "scale" + ? this.currentTransformSession.preview.scale.scale + : currentEntity.scale + }); + break; } break; }