From f073e4247b7dd00d3220ff0211f20708704246b1 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Mon, 11 May 2026 13:55:20 +0200 Subject: [PATCH] Enhance entity transformation logic to support euler rotations and detailed size/scale properties --- .../commit-transform-session-command.ts | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/commands/commit-transform-session-command.ts b/src/commands/commit-transform-session-command.ts index 9227c0cd..73cfca94 100644 --- a/src/commands/commit-transform-session-command.ts +++ b/src/commands/commit-transform-session-command.ts @@ -102,7 +102,15 @@ function createUpdatedEntityFromPreview( rotation: | { kind: "none" } | { kind: "yaw"; yawDegrees: number } - | { kind: "direction"; direction: { x: number; y: number; z: number } }; + | { kind: "direction"; direction: { x: number; y: number; z: number } } + | { + kind: "euler"; + rotationDegrees: { x: number; y: number; z: number }; + }; + scale: + | { kind: "none" } + | { kind: "scale"; scale: { x: number; y: number; z: number } } + | { kind: "size"; size: { x: number; y: number; z: number } }; } ) { switch (entity.kind) { @@ -152,7 +160,9 @@ function createUpdatedEntityFromPreview( yawDegrees: preview.rotation.kind === "yaw" ? preview.rotation.yawDegrees - : entity.yawDegrees + : entity.yawDegrees, + scale: + preview.scale.kind === "scale" ? preview.scale.scale : entity.scale }); case "soundEmitter": return createSoundEmitterEntity({ @@ -162,7 +172,12 @@ function createUpdatedEntityFromPreview( case "triggerVolume": return createTriggerVolumeEntity({ ...entity, - position: preview.position + position: preview.position, + rotationDegrees: + preview.rotation.kind === "euler" + ? preview.rotation.rotationDegrees + : entity.rotationDegrees, + size: preview.scale.kind === "size" ? preview.scale.size : entity.size }); case "teleportTarget": return createTeleportTargetEntity({