@aura3d/engine 4.3.7 → 4.6.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 +1 -0
- package/dist/animation/AnimationTrack.d.ts.map +1 -1
- package/dist/animation/AnimationTrack.js +3 -1
- package/dist/animation/AnimationTrack.js.map +1 -1
- package/dist/animation/pose/BoneMask.d.ts +8 -0
- package/dist/animation/pose/BoneMask.d.ts.map +1 -1
- package/dist/animation/pose/BoneMask.js +18 -1
- package/dist/animation/pose/BoneMask.js.map +1 -1
- package/dist/animation/pose/PoseMixer.d.ts +18 -2
- package/dist/animation/pose/PoseMixer.d.ts.map +1 -1
- package/dist/animation/pose/PoseMixer.js +55 -4
- package/dist/animation/pose/PoseMixer.js.map +1 -1
- package/dist/animation/pose/RetargetWorker.d.ts +8 -1
- package/dist/animation/pose/RetargetWorker.d.ts.map +1 -1
- package/dist/animation/pose/RetargetWorker.js +30 -2
- package/dist/animation/pose/RetargetWorker.js.map +1 -1
- package/dist/assets/GLTFAnimationRuntime.d.ts.map +1 -1
- package/dist/assets/GLTFAnimationRuntime.js +11 -4
- package/dist/assets/GLTFAnimationRuntime.js.map +1 -1
- package/dist/assets/GLTFLoader.d.ts +2 -0
- package/dist/assets/GLTFLoader.d.ts.map +1 -1
- package/dist/assets/GLTFLoader.js +17 -3
- package/dist/assets/GLTFLoader.js.map +1 -1
- package/dist/aura3d-cli/index.d.ts +6 -0
- package/dist/aura3d-cli/index.d.ts.map +1 -1
- package/dist/aura3d-cli/index.js +28 -0
- package/dist/aura3d-cli/index.js.map +1 -1
- package/dist/aura3d-cli/migrate-three/emit.d.ts.map +1 -1
- package/dist/aura3d-cli/migrate-three/emit.js +109 -29
- package/dist/aura3d-cli/migrate-three/emit.js.map +1 -1
- package/dist/aura3d-cli/migrate-three/mappings.d.ts +15 -0
- package/dist/aura3d-cli/migrate-three/mappings.d.ts.map +1 -1
- package/dist/aura3d-cli/migrate-three/mappings.js +70 -60
- package/dist/aura3d-cli/migrate-three/mappings.js.map +1 -1
- package/dist/aura3d-cli/migrate-three/parse.d.ts +9 -0
- package/dist/aura3d-cli/migrate-three/parse.d.ts.map +1 -1
- package/dist/aura3d-cli/migrate-three/parse.js +1 -1
- package/dist/aura3d-cli/migrate-three/parse.js.map +1 -1
- package/dist/create-aura3d/cli.js +22 -2
- package/dist/create-aura3d/cli.js.map +1 -1
- package/dist/create-aura3d/index.d.ts +11 -0
- package/dist/create-aura3d/index.d.ts.map +1 -1
- package/dist/create-aura3d/index.js +9 -2
- package/dist/create-aura3d/index.js.map +1 -1
- package/dist/create-aura3d/template-assets.d.ts +53 -0
- package/dist/create-aura3d/template-assets.d.ts.map +1 -0
- package/dist/create-aura3d/template-assets.js +116 -0
- package/dist/create-aura3d/template-assets.js.map +1 -0
- package/dist/engine/agent-api/Clock.d.ts +9 -3
- package/dist/engine/agent-api/Clock.d.ts.map +1 -1
- package/dist/engine/agent-api/Clock.js +17 -6
- package/dist/engine/agent-api/Clock.js.map +1 -1
- package/dist/engine/agent-api/animationMask.d.ts +26 -0
- package/dist/engine/agent-api/animationMask.d.ts.map +1 -0
- package/dist/engine/agent-api/animationMask.js +38 -0
- package/dist/engine/agent-api/animationMask.js.map +1 -0
- package/dist/engine/agent-api/app/actorAnimationHandle.d.ts +2 -0
- package/dist/engine/agent-api/app/actorAnimationHandle.d.ts.map +1 -1
- package/dist/engine/agent-api/app/actorAnimationHandle.js +26 -3
- package/dist/engine/agent-api/app/actorAnimationHandle.js.map +1 -1
- package/dist/engine/agent-api/app/canvas.d.ts +21 -0
- package/dist/engine/agent-api/app/canvas.d.ts.map +1 -1
- package/dist/engine/agent-api/app/canvas.js +119 -7
- package/dist/engine/agent-api/app/canvas.js.map +1 -1
- package/dist/engine/agent-api/app/createAuraApp.d.ts.map +1 -1
- package/dist/engine/agent-api/app/createAuraApp.js +153 -14
- package/dist/engine/agent-api/app/createAuraApp.js.map +1 -1
- package/dist/engine/agent-api/app/frameLoop.d.ts +13 -0
- package/dist/engine/agent-api/app/frameLoop.d.ts.map +1 -1
- package/dist/engine/agent-api/app/frameLoop.js +118 -15
- package/dist/engine/agent-api/app/frameLoop.js.map +1 -1
- package/dist/engine/agent-api/app/mountRenderer.d.ts +6 -1
- package/dist/engine/agent-api/app/mountRenderer.d.ts.map +1 -1
- package/dist/engine/agent-api/app/mountRenderer.js +2 -2
- package/dist/engine/agent-api/app/mountRenderer.js.map +1 -1
- package/dist/engine/agent-api/app/parentFit.d.ts +20 -2
- package/dist/engine/agent-api/app/parentFit.d.ts.map +1 -1
- package/dist/engine/agent-api/app/parentFit.js +13 -9
- package/dist/engine/agent-api/app/parentFit.js.map +1 -1
- package/dist/engine/agent-api/app/renderPath.d.ts +86 -0
- package/dist/engine/agent-api/app/renderPath.d.ts.map +1 -0
- package/dist/engine/agent-api/app/renderPath.js +269 -0
- package/dist/engine/agent-api/app/renderPath.js.map +1 -0
- package/dist/engine/agent-api/app/rendererOptions.d.ts +31 -1
- package/dist/engine/agent-api/app/rendererOptions.d.ts.map +1 -1
- package/dist/engine/agent-api/app/rendererOptions.js +74 -7
- package/dist/engine/agent-api/app/rendererOptions.js.map +1 -1
- package/dist/engine/agent-api/app/routeState.d.ts.map +1 -1
- package/dist/engine/agent-api/app/routeState.js +8 -3
- package/dist/engine/agent-api/app/routeState.js.map +1 -1
- package/dist/engine/agent-api/app/runtimeNodes.d.ts +2 -0
- package/dist/engine/agent-api/app/runtimeNodes.d.ts.map +1 -1
- package/dist/engine/agent-api/app/runtimeNodes.js +111 -2
- package/dist/engine/agent-api/app/runtimeNodes.js.map +1 -1
- package/dist/engine/agent-api/camera/extension.d.ts.map +1 -1
- package/dist/engine/agent-api/camera/extension.js +2 -2
- package/dist/engine/agent-api/camera/extension.js.map +1 -1
- package/dist/engine/agent-api/camera/rigs/fromSpec.d.ts +2 -0
- package/dist/engine/agent-api/camera/rigs/fromSpec.d.ts.map +1 -1
- package/dist/engine/agent-api/camera/rigs/fromSpec.js +11 -1
- package/dist/engine/agent-api/camera/rigs/fromSpec.js.map +1 -1
- package/dist/engine/agent-api/compiler/animation.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/animation.js +4 -2
- package/dist/engine/agent-api/compiler/animation.js.map +1 -1
- package/dist/engine/agent-api/compiler/camera.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/camera.js +10 -0
- package/dist/engine/agent-api/compiler/camera.js.map +1 -1
- package/dist/engine/agent-api/compiler/compileScene.d.ts +21 -5
- package/dist/engine/agent-api/compiler/compileScene.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/compileScene.js +112 -13
- package/dist/engine/agent-api/compiler/compileScene.js.map +1 -1
- package/dist/engine/agent-api/compiler/contactShadowKey.d.ts +14 -0
- package/dist/engine/agent-api/compiler/contactShadowKey.d.ts.map +1 -0
- package/dist/engine/agent-api/compiler/contactShadowKey.js +66 -0
- package/dist/engine/agent-api/compiler/contactShadowKey.js.map +1 -0
- package/dist/engine/agent-api/compiler/environment.d.ts +56 -2
- package/dist/engine/agent-api/compiler/environment.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/environment.js +202 -15
- package/dist/engine/agent-api/compiler/environment.js.map +1 -1
- package/dist/engine/agent-api/compiler/geometry.d.ts +18 -1
- package/dist/engine/agent-api/compiler/geometry.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/geometry.js +25 -5
- package/dist/engine/agent-api/compiler/geometry.js.map +1 -1
- package/dist/engine/agent-api/compiler/lights.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/lights.js +14 -6
- package/dist/engine/agent-api/compiler/lights.js.map +1 -1
- package/dist/engine/agent-api/compiler/mountedRoots.d.ts +6 -0
- package/dist/engine/agent-api/compiler/mountedRoots.d.ts.map +1 -0
- package/dist/engine/agent-api/compiler/mountedRoots.js +25 -0
- package/dist/engine/agent-api/compiler/mountedRoots.js.map +1 -0
- package/dist/engine/agent-api/compiler/observations.d.ts +9 -1
- package/dist/engine/agent-api/compiler/observations.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/observations.js +5 -4
- package/dist/engine/agent-api/compiler/observations.js.map +1 -1
- package/dist/engine/agent-api/compiler/optionCoverage.js +17 -0
- package/dist/engine/agent-api/compiler/optionCoverage.js.map +1 -1
- package/dist/engine/agent-api/compiler/postprocess.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/postprocess.js +2 -0
- package/dist/engine/agent-api/compiler/postprocess.js.map +1 -1
- package/dist/engine/agent-api/compiler/primitives.d.ts +34 -0
- package/dist/engine/agent-api/compiler/primitives.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/primitives.js +113 -3
- package/dist/engine/agent-api/compiler/primitives.js.map +1 -1
- package/dist/engine/agent-api/compiler/renderInput.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/renderInput.js +40 -4
- package/dist/engine/agent-api/compiler/renderInput.js.map +1 -1
- package/dist/engine/agent-api/compiler/renderer.d.ts +6 -4
- package/dist/engine/agent-api/compiler/renderer.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/renderer.js +54 -14
- package/dist/engine/agent-api/compiler/renderer.js.map +1 -1
- package/dist/engine/agent-api/compiler/shadows.d.ts +35 -1
- package/dist/engine/agent-api/compiler/shadows.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/shadows.js +103 -4
- package/dist/engine/agent-api/compiler/shadows.js.map +1 -1
- package/dist/engine/agent-api/diagnostics.d.ts +22 -0
- package/dist/engine/agent-api/diagnostics.d.ts.map +1 -1
- package/dist/engine/agent-api/diagnostics.js +53 -1
- package/dist/engine/agent-api/diagnostics.js.map +1 -1
- package/dist/engine/agent-api/feel/extension.d.ts.map +1 -1
- package/dist/engine/agent-api/feel/extension.js +2 -1
- package/dist/engine/agent-api/feel/extension.js.map +1 -1
- package/dist/engine/agent-api/looks/lookFill.d.ts +4 -0
- package/dist/engine/agent-api/looks/lookFill.d.ts.map +1 -0
- package/dist/engine/agent-api/looks/lookFill.js +29 -0
- package/dist/engine/agent-api/looks/lookFill.js.map +1 -0
- package/dist/engine/agent-api/looks/lookPresets.d.ts +13 -0
- package/dist/engine/agent-api/looks/lookPresets.d.ts.map +1 -1
- package/dist/engine/agent-api/looks/lookPresets.js +5 -0
- package/dist/engine/agent-api/looks/lookPresets.js.map +1 -1
- package/dist/engine/agent-api/looks/looks.d.ts.map +1 -1
- package/dist/engine/agent-api/looks/looks.js +6 -0
- package/dist/engine/agent-api/looks/looks.js.map +1 -1
- package/dist/engine/agent-api/looks/structuralQA.d.ts.map +1 -1
- package/dist/engine/agent-api/looks/structuralQA.js +4 -2
- package/dist/engine/agent-api/looks/structuralQA.js.map +1 -1
- package/dist/engine/agent-api/nodes/game/instanceTransforms.d.ts +5 -4
- package/dist/engine/agent-api/nodes/game/instanceTransforms.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/game/instanceTransforms.js +61 -5
- package/dist/engine/agent-api/nodes/game/instanceTransforms.js.map +1 -1
- package/dist/engine/agent-api/nodes/groups.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/groups.js +2 -1
- package/dist/engine/agent-api/nodes/groups.js.map +1 -1
- package/dist/engine/agent-api/nodes/instances.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/instances.js +16 -4
- package/dist/engine/agent-api/nodes/instances.js.map +1 -1
- package/dist/engine/agent-api/nodes/interactions.d.ts +32 -10
- package/dist/engine/agent-api/nodes/interactions.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/interactions.js +40 -11
- package/dist/engine/agent-api/nodes/interactions.js.map +1 -1
- package/dist/engine/agent-api/nodes/model.d.ts +18 -0
- package/dist/engine/agent-api/nodes/model.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/model.js +41 -1
- package/dist/engine/agent-api/nodes/model.js.map +1 -1
- package/dist/engine/agent-api/nodes/optionDiagnostics.d.ts +14 -0
- package/dist/engine/agent-api/nodes/optionDiagnostics.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/optionDiagnostics.js +34 -0
- package/dist/engine/agent-api/nodes/optionDiagnostics.js.map +1 -0
- package/dist/engine/agent-api/nodes/orbitInteraction.d.ts +9 -0
- package/dist/engine/agent-api/nodes/orbitInteraction.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/orbitInteraction.js +52 -0
- package/dist/engine/agent-api/nodes/orbitInteraction.js.map +1 -0
- package/dist/engine/agent-api/nodes/physics.d.ts +26 -0
- package/dist/engine/agent-api/nodes/physics.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/physics.js +115 -7
- package/dist/engine/agent-api/nodes/physics.js.map +1 -1
- package/dist/engine/agent-api/nodes/primitives.d.ts +16 -1
- package/dist/engine/agent-api/nodes/primitives.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/primitives.js +27 -1
- package/dist/engine/agent-api/nodes/primitives.js.map +1 -1
- package/dist/engine/agent-api/nodes/scene.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/scene.js +4 -2
- package/dist/engine/agent-api/nodes/scene.js.map +1 -1
- package/dist/engine/agent-api/nodes/text3d.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/text3d.js +11 -2
- package/dist/engine/agent-api/nodes/text3d.js.map +1 -1
- package/dist/engine/agent-api/nodes/types/runtime.d.ts +38 -0
- package/dist/engine/agent-api/nodes/types/runtime.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/types.d.ts +44 -0
- package/dist/engine/agent-api/nodes/types.d.ts.map +1 -1
- package/dist/engine/agent-api/platform.d.ts +5 -0
- package/dist/engine/agent-api/platform.d.ts.map +1 -1
- package/dist/engine/agent-api/platform.js +15 -0
- package/dist/engine/agent-api/platform.js.map +1 -1
- package/dist/engine/agent-api/postBridge.d.ts.map +1 -1
- package/dist/engine/agent-api/postBridge.js +5 -1
- package/dist/engine/agent-api/postBridge.js.map +1 -1
- package/dist/engine/agent-api/sceneKitDiagnostics.d.ts.map +1 -1
- package/dist/engine/agent-api/sceneKitDiagnostics.js +5 -2
- package/dist/engine/agent-api/sceneKitDiagnostics.js.map +1 -1
- package/dist/engine/contracts/animation.d.ts +5 -3
- package/dist/engine/contracts/animation.d.ts.map +1 -1
- package/dist/engine/contracts/animation.js.map +1 -1
- package/dist/engine/contracts/environment.d.ts +9 -0
- package/dist/engine/contracts/environment.d.ts.map +1 -1
- package/dist/engine/contracts/environment.js.map +1 -1
- package/dist/engine/contracts/flags.d.ts.map +1 -1
- package/dist/engine/contracts/flags.js +2 -1
- package/dist/engine/contracts/flags.js.map +1 -1
- package/dist/engine/contracts/lighting.d.ts +3 -0
- package/dist/engine/contracts/lighting.d.ts.map +1 -1
- package/dist/engine/contracts/lighting.js.map +1 -1
- package/dist/engine/contracts/stubs/game.d.ts.map +1 -1
- package/dist/engine/contracts/stubs/game.js +9 -1
- package/dist/engine/contracts/stubs/game.js.map +1 -1
- package/dist/engine/contracts/urlCache.d.ts +4 -0
- package/dist/engine/contracts/urlCache.d.ts.map +1 -0
- package/dist/engine/contracts/urlCache.js +25 -0
- package/dist/engine/contracts/urlCache.js.map +1 -0
- package/dist/engine/lanes/prd01/outputSurface.d.ts.map +1 -1
- package/dist/engine/lanes/prd01/outputSurface.js +25 -1
- package/dist/engine/lanes/prd01/outputSurface.js.map +1 -1
- package/dist/engine/lanes/prd02.d.ts +12 -4
- package/dist/engine/lanes/prd02.d.ts.map +1 -1
- package/dist/engine/lanes/prd02.js +23 -7
- package/dist/engine/lanes/prd02.js.map +1 -1
- package/dist/game/touch/TouchControls.d.ts.map +1 -1
- package/dist/game/touch/TouchControls.js +48 -12
- package/dist/game/touch/TouchControls.js.map +1 -1
- package/dist/math/SphericalHarmonics3.d.ts +6 -3
- package/dist/math/SphericalHarmonics3.d.ts.map +1 -1
- package/dist/math/SphericalHarmonics3.js +8 -5
- package/dist/math/SphericalHarmonics3.js.map +1 -1
- package/dist/math/three/Box3.d.ts +106 -0
- package/dist/math/three/Box3.d.ts.map +1 -0
- package/dist/math/three/Box3.js +348 -0
- package/dist/math/three/Box3.js.map +1 -0
- package/dist/math/three/Color.d.ts +127 -0
- package/dist/math/three/Color.d.ts.map +1 -0
- package/dist/math/three/Color.js +501 -0
- package/dist/math/three/Color.js.map +1 -0
- package/dist/math/three/Euler.d.ts +50 -0
- package/dist/math/three/Euler.d.ts.map +1 -0
- package/dist/math/three/Euler.js +210 -0
- package/dist/math/three/Euler.js.map +1 -0
- package/dist/math/three/Frustum.d.ts +59 -0
- package/dist/math/three/Frustum.d.ts.map +1 -0
- package/dist/math/three/Frustum.js +135 -0
- package/dist/math/three/Frustum.js.map +1 -0
- package/dist/math/three/Matrix3.d.ts +56 -0
- package/dist/math/three/Matrix3.d.ts.map +1 -0
- package/dist/math/three/Matrix3.js +248 -0
- package/dist/math/three/Matrix3.js.map +1 -0
- package/dist/math/three/Matrix4.d.ts +79 -0
- package/dist/math/three/Matrix4.d.ts.map +1 -0
- package/dist/math/three/Matrix4.js +708 -0
- package/dist/math/three/Matrix4.js.map +1 -0
- package/dist/math/three/Plane.d.ts +65 -0
- package/dist/math/three/Plane.d.ts.map +1 -0
- package/dist/math/three/Plane.js +135 -0
- package/dist/math/three/Plane.js.map +1 -0
- package/dist/math/three/Quaternion.d.ts +91 -0
- package/dist/math/three/Quaternion.d.ts.map +1 -0
- package/dist/math/three/Quaternion.js +444 -0
- package/dist/math/three/Quaternion.js.map +1 -0
- package/dist/math/three/Ray.d.ts +56 -0
- package/dist/math/three/Ray.d.ts.map +1 -0
- package/dist/math/three/Ray.js +340 -0
- package/dist/math/three/Ray.js.map +1 -0
- package/dist/math/three/Sphere.d.ts +58 -0
- package/dist/math/three/Sphere.d.ts.map +1 -0
- package/dist/math/three/Sphere.js +166 -0
- package/dist/math/three/Sphere.js.map +1 -0
- package/dist/math/three/Triangle.d.ts +58 -0
- package/dist/math/three/Triangle.d.ts.map +1 -0
- package/dist/math/three/Triangle.js +229 -0
- package/dist/math/three/Triangle.js.map +1 -0
- package/dist/math/three/Vector2.d.ts +88 -0
- package/dist/math/three/Vector2.d.ts.map +1 -0
- package/dist/math/three/Vector2.js +283 -0
- package/dist/math/three/Vector2.js.map +1 -0
- package/dist/math/three/Vector3.d.ts +137 -0
- package/dist/math/three/Vector3.d.ts.map +1 -0
- package/dist/math/three/Vector3.js +458 -0
- package/dist/math/three/Vector3.js.map +1 -0
- package/dist/math/three/Vector4.d.ts +100 -0
- package/dist/math/three/Vector4.d.ts.map +1 -0
- package/dist/math/three/Vector4.js +443 -0
- package/dist/math/three/Vector4.js.map +1 -0
- package/dist/math/three/index.d.ts +29 -0
- package/dist/math/three/index.d.ts.map +1 -0
- package/dist/math/three/index.js +29 -0
- package/dist/math/three/index.js.map +1 -0
- package/dist/react/index.d.ts +21 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +128 -21
- package/dist/react/index.js.map +1 -1
- package/dist/rendering/DepthPass.d.ts +7 -0
- package/dist/rendering/DepthPass.d.ts.map +1 -1
- package/dist/rendering/DepthPass.js +43 -6
- package/dist/rendering/DepthPass.js.map +1 -1
- package/dist/rendering/ForwardPass.d.ts +82 -5
- package/dist/rendering/ForwardPass.d.ts.map +1 -1
- package/dist/rendering/ForwardPass.js +180 -35
- package/dist/rendering/ForwardPass.js.map +1 -1
- package/dist/rendering/MaterialBinding.js +6 -2
- package/dist/rendering/MaterialBinding.js.map +1 -1
- package/dist/rendering/RenderDevice.d.ts +5 -0
- package/dist/rendering/RenderDevice.d.ts.map +1 -1
- package/dist/rendering/RenderDevice.js.map +1 -1
- package/dist/rendering/Renderer.d.ts +8 -0
- package/dist/rendering/Renderer.d.ts.map +1 -1
- package/dist/rendering/Renderer.js +37 -6
- package/dist/rendering/Renderer.js.map +1 -1
- package/dist/rendering/RendererPostprocessPlan.d.ts.map +1 -1
- package/dist/rendering/RendererPostprocessPlan.js +8 -1
- package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
- package/dist/rendering/ShaderChunks.d.ts.map +1 -1
- package/dist/rendering/ShaderChunks.js +3 -1
- package/dist/rendering/ShaderChunks.js.map +1 -1
- package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
- package/dist/rendering/ShaderLibrary.js +17 -5
- package/dist/rendering/ShaderLibrary.js.map +1 -1
- package/dist/rendering/ShaderLibraryCore.d.ts.map +1 -1
- package/dist/rendering/ShaderLibraryCore.js +2 -1
- package/dist/rendering/ShaderLibraryCore.js.map +1 -1
- package/dist/rendering/WebGL2Device.d.ts +19 -1
- package/dist/rendering/WebGL2Device.d.ts.map +1 -1
- package/dist/rendering/WebGL2Device.js +114 -37
- package/dist/rendering/WebGL2Device.js.map +1 -1
- package/dist/rendering/WebGL2StateCache.d.ts +22 -0
- package/dist/rendering/WebGL2StateCache.d.ts.map +1 -1
- package/dist/rendering/WebGL2StateCache.js +71 -42
- package/dist/rendering/WebGL2StateCache.js.map +1 -1
- package/dist/rendering/contracts/core.d.ts.map +1 -1
- package/dist/rendering/contracts/core.js +22 -2
- package/dist/rendering/contracts/core.js.map +1 -1
- package/dist/rendering/contracts/program.d.ts.map +1 -1
- package/dist/rendering/contracts/program.js +8 -1
- package/dist/rendering/contracts/program.js.map +1 -1
- package/dist/rendering/contracts/quality.d.ts +21 -0
- package/dist/rendering/contracts/quality.d.ts.map +1 -1
- package/dist/rendering/contracts/quality.js +5 -0
- package/dist/rendering/contracts/quality.js.map +1 -1
- package/dist/rendering/contracts/renderItem.d.ts +6 -0
- package/dist/rendering/contracts/renderItem.d.ts.map +1 -1
- package/dist/rendering/contracts/structuralMemo.d.ts +23 -0
- package/dist/rendering/contracts/structuralMemo.d.ts.map +1 -0
- package/dist/rendering/contracts/structuralMemo.js +81 -0
- package/dist/rendering/contracts/structuralMemo.js.map +1 -0
- package/dist/rendering/environment/EnvironmentCache.d.ts.map +1 -1
- package/dist/rendering/environment/EnvironmentCache.js +6 -1
- package/dist/rendering/environment/EnvironmentCache.js.map +1 -1
- package/dist/rendering/environment/FirstFrameGate.d.ts +23 -0
- package/dist/rendering/environment/FirstFrameGate.d.ts.map +1 -0
- package/dist/rendering/environment/FirstFrameGate.js +58 -0
- package/dist/rendering/environment/FirstFrameGate.js.map +1 -0
- package/dist/rendering/environment/Rgb9e5Cube.d.ts.map +1 -1
- package/dist/rendering/environment/Rgb9e5Cube.js +8 -4
- package/dist/rendering/environment/Rgb9e5Cube.js.map +1 -1
- package/dist/rendering/environment/probeBuild.d.ts +29 -0
- package/dist/rendering/environment/probeBuild.d.ts.map +1 -1
- package/dist/rendering/environment/probeBuild.js +124 -45
- package/dist/rendering/environment/probeBuild.js.map +1 -1
- package/dist/rendering/forward/Lighting.d.ts +43 -3
- package/dist/rendering/forward/Lighting.d.ts.map +1 -1
- package/dist/rendering/forward/Lighting.js +127 -17
- package/dist/rendering/forward/Lighting.js.map +1 -1
- package/dist/rendering/forward/contactShadowMaskStore.d.ts +41 -0
- package/dist/rendering/forward/contactShadowMaskStore.d.ts.map +1 -0
- package/dist/rendering/forward/contactShadowMaskStore.js +85 -0
- package/dist/rendering/forward/contactShadowMaskStore.js.map +1 -0
- package/dist/rendering/geometry/Shape.d.ts.map +1 -1
- package/dist/rendering/geometry/Shape.js +7 -2
- package/dist/rendering/geometry/Shape.js.map +1 -1
- package/dist/rendering/geometry/Support.d.ts +4 -0
- package/dist/rendering/geometry/Support.d.ts.map +1 -1
- package/dist/rendering/geometry/Support.js +3 -2
- package/dist/rendering/geometry/Support.js.map +1 -1
- package/dist/rendering/index.d.ts +6 -0
- package/dist/rendering/index.d.ts.map +1 -1
- package/dist/rendering/index.js +5 -0
- package/dist/rendering/index.js.map +1 -1
- package/dist/rendering/passes/ContactShadowPass.d.ts +40 -3
- package/dist/rendering/passes/ContactShadowPass.d.ts.map +1 -1
- package/dist/rendering/passes/ContactShadowPass.js +73 -13
- package/dist/rendering/passes/ContactShadowPass.js.map +1 -1
- package/dist/rendering/passes/Prd02ContactShadowsContributor.d.ts +19 -0
- package/dist/rendering/passes/Prd02ContactShadowsContributor.d.ts.map +1 -1
- package/dist/rendering/passes/Prd02ContactShadowsContributor.js +179 -28
- package/dist/rendering/passes/Prd02ContactShadowsContributor.js.map +1 -1
- package/dist/rendering/post/v2Stages.d.ts.map +1 -1
- package/dist/rendering/post/v2Stages.js +2 -0
- package/dist/rendering/post/v2Stages.js.map +1 -1
- package/dist/rendering/program/ProgramFeatures.d.ts +6 -0
- package/dist/rendering/program/ProgramFeatures.d.ts.map +1 -1
- package/dist/rendering/program/ProgramFeatures.js +11 -5
- package/dist/rendering/program/ProgramFeatures.js.map +1 -1
- package/dist/rendering/program/ProgramGenerator.d.ts +6 -0
- package/dist/rendering/program/ProgramGenerator.d.ts.map +1 -1
- package/dist/rendering/program/ProgramGenerator.js +36 -1
- package/dist/rendering/program/ProgramGenerator.js.map +1 -1
- package/dist/rendering/program/ProgramKey.d.ts.map +1 -1
- package/dist/rendering/program/ProgramKey.js +4 -1
- package/dist/rendering/program/ProgramKey.js.map +1 -1
- package/dist/rendering/program/chunks/shadow_forward.glsl.d.ts +1 -1
- package/dist/rendering/program/chunks/shadow_forward.glsl.d.ts.map +1 -1
- package/dist/rendering/program/chunks/shadow_forward.glsl.js +4 -1
- package/dist/rendering/program/chunks/shadow_forward.glsl.js.map +1 -1
- package/dist/rendering/quality/DirectPath.d.ts +56 -0
- package/dist/rendering/quality/DirectPath.d.ts.map +1 -0
- package/dist/rendering/quality/DirectPath.js +74 -0
- package/dist/rendering/quality/DirectPath.js.map +1 -0
- package/dist/rendering/renderer/Background.d.ts +0 -5
- package/dist/rendering/renderer/Background.d.ts.map +1 -1
- package/dist/rendering/renderer/Background.js +56 -4
- package/dist/rendering/renderer/Background.js.map +1 -1
- package/dist/rendering/renderer/InstanceFrustumCull.d.ts +41 -0
- package/dist/rendering/renderer/InstanceFrustumCull.d.ts.map +1 -0
- package/dist/rendering/renderer/InstanceFrustumCull.js +138 -0
- package/dist/rendering/renderer/InstanceFrustumCull.js.map +1 -0
- package/dist/rendering/renderer/ShadowOrchestration.d.ts +2 -0
- package/dist/rendering/renderer/ShadowOrchestration.d.ts.map +1 -1
- package/dist/rendering/renderer/ShadowOrchestration.js +1 -0
- package/dist/rendering/renderer/ShadowOrchestration.js.map +1 -1
- package/dist/rendering/renderer/coreOutputPostRoute.d.ts +0 -5
- package/dist/rendering/renderer/coreOutputPostRoute.d.ts.map +1 -1
- package/dist/rendering/renderer/coreOutputPostRoute.js +12 -2
- package/dist/rendering/renderer/coreOutputPostRoute.js.map +1 -1
- package/dist/rendering/resources/InstanceBuffer.d.ts +2 -0
- package/dist/rendering/resources/InstanceBuffer.d.ts.map +1 -1
- package/dist/rendering/resources/InstanceBuffer.js +23 -0
- package/dist/rendering/resources/InstanceBuffer.js.map +1 -1
- package/dist/rendering/shaders/chunks/contact_shadow.glsl.d.ts +11 -6
- package/dist/rendering/shaders/chunks/contact_shadow.glsl.d.ts.map +1 -1
- package/dist/rendering/shaders/chunks/contact_shadow.glsl.js +41 -19
- package/dist/rendering/shaders/chunks/contact_shadow.glsl.js.map +1 -1
- package/dist/rendering/shaders/chunks/contact_shadow_mask.glsl.d.ts +12 -0
- package/dist/rendering/shaders/chunks/contact_shadow_mask.glsl.d.ts.map +1 -0
- package/dist/rendering/shaders/chunks/contact_shadow_mask.glsl.js +21 -0
- package/dist/rendering/shaders/chunks/contact_shadow_mask.glsl.js.map +1 -0
- package/dist/rendering/shaders/chunks/lighting_ibl.glsl.d.ts +6 -1
- package/dist/rendering/shaders/chunks/lighting_ibl.glsl.d.ts.map +1 -1
- package/dist/rendering/shaders/chunks/lighting_ibl.glsl.js +8 -2
- package/dist/rendering/shaders/chunks/lighting_ibl.glsl.js.map +1 -1
- package/dist/rendering/shadows/CascadeUse.d.ts +31 -0
- package/dist/rendering/shadows/CascadeUse.d.ts.map +1 -0
- package/dist/rendering/shadows/CascadeUse.js +60 -0
- package/dist/rendering/shadows/CascadeUse.js.map +1 -0
- package/dist/rendering/shadows/Prd02DepthShaderLibrary.d.ts +7 -1
- package/dist/rendering/shadows/Prd02DepthShaderLibrary.d.ts.map +1 -1
- package/dist/rendering/shadows/Prd02DepthShaderLibrary.js +12 -3
- package/dist/rendering/shadows/Prd02DepthShaderLibrary.js.map +1 -1
- package/dist/rendering/shadows/Prd02ShadowBridge.d.ts +12 -1
- package/dist/rendering/shadows/Prd02ShadowBridge.d.ts.map +1 -1
- package/dist/rendering/shadows/Prd02ShadowBridge.js +17 -5
- package/dist/rendering/shadows/Prd02ShadowBridge.js.map +1 -1
- package/dist/rendering/shadows/Prd02ShadowsContributor.d.ts +4 -0
- package/dist/rendering/shadows/Prd02ShadowsContributor.d.ts.map +1 -1
- package/dist/rendering/shadows/Prd02ShadowsContributor.js +3 -1
- package/dist/rendering/shadows/Prd02ShadowsContributor.js.map +1 -1
- package/dist/rendering/shadows/ShadowFilterTier.d.ts +51 -0
- package/dist/rendering/shadows/ShadowFilterTier.d.ts.map +1 -0
- package/dist/rendering/shadows/ShadowFilterTier.js +89 -0
- package/dist/rendering/shadows/ShadowFilterTier.js.map +1 -0
- package/dist/rendering/shadows/ShadowSystem.d.ts +15 -0
- package/dist/rendering/shadows/ShadowSystem.d.ts.map +1 -1
- package/dist/rendering/shadows/ShadowSystem.js +12 -2
- package/dist/rendering/shadows/ShadowSystem.js.map +1 -1
- package/dist/rendering/shadows/shadowLegacy.d.ts +12 -0
- package/dist/rendering/shadows/shadowLegacy.d.ts.map +1 -1
- package/dist/rendering/shadows/shadowLegacy.js +24 -0
- package/dist/rendering/shadows/shadowLegacy.js.map +1 -1
- package/dist/rendering/webgl2/BloomFusion.d.ts +31 -0
- package/dist/rendering/webgl2/BloomFusion.d.ts.map +1 -0
- package/dist/rendering/webgl2/BloomFusion.js +25 -0
- package/dist/rendering/webgl2/BloomFusion.js.map +1 -0
- package/dist/rendering/webgl2/ContextLifecycle.d.ts +14 -0
- package/dist/rendering/webgl2/ContextLifecycle.d.ts.map +1 -1
- package/dist/rendering/webgl2/ContextLifecycle.js +44 -5
- package/dist/rendering/webgl2/ContextLifecycle.js.map +1 -1
- package/dist/rendering/webgl2/LegacyPost.d.ts +30 -0
- package/dist/rendering/webgl2/LegacyPost.d.ts.map +1 -1
- package/dist/rendering/webgl2/LegacyPost.js +259 -27
- package/dist/rendering/webgl2/LegacyPost.js.map +1 -1
- package/dist/rendering/webgl2/MultiDraw.d.ts +2 -0
- package/dist/rendering/webgl2/MultiDraw.d.ts.map +1 -1
- package/dist/rendering/webgl2/MultiDraw.js +33 -7
- package/dist/rendering/webgl2/MultiDraw.js.map +1 -1
- package/dist/rendering/webgl2/Samplers.d.ts +10 -1
- package/dist/rendering/webgl2/Samplers.d.ts.map +1 -1
- package/dist/rendering/webgl2/Samplers.js +24 -1
- package/dist/rendering/webgl2/Samplers.js.map +1 -1
- package/dist/rendering/webgl2/TextureFormats.d.ts +12 -0
- package/dist/rendering/webgl2/TextureFormats.d.ts.map +1 -1
- package/dist/rendering/webgl2/TextureFormats.js +16 -0
- package/dist/rendering/webgl2/TextureFormats.js.map +1 -1
- package/package.json +25 -25
- package/templates/cinematic-scene/package.json +2 -2
- package/templates/mini-game/package.json +2 -2
- package/templates/product-viewer/package.json +2 -2
- package/templates/production-asset-inspector/package.json +1 -1
- package/templates/production-material-studio/package.json +1 -1
- package/templates/production-product-configurator/package.json +1 -1
- package/templates/production-product-viewer/package.json +1 -1
- package/dist/environments/EnvironmentPreview.d.ts +0 -13
- package/dist/environments/EnvironmentPreview.d.ts.map +0 -1
- package/dist/environments/EnvironmentPreview.js +0 -16
- package/dist/environments/EnvironmentPreview.js.map +0 -1
- package/dist/environments/EnvironmentRegistry.d.ts +0 -35
- package/dist/environments/EnvironmentRegistry.d.ts.map +0 -1
- package/dist/environments/EnvironmentRegistry.js +0 -39
- package/dist/environments/EnvironmentRegistry.js.map +0 -1
- package/dist/environments/HDRIEnvironment.d.ts +0 -38
- package/dist/environments/HDRIEnvironment.d.ts.map +0 -1
- package/dist/environments/HDRIEnvironment.js +0 -34
- package/dist/environments/HDRIEnvironment.js.map +0 -1
- package/dist/environments/PMREMPreset.d.ts +0 -14
- package/dist/environments/PMREMPreset.d.ts.map +0 -1
- package/dist/environments/PMREMPreset.js +0 -16
- package/dist/environments/PMREMPreset.js.map +0 -1
- package/dist/environments/index.d.ts +0 -6
- package/dist/environments/index.d.ts.map +0 -1
- package/dist/environments/index.js +0 -3
- package/dist/environments/index.js.map +0 -1
- package/dist/environments/node.d.ts +0 -7
- package/dist/environments/node.d.ts.map +0 -1
- package/dist/environments/node.js +0 -5
- package/dist/environments/node.js.map +0 -1
- package/dist/environments/production-runtime/ProductionEnvironmentCorpus.d.ts +0 -78
- package/dist/environments/production-runtime/ProductionEnvironmentCorpus.d.ts.map +0 -1
- package/dist/environments/production-runtime/ProductionEnvironmentCorpus.js +0 -67
- package/dist/environments/production-runtime/ProductionEnvironmentCorpus.js.map +0 -1
- package/dist/environments/production-runtime/index.d.ts +0 -3
- package/dist/environments/production-runtime/index.d.ts.map +0 -1
- package/dist/environments/production-runtime/index.js +0 -2
- package/dist/environments/production-runtime/index.js.map +0 -1
- package/dist/environments/threejs-example-parity/index.d.ts +0 -17
- package/dist/environments/threejs-example-parity/index.d.ts.map +0 -1
- package/dist/environments/threejs-example-parity/index.js +0 -49
- package/dist/environments/threejs-example-parity/index.js.map +0 -1
- package/templates/cinematic-scene/node_modules/.vite/deps/_metadata.json +0 -8
- package/templates/cinematic-scene/node_modules/.vite/deps/package.json +0 -3
- package/templates/cinematic-scene/test-results/.last-run.json +0 -6
- package/templates/cinematic-scene/test-results/route-health-Aura3D-cinematic-scene-reaches-ready-state/error-context.md +0 -64
- package/templates/mini-game/package-lock.json +0 -1312
- package/templates/product-viewer/node_modules/.vite/deps/_metadata.json +0 -8
- package/templates/product-viewer/node_modules/.vite/deps/package.json +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,EAA4C,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type FetchTemplateAssetsOptions, type FetchTemplateAssetsResult, type TemplateAssetEntry } from "./template-assets.js";
|
|
1
2
|
export declare const CREATE_AURA3D_TEMPLATES: readonly ["product-viewer", "cinematic-scene", "mini-game", "racing-starter", "falling-blocks-starter", "fighting-game", "arena-shooter", "animation-channel", "prompt-animation-channel", "animation-studio", "episode-builder", "character-controller", "premium-product-viewer", "architecture-interior", "material-authoring", "asset-inspector", "character-viewer", "postprocess-scene", "custom-scene", "large-scene"];
|
|
2
3
|
export type CreateA3DTemplate = (typeof CREATE_AURA3D_TEMPLATES)[number];
|
|
3
4
|
/**
|
|
@@ -40,12 +41,22 @@ export interface CreateA3DProjectResult {
|
|
|
40
41
|
readonly template: CreateA3DTemplate;
|
|
41
42
|
readonly files: readonly string[];
|
|
42
43
|
readonly agentSkills?: import("./agent-skills.js").WriteAgentSkillsResult;
|
|
44
|
+
/**
|
|
45
|
+
* Large template binaries the npm package does not ship (template-assets.json) and that are not in the project yet.
|
|
46
|
+
* Empty in a source checkout. Pass the result to `fetchMissingTemplateAssets` (the CLI does) to download them.
|
|
47
|
+
*/
|
|
48
|
+
readonly missingAssets: readonly TemplateAssetEntry[];
|
|
43
49
|
}
|
|
44
50
|
export declare function createA3DProject(options: CreateA3DProjectOptions): CreateA3DProjectResult;
|
|
51
|
+
/** Download the template binaries `createA3DProject` reported missing; each is verified against its size and sha256. */
|
|
52
|
+
export declare function fetchMissingTemplateAssets(result: CreateA3DProjectResult, options: {
|
|
53
|
+
readonly version: string;
|
|
54
|
+
} & Pick<FetchTemplateAssetsOptions, "bases" | "fetch" | "log">): Promise<FetchTemplateAssetsResult>;
|
|
45
55
|
export declare function writeCreateA3DReport(path: string, result: CreateA3DProjectResult): void;
|
|
46
56
|
export { probeShowcaseGameGeometry, type ShowcaseGameGeometryCategory, type ShowcaseGameGeometryProbeResult } from "./showcase-spec-game-geometry-probe.js";
|
|
47
57
|
export type { ExtractOptions as ShowcaseGameGeometryExtractOptions, GeometryExtractionFailure as ShowcaseGameGeometryExtractionFailure, GeometryExtractionResult as ShowcaseGameGeometryExtractionResult, GeometryExtractionSuccess as ShowcaseGameGeometryExtractionSuccess } from "./showcase-spec-game-geometry-extractor.js";
|
|
48
58
|
export type { ShowcasePlatformerPlayableSurfaceMap, ShowcaseRacingTrackTopology } from "./showcase-spec-types.js";
|
|
49
59
|
export { SHOWCASE_ASSET_PAIR_COMPOSITION_THRESHOLDS, validateShowcaseAssetPairComposition, validateShowcaseAssetPairCompositionFromDisk, type ShowcaseAssetPairCompositionCategory, type ShowcaseAssetPairCompositionCheck, type ShowcaseAssetPairCompositionInput, type ShowcaseAssetPairCompositionReport, type ValidateShowcaseAssetPairCompositionFromDiskOptions } from "./showcase-spec-asset-pair-composition.js";
|
|
60
|
+
export { DEFAULT_TEMPLATE_ASSET_BASES, TEMPLATE_ASSET_MANIFEST, buildTemplateAssetManifest, fetchTemplateAssets, missingTemplateAssets, readTemplateAssetManifest, templateAssetBases, type FetchTemplateAssetsOptions, type FetchTemplateAssetsResult, type TemplateAssetEntry, type TemplateAssetManifest } from "./template-assets.js";
|
|
50
61
|
export { AURA_AGENT_CLIENTS, AURA_SKILLS_LEDGER, findBundledSkillsDir, readSkillsManifest, selectSkills, writeAgentSkills, type AuraAgentClient, type AuraAgentTarget, type AuraSkillMode, type AuraSkillsManifest, type WriteAgentSkillsOptions, type WriteAgentSkillsResult } from "./agent-skills.js";
|
|
51
62
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { dirname, relative, resolve } from "node:path";
|
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
import { writeAgentSkills } from "./agent-skills.js";
|
|
5
5
|
import { copyTemplateHdris, TEMPLATE_HDRI_DIR, templateAuthorsLook } from "./template-hdri.js";
|
|
6
|
+
import { fetchTemplateAssets, missingTemplateAssets, readTemplateAssetManifest } from "./template-assets.js";
|
|
6
7
|
export const CREATE_AURA3D_TEMPLATES = [
|
|
7
8
|
"product-viewer",
|
|
8
9
|
"cinematic-scene",
|
|
@@ -75,7 +76,7 @@ export function createA3DProject(options) {
|
|
|
75
76
|
const dependencies = { ...(packageJson.dependencies ?? {}) };
|
|
76
77
|
const auraDependencies = Object.keys(dependencies).filter((name) => name.startsWith("@aura3d/"));
|
|
77
78
|
if (auraDependencies.length === 0) {
|
|
78
|
-
dependencies["@aura3d/engine"] = options.packageVersion ?? "4.
|
|
79
|
+
dependencies["@aura3d/engine"] = options.packageVersion ?? "4.6.0";
|
|
79
80
|
}
|
|
80
81
|
else if (options.packageVersion) {
|
|
81
82
|
for (const dependency of auraDependencies)
|
|
@@ -94,9 +95,14 @@ export function createA3DProject(options) {
|
|
|
94
95
|
targetDir,
|
|
95
96
|
template,
|
|
96
97
|
files: listTemplateFiles(targetDir),
|
|
97
|
-
...(agentSkills ? { agentSkills } : {})
|
|
98
|
+
...(agentSkills ? { agentSkills } : {}),
|
|
99
|
+
missingAssets: missingTemplateAssets(readTemplateAssetManifest(rootDir), template, targetDir)
|
|
98
100
|
};
|
|
99
101
|
}
|
|
102
|
+
/** Download the template binaries `createA3DProject` reported missing; each is verified against its size and sha256. */
|
|
103
|
+
export async function fetchMissingTemplateAssets(result, options) {
|
|
104
|
+
return fetchTemplateAssets({ projectDir: result.targetDir, template: result.template, entries: result.missingAssets, ...options });
|
|
105
|
+
}
|
|
100
106
|
export function writeCreateA3DReport(path, result) {
|
|
101
107
|
mkdirSync(dirname(resolve(path)), { recursive: true });
|
|
102
108
|
writeFileSync(resolve(path), `${JSON.stringify(result, null, 2)}\n`);
|
|
@@ -129,5 +135,6 @@ function findDefaultTemplateRoot() {
|
|
|
129
135
|
}
|
|
130
136
|
export { probeShowcaseGameGeometry } from "./showcase-spec-game-geometry-probe.js";
|
|
131
137
|
export { SHOWCASE_ASSET_PAIR_COMPOSITION_THRESHOLDS, validateShowcaseAssetPairComposition, validateShowcaseAssetPairCompositionFromDisk } from "./showcase-spec-asset-pair-composition.js";
|
|
138
|
+
export { DEFAULT_TEMPLATE_ASSET_BASES, TEMPLATE_ASSET_MANIFEST, buildTemplateAssetManifest, fetchTemplateAssets, missingTemplateAssets, readTemplateAssetManifest, templateAssetBases } from "./template-assets.js";
|
|
132
139
|
export { AURA_AGENT_CLIENTS, AURA_SKILLS_LEDGER, findBundledSkillsDir, readSkillsManifest, selectSkills, writeAgentSkills } from "./agent-skills.js";
|
|
133
140
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export declare const TEMPLATE_ASSET_MANIFEST = "template-assets.json";
|
|
2
|
+
/** Files at or above this size, with a binary extension, are fetched on demand instead of shipped. */
|
|
3
|
+
export declare const TEMPLATE_ASSET_MIN_BYTES: number;
|
|
4
|
+
export declare const TEMPLATE_ASSET_EXTENSIONS: readonly [".glb", ".gltf", ".bin", ".wav", ".ogg", ".mp3", ".ktx2", ".hdr"];
|
|
5
|
+
export interface TemplateAssetEntry {
|
|
6
|
+
/** Path inside the template, POSIX separators (e.g. "public/aura-assets/hero.glb"). */
|
|
7
|
+
readonly path: string;
|
|
8
|
+
readonly bytes: number;
|
|
9
|
+
readonly sha256: string;
|
|
10
|
+
}
|
|
11
|
+
export interface TemplateAssetManifest {
|
|
12
|
+
readonly schema: "create-aura3d/template-assets@1";
|
|
13
|
+
/** template name -> entries */
|
|
14
|
+
readonly templates: Readonly<Record<string, readonly TemplateAssetEntry[]>>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Where a file comes from: `<base>/<path inside the package>`. `{version}` in a base is replaced with the package
|
|
18
|
+
* version. Tried in order; AURA3D_TEMPLATE_ASSET_BASE (one base, or several separated by spaces) replaces the defaults.
|
|
19
|
+
*/
|
|
20
|
+
export declare const DEFAULT_TEMPLATE_ASSET_BASES: readonly ["https://raw.githubusercontent.com/auraoneai/aura3d/v{version}/packages/create-aura3d", "https://cdn.jsdelivr.net/gh/auraoneai/aura3d@v{version}/packages/create-aura3d"];
|
|
21
|
+
/** Build the manifest from a package root (`<root>/templates/<name>/...`). Pure filesystem, sorted, deterministic. */
|
|
22
|
+
export declare function buildTemplateAssetManifest(rootDir: string, templates: readonly string[], listFiles: (dir: string) => string[]): TemplateAssetManifest;
|
|
23
|
+
export declare function readTemplateAssetManifest(rootDir: string): TemplateAssetManifest | null;
|
|
24
|
+
/** Manifest entries of `template` that are missing (or the wrong size) in `projectDir`. */
|
|
25
|
+
export declare function missingTemplateAssets(manifest: TemplateAssetManifest | null, template: string, projectDir: string): TemplateAssetEntry[];
|
|
26
|
+
export interface FetchTemplateAssetsOptions {
|
|
27
|
+
readonly projectDir: string;
|
|
28
|
+
readonly template: string;
|
|
29
|
+
readonly entries: readonly TemplateAssetEntry[];
|
|
30
|
+
readonly version: string;
|
|
31
|
+
readonly bases?: readonly string[];
|
|
32
|
+
readonly fetch?: (url: string) => Promise<{
|
|
33
|
+
ok: boolean;
|
|
34
|
+
status: number;
|
|
35
|
+
arrayBuffer(): Promise<ArrayBuffer>;
|
|
36
|
+
}>;
|
|
37
|
+
readonly log?: (line: string) => void;
|
|
38
|
+
}
|
|
39
|
+
export interface FetchTemplateAssetsResult {
|
|
40
|
+
readonly fetched: readonly {
|
|
41
|
+
path: string;
|
|
42
|
+
url: string;
|
|
43
|
+
bytes: number;
|
|
44
|
+
}[];
|
|
45
|
+
readonly failed: readonly {
|
|
46
|
+
path: string;
|
|
47
|
+
reasons: readonly string[];
|
|
48
|
+
}[];
|
|
49
|
+
}
|
|
50
|
+
export declare function templateAssetBases(env?: Record<string, string | undefined>): string[];
|
|
51
|
+
/** Download each entry, verify size and sha256, write it atomically. Never writes a file that fails verification. */
|
|
52
|
+
export declare function fetchTemplateAssets(options: FetchTemplateAssetsOptions): Promise<FetchTemplateAssetsResult>;
|
|
53
|
+
//# sourceMappingURL=template-assets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-assets.d.ts","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/template-assets.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,uBAAuB,yBAAyB,CAAC;AAC9D,sGAAsG;AACtG,eAAO,MAAM,wBAAwB,QAAa,CAAC;AACnD,eAAO,MAAM,yBAAyB,6EAA8E,CAAC;AAErH,MAAM,WAAW,kBAAkB;IACjC,uFAAuF;IACvF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,iCAAiC,CAAC;IACnD,+BAA+B;IAC/B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC,CAAC,CAAC;CAC7E;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,qLAG/B,CAAC;AAKX,sHAAsH;AACtH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,GAAG,qBAAqB,CAgBrJ;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAMvF;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAMxI;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAC;IAChH,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AACD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1E,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;CAC1E;AAED,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,EAAE,CAGlG;AAED,qHAAqH;AACrH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAqCjH"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
// On-demand template assets (audit RH-14). create-aura3d@4.5.0 is 101.9 MB unpacked; 87 MB of it is 51 binary files
|
|
2
|
+
// (GLB, WAV) under templates/*/public. Those files are left out of the npm tarball and listed, with size and sha256, in
|
|
3
|
+
// template-assets.json. After a template is copied, any listed file that is missing is downloaded from the tagged
|
|
4
|
+
// source tree for this package version and written only if its size and sha256 match. In a source checkout every file
|
|
5
|
+
// is present, so nothing is fetched.
|
|
6
|
+
import { createHash } from "node:crypto";
|
|
7
|
+
import { existsSync, mkdirSync, readFileSync, renameSync, statSync, writeFileSync } from "node:fs";
|
|
8
|
+
import { dirname, join, relative, resolve, sep } from "node:path";
|
|
9
|
+
export const TEMPLATE_ASSET_MANIFEST = "template-assets.json";
|
|
10
|
+
/** Files at or above this size, with a binary extension, are fetched on demand instead of shipped. */
|
|
11
|
+
export const TEMPLATE_ASSET_MIN_BYTES = 256 * 1024;
|
|
12
|
+
export const TEMPLATE_ASSET_EXTENSIONS = [".glb", ".gltf", ".bin", ".wav", ".ogg", ".mp3", ".ktx2", ".hdr"];
|
|
13
|
+
/**
|
|
14
|
+
* Where a file comes from: `<base>/<path inside the package>`. `{version}` in a base is replaced with the package
|
|
15
|
+
* version. Tried in order; AURA3D_TEMPLATE_ASSET_BASE (one base, or several separated by spaces) replaces the defaults.
|
|
16
|
+
*/
|
|
17
|
+
export const DEFAULT_TEMPLATE_ASSET_BASES = [
|
|
18
|
+
"https://raw.githubusercontent.com/auraoneai/aura3d/v{version}/packages/create-aura3d",
|
|
19
|
+
"https://cdn.jsdelivr.net/gh/auraoneai/aura3d@v{version}/packages/create-aura3d"
|
|
20
|
+
];
|
|
21
|
+
const toPosix = (p) => p.split(sep).join("/");
|
|
22
|
+
const sha256 = (bytes) => createHash("sha256").update(bytes).digest("hex");
|
|
23
|
+
/** Build the manifest from a package root (`<root>/templates/<name>/...`). Pure filesystem, sorted, deterministic. */
|
|
24
|
+
export function buildTemplateAssetManifest(rootDir, templates, listFiles) {
|
|
25
|
+
const out = {};
|
|
26
|
+
for (const template of [...templates].sort()) {
|
|
27
|
+
const dir = resolve(rootDir, "templates", template);
|
|
28
|
+
const entries = [];
|
|
29
|
+
for (const file of listFiles(dir).sort()) {
|
|
30
|
+
const rel = toPosix(relative(dir, file));
|
|
31
|
+
if (rel.split("/").some((part) => part === "node_modules" || part === "dist" || part === "test-results"))
|
|
32
|
+
continue;
|
|
33
|
+
if (!TEMPLATE_ASSET_EXTENSIONS.some((ext) => rel.toLowerCase().endsWith(ext)))
|
|
34
|
+
continue;
|
|
35
|
+
const size = statSync(file).size;
|
|
36
|
+
if (size < TEMPLATE_ASSET_MIN_BYTES)
|
|
37
|
+
continue;
|
|
38
|
+
entries.push({ path: rel, bytes: size, sha256: sha256(readFileSync(file)) });
|
|
39
|
+
}
|
|
40
|
+
if (entries.length)
|
|
41
|
+
out[template] = entries;
|
|
42
|
+
}
|
|
43
|
+
return { schema: "create-aura3d/template-assets@1", templates: out };
|
|
44
|
+
}
|
|
45
|
+
export function readTemplateAssetManifest(rootDir) {
|
|
46
|
+
const file = resolve(rootDir, TEMPLATE_ASSET_MANIFEST);
|
|
47
|
+
if (!existsSync(file))
|
|
48
|
+
return null;
|
|
49
|
+
const parsed = JSON.parse(readFileSync(file, "utf8"));
|
|
50
|
+
if (parsed.schema !== "create-aura3d/template-assets@1")
|
|
51
|
+
throw new Error(`create-aura3d: unknown ${TEMPLATE_ASSET_MANIFEST} schema ${String(parsed.schema)}`);
|
|
52
|
+
return parsed;
|
|
53
|
+
}
|
|
54
|
+
/** Manifest entries of `template` that are missing (or the wrong size) in `projectDir`. */
|
|
55
|
+
export function missingTemplateAssets(manifest, template, projectDir) {
|
|
56
|
+
const entries = manifest?.templates[template] ?? [];
|
|
57
|
+
return entries.filter((entry) => {
|
|
58
|
+
const file = join(projectDir, ...entry.path.split("/"));
|
|
59
|
+
return !existsSync(file) || statSync(file).size !== entry.bytes;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
export function templateAssetBases(env = process.env) {
|
|
63
|
+
const override = env.AURA3D_TEMPLATE_ASSET_BASE?.trim();
|
|
64
|
+
return override ? override.split(/\s+/) : [...DEFAULT_TEMPLATE_ASSET_BASES];
|
|
65
|
+
}
|
|
66
|
+
/** Download each entry, verify size and sha256, write it atomically. Never writes a file that fails verification. */
|
|
67
|
+
export async function fetchTemplateAssets(options) {
|
|
68
|
+
const doFetch = options.fetch ?? ((url) => fetch(url));
|
|
69
|
+
const bases = (options.bases ?? templateAssetBases()).map((b) => b.replace(/\{version\}/g, options.version).replace(/\/+$/, ""));
|
|
70
|
+
const fetched = [];
|
|
71
|
+
const failed = [];
|
|
72
|
+
for (const entry of options.entries) {
|
|
73
|
+
if (entry.path.split("/").some((part) => part === ".." || part === "") || entry.path.startsWith("/")) {
|
|
74
|
+
failed.push({ path: entry.path, reasons: ["unsafe path in manifest"] });
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
const reasons = [];
|
|
78
|
+
let done = false;
|
|
79
|
+
for (const base of bases) {
|
|
80
|
+
const url = `${base}/templates/${options.template}/${entry.path}`;
|
|
81
|
+
try {
|
|
82
|
+
const response = await doFetch(url);
|
|
83
|
+
if (!response.ok) {
|
|
84
|
+
reasons.push(`${url}: HTTP ${response.status}`);
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
const bytes = new Uint8Array(await response.arrayBuffer());
|
|
88
|
+
if (bytes.byteLength !== entry.bytes) {
|
|
89
|
+
reasons.push(`${url}: ${bytes.byteLength} bytes, expected ${entry.bytes}`);
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
const digest = sha256(bytes);
|
|
93
|
+
if (digest !== entry.sha256) {
|
|
94
|
+
reasons.push(`${url}: sha256 ${digest.slice(0, 12)}..., expected ${entry.sha256.slice(0, 12)}...`);
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
const target = join(options.projectDir, ...entry.path.split("/"));
|
|
98
|
+
mkdirSync(dirname(target), { recursive: true });
|
|
99
|
+
const temp = `${target}.download`;
|
|
100
|
+
writeFileSync(temp, bytes);
|
|
101
|
+
renameSync(temp, target);
|
|
102
|
+
fetched.push({ path: entry.path, url, bytes: bytes.byteLength });
|
|
103
|
+
options.log?.(`fetched ${entry.path} (${(bytes.byteLength / 1048576).toFixed(1)} MB)`);
|
|
104
|
+
done = true;
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
reasons.push(`${url}: ${error instanceof Error ? error.message : String(error)}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (!done)
|
|
112
|
+
failed.push({ path: entry.path, reasons });
|
|
113
|
+
}
|
|
114
|
+
return { fetched, failed };
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=template-assets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-assets.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/template-assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
* time base. `getDelta()` returns seconds since the last `getDelta`/
|
|
4
4
|
* `getElapsedTime` call (0 while stopped); `getElapsedTime()` returns total
|
|
5
5
|
* seconds since `start()`. `autoStart` (default true) starts the clock on the
|
|
6
|
-
* first read, matching three.js.
|
|
6
|
+
* first read, matching three.js. `stop()` folds the pending interval into
|
|
7
|
+
* `elapsedTime` and clears `autoStart`, as three does, so a stopped clock stays
|
|
8
|
+
* stopped and keeps its time (anim-phys-05).
|
|
7
9
|
*
|
|
8
10
|
* Backed by `createFrameLoop({ useRaf: false, fixedDt: 0 })`: the loop is a
|
|
9
11
|
* pure accumulator here — `step(dt)` adds scaled real seconds to `time`, which
|
|
@@ -19,10 +21,14 @@ export interface AuraClockOptions {
|
|
|
19
21
|
export declare class Clock {
|
|
20
22
|
private readonly loop;
|
|
21
23
|
private readonly now;
|
|
22
|
-
|
|
24
|
+
/** three's `clock.autoStart`; `stop()` sets it to false. */
|
|
25
|
+
autoStart: boolean;
|
|
23
26
|
private lastNow;
|
|
24
27
|
private runningFlag;
|
|
25
|
-
|
|
28
|
+
/** Loop time at the last start(); three resets elapsedTime to 0 on every start(). */
|
|
29
|
+
private baseTime;
|
|
30
|
+
/** `new Clock(false)` is three's `autoStart` argument; the options object is the Aura form. */
|
|
31
|
+
constructor(options?: AuraClockOptions | boolean);
|
|
26
32
|
/** three's `clock.running`. */
|
|
27
33
|
get running(): boolean;
|
|
28
34
|
/** three's `clock.elapsedTime` (seconds accumulated since start). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clock.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/Clock.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Clock.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/Clock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,4DAA4D;IAC5D,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAK;IAErB,+FAA+F;gBACnF,OAAO,GAAE,gBAAgB,GAAG,OAAY;IAOpD,+BAA+B;IAC/B,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,qEAAqE;IACrE,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IASZ,gFAAgF;IAChF,QAAQ,IAAI,MAAM;IAalB,mGAAmG;IACnG,cAAc,IAAI,MAAM;CAIzB"}
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
* time base. `getDelta()` returns seconds since the last `getDelta`/
|
|
4
4
|
* `getElapsedTime` call (0 while stopped); `getElapsedTime()` returns total
|
|
5
5
|
* seconds since `start()`. `autoStart` (default true) starts the clock on the
|
|
6
|
-
* first read, matching three.js.
|
|
6
|
+
* first read, matching three.js. `stop()` folds the pending interval into
|
|
7
|
+
* `elapsedTime` and clears `autoStart`, as three does, so a stopped clock stays
|
|
8
|
+
* stopped and keeps its time (anim-phys-05).
|
|
7
9
|
*
|
|
8
10
|
* Backed by `createFrameLoop({ useRaf: false, fixedDt: 0 })`: the loop is a
|
|
9
11
|
* pure accumulator here — `step(dt)` adds scaled real seconds to `time`, which
|
|
@@ -14,10 +16,16 @@ import { createFrameLoop } from "./FrameLoop.js";
|
|
|
14
16
|
export class Clock {
|
|
15
17
|
loop;
|
|
16
18
|
now;
|
|
19
|
+
/** three's `clock.autoStart`; `stop()` sets it to false. */
|
|
17
20
|
autoStart;
|
|
18
21
|
lastNow;
|
|
19
22
|
runningFlag = false;
|
|
23
|
+
/** Loop time at the last start(); three resets elapsedTime to 0 on every start(). */
|
|
24
|
+
baseTime = 0;
|
|
25
|
+
/** `new Clock(false)` is three's `autoStart` argument; the options object is the Aura form. */
|
|
20
26
|
constructor(options = {}) {
|
|
27
|
+
if (typeof options === "boolean")
|
|
28
|
+
options = { autoStart: options };
|
|
21
29
|
this.now = options.now ?? (() => (typeof performance === "undefined" ? Date.now() : performance.now()));
|
|
22
30
|
this.autoStart = options.autoStart !== false;
|
|
23
31
|
this.loop = createFrameLoop({ useRaf: false, autoStart: false, fixedDt: 0, now: this.now });
|
|
@@ -28,9 +36,10 @@ export class Clock {
|
|
|
28
36
|
}
|
|
29
37
|
/** three's `clock.elapsedTime` (seconds accumulated since start). */
|
|
30
38
|
get elapsedTime() {
|
|
31
|
-
return this.loop.snapshot().time;
|
|
39
|
+
return this.loop.snapshot().time - this.baseTime;
|
|
32
40
|
}
|
|
33
41
|
start() {
|
|
42
|
+
this.baseTime = this.loop.snapshot().time;
|
|
34
43
|
this.runningFlag = true;
|
|
35
44
|
this.loop.start();
|
|
36
45
|
// `lastNow` marks the resume instant so the stopped interval never leaks
|
|
@@ -38,6 +47,10 @@ export class Clock {
|
|
|
38
47
|
this.lastNow = this.now();
|
|
39
48
|
}
|
|
40
49
|
stop() {
|
|
50
|
+
// three: `this.getElapsedTime(); this.running = false; this.autoStart = false;`
|
|
51
|
+
if (this.runningFlag)
|
|
52
|
+
this.getDelta();
|
|
53
|
+
this.autoStart = false;
|
|
41
54
|
this.runningFlag = false;
|
|
42
55
|
this.loop.stop();
|
|
43
56
|
this.lastNow = undefined;
|
|
@@ -45,10 +58,8 @@ export class Clock {
|
|
|
45
58
|
/** Seconds since the previous `getDelta`/`getElapsedTime` (0 while stopped). */
|
|
46
59
|
getDelta() {
|
|
47
60
|
if (!this.runningFlag) {
|
|
48
|
-
if (this.autoStart
|
|
61
|
+
if (this.autoStart)
|
|
49
62
|
this.start();
|
|
50
|
-
return 0;
|
|
51
|
-
}
|
|
52
63
|
return 0;
|
|
53
64
|
}
|
|
54
65
|
const now = this.now();
|
|
@@ -61,7 +72,7 @@ export class Clock {
|
|
|
61
72
|
/** Total seconds since `start()`; pulling a pending delta first keeps the two reads consistent. */
|
|
62
73
|
getElapsedTime() {
|
|
63
74
|
this.getDelta();
|
|
64
|
-
return this.
|
|
75
|
+
return this.elapsedTime;
|
|
65
76
|
}
|
|
66
77
|
}
|
|
67
78
|
//# sourceMappingURL=Clock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clock.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/Clock.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Clock.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/Clock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AASjE,MAAM,OAAO,KAAK;IACC,IAAI,CAAY;IAChB,GAAG,CAAe;IACnC,4DAA4D;IAC5D,SAAS,CAAU;IACX,OAAO,CAAqB;IAC5B,WAAW,GAAG,KAAK,CAAC;IAC5B,qFAAqF;IAC7E,QAAQ,GAAG,CAAC,CAAC;IAErB,+FAA+F;IAC/F,YAAY,UAAsC,EAAE;QAClD,IAAI,OAAO,OAAO,KAAK,SAAS;YAAE,OAAO,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QACnE,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,qEAAqE;IACrE,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;IACnD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,yEAAyE;QACzE,uBAAuB;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI;QACF,gFAAgF;QAChF,IAAI,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,gFAAgF;IAChF,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mGAAmG;IACnG,cAAc;QACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { BoneMaskSkeleton, BoneMaskSpec } from "../../animation/lanes/index.js";
|
|
2
|
+
import type { AuraBoneMaskSpec } from "../contracts/animation.js";
|
|
3
|
+
/**
|
|
4
|
+
* The public `AuraBoneMaskSpec` (`{ include?, exclude?, humanoid? }`) is not the shape the pose mixer's
|
|
5
|
+
* `createBoneMask` reads (`{ include: selector[], weights }`). Handing the public spec over unchanged made
|
|
6
|
+
* `humanoid` and `exclude` silent no-ops, so `mask: { humanoid: "upper-body" }` produced an all-zero mask and
|
|
7
|
+
* the layer did nothing. This maps one onto the other:
|
|
8
|
+
*
|
|
9
|
+
* - `include` entries are exact bone names (or pose selectors, passed through);
|
|
10
|
+
* - `humanoid` adds the matching preset (`"arms"` is both arms);
|
|
11
|
+
* - `exclude` names get weight 0 after the includes, so they win, and take their child bones with them;
|
|
12
|
+
* with no `include`/`humanoid`, the mask starts from the full body (anim-phys-08).
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* The skeleton a mask is built over: bind-order joint names plus parent indices, so subtree
|
|
16
|
+
* selectors (`upper-body`, `exclude`) reach child bones. Without the mixer's skeleton the parents
|
|
17
|
+
* are unknown and every selector touches only the named joints (anim-phys-08).
|
|
18
|
+
*/
|
|
19
|
+
export declare function boneMaskSkeletonFor(runtime: {
|
|
20
|
+
readonly skeletonJointNames?: () => readonly string[];
|
|
21
|
+
readonly mixer?: () => {
|
|
22
|
+
readonly skeleton?: BoneMaskSkeleton;
|
|
23
|
+
};
|
|
24
|
+
}): BoneMaskSkeleton | undefined;
|
|
25
|
+
export declare function toPoseBoneMaskSpec(spec: AuraBoneMaskSpec | BoneMaskSpec): BoneMaskSpec;
|
|
26
|
+
//# sourceMappingURL=animationMask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"animationMask.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/animationMask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;;;;;;;;GAUG;AACH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAC;CACjE,GAAG,gBAAgB,GAAG,SAAS,CAI/B;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,GAAG,YAAY,CAYtF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The public `AuraBoneMaskSpec` (`{ include?, exclude?, humanoid? }`) is not the shape the pose mixer's
|
|
3
|
+
* `createBoneMask` reads (`{ include: selector[], weights }`). Handing the public spec over unchanged made
|
|
4
|
+
* `humanoid` and `exclude` silent no-ops, so `mask: { humanoid: "upper-body" }` produced an all-zero mask and
|
|
5
|
+
* the layer did nothing. This maps one onto the other:
|
|
6
|
+
*
|
|
7
|
+
* - `include` entries are exact bone names (or pose selectors, passed through);
|
|
8
|
+
* - `humanoid` adds the matching preset (`"arms"` is both arms);
|
|
9
|
+
* - `exclude` names get weight 0 after the includes, so they win, and take their child bones with them;
|
|
10
|
+
* with no `include`/`humanoid`, the mask starts from the full body (anim-phys-08).
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* The skeleton a mask is built over: bind-order joint names plus parent indices, so subtree
|
|
14
|
+
* selectors (`upper-body`, `exclude`) reach child bones. Without the mixer's skeleton the parents
|
|
15
|
+
* are unknown and every selector touches only the named joints (anim-phys-08).
|
|
16
|
+
*/
|
|
17
|
+
export function boneMaskSkeletonFor(runtime) {
|
|
18
|
+
const skeleton = typeof runtime.mixer === "function" ? runtime.mixer().skeleton : undefined;
|
|
19
|
+
if (skeleton?.parentIndices !== undefined)
|
|
20
|
+
return { jointNames: skeleton.jointNames, parentIndices: skeleton.parentIndices };
|
|
21
|
+
return typeof runtime.skeletonJointNames === "function" ? { jointNames: runtime.skeletonJointNames() } : undefined;
|
|
22
|
+
}
|
|
23
|
+
export function toPoseBoneMaskSpec(spec) {
|
|
24
|
+
const source = spec;
|
|
25
|
+
const include = [...(source.include ?? [])];
|
|
26
|
+
if (source.humanoid === "arms")
|
|
27
|
+
include.push({ humanoid: "left-arm" }, { humanoid: "right-arm" });
|
|
28
|
+
else if (source.humanoid !== undefined)
|
|
29
|
+
include.push({ humanoid: source.humanoid });
|
|
30
|
+
const weights = { ...(source.weights ?? {}) };
|
|
31
|
+
const exclude = [...(source.exclude ?? [])];
|
|
32
|
+
return {
|
|
33
|
+
include,
|
|
34
|
+
...(Object.keys(weights).length > 0 ? { weights } : {}),
|
|
35
|
+
...(exclude.length > 0 ? { exclude } : {})
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=animationMask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"animationMask.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/animationMask.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAGnC;IACC,MAAM,QAAQ,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,IAAI,QAAQ,EAAE,aAAa,KAAK,SAAS;QAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC;IAC7H,OAAO,OAAO,OAAO,CAAC,kBAAkB,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACrH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAqC;IACtE,MAAM,MAAM,GAAG,IAAgD,CAAC;IAChE,MAAM,OAAO,GAAuB,CAAC,GAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAiC,CAAC,CAAC;IACjG,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;SAC7F,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpF,MAAM,OAAO,GAA2B,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;IACtE,MAAM,OAAO,GAAuB,CAAC,GAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAiC,CAAC,CAAC;IACjG,OAAO;QACL,OAAO;QACP,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3C,CAAC;AACJ,CAAC"}
|
|
@@ -19,6 +19,8 @@ export declare function resetQrAnimationFlags(): void;
|
|
|
19
19
|
* the §5.2 chain, the highest sources reachable without the app seam.
|
|
20
20
|
*/
|
|
21
21
|
export declare function qrAnimationFlags(): QrFlags;
|
|
22
|
+
/** Error code `addClipsFrom` rejects with when a node-handle source has no loaded actor. */
|
|
23
|
+
export declare const ANIMATION_RETARGET_SOURCE_NOT_LOADED = "ANIMATION_RETARGET_SOURCE_NOT_LOADED";
|
|
22
24
|
/** Warning code emitted through `runtimeWarnings` for a rejected empty pose (T0.2). */
|
|
23
25
|
export declare const ANIMATION_EMPTY_POSE = "ANIMATION_EMPTY_POSE";
|
|
24
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actorAnimationHandle.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/app/actorAnimationHandle.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"actorAnimationHandle.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/app/actorAnimationHandle.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import { composeMat4, decomposeMat4, eulerXYZFromQuat, multiplyMat4, quatFromEulerXYZ } from "../../../scene/index.js";
|
|
9
9
|
import { addPrd06ActorConstraint, addPrd06ActorSpringBones, clearPrd06ActorConstraints, clearPrd06ActorSpringBones } from "../../production-runtime/actor/TypedGLBActorAnimation.js";
|
|
10
10
|
import { createBoneMask } from "../../../animation/lanes/index.js";
|
|
11
|
+
import { boneMaskSkeletonFor, toPoseBoneMaskSpec } from "../animationMask.js";
|
|
11
12
|
import { resolveQrFlags } from "../../contracts/flags.js";
|
|
12
13
|
import { StubActorAnimationApi } from "../../contracts/animation.js";
|
|
13
14
|
let overrideQrAnimationFlags;
|
|
@@ -40,6 +41,8 @@ export function qrAnimationFlags() {
|
|
|
40
41
|
});
|
|
41
42
|
return lazyQrAnimationFlags;
|
|
42
43
|
}
|
|
44
|
+
/** Error code `addClipsFrom` rejects with when a node-handle source has no loaded actor. */
|
|
45
|
+
export const ANIMATION_RETARGET_SOURCE_NOT_LOADED = "ANIMATION_RETARGET_SOURCE_NOT_LOADED";
|
|
43
46
|
/** Warning code emitted through `runtimeWarnings` for a rejected empty pose (T0.2). */
|
|
44
47
|
export const ANIMATION_EMPTY_POSE = "ANIMATION_EMPTY_POSE";
|
|
45
48
|
function nonEmptyRecord(value) {
|
|
@@ -349,8 +352,9 @@ class Prd06ActorAnimationApi extends StubActorAnimationApi {
|
|
|
349
352
|
if (mixer === undefined)
|
|
350
353
|
return super.playLayer(layer, clip, options);
|
|
351
354
|
const runtime = this.actor.animation;
|
|
352
|
-
const
|
|
353
|
-
|
|
355
|
+
const maskSkeleton = options?.mask !== undefined ? boneMaskSkeletonFor(runtime) : undefined;
|
|
356
|
+
const mask = options?.mask !== undefined && maskSkeleton !== undefined
|
|
357
|
+
? createBoneMask(toPoseBoneMaskSpec(options.mask), maskSkeleton)
|
|
354
358
|
: undefined;
|
|
355
359
|
const additiveWanted = options?.blendMode === "additive";
|
|
356
360
|
const clipName = additiveWanted && typeof runtime.ensureAdditiveClip === "function"
|
|
@@ -360,7 +364,9 @@ class Prd06ActorAnimationApi extends StubActorAnimationApi {
|
|
|
360
364
|
weight: options?.weight,
|
|
361
365
|
blendMode: options?.blendMode,
|
|
362
366
|
additive: additiveWanted,
|
|
363
|
-
mask
|
|
367
|
+
mask,
|
|
368
|
+
// A replaced clip on the same layer fades out while the new one fades in (anim-phys-03).
|
|
369
|
+
...(options?.fadeIn !== undefined && options.fadeIn > 0 ? { fadeOutPrevious: options.fadeIn } : {})
|
|
364
370
|
});
|
|
365
371
|
if (options?.fadeIn !== undefined && options.fadeIn > 0)
|
|
366
372
|
action.fadeIn(options.fadeIn);
|
|
@@ -492,6 +498,23 @@ class Prd06ActorAnimationApi extends StubActorAnimationApi {
|
|
|
492
498
|
if (!qrAnimationFlags().on("A3D_QR_ANIMATION") || runtime === undefined || typeof runtime.addClipsFrom !== "function") {
|
|
493
499
|
return Promise.resolve([]);
|
|
494
500
|
}
|
|
501
|
+
// Root reach: a route only holds runtime-node handles, never the loaded actor's
|
|
502
|
+
// animation runtime. A handle (or its id) names a loaded model node; its actor
|
|
503
|
+
// runtime is the retarget source. A node that has not loaded yet is a caller error,
|
|
504
|
+
// never a silent empty bake.
|
|
505
|
+
const sourceNodeId = typeof source === "string"
|
|
506
|
+
? source
|
|
507
|
+
: source !== null && typeof source === "object" && typeof source.id === "string"
|
|
508
|
+
&& source.kind === "model"
|
|
509
|
+
? source.id
|
|
510
|
+
: undefined;
|
|
511
|
+
if (sourceNodeId !== undefined) {
|
|
512
|
+
const sourceRuntime = prd06AnimationActors.get(sourceNodeId)?.animation;
|
|
513
|
+
if (sourceRuntime === undefined) {
|
|
514
|
+
return Promise.reject(new Error(`${ANIMATION_RETARGET_SOURCE_NOT_LOADED}: model node "${sourceNodeId}" has no loaded actor animation runtime. Await app.ready() (and step once) before addClipsFrom.`));
|
|
515
|
+
}
|
|
516
|
+
source = sourceRuntime;
|
|
517
|
+
}
|
|
495
518
|
return runtime.addClipsFrom(source, {
|
|
496
519
|
...(options?.map !== undefined ? { map: options.map } : {}),
|
|
497
520
|
...(options?.hipsScale !== undefined ? { hipsScale: options.hipsScale } : {}),
|