From 7fd9c6f7753abd5acc5574e2a8dee9c5f88b5327 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Wed, 15 Apr 2026 03:42:16 +0200 Subject: [PATCH] Add StartSceneTransitionSequenceEffect to project-sequence-steps.ts --- src/sequencer/project-sequence-steps.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/sequencer/project-sequence-steps.ts b/src/sequencer/project-sequence-steps.ts index 07cd82d5..4342309a 100644 --- a/src/sequencer/project-sequence-steps.ts +++ b/src/sequencer/project-sequence-steps.ts @@ -33,6 +33,13 @@ export interface TeleportPlayerSequenceEffect { targetEntityId: string; } +export interface StartSceneTransitionSequenceEffect { + stepClass: "impulse"; + type: "startSceneTransition"; + targetSceneId: string; + targetEntryEntityId: string; +} + export const SEQUENCE_VISIBILITY_MODES = ["toggle", "show", "hide"] as const; export type SequenceVisibilityMode = (typeof SEQUENCE_VISIBILITY_MODES)[number]; @@ -72,6 +79,7 @@ export type ImpulseSequenceStep = | ImpulseControlSequenceEffect | StartDialogueSequenceEffect | TeleportPlayerSequenceEffect + | StartSceneTransitionSequenceEffect | SetVisibilitySequenceEffect; export type SequenceEffect = HeldSequenceStep | ImpulseSequenceStep; @@ -98,6 +106,13 @@ export function cloneSequenceEffect(effect: SequenceEffect): SequenceEffect { type: "teleportPlayer", targetEntityId: effect.targetEntityId }; + case "startSceneTransition": + return { + stepClass: "impulse", + type: "startSceneTransition", + targetSceneId: effect.targetSceneId, + targetEntryEntityId: effect.targetEntryEntityId + }; case "setVisibility": return { stepClass: "impulse", @@ -145,6 +160,8 @@ export function getSequenceEffectLabel(effect: SequenceEffect): string { return "Impulse: Start Dialogue"; case "teleportPlayer": return "Impulse: Teleport Player"; + case "startSceneTransition": + return "Impulse: Change Scene"; case "setVisibility": switch (effect.mode) { case "show":