From 438879dca7206dc97268be76f2a472ff8f0ae9df Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Tue, 14 Apr 2026 13:45:15 +0200 Subject: [PATCH] Update NPC definition and add path state --- src/runtime-three/runtime-scene-build.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/runtime-three/runtime-scene-build.ts b/src/runtime-three/runtime-scene-build.ts index 8d0e88e5..e4a3ef1c 100644 --- a/src/runtime-three/runtime-scene-build.ts +++ b/src/runtime-three/runtime-scene-build.ts @@ -13,6 +13,8 @@ import { createLightIntensityControlChannelDescriptor, createModelInstanceControlTargetRef, createResolvedAmbientLightColorState, + createResolvedActorAnimationPlaybackState, + createResolvedActorPathAssignmentState, createResolvedAmbientLightIntensityChannelValue, createResolvedInteractionEnabledState, createResolvedLightColorState, @@ -222,11 +224,29 @@ export interface RuntimeNpc { modelAssetId: string | null; collider: FirstPersonPlayerShape; activeRoutineTitle: string | null; + animationClipName: string | null; + animationLoop: boolean | undefined; + resolvedPath: RuntimeResolvedNpcPathState | null; } export interface RuntimeNpcDefinition extends RuntimeNpc { active: boolean; activeRoutineId: string | null; + authoredPosition: Vec3; + authoredYawDegrees: number; +} + +export interface RuntimeResolvedNpcPathState { + pathId: string; + progressMode: "deriveFromTime"; + speed: number; + loop: boolean; + elapsedHours: number; + distance: number; + progress: number; + position: Vec3; + tangent: Vec3; + yawDegrees: number | null; } export interface RuntimeSoundEmitter {