From c6ef980604f11c1be7a98924f6e6d7b39951e0b9 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Sat, 11 Apr 2026 04:39:14 +0200 Subject: [PATCH] Support scene entry and scene exit in transform session command --- .../commit-transform-session-command.ts | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/commands/commit-transform-session-command.ts b/src/commands/commit-transform-session-command.ts index 331ba0b3..0167cf5f 100644 --- a/src/commands/commit-transform-session-command.ts +++ b/src/commands/commit-transform-session-command.ts @@ -11,6 +11,8 @@ import { createInteractableEntity, createPlayerStartEntity, createPointLightEntity, + createSceneEntryEntity, + createSceneExitEntity, createSoundEmitterEntity, createSpotLightEntity, createTeleportTargetEntity, @@ -42,9 +44,13 @@ function createTransformCommandLabel(session: ActiveTransformSession): string { ? "sound emitter" : session.target.entityKind === "triggerVolume" ? "trigger volume" + : session.target.entityKind === "sceneEntry" + ? "scene entry" : session.target.entityKind === "teleportTarget" ? "teleport target" - : "interactable" + : session.target.entityKind === "interactable" + ? "interactable" + : "scene exit" : "model instance" }`; } @@ -188,6 +194,18 @@ export function createCommitTransformSessionCommand(document: SceneDocument, ses }), label: createTransformCommandLabel(session) }); + case "sceneEntry": + return createUpsertEntityCommand({ + entity: createSceneEntryEntity({ + ...entity, + position: session.preview.position, + yawDegrees: + session.preview.rotation.kind === "yaw" + ? session.preview.rotation.yawDegrees + : entity.yawDegrees + }), + label: createTransformCommandLabel(session) + }); case "soundEmitter": return createUpsertEntityCommand({ entity: createSoundEmitterEntity({ @@ -221,6 +239,14 @@ export function createCommitTransformSessionCommand(document: SceneDocument, ses }), label: createTransformCommandLabel(session) }); + case "sceneExit": + return createUpsertEntityCommand({ + entity: createSceneExitEntity({ + ...entity, + position: session.preview.position + }), + label: createTransformCommandLabel(session) + }); } } }