@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
|
@@ -47,8 +47,8 @@ export interface CharacterAssemblyPart<TAsset extends AuraAssetRef<"model"> = Au
|
|
|
47
47
|
}
|
|
48
48
|
export interface CharacterAssemblyGameplayIntent {
|
|
49
49
|
readonly runtimeNodeId?: string | undefined;
|
|
50
|
-
readonly collisionPreset?: "fighter" | "npc" | "
|
|
51
|
-
readonly animationProfile?: "fighter" | "
|
|
50
|
+
readonly collisionPreset?: "fighter" | "npc" | "animation-character" | "none" | undefined;
|
|
51
|
+
readonly animationProfile?: "fighter" | "animation" | "ambient" | undefined;
|
|
52
52
|
readonly routeUsage?: readonly string[] | undefined;
|
|
53
53
|
}
|
|
54
54
|
export interface CharacterAssemblyPlan<TBody extends AuraAssetRef<"model"> = AuraAssetRef<"model">> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CharacterAssembly.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/CharacterAssembly.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CharacterAssembly.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/CharacterAssembly.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { AnimationEpisodePackageManifest } from "./AnimationEpisodePackage.js";
|
|
2
|
+
import type { AnimationRenderQueueArtifact } from "./AnimationRenderQueue.js";
|
|
3
3
|
import { type PromptAnimationId, type PromptAnimationValidationIssue } from "./PromptAnimationContract.js";
|
|
4
4
|
export type CloudRenderProvider = "local" | "github-actions" | "render-farm" | "custom";
|
|
5
5
|
export type CloudRenderJobStatus = "queued" | "running" | "completed" | "failed" | "unsupported";
|
|
@@ -46,8 +46,8 @@ export interface CreateCloudRenderAdapterOptions {
|
|
|
46
46
|
}
|
|
47
47
|
export declare function createCloudRenderJobRequest(input: {
|
|
48
48
|
readonly provider?: CloudRenderProvider | undefined;
|
|
49
|
-
readonly packageManifest:
|
|
50
|
-
readonly renderQueue:
|
|
49
|
+
readonly packageManifest: AnimationEpisodePackageManifest;
|
|
50
|
+
readonly renderQueue: AnimationRenderQueueArtifact;
|
|
51
51
|
readonly outputDirectory?: string | undefined;
|
|
52
52
|
}): CloudRenderJobRequest;
|
|
53
53
|
export declare function probeCloudRenderAdapter(options?: CreateCloudRenderAdapterOptions): CloudRenderCapability;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CloudRenderAdapter.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/CloudRenderAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"CloudRenderAdapter.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/CloudRenderAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { type FrameEncoderAdapter, type FrameEncoderCodec, type FrameEncoderContainer } from "./FrameEncoder.js";
|
|
2
|
+
import { type PromptAnimationFrameRate } from "./PromptAnimationContract.js";
|
|
3
|
+
/**
|
|
4
|
+
* FfmpegFrameEncoder
|
|
5
|
+
* -------------------
|
|
6
|
+
* This is the FIRST FrameEncoderAdapter that produces a genuinely playable video
|
|
7
|
+
* file. Every other adapter in this package is honest about being proof-only:
|
|
8
|
+
* - createInMemoryFrameEncoderAdapter() records frame metadata only.
|
|
9
|
+
* - createMediaRecorderFrameEncoderAdapter() returns a JSON metadata summary blob.
|
|
10
|
+
* - createWebCodecsFrameEncoderAdapter() returns container-less encoded chunks.
|
|
11
|
+
* - createPngSequenceEncoderAdapter() writes a PNG manifest, not a video.
|
|
12
|
+
*
|
|
13
|
+
* This adapter actually shells out to a real `ffmpeg` binary (via node's
|
|
14
|
+
* child_process) to mux the buffered frames into a `.webm` (libvpx-vp9) or
|
|
15
|
+
* `.mp4` (libx264) file, then reads that file back and returns its bytes as a
|
|
16
|
+
* Uint8Array. The result is a real, playable container.
|
|
17
|
+
*
|
|
18
|
+
* Honesty / limitations:
|
|
19
|
+
* - This adapter only works in a Node-like runtime that has `ffmpeg` on PATH.
|
|
20
|
+
* There is NO pure-JS fallback. If ffmpeg is unavailable, probeFfmpeg()
|
|
21
|
+
* reports supported:false and the adapter degrades to proofOnly:true /
|
|
22
|
+
* outputMode:"unsupported" rather than pretending to encode.
|
|
23
|
+
* - It prefers PNG-encoded frame bytes (each FrameEncoderFrame.image as a
|
|
24
|
+
* Uint8Array of PNG file bytes, or a string path/data-URL to a PNG). PNG is
|
|
25
|
+
* self-describing (ffmpeg infers dimensions), so this is the robust path.
|
|
26
|
+
* - Raw RGBA buffers are ALSO accepted, but only when every frame is raw RGBA
|
|
27
|
+
* of the configured viewport size: ffmpeg is then told `-f rawvideo -pix_fmt
|
|
28
|
+
* rgba -s WxH`. Mixing PNG and raw RGBA in one run is rejected.
|
|
29
|
+
* - Frames are buffered in memory until finalize(); this is not a streaming
|
|
30
|
+
* encoder.
|
|
31
|
+
*/
|
|
32
|
+
export type FfmpegFrameInputFormat = "png" | "rawvideo";
|
|
33
|
+
export interface FfmpegRunResult {
|
|
34
|
+
readonly code: number;
|
|
35
|
+
readonly stdout: string;
|
|
36
|
+
readonly stderr: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Injectable seam used to invoke ffmpeg. The default implementation spawns the
|
|
40
|
+
* real binary, but tests provide a fake that records the args and writes a
|
|
41
|
+
* stand-in output file. Implementations must write the encoded video to
|
|
42
|
+
* `outputPath` (the bytes read back are whatever lands there).
|
|
43
|
+
*/
|
|
44
|
+
export type RunFfmpeg = (input: {
|
|
45
|
+
readonly args: readonly string[];
|
|
46
|
+
readonly ffmpegPath: string;
|
|
47
|
+
readonly inputFormat: FfmpegFrameInputFormat;
|
|
48
|
+
readonly framePaths: readonly string[];
|
|
49
|
+
readonly outputPath: string;
|
|
50
|
+
}) => Promise<FfmpegRunResult> | FfmpegRunResult;
|
|
51
|
+
export interface FfmpegCapability {
|
|
52
|
+
readonly kind: "ffmpeg-frame-encoder-capability";
|
|
53
|
+
readonly supported: boolean;
|
|
54
|
+
readonly ffmpegPath: string;
|
|
55
|
+
readonly codec: FrameEncoderCodec;
|
|
56
|
+
readonly container: FrameEncoderContainer;
|
|
57
|
+
readonly reason?: string | undefined;
|
|
58
|
+
}
|
|
59
|
+
export interface CreateFfmpegFrameEncoderAdapterOptions {
|
|
60
|
+
readonly codec?: FrameEncoderCodec | undefined;
|
|
61
|
+
readonly container?: FrameEncoderContainer | undefined;
|
|
62
|
+
readonly frameRate?: PromptAnimationFrameRate | undefined;
|
|
63
|
+
/** Path/name of the ffmpeg binary. Defaults to "ffmpeg" (resolved via PATH). */
|
|
64
|
+
readonly ffmpegPath?: string | undefined;
|
|
65
|
+
/** Directory used to stage frame files + the encoded output. Defaults to an OS temp dir. */
|
|
66
|
+
readonly workingDirectory?: string | undefined;
|
|
67
|
+
/** Force the capability decision instead of probing PATH (mostly for tests). */
|
|
68
|
+
readonly supported?: boolean | undefined;
|
|
69
|
+
/** Extra ffmpeg arguments appended before the output path (e.g. ["-crf", "30"]). */
|
|
70
|
+
readonly extraArgs?: readonly string[] | undefined;
|
|
71
|
+
/** Test seam: invoke ffmpeg. Defaults to a real child_process spawn. */
|
|
72
|
+
readonly runFfmpeg?: RunFfmpeg | undefined;
|
|
73
|
+
/** Test seam: filesystem operations. Defaults to node:fs/promises + node:os/node:path. */
|
|
74
|
+
readonly fileSystem?: FfmpegFileSystem | undefined;
|
|
75
|
+
}
|
|
76
|
+
/** Minimal filesystem surface this adapter needs; injectable for tests. */
|
|
77
|
+
export interface FfmpegFileSystem {
|
|
78
|
+
mkdtemp(prefix: string): Promise<string>;
|
|
79
|
+
mkdir(path: string): Promise<void>;
|
|
80
|
+
writeFile(path: string, data: Uint8Array | string): Promise<void>;
|
|
81
|
+
readFile(path: string): Promise<Uint8Array>;
|
|
82
|
+
rm(path: string): Promise<void>;
|
|
83
|
+
join(...parts: string[]): string;
|
|
84
|
+
tmpdir(): string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Probe whether a usable `ffmpeg` binary exists on PATH (or at `ffmpegPath`).
|
|
88
|
+
* Runs `ffmpeg -version` and treats a zero exit code as supported. In a non-Node
|
|
89
|
+
* runtime (no child_process) this resolves to supported:false.
|
|
90
|
+
*/
|
|
91
|
+
export declare function probeFfmpeg(ffmpegPath?: string, codec?: FrameEncoderCodec, container?: FrameEncoderContainer): Promise<FfmpegCapability>;
|
|
92
|
+
/**
|
|
93
|
+
* Create a FrameEncoderAdapter backed by a real ffmpeg process.
|
|
94
|
+
*
|
|
95
|
+
* Because capability detection is async (it spawns `ffmpeg -version`) while the
|
|
96
|
+
* FrameEncoderAdapter surface is synchronous, this returns a Promise of the
|
|
97
|
+
* adapter. The probe result is baked into the returned adapter's `capability`,
|
|
98
|
+
* `proofOnly`, and `outputMode`.
|
|
99
|
+
*/
|
|
100
|
+
export declare function createFfmpegFrameEncoderAdapter(options?: CreateFfmpegFrameEncoderAdapterOptions): Promise<FrameEncoderAdapter>;
|
|
101
|
+
/**
|
|
102
|
+
* Build the ffmpeg argument vector. Exported so tests (and curious humans) can
|
|
103
|
+
* assert exactly what would be run.
|
|
104
|
+
*
|
|
105
|
+
* webm/vp9 example:
|
|
106
|
+
* ffmpeg -y -framerate 30 -i frame-%06d.png \
|
|
107
|
+
* -c:v libvpx-vp9 -pix_fmt yuv420p -b:v 0 -crf 32 out.webm
|
|
108
|
+
* mp4/h264 example:
|
|
109
|
+
* ffmpeg -y -framerate 30 -i frame-%06d.png \
|
|
110
|
+
* -c:v libx264 -pix_fmt yuv420p -movflags +faststart out.mp4
|
|
111
|
+
* raw rgba input adds `-f rawvideo -pixel_format rgba -video_size WxH` before
|
|
112
|
+
* `-i`, and `inputPattern` is a single concatenated .raw file (not a %06d
|
|
113
|
+
* pattern, which rawvideo does not support).
|
|
114
|
+
*/
|
|
115
|
+
export declare function buildFfmpegArgs(input: {
|
|
116
|
+
readonly frameRate: PromptAnimationFrameRate;
|
|
117
|
+
readonly codec: FrameEncoderCodec;
|
|
118
|
+
readonly container: FrameEncoderContainer;
|
|
119
|
+
readonly inputFormat: FfmpegFrameInputFormat;
|
|
120
|
+
/** PNG: a frame-%06d.png image2 pattern. rawvideo: a single concatenated .raw file path. */
|
|
121
|
+
readonly inputPattern: string;
|
|
122
|
+
readonly outputPath: string;
|
|
123
|
+
readonly viewport: {
|
|
124
|
+
readonly width: number;
|
|
125
|
+
readonly height: number;
|
|
126
|
+
};
|
|
127
|
+
readonly extraArgs: readonly string[];
|
|
128
|
+
}): string[];
|
|
129
|
+
//# sourceMappingURL=FfmpegFrameEncoder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FfmpegFrameEncoder.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/FfmpegFrameEncoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
import { defaultContainerForCodec, defaultFrameEncoderMimeType } from "./FrameEncoder.js";
|
|
2
|
+
import { normalizePromptAnimationTime } from "./PromptAnimationContract.js";
|
|
3
|
+
const VP9_CODEC = "libvpx-vp9";
|
|
4
|
+
const H264_CODEC = "libx264";
|
|
5
|
+
/**
|
|
6
|
+
* Probe whether a usable `ffmpeg` binary exists on PATH (or at `ffmpegPath`).
|
|
7
|
+
* Runs `ffmpeg -version` and treats a zero exit code as supported. In a non-Node
|
|
8
|
+
* runtime (no child_process) this resolves to supported:false.
|
|
9
|
+
*/
|
|
10
|
+
export async function probeFfmpeg(ffmpegPath = "ffmpeg", codec = "vp9", container = defaultContainerForCodec(codec)) {
|
|
11
|
+
const base = { kind: "ffmpeg-frame-encoder-capability", ffmpegPath, codec, container };
|
|
12
|
+
if (codec === "png-sequence" || container === "png-sequence") {
|
|
13
|
+
return { ...base, supported: false, reason: "FfmpegFrameEncoder encodes video containers, not png-sequence output." };
|
|
14
|
+
}
|
|
15
|
+
let childProcess;
|
|
16
|
+
try {
|
|
17
|
+
childProcess = await import("node:child_process");
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return { ...base, supported: false, reason: "node:child_process is unavailable; ffmpeg can only run in a Node-like runtime." };
|
|
21
|
+
}
|
|
22
|
+
return await new Promise((resolve) => {
|
|
23
|
+
let settled = false;
|
|
24
|
+
const finish = (cap) => {
|
|
25
|
+
if (settled)
|
|
26
|
+
return;
|
|
27
|
+
settled = true;
|
|
28
|
+
resolve(cap);
|
|
29
|
+
};
|
|
30
|
+
try {
|
|
31
|
+
const child = childProcess.spawn(ffmpegPath, ["-version"], { stdio: "ignore" });
|
|
32
|
+
child.on("error", () => finish({ ...base, supported: false, reason: `ffmpeg binary "${ffmpegPath}" was not found on PATH.` }));
|
|
33
|
+
child.on("close", (code) => {
|
|
34
|
+
if (code === 0)
|
|
35
|
+
finish({ ...base, supported: true });
|
|
36
|
+
else
|
|
37
|
+
finish({ ...base, supported: false, reason: `"${ffmpegPath} -version" exited with code ${code ?? "null"}.` });
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
finish({ ...base, supported: false, reason: `Failed to spawn ffmpeg binary "${ffmpegPath}".` });
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Create a FrameEncoderAdapter backed by a real ffmpeg process.
|
|
47
|
+
*
|
|
48
|
+
* Because capability detection is async (it spawns `ffmpeg -version`) while the
|
|
49
|
+
* FrameEncoderAdapter surface is synchronous, this returns a Promise of the
|
|
50
|
+
* adapter. The probe result is baked into the returned adapter's `capability`,
|
|
51
|
+
* `proofOnly`, and `outputMode`.
|
|
52
|
+
*/
|
|
53
|
+
export async function createFfmpegFrameEncoderAdapter(options = {}) {
|
|
54
|
+
const codec = options.codec ?? "vp9";
|
|
55
|
+
const container = options.container ?? defaultContainerForCodec(codec);
|
|
56
|
+
const frameRate = options.frameRate ?? 30;
|
|
57
|
+
const ffmpegPath = options.ffmpegPath ?? "ffmpeg";
|
|
58
|
+
const mimeType = defaultFrameEncoderMimeType(codec, container);
|
|
59
|
+
// A caller-injected runFfmpeg implies the encoder is usable without probing PATH.
|
|
60
|
+
const probed = options.supported !== undefined
|
|
61
|
+
? { kind: "ffmpeg-frame-encoder-capability", supported: options.supported, ffmpegPath, codec, container, ...(options.supported ? {} : { reason: "ffmpeg support was explicitly disabled." }) }
|
|
62
|
+
: options.runFfmpeg
|
|
63
|
+
? { kind: "ffmpeg-frame-encoder-capability", supported: true, ffmpegPath, codec, container }
|
|
64
|
+
: await probeFfmpeg(ffmpegPath, codec, container);
|
|
65
|
+
const capability = {
|
|
66
|
+
supported: probed.supported,
|
|
67
|
+
reason: probed.reason,
|
|
68
|
+
supportedCodecs: ["vp9", "h264"],
|
|
69
|
+
supportedContainers: ["webm", "mp4"],
|
|
70
|
+
canProducePlayableFile: probed.supported,
|
|
71
|
+
requiresExternalMuxer: true
|
|
72
|
+
};
|
|
73
|
+
const frames = [];
|
|
74
|
+
const adapter = {
|
|
75
|
+
kind: "ffmpeg-frame-encoder",
|
|
76
|
+
// Honest: a real playable file is only produced when ffmpeg is available.
|
|
77
|
+
proofOnly: !probed.supported,
|
|
78
|
+
outputMode: probed.supported ? "encoded-video" : "unsupported",
|
|
79
|
+
capability,
|
|
80
|
+
encode(frame) {
|
|
81
|
+
if (!probed.supported)
|
|
82
|
+
throw new Error(probed.reason ?? "ffmpeg is unavailable; cannot encode video.");
|
|
83
|
+
frames.push(frame);
|
|
84
|
+
return {
|
|
85
|
+
frame: frame.frame,
|
|
86
|
+
time: normalizePromptAnimationTime(frame.time),
|
|
87
|
+
byteLength: ffmpegFrameByteLength(frame),
|
|
88
|
+
keyFrame: frame.frame === 0 || frame.frame % 60 === 0,
|
|
89
|
+
durationMs: frame.durationMs ?? 1000 / frameRate
|
|
90
|
+
};
|
|
91
|
+
},
|
|
92
|
+
async finalize(summary) {
|
|
93
|
+
if (!probed.supported)
|
|
94
|
+
throw new Error(probed.reason ?? "ffmpeg is unavailable; cannot encode video.");
|
|
95
|
+
if (frames.length === 0)
|
|
96
|
+
throw new Error("FfmpegFrameEncoder.finalize() called with no buffered frames.");
|
|
97
|
+
const inputFormat = resolveInputFormat(frames);
|
|
98
|
+
const fs = options.fileSystem ?? (await defaultFileSystem());
|
|
99
|
+
const work = options.workingDirectory ?? (await fs.mkdtemp(fs.join(fs.tmpdir(), "aura3d-ffmpeg-")));
|
|
100
|
+
if (options.workingDirectory) {
|
|
101
|
+
await fs.mkdir(work);
|
|
102
|
+
}
|
|
103
|
+
const outputPath = fs.join(work, `aura3d-output.${container === "mp4" ? "mp4" : "webm"}`);
|
|
104
|
+
const framePaths = [];
|
|
105
|
+
let inputPath;
|
|
106
|
+
try {
|
|
107
|
+
if (inputFormat === "png") {
|
|
108
|
+
// PNG frames are self-describing, so ffmpeg's image2 demuxer reads them
|
|
109
|
+
// as a numbered sequence via the frame-%06d.png pattern.
|
|
110
|
+
for (let index = 0; index < frames.length; index += 1) {
|
|
111
|
+
const framePath = fs.join(work, `frame-${String(index).padStart(6, "0")}.png`);
|
|
112
|
+
await fs.writeFile(framePath, frameBytes(frames[index]));
|
|
113
|
+
framePaths.push(framePath);
|
|
114
|
+
}
|
|
115
|
+
inputPath = fs.join(work, "frame-%06d.png");
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
// Raw RGBA cannot use the image2 sequence demuxer (rawvideo has no
|
|
119
|
+
// per-file pattern support), so concatenate every frame into one
|
|
120
|
+
// contiguous rawvideo stream fed as a single -i input.
|
|
121
|
+
const single = fs.join(work, "frames.raw");
|
|
122
|
+
await fs.writeFile(single, concatRawFrames(frames));
|
|
123
|
+
framePaths.push(single);
|
|
124
|
+
inputPath = single;
|
|
125
|
+
}
|
|
126
|
+
const args = buildFfmpegArgs({
|
|
127
|
+
frameRate: summary.frameRate || frameRate,
|
|
128
|
+
codec,
|
|
129
|
+
container,
|
|
130
|
+
inputFormat,
|
|
131
|
+
inputPattern: inputPath,
|
|
132
|
+
outputPath,
|
|
133
|
+
viewport: { width: summary.viewport.width, height: summary.viewport.height },
|
|
134
|
+
extraArgs: options.extraArgs ?? []
|
|
135
|
+
});
|
|
136
|
+
const runner = options.runFfmpeg ?? defaultRunFfmpeg(ffmpegPath);
|
|
137
|
+
const result = await runner({ args, ffmpegPath, inputFormat, framePaths, outputPath });
|
|
138
|
+
if (result.code !== 0) {
|
|
139
|
+
throw new Error(`ffmpeg exited with code ${result.code}: ${result.stderr.slice(0, 2000)}`);
|
|
140
|
+
}
|
|
141
|
+
return await fs.readFile(outputPath);
|
|
142
|
+
}
|
|
143
|
+
finally {
|
|
144
|
+
// Best-effort cleanup of the staged frames + output.
|
|
145
|
+
for (const framePath of framePaths) {
|
|
146
|
+
await fs.rm(framePath).catch(() => undefined);
|
|
147
|
+
}
|
|
148
|
+
await fs.rm(outputPath).catch(() => undefined);
|
|
149
|
+
if (!options.workingDirectory) {
|
|
150
|
+
await fs.rm(work).catch(() => undefined);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
reset() {
|
|
155
|
+
frames.length = 0;
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
return adapter;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Build the ffmpeg argument vector. Exported so tests (and curious humans) can
|
|
162
|
+
* assert exactly what would be run.
|
|
163
|
+
*
|
|
164
|
+
* webm/vp9 example:
|
|
165
|
+
* ffmpeg -y -framerate 30 -i frame-%06d.png \
|
|
166
|
+
* -c:v libvpx-vp9 -pix_fmt yuv420p -b:v 0 -crf 32 out.webm
|
|
167
|
+
* mp4/h264 example:
|
|
168
|
+
* ffmpeg -y -framerate 30 -i frame-%06d.png \
|
|
169
|
+
* -c:v libx264 -pix_fmt yuv420p -movflags +faststart out.mp4
|
|
170
|
+
* raw rgba input adds `-f rawvideo -pixel_format rgba -video_size WxH` before
|
|
171
|
+
* `-i`, and `inputPattern` is a single concatenated .raw file (not a %06d
|
|
172
|
+
* pattern, which rawvideo does not support).
|
|
173
|
+
*/
|
|
174
|
+
export function buildFfmpegArgs(input) {
|
|
175
|
+
const videoCodec = input.codec === "h264" ? H264_CODEC : VP9_CODEC;
|
|
176
|
+
const args = ["-y", "-framerate", String(input.frameRate)];
|
|
177
|
+
if (input.inputFormat === "rawvideo") {
|
|
178
|
+
args.push("-f", "rawvideo", "-pixel_format", "rgba", "-video_size", `${input.viewport.width}x${input.viewport.height}`);
|
|
179
|
+
}
|
|
180
|
+
args.push("-i", input.inputPattern, "-c:v", videoCodec, "-pix_fmt", "yuv420p");
|
|
181
|
+
if (input.codec === "h264") {
|
|
182
|
+
// +faststart relocates the moov atom for streaming-friendly playback.
|
|
183
|
+
args.push("-movflags", "+faststart");
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
// VP9: constant-quality with unconstrained bitrate ceiling.
|
|
187
|
+
args.push("-b:v", "0", "-crf", "32");
|
|
188
|
+
}
|
|
189
|
+
args.push(...input.extraArgs, input.outputPath);
|
|
190
|
+
return args;
|
|
191
|
+
}
|
|
192
|
+
function resolveInputFormat(frames) {
|
|
193
|
+
// PNG bytes start with the 8-byte signature 89 50 4E 47 0D 0A 1A 0A.
|
|
194
|
+
let sawPng = false;
|
|
195
|
+
let sawRaw = false;
|
|
196
|
+
for (const frame of frames) {
|
|
197
|
+
if (typeof frame.image === "string") {
|
|
198
|
+
sawPng = true;
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
if (frame.image instanceof Uint8Array) {
|
|
202
|
+
if (looksLikePng(frame.image))
|
|
203
|
+
sawPng = true;
|
|
204
|
+
else
|
|
205
|
+
sawRaw = true;
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
208
|
+
if (typeof Blob !== "undefined" && frame.image instanceof Blob) {
|
|
209
|
+
throw new Error("FfmpegFrameEncoder requires PNG bytes (Uint8Array) or raw RGBA buffers; Blob frames are not supported in the Node ffmpeg path.");
|
|
210
|
+
}
|
|
211
|
+
throw new Error("FfmpegFrameEncoder requires each frame.image to be PNG bytes (Uint8Array), a raw RGBA Uint8Array, or a PNG path/data-URL string.");
|
|
212
|
+
}
|
|
213
|
+
if (sawPng && sawRaw) {
|
|
214
|
+
throw new Error("FfmpegFrameEncoder received a mix of PNG and raw RGBA frames; provide a single consistent input format.");
|
|
215
|
+
}
|
|
216
|
+
return sawRaw ? "rawvideo" : "png";
|
|
217
|
+
}
|
|
218
|
+
function frameBytes(frame) {
|
|
219
|
+
if (frame.image instanceof Uint8Array)
|
|
220
|
+
return frame.image;
|
|
221
|
+
if (typeof frame.image === "string") {
|
|
222
|
+
// A data: URL carries base64 PNG bytes; decode it. A bare path string can't
|
|
223
|
+
// be read here (we don't know the caller's fs), so we surface that clearly.
|
|
224
|
+
const dataUrlMatch = /^data:[^;]*;base64,(.*)$/s.exec(frame.image);
|
|
225
|
+
if (dataUrlMatch) {
|
|
226
|
+
return base64ToBytes(dataUrlMatch[1]);
|
|
227
|
+
}
|
|
228
|
+
throw new Error("FfmpegFrameEncoder string frames must be base64 data URLs; pass PNG bytes as Uint8Array for file-based frames.");
|
|
229
|
+
}
|
|
230
|
+
throw new Error("FfmpegFrameEncoder.frameBytes: unsupported frame image type.");
|
|
231
|
+
}
|
|
232
|
+
function concatRawFrames(frames) {
|
|
233
|
+
const buffers = frames.map((frame) => {
|
|
234
|
+
if (!(frame.image instanceof Uint8Array)) {
|
|
235
|
+
throw new Error("FfmpegFrameEncoder rawvideo path requires every frame.image to be a raw RGBA Uint8Array.");
|
|
236
|
+
}
|
|
237
|
+
return frame.image;
|
|
238
|
+
});
|
|
239
|
+
const total = buffers.reduce((sum, buffer) => sum + buffer.byteLength, 0);
|
|
240
|
+
const out = new Uint8Array(total);
|
|
241
|
+
let offset = 0;
|
|
242
|
+
for (const buffer of buffers) {
|
|
243
|
+
out.set(buffer, offset);
|
|
244
|
+
offset += buffer.byteLength;
|
|
245
|
+
}
|
|
246
|
+
return out;
|
|
247
|
+
}
|
|
248
|
+
function looksLikePng(bytes) {
|
|
249
|
+
return bytes.length >= 8
|
|
250
|
+
&& bytes[0] === 0x89 && bytes[1] === 0x50 && bytes[2] === 0x4e && bytes[3] === 0x47
|
|
251
|
+
&& bytes[4] === 0x0d && bytes[5] === 0x0a && bytes[6] === 0x1a && bytes[7] === 0x0a;
|
|
252
|
+
}
|
|
253
|
+
function base64ToBytes(base64) {
|
|
254
|
+
const globalAtob = globalThis.atob;
|
|
255
|
+
if (typeof globalAtob === "function") {
|
|
256
|
+
const binary = globalAtob(base64);
|
|
257
|
+
const bytes = new Uint8Array(binary.length);
|
|
258
|
+
for (let index = 0; index < binary.length; index += 1)
|
|
259
|
+
bytes[index] = binary.charCodeAt(index);
|
|
260
|
+
return bytes;
|
|
261
|
+
}
|
|
262
|
+
const bufferCtor = globalThis.Buffer;
|
|
263
|
+
if (bufferCtor)
|
|
264
|
+
return Uint8Array.from(bufferCtor.from(base64, "base64"));
|
|
265
|
+
throw new Error("No base64 decoder (atob/Buffer) is available in this runtime.");
|
|
266
|
+
}
|
|
267
|
+
function ffmpegFrameByteLength(frame) {
|
|
268
|
+
if (frame.image instanceof Uint8Array)
|
|
269
|
+
return frame.image.byteLength;
|
|
270
|
+
if (typeof Blob !== "undefined" && frame.image instanceof Blob)
|
|
271
|
+
return frame.image.size;
|
|
272
|
+
if (typeof frame.image === "string")
|
|
273
|
+
return frame.image.length;
|
|
274
|
+
return Math.max(1, Math.round(frame.viewport.width * frame.viewport.height * 0.1));
|
|
275
|
+
}
|
|
276
|
+
function defaultRunFfmpeg(defaultFfmpegPath) {
|
|
277
|
+
return async ({ args, ffmpegPath }) => {
|
|
278
|
+
const childProcess = await import("node:child_process");
|
|
279
|
+
return await new Promise((resolve, reject) => {
|
|
280
|
+
const child = childProcess.spawn(ffmpegPath || defaultFfmpegPath, args);
|
|
281
|
+
let stdout = "";
|
|
282
|
+
let stderr = "";
|
|
283
|
+
child.stdout?.on("data", (data) => { stdout += data.toString(); });
|
|
284
|
+
child.stderr?.on("data", (data) => { stderr += data.toString(); });
|
|
285
|
+
child.on("error", (error) => reject(error));
|
|
286
|
+
child.on("close", (code) => resolve({ code: code ?? -1, stdout, stderr }));
|
|
287
|
+
});
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
async function defaultFileSystem() {
|
|
291
|
+
const [fsPromises, os, path] = await Promise.all([
|
|
292
|
+
import("node:fs/promises"),
|
|
293
|
+
import("node:os"),
|
|
294
|
+
import("node:path")
|
|
295
|
+
]);
|
|
296
|
+
return {
|
|
297
|
+
mkdtemp: (prefix) => fsPromises.mkdtemp(prefix),
|
|
298
|
+
mkdir: async (dir) => { await fsPromises.mkdir(dir, { recursive: true }); },
|
|
299
|
+
writeFile: (file, data) => fsPromises.writeFile(file, data),
|
|
300
|
+
readFile: async (file) => new Uint8Array(await fsPromises.readFile(file)),
|
|
301
|
+
rm: async (target) => { await fsPromises.rm(target, { force: true, recursive: true }); },
|
|
302
|
+
join: (...parts) => path.join(...parts),
|
|
303
|
+
tmpdir: () => os.tmpdir()
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
//# sourceMappingURL=FfmpegFrameEncoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FfmpegFrameEncoder.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/FfmpegFrameEncoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AnimationViewport } from "./AnimationRenderQueue.js";
|
|
2
2
|
import { type PromptAnimationFrameRate, type PromptAnimationSeconds } from "./PromptAnimationContract.js";
|
|
3
3
|
export type FrameEncoderCodec = "vp9" | "vp8" | "h264" | "av1" | "png-sequence";
|
|
4
4
|
export type FrameEncoderContainer = "webm" | "mp4" | "png-sequence";
|
|
@@ -15,7 +15,7 @@ export interface FrameEncoderCapability {
|
|
|
15
15
|
export interface FrameEncoderFrame {
|
|
16
16
|
readonly frame: number;
|
|
17
17
|
readonly time: PromptAnimationSeconds;
|
|
18
|
-
readonly viewport:
|
|
18
|
+
readonly viewport: AnimationViewport;
|
|
19
19
|
readonly image?: ImageBitmap | HTMLCanvasElement | OffscreenCanvas | Blob | Uint8Array | string | undefined;
|
|
20
20
|
readonly durationMs?: number | undefined;
|
|
21
21
|
}
|
|
@@ -32,7 +32,7 @@ export interface EncodedVideoArtifact {
|
|
|
32
32
|
readonly container: FrameEncoderContainer;
|
|
33
33
|
readonly mimeType: string;
|
|
34
34
|
readonly frameRate: PromptAnimationFrameRate;
|
|
35
|
-
readonly viewport:
|
|
35
|
+
readonly viewport: AnimationViewport;
|
|
36
36
|
readonly frameCount: number;
|
|
37
37
|
readonly duration: PromptAnimationSeconds;
|
|
38
38
|
readonly byteLength: number;
|
|
@@ -57,7 +57,7 @@ export interface FrameEncoder {
|
|
|
57
57
|
readonly container: FrameEncoderContainer;
|
|
58
58
|
readonly mimeType: string;
|
|
59
59
|
readonly frameRate: PromptAnimationFrameRate;
|
|
60
|
-
readonly viewport:
|
|
60
|
+
readonly viewport: AnimationViewport;
|
|
61
61
|
encodeFrame(frame: FrameEncoderFrame): Promise<EncodedVideoChunk>;
|
|
62
62
|
finalize(): Promise<EncodedVideoArtifact>;
|
|
63
63
|
reset(): void;
|
|
@@ -68,7 +68,7 @@ export interface CreateFrameEncoderOptions {
|
|
|
68
68
|
readonly container?: FrameEncoderContainer | undefined;
|
|
69
69
|
readonly mimeType?: string | undefined;
|
|
70
70
|
readonly frameRate: PromptAnimationFrameRate;
|
|
71
|
-
readonly viewport:
|
|
71
|
+
readonly viewport: AnimationViewport;
|
|
72
72
|
readonly adapter?: FrameEncoderAdapter | undefined;
|
|
73
73
|
}
|
|
74
74
|
export declare function createFrameEncoder(options: CreateFrameEncoderOptions): FrameEncoder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrameEncoder.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/FrameEncoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"FrameEncoder.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/FrameEncoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export type GameAssetModelFormat = "glb" | "gltf";
|
|
|
7
7
|
export type GameAssetAxis = "x" | "y" | "z" | "-x" | "-y" | "-z";
|
|
8
8
|
export type GameAssetBoundsSource = "asset-metadata" | "inspector" | "manual" | "runtime";
|
|
9
9
|
export type GameAssetApprovalStatus = "draft" | "needs-review" | "approved" | "rejected";
|
|
10
|
-
export type GameAssetUsageKind = "fighter" | "npc" | "arena" | "prop" | "weapon" | "
|
|
10
|
+
export type GameAssetUsageKind = "fighter" | "npc" | "arena" | "prop" | "weapon" | "animation-character" | "product" | "environment";
|
|
11
11
|
export type GameAssetAnimationRole = "idle" | "walk" | "walk-forward" | "walk-back" | "run" | "jump" | "land" | "dash" | "guard" | "light" | "heavy" | "special" | "super" | "hit" | "stun" | "knockdown" | "win" | "lose" | "speak" | "emote";
|
|
12
12
|
export interface GameAssetValidationIssue {
|
|
13
13
|
readonly severity: GameAssetValidationSeverity;
|