From d1d46deca02c790b4cc7a9c1e2aa3d98de843264 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Tue, 14 Apr 2026 22:24:49 +0200 Subject: [PATCH] Add project global control target and resolved state for time pause --- src/runtime-three/runtime-scene-build.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/runtime-three/runtime-scene-build.ts b/src/runtime-three/runtime-scene-build.ts index ac3afd64..1efcabf9 100644 --- a/src/runtime-three/runtime-scene-build.ts +++ b/src/runtime-three/runtime-scene-build.ts @@ -12,6 +12,7 @@ import { createLightControlTargetRef, createLightIntensityControlChannelDescriptor, createModelInstanceControlTargetRef, + createProjectGlobalControlTargetRef, createResolvedAmbientLightColorState, createResolvedActorAnimationPlaybackState, createResolvedActorPathAssignmentState, @@ -22,6 +23,7 @@ import { createResolvedLightIntensityChannelValue, createResolvedModelAnimationPlaybackState, createResolvedModelInstanceVisibilityState, + createResolvedProjectTimePausedState, createResolvedSoundPlaybackState, createResolvedSoundVolumeChannelValue, createResolvedSunLightColorState, @@ -987,6 +989,7 @@ function buildRuntimeControlSurface( const resolved = createEmptyRuntimeResolvedControlState(); const defaultSource = createDefaultResolvedControlSource(); const seenActorIds = new Set(); + const globalTarget = createProjectGlobalControlTargetRef(); const sceneTarget = createActiveSceneControlTargetRef(); const ambientLightDescriptor = createAmbientLightIntensityControlChannelDescriptor({ @@ -998,6 +1001,17 @@ function buildRuntimeControlSurface( defaultValue: document.world.sunLight.intensity }); + targets.push( + createControlTargetDescriptor(globalTarget, ["projectTimePause"]) + ); + resolved.discrete.push( + createResolvedProjectTimePausedState({ + target: globalTarget, + value: false, + source: defaultSource + }) + ); + targets.push( createControlTargetDescriptor(sceneTarget, [ "ambientLightIntensity",