Update scene transition handling and entity rotation logic

This commit is contained in:
2026-04-15 03:42:28 +02:00
parent 7fd9c6f775
commit f564daaea3
3 changed files with 6 additions and 7 deletions

View File

@@ -844,7 +844,6 @@ function resolveEntityRotation(
case "soundEmitter": case "soundEmitter":
case "triggerVolume": case "triggerVolume":
case "interactable": case "interactable":
case "sceneExit":
return { return {
kind: "none" kind: "none"
}; };

View File

@@ -10,7 +10,7 @@ import {
RuntimeHost, RuntimeHost,
type RuntimeDialogueState, type RuntimeDialogueState,
type RuntimePauseState, type RuntimePauseState,
type RuntimeSceneExitTransitionRequest, type RuntimeSceneTransitionRequest,
type RuntimeSceneLoadState type RuntimeSceneLoadState
} from "../runtime-three/runtime-host"; } from "../runtime-three/runtime-host";
import type { RuntimeInteractionPrompt } from "../runtime-three/runtime-interaction-system"; import type { RuntimeInteractionPrompt } from "../runtime-three/runtime-interaction-system";
@@ -40,7 +40,7 @@ interface RunnerCanvasProps {
onRuntimeClockChange?(clock: RuntimeClockState): void; onRuntimeClockChange?(clock: RuntimeClockState): void;
onFirstPersonTelemetryChange(telemetry: FirstPersonTelemetry | null): void; onFirstPersonTelemetryChange(telemetry: FirstPersonTelemetry | null): void;
onInteractionPromptChange(prompt: RuntimeInteractionPrompt | null): void; onInteractionPromptChange(prompt: RuntimeInteractionPrompt | null): void;
onSceneExitActivated(request: RuntimeSceneExitTransitionRequest): void; onSceneTransitionActivated(request: RuntimeSceneTransitionRequest): void;
} }
export function RunnerCanvas({ export function RunnerCanvas({
@@ -57,7 +57,7 @@ export function RunnerCanvas({
onRuntimeClockChange = () => {}, onRuntimeClockChange = () => {},
onFirstPersonTelemetryChange, onFirstPersonTelemetryChange,
onInteractionPromptChange, onInteractionPromptChange,
onSceneExitActivated onSceneTransitionActivated
}: RunnerCanvasProps) { }: RunnerCanvasProps) {
const containerRef = useRef<HTMLDivElement | null>(null); const containerRef = useRef<HTMLDivElement | null>(null);
const hostRef = useRef<RuntimeHost | null>(null); const hostRef = useRef<RuntimeHost | null>(null);
@@ -170,8 +170,8 @@ export function RunnerCanvas({
]); ]);
useEffect(() => { useEffect(() => {
hostRef.current?.setSceneExitHandler(onSceneExitActivated); hostRef.current?.setSceneTransitionHandler(onSceneTransitionActivated);
}, [onSceneExitActivated]); }, [onSceneTransitionActivated]);
useEffect(() => { useEffect(() => {
lastForwardedRuntimeClockRef.current = runtimeClock; lastForwardedRuntimeClockRef.current = runtimeClock;

View File

@@ -15,7 +15,7 @@ export interface RuntimeSceneTransitionRecord {
fromSceneName: string; fromSceneName: string;
toSceneId: string; toSceneId: string;
toSceneName: string; toSceneName: string;
viaExitEntityId: string; sourceEntityId: string | null;
targetEntryEntityId: string; targetEntryEntityId: string;
} }