@aura3d/engine 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -44
- package/dist/animation/AnimationClipEvents.d.ts +55 -0
- package/dist/animation/AnimationClipEvents.d.ts.map +1 -1
- package/dist/animation/AnimationClipEvents.js +136 -0
- package/dist/animation/AnimationClipEvents.js.map +1 -1
- package/dist/animation/AnimationClipRegistry.d.ts +9 -3
- package/dist/animation/AnimationClipRegistry.d.ts.map +1 -1
- package/dist/animation/AnimationClipRegistry.js +52 -5
- package/dist/animation/AnimationClipRegistry.js.map +1 -1
- package/dist/animation/AnimationController.d.ts +6 -6
- package/dist/animation/AnimationController.d.ts.map +1 -1
- package/dist/animation/AnimationController.js +3 -3
- package/dist/animation/AnimationController.js.map +1 -1
- package/dist/animation/AnimationMixer.d.ts +10 -0
- package/dist/animation/AnimationMixer.d.ts.map +1 -1
- package/dist/animation/AnimationMixer.js +35 -0
- package/dist/animation/AnimationMixer.js.map +1 -1
- package/dist/animation/AnimationStateGraph.d.ts +14 -5
- package/dist/animation/AnimationStateGraph.d.ts.map +1 -1
- package/dist/animation/AnimationStateGraph.js +25 -2
- package/dist/animation/AnimationStateGraph.js.map +1 -1
- package/dist/animation/AnimationStateMachine.d.ts +26 -0
- package/dist/animation/AnimationStateMachine.d.ts.map +1 -1
- package/dist/animation/AnimationStateMachine.js +32 -0
- package/dist/animation/AnimationStateMachine.js.map +1 -1
- package/dist/animation/Bone.d.ts +4 -0
- package/dist/animation/Bone.d.ts.map +1 -1
- package/dist/animation/Bone.js +3 -0
- package/dist/animation/Bone.js.map +1 -1
- package/dist/animation/FighterAnimationAdapter.d.ts +49 -0
- package/dist/animation/FighterAnimationAdapter.d.ts.map +1 -0
- package/dist/animation/FighterAnimationAdapter.js +71 -0
- package/dist/animation/FighterAnimationAdapter.js.map +1 -0
- package/dist/animation/FootIk.d.ts +77 -0
- package/dist/animation/FootIk.d.ts.map +1 -0
- package/dist/animation/FootIk.js +153 -0
- package/dist/animation/FootIk.js.map +1 -0
- package/dist/animation/HumanoidBoneInference.d.ts +61 -0
- package/dist/animation/HumanoidBoneInference.d.ts.map +1 -0
- package/dist/animation/HumanoidBoneInference.js +239 -0
- package/dist/animation/HumanoidBoneInference.js.map +1 -0
- package/dist/animation/HumanoidRetargeting.d.ts +48 -4
- package/dist/animation/HumanoidRetargeting.d.ts.map +1 -1
- package/dist/animation/HumanoidRetargeting.js +149 -14
- package/dist/animation/HumanoidRetargeting.js.map +1 -1
- package/dist/animation/IK.d.ts +5 -0
- package/dist/animation/IK.d.ts.map +1 -1
- package/dist/animation/IK.js +9 -0
- package/dist/animation/IK.js.map +1 -1
- package/dist/animation/Inertialization.d.ts +65 -0
- package/dist/animation/Inertialization.d.ts.map +1 -0
- package/dist/animation/Inertialization.js +211 -0
- package/dist/animation/Inertialization.js.map +1 -0
- package/dist/animation/LocomotionController.d.ts +5 -0
- package/dist/animation/LocomotionController.d.ts.map +1 -1
- package/dist/animation/LocomotionController.js +3 -0
- package/dist/animation/LocomotionController.js.map +1 -1
- package/dist/animation/LocomotionKit.d.ts +52 -0
- package/dist/animation/LocomotionKit.d.ts.map +1 -0
- package/dist/animation/LocomotionKit.js +38 -0
- package/dist/animation/LocomotionKit.js.map +1 -0
- package/dist/animation/MotionQuality.d.ts +3 -3
- package/dist/animation/MotionQuality.d.ts.map +1 -1
- package/dist/animation/MotionQuality.js +2 -2
- package/dist/animation/MotionQuality.js.map +1 -1
- package/dist/animation/RigQuality.d.ts +31 -0
- package/dist/animation/RigQuality.d.ts.map +1 -0
- package/dist/animation/RigQuality.js +70 -0
- package/dist/animation/RigQuality.js.map +1 -0
- package/dist/animation/SecondaryAnimationFixtures.d.ts.map +1 -1
- package/dist/animation/SecondaryAnimationFixtures.js +1 -3
- package/dist/animation/SecondaryAnimationFixtures.js.map +1 -1
- package/dist/animation/Skeleton.d.ts +16 -1
- package/dist/animation/Skeleton.d.ts.map +1 -1
- package/dist/animation/Skeleton.js +42 -0
- package/dist/animation/Skeleton.js.map +1 -1
- package/dist/animation/SpringBones.d.ts +60 -0
- package/dist/animation/SpringBones.d.ts.map +1 -0
- package/dist/animation/SpringBones.js +173 -0
- package/dist/animation/SpringBones.js.map +1 -0
- package/dist/animation/browser-index.d.ts +12 -3
- package/dist/animation/browser-index.d.ts.map +1 -1
- package/dist/animation/browser-index.js +11 -2
- package/dist/animation/browser-index.js.map +1 -1
- package/dist/animation/index.d.ts +11 -3
- package/dist/animation/index.d.ts.map +1 -1
- package/dist/animation/index.js +10 -2
- package/dist/animation/index.js.map +1 -1
- package/dist/animation/library/performanceStateGraph.d.ts +42 -0
- package/dist/animation/library/performanceStateGraph.d.ts.map +1 -0
- package/dist/animation/library/performanceStateGraph.js +101 -0
- package/dist/animation/library/performanceStateGraph.js.map +1 -0
- package/dist/animation/library/standardHumanoidClips.d.ts +27 -0
- package/dist/animation/library/standardHumanoidClips.d.ts.map +1 -0
- package/dist/animation/library/standardHumanoidClips.js +357 -0
- package/dist/animation/library/standardHumanoidClips.js.map +1 -0
- package/dist/assets/GLTFAnimationRuntime.d.ts +85 -0
- package/dist/assets/GLTFAnimationRuntime.d.ts.map +1 -1
- package/dist/assets/GLTFAnimationRuntime.js +143 -0
- package/dist/assets/GLTFAnimationRuntime.js.map +1 -1
- package/dist/assets/GLTFAutoFit.d.ts +61 -0
- package/dist/assets/GLTFAutoFit.d.ts.map +1 -0
- package/dist/assets/GLTFAutoFit.js +77 -0
- package/dist/assets/GLTFAutoFit.js.map +1 -0
- package/dist/assets/GLTFLoader.d.ts +21 -0
- package/dist/assets/GLTFLoader.d.ts.map +1 -1
- package/dist/assets/GLTFLoader.js +60 -15
- package/dist/assets/GLTFLoader.js.map +1 -1
- package/dist/assets/GLTFRenderResources.d.ts +9 -1
- package/dist/assets/GLTFRenderResources.d.ts.map +1 -1
- package/dist/assets/GLTFRenderResources.js +93 -4
- package/dist/assets/GLTFRenderResources.js.map +1 -1
- package/dist/assets/browser-index.d.ts +6 -4
- package/dist/assets/browser-index.d.ts.map +1 -1
- package/dist/assets/browser-index.js +3 -2
- package/dist/assets/browser-index.js.map +1 -1
- package/dist/assets/index.d.ts +7 -5
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +4 -3
- package/dist/assets/index.js.map +1 -1
- package/dist/audio/AudioMixer.d.ts +3 -3
- package/dist/audio/AudioMixer.d.ts.map +1 -1
- package/dist/audio/AudioMixer.js +1 -1
- package/dist/audio/AudioMixer.js.map +1 -1
- package/dist/audio/index.d.ts +2 -2
- package/dist/audio/index.d.ts.map +1 -1
- package/dist/audio/index.js +1 -1
- package/dist/audio/index.js.map +1 -1
- package/dist/aura3d-cli/animation-asset-profiles.d.ts +15 -0
- package/dist/aura3d-cli/animation-asset-profiles.d.ts.map +1 -0
- package/dist/aura3d-cli/animation-asset-profiles.js +46 -0
- package/dist/aura3d-cli/animation-asset-profiles.js.map +1 -0
- package/dist/aura3d-cli/animation-asset-validator.d.ts +22 -0
- package/dist/aura3d-cli/animation-asset-validator.d.ts.map +1 -0
- package/dist/aura3d-cli/animation-asset-validator.js +49 -0
- package/dist/aura3d-cli/animation-asset-validator.js.map +1 -0
- package/dist/aura3d-cli/cli.js +40 -17
- package/dist/aura3d-cli/cli.js.map +1 -1
- package/dist/aura3d-cli/game-asset-validator.d.ts +4 -4
- package/dist/aura3d-cli/game-asset-validator.d.ts.map +1 -1
- package/dist/aura3d-cli/game-asset-validator.js +2 -2
- package/dist/aura3d-cli/game-asset-validator.js.map +1 -1
- package/dist/aura3d-cli/index.d.ts +32 -19
- package/dist/aura3d-cli/index.d.ts.map +1 -1
- package/dist/aura3d-cli/index.js +101 -68
- package/dist/aura3d-cli/index.js.map +1 -1
- package/dist/aura3d-cli/pull-bridge.d.ts +30 -4
- package/dist/aura3d-cli/pull-bridge.d.ts.map +1 -1
- package/dist/aura3d-cli/pull-bridge.js +320 -51
- package/dist/aura3d-cli/pull-bridge.js.map +1 -1
- package/dist/create-aura3d/index.d.ts +1 -1
- package/dist/create-aura3d/index.d.ts.map +1 -1
- package/dist/create-aura3d/index.js +6 -4
- package/dist/create-aura3d/index.js.map +1 -1
- package/dist/editor-runtime/AnimationSceneEditor.d.ts +111 -0
- package/dist/editor-runtime/AnimationSceneEditor.d.ts.map +1 -0
- package/dist/editor-runtime/AnimationSceneEditor.js +285 -0
- package/dist/editor-runtime/AnimationSceneEditor.js.map +1 -0
- package/dist/editor-runtime/AssetDropZone.d.ts +9 -9
- package/dist/editor-runtime/AssetDropZone.d.ts.map +1 -1
- package/dist/editor-runtime/AssetDropZone.js +4 -4
- package/dist/editor-runtime/AssetDropZone.js.map +1 -1
- package/dist/editor-runtime/EventTrackEditor.d.ts +54 -0
- package/dist/editor-runtime/EventTrackEditor.d.ts.map +1 -0
- package/dist/editor-runtime/EventTrackEditor.js +124 -0
- package/dist/editor-runtime/EventTrackEditor.js.map +1 -0
- package/dist/editor-runtime/SceneOutliner.d.ts +3 -3
- package/dist/editor-runtime/SceneOutliner.d.ts.map +1 -1
- package/dist/editor-runtime/SceneOutliner.js.map +1 -1
- package/dist/editor-runtime/index.d.ts +5 -3
- package/dist/editor-runtime/index.d.ts.map +1 -1
- package/dist/editor-runtime/index.js +2 -1
- package/dist/editor-runtime/index.js.map +1 -1
- package/dist/engine/agent-api/AnimationAssetManifest.d.ts +50 -0
- package/dist/engine/agent-api/AnimationAssetManifest.d.ts.map +1 -0
- package/dist/engine/agent-api/AnimationAssetManifest.js +65 -0
- package/dist/engine/agent-api/AnimationAssetManifest.js.map +1 -0
- package/dist/engine/agent-api/AnimationDirector.d.ts +120 -0
- package/dist/engine/agent-api/AnimationDirector.d.ts.map +1 -0
- package/dist/engine/agent-api/AnimationDirector.js +432 -0
- package/dist/engine/agent-api/AnimationDirector.js.map +1 -0
- package/dist/engine/agent-api/AnimationEpisodePackage.d.ts +51 -0
- package/dist/engine/agent-api/AnimationEpisodePackage.d.ts.map +1 -0
- package/dist/engine/agent-api/AnimationEpisodePackage.js +79 -0
- package/dist/engine/agent-api/AnimationEpisodePackage.js.map +1 -0
- package/dist/engine/agent-api/AnimationMotionQuality.d.ts +83 -0
- package/dist/engine/agent-api/AnimationMotionQuality.d.ts.map +1 -0
- package/dist/engine/agent-api/AnimationMotionQuality.js +128 -0
- package/dist/engine/agent-api/AnimationMotionQuality.js.map +1 -0
- package/dist/engine/agent-api/AnimationPerformance.d.ts +150 -0
- package/dist/engine/agent-api/AnimationPerformance.d.ts.map +1 -0
- package/dist/engine/agent-api/AnimationPerformance.js +345 -0
- package/dist/engine/agent-api/AnimationPerformance.js.map +1 -0
- package/dist/engine/agent-api/AnimationRenderQueue.d.ts +143 -0
- package/dist/engine/agent-api/AnimationRenderQueue.d.ts.map +1 -0
- package/dist/engine/agent-api/AnimationRenderQueue.js +410 -0
- package/dist/engine/agent-api/AnimationRenderQueue.js.map +1 -0
- package/dist/engine/agent-api/AnimationRouteProof.d.ts +112 -0
- package/dist/engine/agent-api/AnimationRouteProof.d.ts.map +1 -0
- package/dist/engine/agent-api/AnimationRouteProof.js +127 -0
- package/dist/engine/agent-api/AnimationRouteProof.js.map +1 -0
- package/dist/engine/agent-api/AssetLibraryBrowser.d.ts +6 -6
- package/dist/engine/agent-api/AssetLibraryBrowser.d.ts.map +1 -1
- package/dist/engine/agent-api/AssetLibraryBrowser.js +6 -6
- package/dist/engine/agent-api/AssetLibraryBrowser.js.map +1 -1
- package/dist/engine/agent-api/AuraVoiceBridge.d.ts +7 -7
- package/dist/engine/agent-api/AuraVoiceBridge.d.ts.map +1 -1
- package/dist/engine/agent-api/AuraVoiceBridge.js +5 -5
- package/dist/engine/agent-api/AuraVoiceBridge.js.map +1 -1
- package/dist/engine/agent-api/BatchEpisodeRenderer.d.ts +5 -5
- package/dist/engine/agent-api/BatchEpisodeRenderer.d.ts.map +1 -1
- package/dist/engine/agent-api/BatchEpisodeRenderer.js.map +1 -1
- package/dist/engine/agent-api/BodyLanguageLibrary.d.ts +3 -3
- package/dist/engine/agent-api/BodyLanguageLibrary.d.ts.map +1 -1
- package/dist/engine/agent-api/BodyLanguageLibrary.js.map +1 -1
- package/dist/engine/agent-api/BrowserFrameCaptureAdapter.d.ts +4 -4
- package/dist/engine/agent-api/BrowserFrameCaptureAdapter.d.ts.map +1 -1
- package/dist/engine/agent-api/BrowserFrameCaptureAdapter.js +2 -2
- package/dist/engine/agent-api/BrowserFrameCaptureAdapter.js.map +1 -1
- package/dist/engine/agent-api/CharacterAssembly.d.ts +2 -2
- package/dist/engine/agent-api/CharacterAssembly.d.ts.map +1 -1
- package/dist/engine/agent-api/CloudRenderAdapter.d.ts +4 -4
- package/dist/engine/agent-api/CloudRenderAdapter.d.ts.map +1 -1
- package/dist/engine/agent-api/FfmpegFrameEncoder.d.ts +129 -0
- package/dist/engine/agent-api/FfmpegFrameEncoder.d.ts.map +1 -0
- package/dist/engine/agent-api/FfmpegFrameEncoder.js +306 -0
- package/dist/engine/agent-api/FfmpegFrameEncoder.js.map +1 -0
- package/dist/engine/agent-api/FrameEncoder.d.ts +5 -5
- package/dist/engine/agent-api/FrameEncoder.d.ts.map +1 -1
- package/dist/engine/agent-api/GameAssetValidation.d.ts +1 -1
- package/dist/engine/agent-api/GameAssetValidation.d.ts.map +1 -1
- package/dist/engine/agent-api/MediaRecorderFrameEncoder.d.ts.map +1 -1
- package/dist/engine/agent-api/MediaRecorderFrameEncoder.js +7 -2
- package/dist/engine/agent-api/MediaRecorderFrameEncoder.js.map +1 -1
- package/dist/engine/agent-api/PerformanceBlender.d.ts +5 -5
- package/dist/engine/agent-api/PerformanceBlender.d.ts.map +1 -1
- package/dist/engine/agent-api/PerformanceBlender.js.map +1 -1
- package/dist/engine/agent-api/PerformanceCaptureSession.d.ts +5 -5
- package/dist/engine/agent-api/PerformanceCaptureSession.d.ts.map +1 -1
- package/dist/engine/agent-api/PerformanceCaptureSession.js +2 -2
- package/dist/engine/agent-api/PerformanceCaptureSession.js.map +1 -1
- package/dist/engine/agent-api/PerformancePoseEditor.d.ts +8 -8
- package/dist/engine/agent-api/PerformancePoseEditor.d.ts.map +1 -1
- package/dist/engine/agent-api/PerformancePoseEditor.js.map +1 -1
- package/dist/engine/agent-api/PngSequenceEncoder.d.ts +4 -4
- package/dist/engine/agent-api/PngSequenceEncoder.d.ts.map +1 -1
- package/dist/engine/agent-api/PromptAnimationContract.d.ts +2 -2
- package/dist/engine/agent-api/PromptAnimationContract.d.ts.map +1 -1
- package/dist/engine/agent-api/PromptAnimationEvidence.d.ts +2 -2
- package/dist/engine/agent-api/PromptAnimationEvidence.d.ts.map +1 -1
- package/dist/engine/agent-api/PublishingPipeline.d.ts +3 -3
- package/dist/engine/agent-api/PublishingPipeline.d.ts.map +1 -1
- package/dist/engine/agent-api/RuntimeNodeHandle.d.ts +2 -0
- package/dist/engine/agent-api/RuntimeNodeHandle.d.ts.map +1 -1
- package/dist/engine/agent-api/RuntimeNodeHandle.js.map +1 -1
- package/dist/engine/agent-api/SceneGroundingUtils.d.ts +73 -0
- package/dist/engine/agent-api/SceneGroundingUtils.d.ts.map +1 -0
- package/dist/engine/agent-api/SceneGroundingUtils.js +74 -0
- package/dist/engine/agent-api/SceneGroundingUtils.js.map +1 -0
- package/dist/engine/agent-api/ShotTimeline.d.ts +3 -3
- package/dist/engine/agent-api/ShotTimeline.d.ts.map +1 -1
- package/dist/engine/agent-api/ShotTimeline.js.map +1 -1
- package/dist/engine/agent-api/ThumbnailGenerator.d.ts +4 -4
- package/dist/engine/agent-api/ThumbnailGenerator.d.ts.map +1 -1
- package/dist/engine/agent-api/ThumbnailGenerator.js.map +1 -1
- package/dist/engine/agent-api/VideoExportPipeline.d.ts +9 -9
- package/dist/engine/agent-api/VideoExportPipeline.d.ts.map +1 -1
- package/dist/engine/agent-api/VideoExportPipeline.js.map +1 -1
- package/dist/engine/agent-api/VisemeController.d.ts +12 -0
- package/dist/engine/agent-api/VisemeController.d.ts.map +1 -1
- package/dist/engine/agent-api/VisemeController.js +23 -0
- package/dist/engine/agent-api/VisemeController.js.map +1 -1
- package/dist/engine/agent-api/YouTubeMetadataGenerator.d.ts +2 -2
- package/dist/engine/agent-api/YouTubeMetadataGenerator.d.ts.map +1 -1
- package/dist/engine/agent-api/YouTubeMetadataGenerator.js +1 -1
- package/dist/engine/agent-api/YouTubeMetadataGenerator.js.map +1 -1
- package/dist/engine/agent-api/humanoid-walk-runtime.d.ts +1 -1
- package/dist/engine/agent-api/index.d.ts +43 -38
- package/dist/engine/agent-api/index.d.ts.map +1 -1
- package/dist/engine/agent-api/index.js +42 -28
- package/dist/engine/agent-api/index.js.map +1 -1
- package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
- package/dist/engine/animation-studio/animation-episode-validator.d.ts +24 -0
- package/dist/engine/animation-studio/animation-episode-validator.d.ts.map +1 -0
- package/dist/engine/animation-studio/animation-episode-validator.js +74 -0
- package/dist/engine/animation-studio/animation-episode-validator.js.map +1 -0
- package/dist/engine/animation-studio/director-heuristics.d.ts +73 -0
- package/dist/engine/animation-studio/director-heuristics.d.ts.map +1 -0
- package/dist/engine/animation-studio/director-heuristics.js +149 -0
- package/dist/engine/animation-studio/director-heuristics.js.map +1 -0
- package/dist/engine/animation-studio/episode-document.d.ts +214 -0
- package/dist/engine/animation-studio/episode-document.d.ts.map +1 -0
- package/dist/engine/animation-studio/episode-document.js +143 -0
- package/dist/engine/animation-studio/episode-document.js.map +1 -0
- package/dist/engine/animation-studio/index.d.ts +20 -0
- package/dist/engine/animation-studio/index.d.ts.map +1 -0
- package/dist/engine/animation-studio/index.js +20 -0
- package/dist/engine/animation-studio/index.js.map +1 -0
- package/dist/engine/animation-studio/scene-tools.d.ts +34 -0
- package/dist/engine/animation-studio/scene-tools.d.ts.map +1 -0
- package/dist/engine/animation-studio/scene-tools.js +95 -0
- package/dist/engine/animation-studio/scene-tools.js.map +1 -0
- package/dist/engine/index.d.ts +2 -2
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +1 -1
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/production-runtime/TypedGLBActor.d.ts +13 -1
- package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
- package/dist/engine/production-runtime/TypedGLBActor.js +8 -0
- package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
- package/dist/physics/Raycast.d.ts +17 -0
- package/dist/physics/Raycast.d.ts.map +1 -1
- package/dist/physics/Raycast.js +16 -0
- package/dist/physics/Raycast.js.map +1 -1
- package/dist/rendering/ForwardPass.js +18 -13
- package/dist/rendering/ForwardPass.js.map +1 -1
- package/dist/rendering/MorphTargetPlan.d.ts +42 -0
- package/dist/rendering/MorphTargetPlan.d.ts.map +1 -0
- package/dist/rendering/MorphTargetPlan.js +129 -0
- package/dist/rendering/MorphTargetPlan.js.map +1 -0
- package/dist/rendering/MorphUnlitMaterial.d.ts.map +1 -1
- package/dist/rendering/MorphUnlitMaterial.js +7 -1
- package/dist/rendering/MorphUnlitMaterial.js.map +1 -1
- package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
- package/dist/rendering/ShaderLibrary.js +34 -6
- package/dist/rendering/ShaderLibrary.js.map +1 -1
- package/dist/rendering/WebGPUDevice.d.ts +2 -0
- package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
- package/dist/rendering/WebGPUDevice.js +69 -12
- package/dist/rendering/WebGPUDevice.js.map +1 -1
- package/dist/rendering/animation/AnimationMaterialStyle.d.ts +19 -0
- package/dist/rendering/animation/AnimationMaterialStyle.d.ts.map +1 -0
- package/dist/rendering/animation/AnimationMaterialStyle.js +13 -0
- package/dist/rendering/animation/AnimationMaterialStyle.js.map +1 -0
- package/dist/rendering/animation/AnimationRenderPreset.d.ts +36 -0
- package/dist/rendering/animation/AnimationRenderPreset.d.ts.map +1 -0
- package/dist/rendering/animation/AnimationRenderPreset.js +23 -0
- package/dist/rendering/animation/AnimationRenderPreset.js.map +1 -0
- package/dist/rendering/animation/AnimationToonMaterial.d.ts +130 -0
- package/dist/rendering/animation/AnimationToonMaterial.d.ts.map +1 -0
- package/dist/rendering/animation/AnimationToonMaterial.js +303 -0
- package/dist/rendering/animation/AnimationToonMaterial.js.map +1 -0
- package/dist/rendering/animation/AnimationVisualQuality.d.ts +28 -0
- package/dist/rendering/animation/AnimationVisualQuality.d.ts.map +1 -0
- package/dist/rendering/animation/AnimationVisualQuality.js +39 -0
- package/dist/rendering/animation/AnimationVisualQuality.js.map +1 -0
- package/dist/rendering/animation/applyAnimationRenderPreset.d.ts +79 -0
- package/dist/rendering/animation/applyAnimationRenderPreset.d.ts.map +1 -0
- package/dist/rendering/animation/applyAnimationRenderPreset.js +88 -0
- package/dist/rendering/animation/applyAnimationRenderPreset.js.map +1 -0
- package/dist/rendering/animation/index.d.ts +6 -0
- package/dist/rendering/animation/index.d.ts.map +1 -0
- package/dist/rendering/animation/index.js +6 -0
- package/dist/rendering/animation/index.js.map +1 -0
- package/dist/rendering/cartoon/CartoonToonMaterial.d.ts +130 -0
- package/dist/rendering/cartoon/CartoonToonMaterial.d.ts.map +1 -0
- package/dist/rendering/cartoon/CartoonToonMaterial.js +303 -0
- package/dist/rendering/cartoon/CartoonToonMaterial.js.map +1 -0
- package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts +79 -0
- package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts.map +1 -0
- package/dist/rendering/cartoon/applyCartoonRenderPreset.js +88 -0
- package/dist/rendering/cartoon/applyCartoonRenderPreset.js.map +1 -0
- package/dist/rendering/cartoon/index.d.ts +2 -0
- package/dist/rendering/cartoon/index.d.ts.map +1 -1
- package/dist/rendering/cartoon/index.js +2 -0
- package/dist/rendering/cartoon/index.js.map +1 -1
- package/dist/rendering/index.d.ts +4 -2
- package/dist/rendering/index.d.ts.map +1 -1
- package/dist/rendering/index.js +3 -2
- package/dist/rendering/index.js.map +1 -1
- package/dist/scripting/AnimationNodeCategories.d.ts +3 -0
- package/dist/scripting/AnimationNodeCategories.d.ts.map +1 -0
- package/dist/scripting/AnimationNodeCategories.js +9 -0
- package/dist/scripting/AnimationNodeCategories.js.map +1 -0
- package/dist/scripting/AnimationVisualNodes.d.ts +3 -0
- package/dist/scripting/AnimationVisualNodes.d.ts.map +1 -0
- package/dist/scripting/AnimationVisualNodes.js +41 -0
- package/dist/scripting/AnimationVisualNodes.js.map +1 -0
- package/dist/scripting/VisualGraphExecutor.js +24 -24
- package/dist/scripting/VisualGraphExecutor.js.map +1 -1
- package/dist/scripting/VisualNodeCatalog.js +2 -2
- package/dist/scripting/VisualNodeCatalog.js.map +1 -1
- package/dist/scripting/index.d.ts +3 -3
- package/dist/scripting/index.d.ts.map +1 -1
- package/dist/scripting/index.js +2 -2
- package/dist/scripting/index.js.map +1 -1
- package/package.json +150 -126
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { type PromptAnimationFrameRate, type PromptAnimationId, type PromptAnimationSeconds, type PromptAnimationValidationIssue } from "./PromptAnimationContract.js";
|
|
2
|
+
export declare const animationMotionQualitySchemaVersion: "aura3d-animation-motion-quality/v1";
|
|
3
|
+
export type AnimationMotionQualityStatus = "pass" | "fail";
|
|
4
|
+
export type AnimationMotionRegionKind = "head" | "torso" | "arm" | "hand" | "leg" | "mouth" | "prop" | "background";
|
|
5
|
+
export type AnimationMotionSegmentKind = "establishing" | "dialogue" | "action" | "camera" | "transition";
|
|
6
|
+
export interface AnimationMotionFrameRegionSample {
|
|
7
|
+
readonly id: PromptAnimationId;
|
|
8
|
+
readonly kind: AnimationMotionRegionKind;
|
|
9
|
+
readonly characterId?: PromptAnimationId | undefined;
|
|
10
|
+
readonly visible: boolean;
|
|
11
|
+
readonly delta: number;
|
|
12
|
+
readonly mouthDelta?: number | undefined;
|
|
13
|
+
}
|
|
14
|
+
export interface AnimationMotionFrameSample {
|
|
15
|
+
readonly frame: number;
|
|
16
|
+
readonly time: PromptAnimationSeconds;
|
|
17
|
+
readonly frameHash: string;
|
|
18
|
+
readonly globalDelta: number;
|
|
19
|
+
readonly cameraMoveExpected?: boolean | undefined;
|
|
20
|
+
readonly regions: readonly AnimationMotionFrameRegionSample[];
|
|
21
|
+
}
|
|
22
|
+
export interface AnimationMotionSegmentInput {
|
|
23
|
+
readonly id: PromptAnimationId;
|
|
24
|
+
readonly shotId?: PromptAnimationId | undefined;
|
|
25
|
+
readonly kind: AnimationMotionSegmentKind;
|
|
26
|
+
readonly startFrame: number;
|
|
27
|
+
readonly endFrame: number;
|
|
28
|
+
readonly characterIds?: readonly PromptAnimationId[] | undefined;
|
|
29
|
+
readonly cameraMoveExpected?: boolean | undefined;
|
|
30
|
+
}
|
|
31
|
+
export interface AnimationMotionQualityThresholds {
|
|
32
|
+
readonly minFrameHashChanges: number;
|
|
33
|
+
readonly minGlobalDelta: number;
|
|
34
|
+
readonly minRegionDelta: number;
|
|
35
|
+
readonly minMouthDelta: number;
|
|
36
|
+
readonly minIndependentRegionKinds: number;
|
|
37
|
+
readonly maxGlobalOnlyFrameRatio: number;
|
|
38
|
+
}
|
|
39
|
+
export interface AnimationMotionSegmentReport {
|
|
40
|
+
readonly id: PromptAnimationId;
|
|
41
|
+
readonly shotId?: PromptAnimationId | undefined;
|
|
42
|
+
readonly kind: AnimationMotionSegmentKind;
|
|
43
|
+
readonly startFrame: number;
|
|
44
|
+
readonly endFrame: number;
|
|
45
|
+
readonly frameCount: number;
|
|
46
|
+
readonly frameHashChanges: number;
|
|
47
|
+
readonly averageGlobalDelta: number;
|
|
48
|
+
readonly averageLocalRegionDelta: number;
|
|
49
|
+
readonly movingRegionKinds: readonly AnimationMotionRegionKind[];
|
|
50
|
+
readonly movingCharacterIds: readonly PromptAnimationId[];
|
|
51
|
+
readonly mouthMotionCharacterIds: readonly PromptAnimationId[];
|
|
52
|
+
readonly globalOnlyFrameRatio: number;
|
|
53
|
+
readonly cameraMoveExpected: boolean;
|
|
54
|
+
readonly pass: boolean;
|
|
55
|
+
readonly issues: readonly PromptAnimationValidationIssue[];
|
|
56
|
+
}
|
|
57
|
+
export interface AnimationMotionQualityReport {
|
|
58
|
+
readonly artifact: "animation-motion-quality";
|
|
59
|
+
readonly schemaVersion: typeof animationMotionQualitySchemaVersion;
|
|
60
|
+
readonly contractId: string;
|
|
61
|
+
readonly episodeId: PromptAnimationId;
|
|
62
|
+
readonly generatedAt?: string | undefined;
|
|
63
|
+
readonly frameRate: PromptAnimationFrameRate;
|
|
64
|
+
readonly frameCount: number;
|
|
65
|
+
readonly status: AnimationMotionQualityStatus;
|
|
66
|
+
readonly thresholds: AnimationMotionQualityThresholds;
|
|
67
|
+
readonly frameHashChanges: number;
|
|
68
|
+
readonly globalOnlyMotion: boolean;
|
|
69
|
+
readonly segments: readonly AnimationMotionSegmentReport[];
|
|
70
|
+
readonly issues: readonly PromptAnimationValidationIssue[];
|
|
71
|
+
}
|
|
72
|
+
export interface CreateAnimationMotionQualityReportInput {
|
|
73
|
+
readonly episodeId: PromptAnimationId;
|
|
74
|
+
readonly frameRate: PromptAnimationFrameRate;
|
|
75
|
+
readonly frames: readonly AnimationMotionFrameSample[];
|
|
76
|
+
readonly segments: readonly AnimationMotionSegmentInput[];
|
|
77
|
+
readonly generatedAt?: string | undefined;
|
|
78
|
+
readonly thresholds?: Partial<AnimationMotionQualityThresholds> | undefined;
|
|
79
|
+
}
|
|
80
|
+
export declare const defaultAnimationMotionQualityThresholds: AnimationMotionQualityThresholds;
|
|
81
|
+
export declare function createAnimationMotionQualityReport(input: CreateAnimationMotionQualityReportInput): AnimationMotionQualityReport;
|
|
82
|
+
export declare function validateAnimationMotionQuality(report: AnimationMotionQualityReport): readonly PromptAnimationValidationIssue[];
|
|
83
|
+
//# sourceMappingURL=AnimationMotionQuality.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimationMotionQuality.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/AnimationMotionQuality.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { createPromptAnimationIssue, promptAnimationContractVersion } from "./PromptAnimationContract.js";
|
|
2
|
+
export const animationMotionQualitySchemaVersion = "aura3d-animation-motion-quality/v1";
|
|
3
|
+
export const defaultAnimationMotionQualityThresholds = {
|
|
4
|
+
minFrameHashChanges: 2,
|
|
5
|
+
minGlobalDelta: 0.01,
|
|
6
|
+
minRegionDelta: 0.025,
|
|
7
|
+
minMouthDelta: 0.015,
|
|
8
|
+
minIndependentRegionKinds: 2,
|
|
9
|
+
maxGlobalOnlyFrameRatio: 0.6
|
|
10
|
+
};
|
|
11
|
+
export function createAnimationMotionQualityReport(input) {
|
|
12
|
+
const thresholds = { ...defaultAnimationMotionQualityThresholds, ...input.thresholds };
|
|
13
|
+
const sortedFrames = [...input.frames].sort((a, b) => a.frame - b.frame);
|
|
14
|
+
const frameHashChanges = countFrameHashChanges(sortedFrames);
|
|
15
|
+
const segments = input.segments.map((segment) => analyzeAnimationMotionSegment(segment, sortedFrames, thresholds));
|
|
16
|
+
const issues = [];
|
|
17
|
+
if (sortedFrames.length === 0) {
|
|
18
|
+
issues.push(createPromptAnimationIssue("error", "animation-motion-frames-missing", "Motion quality requires sampled frames."));
|
|
19
|
+
}
|
|
20
|
+
if (frameHashChanges < thresholds.minFrameHashChanges) {
|
|
21
|
+
issues.push(createPromptAnimationIssue("error", "animation-motion-frame-hashes-static", `Motion quality requires at least ${thresholds.minFrameHashChanges} frame hash changes.`));
|
|
22
|
+
}
|
|
23
|
+
if (segments.length === 0) {
|
|
24
|
+
issues.push(createPromptAnimationIssue("error", "animation-motion-segments-missing", "Motion quality requires timeline segments."));
|
|
25
|
+
}
|
|
26
|
+
issues.push(...segments.flatMap((segment) => segment.issues));
|
|
27
|
+
const globalOnlyMotion = segments.length > 0 && segments.every((segment) => segment.globalOnlyFrameRatio > thresholds.maxGlobalOnlyFrameRatio);
|
|
28
|
+
if (globalOnlyMotion) {
|
|
29
|
+
issues.push(createPromptAnimationIssue("error", "animation-motion-global-only", "Motion appears to be global-only still-image motion instead of independent character or object animation."));
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
artifact: "animation-motion-quality",
|
|
33
|
+
schemaVersion: animationMotionQualitySchemaVersion,
|
|
34
|
+
contractId: promptAnimationContractVersion,
|
|
35
|
+
episodeId: input.episodeId,
|
|
36
|
+
generatedAt: input.generatedAt,
|
|
37
|
+
frameRate: input.frameRate,
|
|
38
|
+
frameCount: sortedFrames.length,
|
|
39
|
+
status: issues.some((issue) => issue.severity === "error") ? "fail" : "pass",
|
|
40
|
+
thresholds,
|
|
41
|
+
frameHashChanges,
|
|
42
|
+
globalOnlyMotion,
|
|
43
|
+
segments,
|
|
44
|
+
issues
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export function validateAnimationMotionQuality(report) {
|
|
48
|
+
const issues = [];
|
|
49
|
+
if (report.schemaVersion !== animationMotionQualitySchemaVersion) {
|
|
50
|
+
issues.push(createPromptAnimationIssue("error", "animation-motion-schema-version-unknown", `Unknown animation motion quality schema "${report.schemaVersion}".`));
|
|
51
|
+
}
|
|
52
|
+
if (report.status !== "pass") {
|
|
53
|
+
issues.push(createPromptAnimationIssue("error", "animation-motion-status-fail", "Animation motion quality report did not pass."));
|
|
54
|
+
}
|
|
55
|
+
if (report.globalOnlyMotion) {
|
|
56
|
+
issues.push(createPromptAnimationIssue("error", "animation-motion-global-only", "Animation motion quality report detected global-only still-image motion."));
|
|
57
|
+
}
|
|
58
|
+
return [...issues, ...report.issues];
|
|
59
|
+
}
|
|
60
|
+
function analyzeAnimationMotionSegment(segment, frames, thresholds) {
|
|
61
|
+
const segmentFrames = frames.filter((frame) => frame.frame >= segment.startFrame && frame.frame <= segment.endFrame);
|
|
62
|
+
const issues = [];
|
|
63
|
+
const allRegions = segmentFrames.flatMap((frame) => frame.regions.filter((region) => region.visible));
|
|
64
|
+
const movingRegions = allRegions.filter((region) => region.delta >= thresholds.minRegionDelta);
|
|
65
|
+
const movingRegionKinds = uniqueSorted(movingRegions.map((region) => region.kind));
|
|
66
|
+
const movingCharacterIds = uniqueSorted(movingRegions.flatMap((region) => (region.characterId ? [region.characterId] : [])));
|
|
67
|
+
const mouthMotionCharacterIds = uniqueSorted(allRegions.flatMap((region) => region.kind === "mouth" && (region.mouthDelta ?? region.delta) >= thresholds.minMouthDelta && region.characterId
|
|
68
|
+
? [region.characterId]
|
|
69
|
+
: []));
|
|
70
|
+
const globalOnlyFrames = segmentFrames.filter((frame) => {
|
|
71
|
+
const maxLocalDelta = Math.max(0, ...frame.regions.filter((region) => region.visible).map((region) => region.delta));
|
|
72
|
+
return frame.globalDelta >= thresholds.minGlobalDelta && maxLocalDelta < thresholds.minRegionDelta;
|
|
73
|
+
});
|
|
74
|
+
const frameHashChanges = countFrameHashChanges(segmentFrames);
|
|
75
|
+
const averageGlobalDelta = average(segmentFrames.map((frame) => frame.globalDelta));
|
|
76
|
+
const averageLocalRegionDelta = average(allRegions.map((region) => region.delta));
|
|
77
|
+
const globalOnlyFrameRatio = segmentFrames.length === 0 ? 1 : globalOnlyFrames.length / segmentFrames.length;
|
|
78
|
+
const cameraMoveExpected = Boolean(segment.cameraMoveExpected ?? segmentFrames.some((frame) => frame.cameraMoveExpected));
|
|
79
|
+
if (segmentFrames.length === 0) {
|
|
80
|
+
issues.push(createPromptAnimationIssue("error", "animation-motion-segment-frames-missing", `Motion segment "${segment.id}" has no sampled frames.`, {
|
|
81
|
+
path: `segments.${segment.id}`
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
if ((segment.kind === "action" || segment.kind === "dialogue") && movingRegionKinds.length < thresholds.minIndependentRegionKinds) {
|
|
85
|
+
issues.push(createPromptAnimationIssue("error", "animation-motion-independent-regions-missing", `Motion segment "${segment.id}" requires at least ${thresholds.minIndependentRegionKinds} independently moving region kinds.`, { path: `segments.${segment.id}` }));
|
|
86
|
+
}
|
|
87
|
+
if (segment.kind === "dialogue" && mouthMotionCharacterIds.length === 0) {
|
|
88
|
+
issues.push(createPromptAnimationIssue("error", "animation-motion-mouth-missing", `Dialogue segment "${segment.id}" requires mouth-region motion.`, { path: `segments.${segment.id}` }));
|
|
89
|
+
}
|
|
90
|
+
if (globalOnlyFrameRatio > thresholds.maxGlobalOnlyFrameRatio && !cameraMoveExpected && segment.kind !== "transition") {
|
|
91
|
+
issues.push(createPromptAnimationIssue("error", "animation-motion-segment-global-only", `Motion segment "${segment.id}" looks like global-only still-image movement.`, { path: `segments.${segment.id}` }));
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
id: segment.id,
|
|
95
|
+
shotId: segment.shotId,
|
|
96
|
+
kind: segment.kind,
|
|
97
|
+
startFrame: segment.startFrame,
|
|
98
|
+
endFrame: segment.endFrame,
|
|
99
|
+
frameCount: segmentFrames.length,
|
|
100
|
+
frameHashChanges,
|
|
101
|
+
averageGlobalDelta,
|
|
102
|
+
averageLocalRegionDelta,
|
|
103
|
+
movingRegionKinds,
|
|
104
|
+
movingCharacterIds,
|
|
105
|
+
mouthMotionCharacterIds,
|
|
106
|
+
globalOnlyFrameRatio,
|
|
107
|
+
cameraMoveExpected,
|
|
108
|
+
pass: issues.every((issue) => issue.severity !== "error"),
|
|
109
|
+
issues
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
function countFrameHashChanges(frames) {
|
|
113
|
+
let changes = 0;
|
|
114
|
+
for (let index = 1; index < frames.length; index += 1) {
|
|
115
|
+
if (frames[index]?.frameHash !== frames[index - 1]?.frameHash)
|
|
116
|
+
changes += 1;
|
|
117
|
+
}
|
|
118
|
+
return changes;
|
|
119
|
+
}
|
|
120
|
+
function average(values) {
|
|
121
|
+
if (values.length === 0)
|
|
122
|
+
return 0;
|
|
123
|
+
return Number((values.reduce((sum, value) => sum + value, 0) / values.length).toFixed(6));
|
|
124
|
+
}
|
|
125
|
+
function uniqueSorted(values) {
|
|
126
|
+
return Array.from(new Set(values)).sort();
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=AnimationMotionQuality.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimationMotionQuality.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/AnimationMotionQuality.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { type PromptAnimationArtifactBase, type PromptAnimationFrameRate, type PromptAnimationId, type PromptAnimationSeconds, type PromptAnimationValidationIssue } from "./PromptAnimationContract.js";
|
|
2
|
+
import type { AuraColor, AuraVec3 } from "./index.js";
|
|
3
|
+
import type { DialogueTrackArtifact } from "./DialoguePerformance.js";
|
|
4
|
+
export type AnimationPerformanceAction = "idle" | "speak" | "listen" | "gesture" | "walk" | "run" | "react" | "look-at" | "enter" | "exit" | "blink" | "hold" | "nod" | "wave" | "point" | "reach" | "turn" | "lean";
|
|
5
|
+
export type AnimationPerformancePosture = "neutral" | "upright" | "lean-forward" | "lean-back" | "crouch" | "bounce";
|
|
6
|
+
export type AnimationFacialBrow = "neutral" | "raised" | "soft" | "furrowed" | "arched";
|
|
7
|
+
export type AnimationFacialEyeShape = "open" | "soft" | "wide" | "squint" | "closed";
|
|
8
|
+
export type AnimationFacialMouthShape = "neutral" | "smile" | "frown" | "open" | "round" | "wide";
|
|
9
|
+
export type AnimationGazeMode = "camera" | "target" | "speaker" | "listener" | "offscreen" | "down" | "up";
|
|
10
|
+
export interface AnimationPerformanceBodyState {
|
|
11
|
+
readonly position?: AuraVec3 | undefined;
|
|
12
|
+
readonly rotation?: AuraVec3 | undefined;
|
|
13
|
+
readonly scale?: number | AuraVec3 | undefined;
|
|
14
|
+
readonly rootMotion?: AuraVec3 | undefined;
|
|
15
|
+
readonly posture?: AnimationPerformancePosture | string | undefined;
|
|
16
|
+
readonly headTilt?: number | undefined;
|
|
17
|
+
readonly torsoLean?: number | undefined;
|
|
18
|
+
readonly shoulderRaise?: number | undefined;
|
|
19
|
+
readonly armPose?: "neutral" | "open" | "crossed" | "pointing" | "waving" | "holding-prop" | string | undefined;
|
|
20
|
+
readonly handPose?: "relaxed" | "open" | "point" | "fist" | "pinch" | string | undefined;
|
|
21
|
+
readonly energy?: number | undefined;
|
|
22
|
+
}
|
|
23
|
+
export interface AnimationPerformanceFacialState {
|
|
24
|
+
readonly brow?: AnimationFacialBrow | string | undefined;
|
|
25
|
+
readonly eyes?: AnimationFacialEyeShape | string | undefined;
|
|
26
|
+
readonly eyeOpen?: number | undefined;
|
|
27
|
+
readonly mouth?: AnimationFacialMouthShape | string | undefined;
|
|
28
|
+
readonly cheek?: "neutral" | "lifted" | "puffed" | string | undefined;
|
|
29
|
+
readonly colorAccent?: AuraColor | undefined;
|
|
30
|
+
readonly blinkRate?: number | undefined;
|
|
31
|
+
}
|
|
32
|
+
export interface AnimationPerformanceGestureState {
|
|
33
|
+
readonly gestureId?: PromptAnimationId | undefined;
|
|
34
|
+
readonly label?: string | undefined;
|
|
35
|
+
readonly hand?: "left" | "right" | "both" | undefined;
|
|
36
|
+
readonly amplitude?: number | undefined;
|
|
37
|
+
readonly frequency?: number | undefined;
|
|
38
|
+
readonly loop?: boolean | undefined;
|
|
39
|
+
readonly phase?: number | undefined;
|
|
40
|
+
}
|
|
41
|
+
export interface AnimationPerformanceBlockingState {
|
|
42
|
+
readonly position?: AuraVec3 | undefined;
|
|
43
|
+
readonly rotation?: AuraVec3 | undefined;
|
|
44
|
+
readonly scale?: number | AuraVec3 | undefined;
|
|
45
|
+
readonly visible?: boolean | undefined;
|
|
46
|
+
readonly layer?: "foreground" | "midground" | "background" | string | undefined;
|
|
47
|
+
readonly anchorId?: PromptAnimationId | undefined;
|
|
48
|
+
readonly propId?: PromptAnimationId | undefined;
|
|
49
|
+
}
|
|
50
|
+
export interface AnimationPerformanceGazeState {
|
|
51
|
+
readonly mode: AnimationGazeMode | string;
|
|
52
|
+
readonly targetId?: PromptAnimationId | undefined;
|
|
53
|
+
readonly target?: AuraVec3 | undefined;
|
|
54
|
+
readonly intensity?: number | undefined;
|
|
55
|
+
readonly leadTime?: PromptAnimationSeconds | undefined;
|
|
56
|
+
}
|
|
57
|
+
export interface AnimationEmotionPose {
|
|
58
|
+
readonly id: PromptAnimationId;
|
|
59
|
+
readonly emotion: string;
|
|
60
|
+
readonly body: AnimationPerformanceBodyState;
|
|
61
|
+
readonly facial: AnimationPerformanceFacialState;
|
|
62
|
+
readonly gaze?: AnimationPerformanceGazeState | undefined;
|
|
63
|
+
readonly notes?: readonly string[] | undefined;
|
|
64
|
+
}
|
|
65
|
+
export interface AnimationGesture {
|
|
66
|
+
readonly id: PromptAnimationId;
|
|
67
|
+
readonly label: string;
|
|
68
|
+
readonly action: AnimationPerformanceAction | string;
|
|
69
|
+
readonly defaultDuration: PromptAnimationSeconds;
|
|
70
|
+
readonly body: AnimationPerformanceBodyState;
|
|
71
|
+
readonly gesture: AnimationPerformanceGestureState;
|
|
72
|
+
readonly facial?: AnimationPerformanceFacialState | undefined;
|
|
73
|
+
readonly reducedMotionSafe: boolean;
|
|
74
|
+
readonly notes?: readonly string[] | undefined;
|
|
75
|
+
}
|
|
76
|
+
export declare const animationEmotionPoseLibrary: Record<string, AnimationEmotionPose>;
|
|
77
|
+
export declare const animationGestureLibrary: Record<string, AnimationGesture>;
|
|
78
|
+
export interface AnimationPerformanceCue {
|
|
79
|
+
readonly id: PromptAnimationId;
|
|
80
|
+
readonly shotId?: PromptAnimationId | undefined;
|
|
81
|
+
readonly characterId: PromptAnimationId;
|
|
82
|
+
readonly lineId?: PromptAnimationId | undefined;
|
|
83
|
+
readonly startTime: PromptAnimationSeconds;
|
|
84
|
+
readonly endTime: PromptAnimationSeconds;
|
|
85
|
+
readonly action: AnimationPerformanceAction | string;
|
|
86
|
+
readonly emotion?: string | undefined;
|
|
87
|
+
readonly emotionPoseId?: PromptAnimationId | undefined;
|
|
88
|
+
readonly intensity?: number | undefined;
|
|
89
|
+
readonly animationClip?: string | undefined;
|
|
90
|
+
readonly visemeTrackId?: PromptAnimationId | undefined;
|
|
91
|
+
readonly body?: AnimationPerformanceBodyState | undefined;
|
|
92
|
+
readonly facial?: AnimationPerformanceFacialState | undefined;
|
|
93
|
+
readonly gestureId?: PromptAnimationId | undefined;
|
|
94
|
+
readonly gesture?: AnimationPerformanceGestureState | undefined;
|
|
95
|
+
readonly blocking?: AnimationPerformanceBlockingState | undefined;
|
|
96
|
+
readonly gaze?: AnimationPerformanceGazeState | undefined;
|
|
97
|
+
readonly notes?: readonly string[] | undefined;
|
|
98
|
+
}
|
|
99
|
+
export interface AnimationPerformanceArtifact extends PromptAnimationArtifactBase<"animation-performance"> {
|
|
100
|
+
readonly frameRate: PromptAnimationFrameRate;
|
|
101
|
+
readonly cues: readonly AnimationPerformanceCue[];
|
|
102
|
+
}
|
|
103
|
+
export interface AnimationPerformanceCoverage {
|
|
104
|
+
readonly cueCount: number;
|
|
105
|
+
readonly speakingCueCount: number;
|
|
106
|
+
readonly bodyCueCount: number;
|
|
107
|
+
readonly facialCueCount: number;
|
|
108
|
+
readonly gestureCueCount: number;
|
|
109
|
+
readonly blockingCueCount: number;
|
|
110
|
+
readonly gazeCueCount: number;
|
|
111
|
+
readonly animatedCharacterIds: readonly PromptAnimationId[];
|
|
112
|
+
readonly staticCharacterIds: readonly PromptAnimationId[];
|
|
113
|
+
readonly uncoveredDialogueLineIds: readonly PromptAnimationId[];
|
|
114
|
+
readonly issues: readonly PromptAnimationValidationIssue[];
|
|
115
|
+
}
|
|
116
|
+
export interface AnimationCharacterPerformanceState {
|
|
117
|
+
readonly time: PromptAnimationSeconds;
|
|
118
|
+
readonly characterId: PromptAnimationId;
|
|
119
|
+
readonly activeCues: readonly AnimationPerformanceCue[];
|
|
120
|
+
readonly primaryCue?: AnimationPerformanceCue | undefined;
|
|
121
|
+
readonly action: AnimationPerformanceAction | string;
|
|
122
|
+
readonly emotion: string;
|
|
123
|
+
readonly intensity: number;
|
|
124
|
+
readonly emotionPose: AnimationEmotionPose;
|
|
125
|
+
readonly gesture?: AnimationGesture | undefined;
|
|
126
|
+
readonly body: AnimationPerformanceBodyState;
|
|
127
|
+
readonly facial: AnimationPerformanceFacialState;
|
|
128
|
+
readonly blocking?: AnimationPerformanceBlockingState | undefined;
|
|
129
|
+
readonly gaze?: AnimationPerformanceGazeState | undefined;
|
|
130
|
+
readonly animationClip?: string | undefined;
|
|
131
|
+
}
|
|
132
|
+
export declare function defineAnimationPerformance<const TPerformance extends AnimationPerformanceArtifact>(performance: TPerformance): TPerformance;
|
|
133
|
+
export declare function createAnimationPerformance(input: {
|
|
134
|
+
readonly episodeId: PromptAnimationId;
|
|
135
|
+
readonly frameRate: PromptAnimationFrameRate;
|
|
136
|
+
readonly cues: readonly AnimationPerformanceCue[];
|
|
137
|
+
readonly generatedAt?: string | undefined;
|
|
138
|
+
}): AnimationPerformanceArtifact;
|
|
139
|
+
export declare function createDialogueAnimationPerformance(dialogue: DialogueTrackArtifact, options?: {
|
|
140
|
+
readonly frameRate?: PromptAnimationFrameRate | undefined;
|
|
141
|
+
readonly shotByLineId?: Record<string, PromptAnimationId> | undefined;
|
|
142
|
+
readonly visemeTrackId?: PromptAnimationId | undefined;
|
|
143
|
+
}): AnimationPerformanceArtifact;
|
|
144
|
+
export declare function resolveAnimationEmotionPose(emotionOrPoseId: string | undefined): AnimationEmotionPose;
|
|
145
|
+
export declare function resolveAnimationGesture(gestureId: string | undefined): AnimationGesture | undefined;
|
|
146
|
+
export declare function sampleAnimationCharacterPerformance(performance: AnimationPerformanceArtifact, time: PromptAnimationSeconds, characterId: PromptAnimationId): AnimationCharacterPerformanceState;
|
|
147
|
+
export declare function animationPerformanceCuesAtTime(performance: AnimationPerformanceArtifact, time: PromptAnimationSeconds, characterId?: PromptAnimationId): readonly AnimationPerformanceCue[];
|
|
148
|
+
export declare function validateAnimationPerformance(performance: AnimationPerformanceArtifact): readonly PromptAnimationValidationIssue[];
|
|
149
|
+
export declare function createAnimationPerformanceCoverage(performance: AnimationPerformanceArtifact, dialogue?: DialogueTrackArtifact): AnimationPerformanceCoverage;
|
|
150
|
+
//# sourceMappingURL=AnimationPerformance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimationPerformance.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/AnimationPerformance.ts"],"names":[],"mappings":"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"}
|