@aura3d/engine 4.0.3 → 4.0.5
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 +3 -3
- package/dist/animation/AnimationAction.d.ts +55 -1
- package/dist/animation/AnimationAction.d.ts.map +1 -1
- package/dist/animation/AnimationAction.js +156 -27
- package/dist/animation/AnimationAction.js.map +1 -1
- package/dist/animation/AnimationEvents.d.ts +1 -1
- package/dist/animation/AnimationEvents.d.ts.map +1 -1
- package/dist/animation/AnimationEvents.js +33 -14
- package/dist/animation/AnimationEvents.js.map +1 -1
- package/dist/animation/AnimationMixer.d.ts +35 -0
- package/dist/animation/AnimationMixer.d.ts.map +1 -1
- package/dist/animation/AnimationMixer.js +60 -10
- package/dist/animation/AnimationMixer.js.map +1 -1
- package/dist/animation/AnimationObjectGroup.d.ts +28 -0
- package/dist/animation/AnimationObjectGroup.d.ts.map +1 -0
- package/dist/animation/AnimationObjectGroup.js +242 -0
- package/dist/animation/AnimationObjectGroup.js.map +1 -0
- package/dist/animation/AnimationTrack.d.ts +18 -2
- package/dist/animation/AnimationTrack.d.ts.map +1 -1
- package/dist/animation/AnimationTrack.js +62 -0
- package/dist/animation/AnimationTrack.js.map +1 -1
- package/dist/animation/AnimationUtils.d.ts +56 -0
- package/dist/animation/AnimationUtils.d.ts.map +1 -0
- package/dist/animation/AnimationUtils.js +202 -0
- package/dist/animation/AnimationUtils.js.map +1 -0
- package/dist/animation/PropertyBinding.d.ts +93 -0
- package/dist/animation/PropertyBinding.d.ts.map +1 -0
- package/dist/animation/PropertyBinding.js +393 -0
- package/dist/animation/PropertyBinding.js.map +1 -0
- package/dist/animation/SceneAnimationBridge.d.ts +23 -1
- package/dist/animation/SceneAnimationBridge.d.ts.map +1 -1
- package/dist/animation/SceneAnimationBridge.js +152 -14
- package/dist/animation/SceneAnimationBridge.js.map +1 -1
- package/dist/animation/browser-index.d.ts +3 -0
- package/dist/animation/browser-index.d.ts.map +1 -1
- package/dist/animation/browser-index.js +3 -0
- package/dist/animation/browser-index.js.map +1 -1
- package/dist/animation/index.d.ts +3 -0
- package/dist/animation/index.d.ts.map +1 -1
- package/dist/animation/index.js +3 -0
- package/dist/animation/index.js.map +1 -1
- package/dist/animation/pose/blendKernels.d.ts +1 -1
- package/dist/animation/pose/blendKernels.d.ts.map +1 -1
- package/dist/animation/pose/blendKernels.js +3 -3
- package/dist/animation/pose/blendKernels.js.map +1 -1
- package/dist/assets/DataTextureLoader.d.ts +16 -0
- package/dist/assets/DataTextureLoader.d.ts.map +1 -0
- package/dist/assets/DataTextureLoader.js +29 -0
- package/dist/assets/DataTextureLoader.js.map +1 -0
- package/dist/assets/EXRLoader.d.ts +78 -0
- package/dist/assets/EXRLoader.d.ts.map +1 -0
- package/dist/assets/EXRLoader.js +1398 -0
- package/dist/assets/EXRLoader.js.map +1 -0
- package/dist/assets/FileLoader.d.ts +32 -0
- package/dist/assets/FileLoader.d.ts.map +1 -0
- package/dist/assets/FileLoader.js +79 -0
- package/dist/assets/FileLoader.js.map +1 -0
- package/dist/assets/GLTFRenderResources.d.ts +9 -0
- package/dist/assets/GLTFRenderResources.d.ts.map +1 -1
- package/dist/assets/GLTFRenderResources.js +47 -4
- package/dist/assets/GLTFRenderResources.js.map +1 -1
- package/dist/assets/GLTFSharedTextureCache.d.ts +40 -0
- package/dist/assets/GLTFSharedTextureCache.d.ts.map +1 -0
- package/dist/assets/GLTFSharedTextureCache.js +68 -0
- package/dist/assets/GLTFSharedTextureCache.js.map +1 -0
- package/dist/assets/ImageBitmapLoader.d.ts +27 -0
- package/dist/assets/ImageBitmapLoader.d.ts.map +1 -0
- package/dist/assets/ImageBitmapLoader.js +51 -0
- package/dist/assets/ImageBitmapLoader.js.map +1 -0
- package/dist/assets/ImageLoader.d.ts.map +1 -1
- package/dist/assets/ImageLoader.js +12 -5
- package/dist/assets/ImageLoader.js.map +1 -1
- package/dist/assets/LoadContext.d.ts +4 -1
- package/dist/assets/LoadContext.d.ts.map +1 -1
- package/dist/assets/LoadContext.js +7 -2
- package/dist/assets/LoadContext.js.map +1 -1
- package/dist/assets/LoaderFetch.d.ts +12 -0
- package/dist/assets/LoaderFetch.d.ts.map +1 -0
- package/dist/assets/LoaderFetch.js +54 -0
- package/dist/assets/LoaderFetch.js.map +1 -0
- package/dist/assets/TextureLoader.d.ts.map +1 -1
- package/dist/assets/TextureLoader.js +3 -1
- package/dist/assets/TextureLoader.js.map +1 -1
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.d.ts +6 -0
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.d.ts.map +1 -1
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.js +2 -1
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.js.map +1 -1
- package/dist/assets/browser-index.d.ts +9 -0
- package/dist/assets/browser-index.d.ts.map +1 -1
- package/dist/assets/browser-index.js +5 -0
- package/dist/assets/browser-index.js.map +1 -1
- package/dist/assets/gltf-runtime.d.ts +2 -0
- package/dist/assets/gltf-runtime.d.ts.map +1 -1
- package/dist/assets/gltf-runtime.js +1 -0
- package/dist/assets/gltf-runtime.js.map +1 -1
- package/dist/assets/index.d.ts +11 -0
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +7 -0
- package/dist/assets/index.js.map +1 -1
- package/dist/assets/loaders/TextureLoader.d.ts +27 -1
- package/dist/assets/loaders/TextureLoader.d.ts.map +1 -1
- package/dist/assets/loaders/TextureLoader.js +62 -4
- package/dist/assets/loaders/TextureLoader.js.map +1 -1
- package/dist/audio/AudioAnalyser.d.ts +42 -0
- package/dist/audio/AudioAnalyser.d.ts.map +1 -0
- package/dist/audio/AudioAnalyser.js +75 -0
- package/dist/audio/AudioAnalyser.js.map +1 -0
- package/dist/audio/AudioContextManager.d.ts +6 -0
- package/dist/audio/AudioContextManager.d.ts.map +1 -1
- package/dist/audio/AudioContextManager.js.map +1 -1
- package/dist/audio/AudioListener.d.ts +27 -0
- package/dist/audio/AudioListener.d.ts.map +1 -1
- package/dist/audio/AudioListener.js +34 -0
- package/dist/audio/AudioListener.js.map +1 -1
- package/dist/audio/PositionalEmitter.d.ts +58 -2
- package/dist/audio/PositionalEmitter.d.ts.map +1 -1
- package/dist/audio/PositionalEmitter.js +111 -12
- package/dist/audio/PositionalEmitter.js.map +1 -1
- package/dist/audio/SpatialAudio.d.ts +24 -0
- package/dist/audio/SpatialAudio.d.ts.map +1 -1
- package/dist/audio/SpatialAudio.js +31 -2
- package/dist/audio/SpatialAudio.js.map +1 -1
- package/dist/audio/game-sound/SpatialVoice.d.ts +2 -2
- package/dist/audio/game-sound/SpatialVoice.d.ts.map +1 -1
- package/dist/audio/game-sound/SpatialVoice.js +1 -1
- package/dist/audio/index.d.ts +5 -3
- package/dist/audio/index.d.ts.map +1 -1
- package/dist/audio/index.js +2 -1
- package/dist/audio/index.js.map +1 -1
- package/dist/aura3d-cli/codemods/camera-cast.d.ts +34 -0
- package/dist/aura3d-cli/codemods/camera-cast.d.ts.map +1 -0
- package/dist/aura3d-cli/codemods/camera-cast.js +259 -0
- package/dist/aura3d-cli/codemods/camera-cast.js.map +1 -0
- package/dist/aura3d-cli/codemods/core-v2.d.ts +55 -0
- package/dist/aura3d-cli/codemods/core-v2.d.ts.map +1 -0
- package/dist/aura3d-cli/codemods/core-v2.js +371 -0
- package/dist/aura3d-cli/codemods/core-v2.js.map +1 -0
- package/dist/aura3d-cli/codemods/engine-entry-imports.js +3 -3
- package/dist/aura3d-cli/codemods/engine-entry-imports.js.map +1 -1
- package/dist/aura3d-cli/codemods/post-v2.d.ts +88 -0
- package/dist/aura3d-cli/codemods/post-v2.d.ts.map +1 -0
- package/dist/aura3d-cli/codemods/post-v2.js +379 -0
- package/dist/aura3d-cli/codemods/post-v2.js.map +1 -0
- package/dist/aura3d-cli/commands/prd01/index.js +1 -1
- package/dist/aura3d-cli/commands/prd01/index.js.map +1 -1
- package/dist/aura3d-cli/commands/prd02/environmentsBake.d.ts.map +1 -1
- package/dist/aura3d-cli/commands/prd02/environmentsBake.js +1 -1
- package/dist/aura3d-cli/commands/prd02/environmentsBake.js.map +1 -1
- package/dist/aura3d-cli/commands/prd03/index.d.ts +4 -2
- package/dist/aura3d-cli/commands/prd03/index.d.ts.map +1 -1
- package/dist/aura3d-cli/commands/prd03/index.js +4 -2
- package/dist/aura3d-cli/commands/prd03/index.js.map +1 -1
- package/dist/aura3d-cli/commands/prd08/feelLint.js +1 -1
- package/dist/aura3d-cli/commands/prd08/feelLint.js.map +1 -1
- package/dist/aura3d-cli/commands/prd08/index.js +1 -1
- package/dist/aura3d-cli/commands/prd08/index.js.map +1 -1
- package/dist/aura3d-cli/commands/prd10/index.js +8 -1
- package/dist/aura3d-cli/commands/prd10/index.js.map +1 -1
- package/dist/aura3d-cli/lint/feelSourceScan.d.ts +20 -0
- package/dist/aura3d-cli/lint/feelSourceScan.d.ts.map +1 -0
- package/dist/aura3d-cli/lint/feelSourceScan.js +91 -0
- package/dist/aura3d-cli/lint/feelSourceScan.js.map +1 -0
- package/dist/aura3d-cli/look/lint-static.js +1 -1
- package/dist/aura3d-cli/look/lint-static.js.map +1 -1
- package/dist/aura3d-cli/migrate-three/CompatibilityWarnings.d.ts.map +1 -1
- package/dist/aura3d-cli/migrate-three/CompatibilityWarnings.js +57 -12
- package/dist/aura3d-cli/migrate-three/CompatibilityWarnings.js.map +1 -1
- package/dist/aura3d-cli/migrate-three/ImportMap.d.ts +36 -12
- package/dist/aura3d-cli/migrate-three/ImportMap.d.ts.map +1 -1
- package/dist/aura3d-cli/migrate-three/ImportMap.js +120 -22
- package/dist/aura3d-cli/migrate-three/ImportMap.js.map +1 -1
- package/dist/aura3d-cli/migrate-three/ThreeToA3DAdapter.d.ts.map +1 -1
- package/dist/aura3d-cli/migrate-three/ThreeToA3DAdapter.js +3 -1
- package/dist/aura3d-cli/migrate-three/ThreeToA3DAdapter.js.map +1 -1
- package/dist/aura3d-cli/migrate-three/emit.d.ts +14 -1
- package/dist/aura3d-cli/migrate-three/emit.d.ts.map +1 -1
- package/dist/aura3d-cli/migrate-three/emit.js +670 -23
- package/dist/aura3d-cli/migrate-three/emit.js.map +1 -1
- package/dist/aura3d-cli/migrate-three/mappings.d.ts +24 -2
- package/dist/aura3d-cli/migrate-three/mappings.d.ts.map +1 -1
- package/dist/aura3d-cli/migrate-three/mappings.js +261 -12
- package/dist/aura3d-cli/migrate-three/mappings.js.map +1 -1
- package/dist/aura3d-cli/migrate-three/parse.d.ts +2 -0
- package/dist/aura3d-cli/migrate-three/parse.d.ts.map +1 -1
- package/dist/aura3d-cli/migrate-three/parse.js +134 -19
- package/dist/aura3d-cli/migrate-three/parse.js.map +1 -1
- package/dist/aura3d-cli/migrate-three/report.d.ts +1 -0
- package/dist/aura3d-cli/migrate-three/report.d.ts.map +1 -1
- package/dist/aura3d-cli/migrate-three/report.js +1 -1
- package/dist/aura3d-cli/migrate-three/report.js.map +1 -1
- package/dist/create-aura3d/index.js +1 -1
- package/dist/create-aura3d/showcase-spec-artifacts.d.ts +1 -1
- package/dist/engine/agent-api/AnimationMixerBuilders.d.ts +4 -0
- package/dist/engine/agent-api/AnimationMixerBuilders.d.ts.map +1 -1
- package/dist/engine/agent-api/AnimationMixerBuilders.js +17 -7
- package/dist/engine/agent-api/AnimationMixerBuilders.js.map +1 -1
- package/dist/engine/agent-api/Clock.d.ts +37 -0
- package/dist/engine/agent-api/Clock.d.ts.map +1 -0
- package/dist/engine/agent-api/Clock.js +67 -0
- package/dist/engine/agent-api/Clock.js.map +1 -0
- package/dist/engine/agent-api/RootGeometry.d.ts +124 -4
- package/dist/engine/agent-api/RootGeometry.d.ts.map +1 -1
- package/dist/engine/agent-api/RootGeometry.js +426 -19
- package/dist/engine/agent-api/RootGeometry.js.map +1 -1
- package/dist/engine/agent-api/RuntimeNodeHandle.d.ts +14 -0
- package/dist/engine/agent-api/RuntimeNodeHandle.d.ts.map +1 -1
- package/dist/engine/agent-api/RuntimeNodeHandle.js +22 -0
- package/dist/engine/agent-api/RuntimeNodeHandle.js.map +1 -1
- package/dist/engine/agent-api/SceneQueries.d.ts +67 -1
- package/dist/engine/agent-api/SceneQueries.d.ts.map +1 -1
- package/dist/engine/agent-api/SceneQueries.js +211 -5
- package/dist/engine/agent-api/SceneQueries.js.map +1 -1
- package/dist/engine/agent-api/app/createAuraApp.d.ts.map +1 -1
- package/dist/engine/agent-api/app/createAuraApp.js +93 -0
- package/dist/engine/agent-api/app/createAuraApp.js.map +1 -1
- package/dist/engine/agent-api/app/frameLoop.d.ts.map +1 -1
- package/dist/engine/agent-api/app/frameLoop.js +4 -0
- package/dist/engine/agent-api/app/frameLoop.js.map +1 -1
- package/dist/engine/agent-api/app/routeState.d.ts +1 -0
- package/dist/engine/agent-api/app/routeState.d.ts.map +1 -1
- package/dist/engine/agent-api/app/routeState.js +14 -0
- package/dist/engine/agent-api/app/routeState.js.map +1 -1
- package/dist/engine/agent-api/app/runtimeNodes.d.ts +7 -0
- package/dist/engine/agent-api/app/runtimeNodes.d.ts.map +1 -1
- package/dist/engine/agent-api/app/runtimeNodes.js +340 -12
- package/dist/engine/agent-api/app/runtimeNodes.js.map +1 -1
- package/dist/engine/agent-api/assetEvents.d.ts +25 -0
- package/dist/engine/agent-api/assetEvents.d.ts.map +1 -0
- package/dist/engine/agent-api/assetEvents.js +36 -0
- package/dist/engine/agent-api/assetEvents.js.map +1 -0
- package/dist/engine/agent-api/camera/Spline.d.ts +10 -4
- package/dist/engine/agent-api/camera/Spline.d.ts.map +1 -1
- package/dist/engine/agent-api/camera/Spline.js +28 -101
- package/dist/engine/agent-api/camera/Spline.js.map +1 -1
- package/dist/engine/agent-api/characters/clone.d.ts +55 -0
- package/dist/engine/agent-api/characters/clone.d.ts.map +1 -0
- package/dist/engine/agent-api/characters/clone.js +99 -0
- package/dist/engine/agent-api/characters/clone.js.map +1 -0
- package/dist/engine/agent-api/color.d.ts.map +1 -1
- package/dist/engine/agent-api/color.js +4 -18
- package/dist/engine/agent-api/color.js.map +1 -1
- package/dist/engine/agent-api/compiler/actors.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/actors.js +19 -7
- package/dist/engine/agent-api/compiler/actors.js.map +1 -1
- package/dist/engine/agent-api/compiler/backgroundImage.d.ts +24 -0
- package/dist/engine/agent-api/compiler/backgroundImage.d.ts.map +1 -0
- package/dist/engine/agent-api/compiler/backgroundImage.js +134 -0
- package/dist/engine/agent-api/compiler/backgroundImage.js.map +1 -0
- package/dist/engine/agent-api/compiler/compileScene.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/compileScene.js +7 -2
- package/dist/engine/agent-api/compiler/compileScene.js.map +1 -1
- package/dist/engine/agent-api/compiler/customMaterial.d.ts +80 -0
- package/dist/engine/agent-api/compiler/customMaterial.d.ts.map +1 -0
- package/dist/engine/agent-api/compiler/customMaterial.js +628 -0
- package/dist/engine/agent-api/compiler/customMaterial.js.map +1 -0
- package/dist/engine/agent-api/compiler/environment.d.ts +1 -1
- package/dist/engine/agent-api/compiler/environment.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/environment.js +10 -5
- package/dist/engine/agent-api/compiler/environment.js.map +1 -1
- package/dist/engine/agent-api/compiler/environmentSourcesState.d.ts +15 -0
- package/dist/engine/agent-api/compiler/environmentSourcesState.d.ts.map +1 -0
- package/dist/engine/agent-api/compiler/environmentSourcesState.js +13 -0
- package/dist/engine/agent-api/compiler/environmentSourcesState.js.map +1 -0
- package/dist/engine/agent-api/compiler/errors.d.ts +1 -1
- package/dist/engine/agent-api/compiler/errors.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/errors.js.map +1 -1
- package/dist/engine/agent-api/compiler/geometry.d.ts +20 -5
- package/dist/engine/agent-api/compiler/geometry.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/geometry.js +34 -8
- package/dist/engine/agent-api/compiler/geometry.js.map +1 -1
- package/dist/engine/agent-api/compiler/handlers.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/handlers.js +35 -1
- package/dist/engine/agent-api/compiler/handlers.js.map +1 -1
- package/dist/engine/agent-api/compiler/lensFlare.d.ts +21 -0
- package/dist/engine/agent-api/compiler/lensFlare.d.ts.map +1 -0
- package/dist/engine/agent-api/compiler/lensFlare.js +173 -0
- package/dist/engine/agent-api/compiler/lensFlare.js.map +1 -0
- package/dist/engine/agent-api/compiler/lights.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/lights.js +23 -0
- package/dist/engine/agent-api/compiler/lights.js.map +1 -1
- package/dist/engine/agent-api/compiler/lines.d.ts +23 -0
- package/dist/engine/agent-api/compiler/lines.d.ts.map +1 -0
- package/dist/engine/agent-api/compiler/lines.js +520 -0
- package/dist/engine/agent-api/compiler/lines.js.map +1 -0
- package/dist/engine/agent-api/compiler/modelMaterials.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/modelMaterials.js +11 -0
- package/dist/engine/agent-api/compiler/modelMaterials.js.map +1 -1
- package/dist/engine/agent-api/compiler/observations.d.ts +7 -0
- package/dist/engine/agent-api/compiler/observations.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/observations.js +33 -1
- package/dist/engine/agent-api/compiler/observations.js.map +1 -1
- package/dist/engine/agent-api/compiler/paritySurfaces.d.ts +37 -0
- package/dist/engine/agent-api/compiler/paritySurfaces.d.ts.map +1 -0
- package/dist/engine/agent-api/compiler/paritySurfaces.js +310 -0
- package/dist/engine/agent-api/compiler/paritySurfaces.js.map +1 -0
- package/dist/engine/agent-api/compiler/postprocess.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/postprocess.js +6 -3
- package/dist/engine/agent-api/compiler/postprocess.js.map +1 -1
- package/dist/engine/agent-api/compiler/primitives.d.ts +22 -3
- package/dist/engine/agent-api/compiler/primitives.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/primitives.js +320 -57
- 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 +21 -4
- package/dist/engine/agent-api/compiler/renderInput.js.map +1 -1
- package/dist/engine/agent-api/compiler/renderer.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/renderer.js +44 -6
- package/dist/engine/agent-api/compiler/renderer.js.map +1 -1
- package/dist/engine/agent-api/compiler/textures.d.ts +64 -2
- package/dist/engine/agent-api/compiler/textures.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/textures.js +257 -21
- package/dist/engine/agent-api/compiler/textures.js.map +1 -1
- package/dist/engine/agent-api/devtools/routeHealth.d.ts +12 -1
- package/dist/engine/agent-api/devtools/routeHealth.d.ts.map +1 -1
- package/dist/engine/agent-api/devtools/routeHealth.js +3 -3
- package/dist/engine/agent-api/devtools/routeHealth.js.map +1 -1
- package/dist/engine/agent-api/index.d.ts +35 -5
- package/dist/engine/agent-api/index.d.ts.map +1 -1
- package/dist/engine/agent-api/index.js +21 -3
- package/dist/engine/agent-api/index.js.map +1 -1
- package/dist/engine/agent-api/lodMarkers.d.ts +23 -0
- package/dist/engine/agent-api/lodMarkers.d.ts.map +1 -0
- package/dist/engine/agent-api/lodMarkers.js +33 -0
- package/dist/engine/agent-api/lodMarkers.js.map +1 -0
- package/dist/engine/agent-api/nodes/batched.d.ts +96 -0
- package/dist/engine/agent-api/nodes/batched.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/batched.js +456 -0
- package/dist/engine/agent-api/nodes/batched.js.map +1 -0
- package/dist/engine/agent-api/nodes/batchedState.d.ts +137 -0
- package/dist/engine/agent-api/nodes/batchedState.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/batchedState.js +435 -0
- package/dist/engine/agent-api/nodes/batchedState.js.map +1 -0
- package/dist/engine/agent-api/nodes/builder.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/builder.js +0 -3
- package/dist/engine/agent-api/nodes/builder.js.map +1 -1
- package/dist/engine/agent-api/nodes/camera.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/camera.js +2 -1
- package/dist/engine/agent-api/nodes/camera.js.map +1 -1
- package/dist/engine/agent-api/nodes/cameras.d.ts +114 -0
- package/dist/engine/agent-api/nodes/cameras.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/cameras.js +107 -0
- package/dist/engine/agent-api/nodes/cameras.js.map +1 -0
- package/dist/engine/agent-api/nodes/compute.d.ts +48 -0
- package/dist/engine/agent-api/nodes/compute.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/compute.js +73 -0
- package/dist/engine/agent-api/nodes/compute.js.map +1 -0
- package/dist/engine/agent-api/nodes/effects.composite.d.ts +3 -2
- package/dist/engine/agent-api/nodes/effects.composite.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/effects.post.d.ts +35 -0
- package/dist/engine/agent-api/nodes/effects.post.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/effects.post.js +69 -0
- package/dist/engine/agent-api/nodes/effects.post.js.map +1 -1
- package/dist/engine/agent-api/nodes/environments.composite.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/environments.d.ts +1 -1
- package/dist/engine/agent-api/nodes/environments.js +1 -1
- package/dist/engine/agent-api/nodes/environments.js.map +1 -1
- package/dist/engine/agent-api/nodes/game/instanceTransforms.d.ts +19 -6
- package/dist/engine/agent-api/nodes/game/instanceTransforms.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/game/instanceTransforms.js +31 -9
- package/dist/engine/agent-api/nodes/game/instanceTransforms.js.map +1 -1
- package/dist/engine/agent-api/nodes/geometry.d.ts +28 -1
- package/dist/engine/agent-api/nodes/geometry.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/geometry.js +62 -2
- package/dist/engine/agent-api/nodes/geometry.js.map +1 -1
- package/dist/engine/agent-api/nodes/groups.d.ts +8 -1
- package/dist/engine/agent-api/nodes/groups.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/groups.js +28 -0
- package/dist/engine/agent-api/nodes/groups.js.map +1 -1
- package/dist/engine/agent-api/nodes/helpers.d.ts +100 -0
- package/dist/engine/agent-api/nodes/helpers.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/helpers.js +254 -0
- package/dist/engine/agent-api/nodes/helpers.js.map +1 -0
- package/dist/engine/agent-api/nodes/instancedMesh.d.ts +87 -0
- package/dist/engine/agent-api/nodes/instancedMesh.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/instancedMesh.js +156 -0
- package/dist/engine/agent-api/nodes/instancedMesh.js.map +1 -0
- package/dist/engine/agent-api/nodes/instances.d.ts +49 -1
- package/dist/engine/agent-api/nodes/instances.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/instances.js +21 -0
- package/dist/engine/agent-api/nodes/instances.js.map +1 -1
- package/dist/engine/agent-api/nodes/lensFlare.d.ts +126 -0
- package/dist/engine/agent-api/nodes/lensFlare.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/lensFlare.js +184 -0
- package/dist/engine/agent-api/nodes/lensFlare.js.map +1 -0
- package/dist/engine/agent-api/nodes/lights.d.ts +34 -0
- package/dist/engine/agent-api/nodes/lights.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/lights.js +27 -0
- package/dist/engine/agent-api/nodes/lights.js.map +1 -1
- package/dist/engine/agent-api/nodes/lines.d.ts +69 -0
- package/dist/engine/agent-api/nodes/lines.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/lines.js +136 -0
- package/dist/engine/agent-api/nodes/lines.js.map +1 -0
- package/dist/engine/agent-api/nodes/material.d.ts +15 -1
- package/dist/engine/agent-api/nodes/material.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/material.js +18 -0
- package/dist/engine/agent-api/nodes/material.js.map +1 -1
- package/dist/engine/agent-api/nodes/overrideMaterial.d.ts +18 -0
- package/dist/engine/agent-api/nodes/overrideMaterial.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/overrideMaterial.js +43 -0
- package/dist/engine/agent-api/nodes/overrideMaterial.js.map +1 -0
- package/dist/engine/agent-api/nodes/points.d.ts +29 -0
- package/dist/engine/agent-api/nodes/points.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/points.js +34 -0
- package/dist/engine/agent-api/nodes/points.js.map +1 -0
- package/dist/engine/agent-api/nodes/primitives.d.ts +11 -0
- package/dist/engine/agent-api/nodes/primitives.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/primitives.js +55 -1
- package/dist/engine/agent-api/nodes/primitives.js.map +1 -1
- package/dist/engine/agent-api/nodes/prompt/promptPlanV2.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/prompt/promptPlanV2.js +6 -2
- package/dist/engine/agent-api/nodes/prompt/promptPlanV2.js.map +1 -1
- package/dist/engine/agent-api/nodes/prompt/promptRecipes.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/prompt/promptRecipes.js +7 -1
- package/dist/engine/agent-api/nodes/prompt/promptRecipes.js.map +1 -1
- package/dist/engine/agent-api/nodes/scene.d.ts +22 -3
- package/dist/engine/agent-api/nodes/scene.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/scene.js +41 -2
- package/dist/engine/agent-api/nodes/scene.js.map +1 -1
- package/dist/engine/agent-api/nodes/sprites.d.ts +29 -0
- package/dist/engine/agent-api/nodes/sprites.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/sprites.js +43 -0
- package/dist/engine/agent-api/nodes/sprites.js.map +1 -0
- package/dist/engine/agent-api/nodes/surfaces.d.ts +48 -0
- package/dist/engine/agent-api/nodes/surfaces.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/surfaces.js +32 -0
- package/dist/engine/agent-api/nodes/surfaces.js.map +1 -0
- package/dist/engine/agent-api/nodes/texture.d.ts +114 -0
- package/dist/engine/agent-api/nodes/texture.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/texture.js +590 -0
- package/dist/engine/agent-api/nodes/texture.js.map +1 -0
- package/dist/engine/agent-api/nodes/tsl/emit.d.ts +48 -0
- package/dist/engine/agent-api/nodes/tsl/emit.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/tsl/emit.js +361 -0
- package/dist/engine/agent-api/nodes/tsl/emit.js.map +1 -0
- package/dist/engine/agent-api/nodes/tsl/index.d.ts +115 -0
- package/dist/engine/agent-api/nodes/tsl/index.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/tsl/index.js +175 -0
- package/dist/engine/agent-api/nodes/tsl/index.js.map +1 -0
- package/dist/engine/agent-api/nodes/tsl/interpret.d.ts +21 -0
- package/dist/engine/agent-api/nodes/tsl/interpret.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/tsl/interpret.js +113 -0
- package/dist/engine/agent-api/nodes/tsl/interpret.js.map +1 -0
- package/dist/engine/agent-api/nodes/tsl/ir.d.ts +204 -0
- package/dist/engine/agent-api/nodes/tsl/ir.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/tsl/ir.js +501 -0
- package/dist/engine/agent-api/nodes/tsl/ir.js.map +1 -0
- package/dist/engine/agent-api/nodes/types/runtime.d.ts +91 -4
- package/dist/engine/agent-api/nodes/types/runtime.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/types.d.ts +387 -4
- package/dist/engine/agent-api/nodes/types.d.ts.map +1 -1
- package/dist/engine/agent-api/postBridge.d.ts +7 -0
- package/dist/engine/agent-api/postBridge.d.ts.map +1 -1
- package/dist/engine/agent-api/postBridge.js +63 -5
- package/dist/engine/agent-api/postBridge.js.map +1 -1
- package/dist/engine/agent-api/public/devtools.d.ts +1 -0
- package/dist/engine/agent-api/public/devtools.d.ts.map +1 -1
- package/dist/engine/agent-api/public/devtools.js.map +1 -1
- package/dist/engine/agent-api/publishedUnion.d.ts +136 -0
- package/dist/engine/agent-api/publishedUnion.d.ts.map +1 -1
- package/dist/engine/agent-api/publishedUnion.js +109 -0
- package/dist/engine/agent-api/publishedUnion.js.map +1 -1
- package/dist/engine/agent-api/runtimeEvidence.d.ts +10 -0
- package/dist/engine/agent-api/runtimeEvidence.d.ts.map +1 -1
- package/dist/engine/agent-api/runtimeEvidence.js +16 -0
- package/dist/engine/agent-api/runtimeEvidence.js.map +1 -1
- package/dist/engine/agent-api/sceneMath.d.ts +2 -2
- package/dist/engine/agent-api/sceneMath.d.ts.map +1 -1
- package/dist/engine/agent-api/sceneMath.js +8 -5
- package/dist/engine/agent-api/sceneMath.js.map +1 -1
- package/dist/engine/agent-api/sceneMath.lookLowering.d.ts +14 -0
- package/dist/engine/agent-api/sceneMath.lookLowering.d.ts.map +1 -0
- package/dist/engine/agent-api/sceneMath.lookLowering.js +8 -0
- package/dist/engine/agent-api/sceneMath.lookLowering.js.map +1 -0
- package/dist/engine/agent-api/stereoMath.d.ts +45 -0
- package/dist/engine/agent-api/stereoMath.d.ts.map +1 -0
- package/dist/engine/agent-api/stereoMath.js +78 -0
- package/dist/engine/agent-api/stereoMath.js.map +1 -0
- package/dist/engine/agent-api/vfx/atmosphere-api.d.ts +13 -0
- package/dist/engine/agent-api/vfx/atmosphere-api.d.ts.map +1 -1
- package/dist/engine/agent-api/vfx/atmosphere-api.js +19 -0
- package/dist/engine/agent-api/vfx/atmosphere-api.js.map +1 -1
- package/dist/engine/agent-api/world/kits.d.ts +1 -1
- package/dist/engine/agent-api/world/placement.js.map +1 -1
- package/dist/engine/agent-api/world/spline.d.ts +7 -22
- package/dist/engine/agent-api/world/spline.d.ts.map +1 -1
- package/dist/engine/agent-api/world/spline.js +30 -24
- package/dist/engine/agent-api/world/spline.js.map +1 -1
- package/dist/engine/agent-api/xr/index.d.ts +18 -0
- package/dist/engine/agent-api/xr/index.d.ts.map +1 -0
- package/dist/engine/agent-api/xr/index.js +15 -0
- package/dist/engine/agent-api/xr/index.js.map +1 -0
- package/dist/engine/agent-api/xr/types.d.ts +85 -0
- package/dist/engine/agent-api/xr/types.d.ts.map +1 -0
- package/dist/engine/agent-api/xr/types.js +2 -0
- package/dist/engine/agent-api/xr/types.js.map +1 -0
- package/dist/engine/agent-api/xr/xrButton.d.ts +50 -0
- package/dist/engine/agent-api/xr/xrButton.d.ts.map +1 -0
- package/dist/engine/agent-api/xr/xrButton.js +93 -0
- package/dist/engine/agent-api/xr/xrButton.js.map +1 -0
- package/dist/engine/agent-api/xr/xrRuntime.d.ts +40 -0
- package/dist/engine/agent-api/xr/xrRuntime.d.ts.map +1 -0
- package/dist/engine/agent-api/xr/xrRuntime.js +236 -0
- package/dist/engine/agent-api/xr/xrRuntime.js.map +1 -0
- package/dist/engine/agent-api/xr/xrViewOverride.d.ts +35 -0
- package/dist/engine/agent-api/xr/xrViewOverride.d.ts.map +1 -0
- package/dist/engine/agent-api/xr/xrViewOverride.js +99 -0
- package/dist/engine/agent-api/xr/xrViewOverride.js.map +1 -0
- package/dist/engine/contracts/compiler.d.ts +5 -0
- package/dist/engine/contracts/compiler.d.ts.map +1 -1
- package/dist/engine/contracts/compiler.js.map +1 -1
- package/dist/engine/contracts/flags.d.ts.map +1 -1
- package/dist/engine/contracts/flags.js +19 -2
- package/dist/engine/contracts/flags.js.map +1 -1
- package/dist/engine/contracts/post.d.ts +12 -0
- package/dist/engine/contracts/post.d.ts.map +1 -1
- package/dist/engine/contracts/post.js.map +1 -1
- package/dist/engine/index.d.ts +1 -0
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +5 -0
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/lanes/prd02.d.ts +1 -0
- package/dist/engine/lanes/prd02.d.ts.map +1 -1
- package/dist/engine/lanes/prd02.js +15 -0
- package/dist/engine/lanes/prd02.js.map +1 -1
- package/dist/engine/lanes/prd13.d.ts.map +1 -1
- package/dist/engine/lanes/prd13.js +4 -1
- package/dist/engine/lanes/prd13.js.map +1 -1
- package/dist/engine/production-runtime/TypedGLBActor.d.ts +8 -1
- package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
- package/dist/engine/production-runtime/TypedGLBActor.js +4 -3
- package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
- package/dist/engine/production-runtime/actor/TypedGLBActorAnimation.d.ts +5 -1
- package/dist/engine/production-runtime/actor/TypedGLBActorAnimation.d.ts.map +1 -1
- package/dist/engine/production-runtime/actor/TypedGLBActorAnimation.js +10 -6
- package/dist/engine/production-runtime/actor/TypedGLBActorAnimation.js.map +1 -1
- package/dist/engine/production-runtime/effects/EffectNodeLowering.d.ts +19 -1
- package/dist/engine/production-runtime/effects/EffectNodeLowering.d.ts.map +1 -1
- package/dist/engine/production-runtime/effects/EffectNodeLowering.js +39 -25
- package/dist/engine/production-runtime/effects/EffectNodeLowering.js.map +1 -1
- package/dist/engine/production-runtime/effects/ProductionEffectSystem.d.ts +5 -0
- package/dist/engine/production-runtime/effects/ProductionEffectSystem.d.ts.map +1 -1
- package/dist/engine/production-runtime/effects/ProductionEffectSystem.js +79 -8
- package/dist/engine/production-runtime/effects/ProductionEffectSystem.js.map +1 -1
- package/dist/engine/public/index.d.ts +6 -2
- package/dist/engine/public/index.d.ts.map +1 -1
- package/dist/engine/public/index.js +5 -1
- package/dist/engine/public/index.js.map +1 -1
- package/dist/engine/public/renderTarget.d.ts +14 -0
- package/dist/engine/public/renderTarget.d.ts.map +1 -0
- package/dist/engine/public/renderTarget.js +13 -0
- package/dist/engine/public/renderTarget.js.map +1 -0
- package/dist/engine/public/renderer.d.ts +4 -0
- package/dist/engine/public/renderer.d.ts.map +1 -1
- package/dist/engine/public/renderer.js +8 -0
- package/dist/engine/public/renderer.js.map +1 -1
- package/dist/input/WebXRSessionController.d.ts +43 -0
- package/dist/input/WebXRSessionController.d.ts.map +1 -1
- package/dist/input/WebXRSessionController.js +8 -0
- package/dist/input/WebXRSessionController.js.map +1 -1
- package/dist/input/index.d.ts +1 -15
- package/dist/input/index.d.ts.map +1 -1
- package/dist/input/index.js +0 -7
- package/dist/input/index.js.map +1 -1
- package/dist/math/Box3.d.ts +50 -0
- package/dist/math/Box3.d.ts.map +1 -1
- package/dist/math/Box3.js +177 -6
- package/dist/math/Box3.js.map +1 -1
- package/dist/math/Capsule.d.ts +25 -0
- package/dist/math/Capsule.d.ts.map +1 -0
- package/dist/math/Capsule.js +54 -0
- package/dist/math/Capsule.js.map +1 -0
- package/dist/math/Color.d.ts +27 -0
- package/dist/math/Color.d.ts.map +1 -1
- package/dist/math/Color.js +87 -0
- package/dist/math/Color.js.map +1 -1
- package/dist/math/ConvexHull.d.ts +100 -0
- package/dist/math/ConvexHull.d.ts.map +1 -0
- package/dist/math/ConvexHull.js +578 -0
- package/dist/math/ConvexHull.js.map +1 -0
- package/dist/math/Curves.d.ts +59 -18
- package/dist/math/Curves.d.ts.map +1 -1
- package/dist/math/Curves.js +15 -73
- package/dist/math/Curves.js.map +1 -1
- package/dist/math/Cylindrical.d.ts +19 -0
- package/dist/math/Cylindrical.d.ts.map +1 -0
- package/dist/math/Cylindrical.js +40 -0
- package/dist/math/Cylindrical.js.map +1 -0
- package/dist/math/Euler.d.ts +24 -0
- package/dist/math/Euler.d.ts.map +1 -1
- package/dist/math/Euler.js +126 -2
- package/dist/math/Euler.js.map +1 -1
- package/dist/math/Frustum.d.ts +18 -0
- package/dist/math/Frustum.d.ts.map +1 -1
- package/dist/math/Frustum.js +62 -12
- package/dist/math/Frustum.js.map +1 -1
- package/dist/math/Line3.d.ts +38 -0
- package/dist/math/Line3.d.ts.map +1 -0
- package/dist/math/Line3.js +122 -0
- package/dist/math/Line3.js.map +1 -0
- package/dist/math/MathUtils.d.ts +37 -0
- package/dist/math/MathUtils.d.ts.map +1 -0
- package/dist/math/MathUtils.js +105 -0
- package/dist/math/MathUtils.js.map +1 -0
- package/dist/math/Matrix3.d.ts +23 -2
- package/dist/math/Matrix3.d.ts.map +1 -1
- package/dist/math/Matrix3.js +90 -0
- package/dist/math/Matrix3.js.map +1 -1
- package/dist/math/Matrix4.d.ts +3 -0
- package/dist/math/Matrix4.d.ts.map +1 -1
- package/dist/math/Matrix4.js +17 -0
- package/dist/math/Matrix4.js.map +1 -1
- package/dist/math/OBB.d.ts +44 -0
- package/dist/math/OBB.d.ts.map +1 -0
- package/dist/math/OBB.js +214 -0
- package/dist/math/OBB.js.map +1 -0
- package/dist/math/Octree.d.ts +72 -0
- package/dist/math/Octree.d.ts.map +1 -0
- package/dist/math/Octree.js +385 -0
- package/dist/math/Octree.js.map +1 -0
- package/dist/math/Plane.d.ts +42 -0
- package/dist/math/Plane.d.ts.map +1 -1
- package/dist/math/Plane.js +79 -3
- package/dist/math/Plane.js.map +1 -1
- package/dist/math/Quaternion.d.ts +6 -1
- package/dist/math/Quaternion.d.ts.map +1 -1
- package/dist/math/Quaternion.js +28 -3
- package/dist/math/Quaternion.js.map +1 -1
- package/dist/math/Ray.d.ts +42 -2
- package/dist/math/Ray.d.ts.map +1 -1
- package/dist/math/Ray.js +202 -9
- package/dist/math/Ray.js.map +1 -1
- package/dist/math/ShapeUtils.d.ts +28 -0
- package/dist/math/ShapeUtils.d.ts.map +1 -0
- package/dist/math/ShapeUtils.js +551 -0
- package/dist/math/ShapeUtils.js.map +1 -0
- package/dist/math/Sphere.d.ts +32 -0
- package/dist/math/Sphere.d.ts.map +1 -1
- package/dist/math/Sphere.js +122 -4
- package/dist/math/Sphere.js.map +1 -1
- package/dist/math/Spherical.d.ts +21 -0
- package/dist/math/Spherical.d.ts.map +1 -0
- package/dist/math/Spherical.js +50 -0
- package/dist/math/Spherical.js.map +1 -0
- package/dist/math/SphericalHarmonics3.d.ts +35 -0
- package/dist/math/SphericalHarmonics3.d.ts.map +1 -0
- package/dist/math/SphericalHarmonics3.js +115 -0
- package/dist/math/SphericalHarmonics3.js.map +1 -0
- package/dist/math/Triangle.d.ts +45 -0
- package/dist/math/Triangle.d.ts.map +1 -0
- package/dist/math/Triangle.js +160 -0
- package/dist/math/Triangle.js.map +1 -0
- package/dist/math/Vector2.d.ts +7 -0
- package/dist/math/Vector2.d.ts.map +1 -1
- package/dist/math/Vector2.js +17 -0
- package/dist/math/Vector2.js.map +1 -1
- package/dist/math/Vector3.d.ts +16 -0
- package/dist/math/Vector3.d.ts.map +1 -1
- package/dist/math/Vector3.js +35 -0
- package/dist/math/Vector3.js.map +1 -1
- package/dist/math/curves/ArcCurve.d.ts +7 -0
- package/dist/math/curves/ArcCurve.d.ts.map +1 -0
- package/dist/math/curves/ArcCurve.js +9 -0
- package/dist/math/curves/ArcCurve.js.map +1 -0
- package/dist/math/curves/CatmullRomCurve3.d.ts +39 -0
- package/dist/math/curves/CatmullRomCurve3.d.ts.map +1 -0
- package/dist/math/curves/CatmullRomCurve3.js +176 -0
- package/dist/math/curves/CatmullRomCurve3.js.map +1 -0
- package/dist/math/curves/ClampedCatmullRomCurve3.d.ts +26 -0
- package/dist/math/curves/ClampedCatmullRomCurve3.d.ts.map +1 -0
- package/dist/math/curves/ClampedCatmullRomCurve3.js +48 -0
- package/dist/math/curves/ClampedCatmullRomCurve3.js.map +1 -0
- package/dist/math/curves/CubicBezierCurve.d.ts +14 -0
- package/dist/math/curves/CubicBezierCurve.d.ts.map +1 -0
- package/dist/math/curves/CubicBezierCurve.js +25 -0
- package/dist/math/curves/CubicBezierCurve.js.map +1 -0
- package/dist/math/curves/CubicBezierCurve3.d.ts +14 -0
- package/dist/math/curves/CubicBezierCurve3.d.ts.map +1 -0
- package/dist/math/curves/CubicBezierCurve3.js +25 -0
- package/dist/math/curves/CubicBezierCurve3.js.map +1 -0
- package/dist/math/curves/CurveBase.d.ts +49 -0
- package/dist/math/curves/CurveBase.d.ts.map +1 -0
- package/dist/math/curves/CurveBase.js +199 -0
- package/dist/math/curves/CurveBase.js.map +1 -0
- package/dist/math/curves/CurvePath.d.ts +34 -0
- package/dist/math/curves/CurvePath.d.ts.map +1 -0
- package/dist/math/curves/CurvePath.js +135 -0
- package/dist/math/curves/CurvePath.js.map +1 -0
- package/dist/math/curves/EllipseCurve.d.ts +18 -0
- package/dist/math/curves/EllipseCurve.d.ts.map +1 -0
- package/dist/math/curves/EllipseCurve.js +67 -0
- package/dist/math/curves/EllipseCurve.js.map +1 -0
- package/dist/math/curves/Interpolations.d.ts +9 -0
- package/dist/math/curves/Interpolations.d.ts.map +1 -0
- package/dist/math/curves/Interpolations.js +21 -0
- package/dist/math/curves/Interpolations.js.map +1 -0
- package/dist/math/curves/LineCurve.d.ts +16 -0
- package/dist/math/curves/LineCurve.d.ts.map +1 -0
- package/dist/math/curves/LineCurve.js +32 -0
- package/dist/math/curves/LineCurve.js.map +1 -0
- package/dist/math/curves/LineCurve3.d.ts +16 -0
- package/dist/math/curves/LineCurve3.d.ts.map +1 -0
- package/dist/math/curves/LineCurve3.js +32 -0
- package/dist/math/curves/LineCurve3.js.map +1 -0
- package/dist/math/curves/Path.d.ts +23 -0
- package/dist/math/curves/Path.d.ts.map +1 -0
- package/dist/math/curves/Path.js +94 -0
- package/dist/math/curves/Path.js.map +1 -0
- package/dist/math/curves/QuadraticBezierCurve.d.ts +13 -0
- package/dist/math/curves/QuadraticBezierCurve.d.ts.map +1 -0
- package/dist/math/curves/QuadraticBezierCurve.js +23 -0
- package/dist/math/curves/QuadraticBezierCurve.js.map +1 -0
- package/dist/math/curves/QuadraticBezierCurve3.d.ts +13 -0
- package/dist/math/curves/QuadraticBezierCurve3.d.ts.map +1 -0
- package/dist/math/curves/QuadraticBezierCurve3.js +23 -0
- package/dist/math/curves/QuadraticBezierCurve3.js.map +1 -0
- package/dist/math/curves/Shape.d.ts +15 -0
- package/dist/math/curves/Shape.d.ts.map +1 -0
- package/dist/math/curves/Shape.js +26 -0
- package/dist/math/curves/Shape.js.map +1 -0
- package/dist/math/curves/SplineCurve.d.ts +11 -0
- package/dist/math/curves/SplineCurve.d.ts.map +1 -0
- package/dist/math/curves/SplineCurve.js +27 -0
- package/dist/math/curves/SplineCurve.js.map +1 -0
- package/dist/math/index.d.ts +12 -0
- package/dist/math/index.d.ts.map +1 -1
- package/dist/math/index.js +16 -0
- package/dist/math/index.js.map +1 -1
- package/dist/physics-rapier/index.d.ts.map +1 -1
- package/dist/physics-rapier/index.js +20 -5
- package/dist/physics-rapier/index.js.map +1 -1
- package/dist/rendering/EnvironmentPlatform.d.ts.map +1 -1
- package/dist/rendering/EnvironmentPlatform.js +6 -2
- package/dist/rendering/EnvironmentPlatform.js.map +1 -1
- package/dist/rendering/ForwardPass.d.ts +2 -0
- package/dist/rendering/ForwardPass.d.ts.map +1 -1
- package/dist/rendering/ForwardPass.js +70 -5
- package/dist/rendering/ForwardPass.js.map +1 -1
- package/dist/rendering/Geometry.d.ts +40 -0
- package/dist/rendering/Geometry.d.ts.map +1 -1
- package/dist/rendering/Geometry.js +39 -2
- package/dist/rendering/Geometry.js.map +1 -1
- package/dist/rendering/IndexBuffer.d.ts +16 -1
- package/dist/rendering/IndexBuffer.d.ts.map +1 -1
- package/dist/rendering/IndexBuffer.js +46 -1
- package/dist/rendering/IndexBuffer.js.map +1 -1
- package/dist/rendering/InstancedPBRMaterial.d.ts +2 -0
- package/dist/rendering/InstancedPBRMaterial.d.ts.map +1 -1
- package/dist/rendering/InstancedPBRMaterial.js +1 -0
- package/dist/rendering/InstancedPBRMaterial.js.map +1 -1
- package/dist/rendering/Material.d.ts +9 -0
- package/dist/rendering/Material.d.ts.map +1 -1
- package/dist/rendering/Material.js +3 -0
- package/dist/rendering/Material.js.map +1 -1
- package/dist/rendering/PBRMaterial.d.ts +2 -0
- package/dist/rendering/PBRMaterial.d.ts.map +1 -1
- package/dist/rendering/PBRMaterial.js +1 -0
- package/dist/rendering/PBRMaterial.js.map +1 -1
- package/dist/rendering/PortableShaderMaterial.d.ts +13 -3
- package/dist/rendering/PortableShaderMaterial.d.ts.map +1 -1
- package/dist/rendering/PortableShaderMaterial.js +24 -12
- package/dist/rendering/PortableShaderMaterial.js.map +1 -1
- package/dist/rendering/RenderDevice.d.ts +98 -0
- package/dist/rendering/RenderDevice.d.ts.map +1 -1
- package/dist/rendering/RenderDevice.js +129 -0
- package/dist/rendering/RenderDevice.js.map +1 -1
- package/dist/rendering/Renderer.d.ts +94 -0
- package/dist/rendering/Renderer.d.ts.map +1 -1
- package/dist/rendering/Renderer.js +321 -26
- package/dist/rendering/Renderer.js.map +1 -1
- package/dist/rendering/Sampler.d.ts +35 -0
- package/dist/rendering/Sampler.d.ts.map +1 -1
- package/dist/rendering/Sampler.js +96 -0
- package/dist/rendering/Sampler.js.map +1 -1
- package/dist/rendering/ShaderLibraryCore.d.ts +14 -0
- package/dist/rendering/ShaderLibraryCore.d.ts.map +1 -1
- package/dist/rendering/ShaderLibraryCore.js +94 -4
- package/dist/rendering/ShaderLibraryCore.js.map +1 -1
- package/dist/rendering/Texture.d.ts +53 -1
- package/dist/rendering/Texture.d.ts.map +1 -1
- package/dist/rendering/Texture.js +53 -2
- package/dist/rendering/Texture.js.map +1 -1
- package/dist/rendering/UnlitMaterial.d.ts +46 -0
- package/dist/rendering/UnlitMaterial.d.ts.map +1 -1
- package/dist/rendering/UnlitMaterial.js +32 -3
- package/dist/rendering/UnlitMaterial.js.map +1 -1
- package/dist/rendering/VertexFormat.d.ts +19 -1
- package/dist/rendering/VertexFormat.d.ts.map +1 -1
- package/dist/rendering/VertexFormat.js +40 -1
- package/dist/rendering/VertexFormat.js.map +1 -1
- package/dist/rendering/WebGL2Device.d.ts +16 -0
- package/dist/rendering/WebGL2Device.d.ts.map +1 -1
- package/dist/rendering/WebGL2Device.js +31 -6
- package/dist/rendering/WebGL2Device.js.map +1 -1
- package/dist/rendering/WebGPUDevice.d.ts +92 -1
- package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
- package/dist/rendering/WebGPUDevice.js +417 -44
- package/dist/rendering/WebGPUDevice.js.map +1 -1
- package/dist/rendering/batching/BatchedGeometryPool.d.ts +22 -1
- package/dist/rendering/batching/BatchedGeometryPool.d.ts.map +1 -1
- package/dist/rendering/batching/BatchedGeometryPool.js +50 -2
- package/dist/rendering/batching/BatchedGeometryPool.js.map +1 -1
- package/dist/rendering/batching/DrawDataTexture.d.ts +21 -1
- package/dist/rendering/batching/DrawDataTexture.d.ts.map +1 -1
- package/dist/rendering/batching/DrawDataTexture.js +30 -4
- package/dist/rendering/batching/DrawDataTexture.js.map +1 -1
- package/dist/rendering/batching/MultiDrawBatch.d.ts +26 -0
- package/dist/rendering/batching/MultiDrawBatch.d.ts.map +1 -1
- package/dist/rendering/batching/MultiDrawBatch.js +64 -2
- package/dist/rendering/batching/MultiDrawBatch.js.map +1 -1
- package/dist/rendering/batching/index.d.ts +2 -2
- package/dist/rendering/batching/index.d.ts.map +1 -1
- package/dist/rendering/batching/index.js +2 -2
- package/dist/rendering/batching/index.js.map +1 -1
- package/dist/rendering/compute/ComputeContext.d.ts +84 -0
- package/dist/rendering/compute/ComputeContext.d.ts.map +1 -0
- package/dist/rendering/compute/ComputeContext.js +371 -0
- package/dist/rendering/compute/ComputeContext.js.map +1 -0
- package/dist/rendering/compute/index.d.ts +4 -0
- package/dist/rendering/compute/index.d.ts.map +1 -0
- package/dist/rendering/compute/index.js +3 -0
- package/dist/rendering/compute/index.js.map +1 -0
- package/dist/rendering/compute/types.d.ts +108 -0
- package/dist/rendering/compute/types.d.ts.map +1 -0
- package/dist/rendering/compute/types.js +25 -0
- package/dist/rendering/compute/types.js.map +1 -0
- package/dist/rendering/contracts/core.d.ts +1 -1
- package/dist/rendering/contracts/core.d.ts.map +1 -1
- package/dist/rendering/contracts/core.js.map +1 -1
- package/dist/rendering/contracts/flags.state.d.ts.map +1 -1
- package/dist/rendering/contracts/flags.state.js +20 -1
- package/dist/rendering/contracts/flags.state.js.map +1 -1
- package/dist/rendering/contracts/output.d.ts +1 -1
- package/dist/rendering/contracts/output.d.ts.map +1 -1
- package/dist/rendering/contracts/output.js.map +1 -1
- package/dist/rendering/contracts/post.d.ts +7 -0
- package/dist/rendering/contracts/post.d.ts.map +1 -1
- package/dist/rendering/contracts/post.js.map +1 -1
- package/dist/rendering/contracts/renderItem.d.ts +15 -0
- package/dist/rendering/contracts/renderItem.d.ts.map +1 -1
- package/dist/rendering/contracts/renderSource.d.ts +3 -1
- package/dist/rendering/contracts/renderSource.d.ts.map +1 -1
- package/dist/rendering/contracts/sampling.d.ts +23 -0
- package/dist/rendering/contracts/sampling.d.ts.map +1 -1
- package/dist/rendering/contracts/sampling.js.map +1 -1
- package/dist/rendering/environment/EnvironmentCache.d.ts.map +1 -1
- package/dist/rendering/environment/EnvironmentCache.js +7 -3
- package/dist/rendering/environment/EnvironmentCache.js.map +1 -1
- package/dist/rendering/environment/RoomEnvironmentScene.d.ts +2 -2
- package/dist/rendering/environment/RoomEnvironmentScene.d.ts.map +1 -1
- package/dist/rendering/environment/RoomEnvironmentScene.js.map +1 -1
- package/dist/rendering/geometry/Circle.d.ts +14 -0
- package/dist/rendering/geometry/Circle.d.ts.map +1 -0
- package/dist/rendering/geometry/Circle.js +31 -0
- package/dist/rendering/geometry/Circle.js.map +1 -0
- package/dist/rendering/geometry/Cone.d.ts +37 -0
- package/dist/rendering/geometry/Cone.d.ts.map +1 -0
- package/dist/rendering/geometry/Cone.js +129 -0
- package/dist/rendering/geometry/Cone.js.map +1 -0
- package/dist/rendering/geometry/Convex.d.ts +19 -0
- package/dist/rendering/geometry/Convex.d.ts.map +1 -0
- package/dist/rendering/geometry/Convex.js +27 -0
- package/dist/rendering/geometry/Convex.js.map +1 -0
- package/dist/rendering/geometry/Edges.d.ts +15 -0
- package/dist/rendering/geometry/Edges.d.ts.map +1 -0
- package/dist/rendering/geometry/Edges.js +98 -0
- package/dist/rendering/geometry/Edges.js.map +1 -0
- package/dist/rendering/geometry/Extrude.d.ts +29 -0
- package/dist/rendering/geometry/Extrude.d.ts.map +1 -0
- package/dist/rendering/geometry/Extrude.js +403 -0
- package/dist/rendering/geometry/Extrude.js.map +1 -0
- package/dist/rendering/geometry/Lathe.d.ts +20 -0
- package/dist/rendering/geometry/Lathe.d.ts.map +1 -0
- package/dist/rendering/geometry/Lathe.js +94 -0
- package/dist/rendering/geometry/Lathe.js.map +1 -0
- package/dist/rendering/geometry/Polyhedron.d.ts +21 -0
- package/dist/rendering/geometry/Polyhedron.d.ts.map +1 -0
- package/dist/rendering/geometry/Polyhedron.js +201 -0
- package/dist/rendering/geometry/Polyhedron.js.map +1 -0
- package/dist/rendering/geometry/Primitives.d.ts +38 -2
- package/dist/rendering/geometry/Primitives.d.ts.map +1 -1
- package/dist/rendering/geometry/Primitives.js +114 -0
- package/dist/rendering/geometry/Primitives.js.map +1 -1
- package/dist/rendering/geometry/Ring.d.ts +16 -0
- package/dist/rendering/geometry/Ring.d.ts.map +1 -0
- package/dist/rendering/geometry/Ring.js +44 -0
- package/dist/rendering/geometry/Ring.js.map +1 -0
- package/dist/rendering/geometry/RoundedBox.d.ts +22 -0
- package/dist/rendering/geometry/RoundedBox.d.ts.map +1 -0
- package/dist/rendering/geometry/RoundedBox.js +191 -0
- package/dist/rendering/geometry/RoundedBox.js.map +1 -0
- package/dist/rendering/geometry/Shape.d.ts +15 -0
- package/dist/rendering/geometry/Shape.d.ts.map +1 -0
- package/dist/rendering/geometry/Shape.js +44 -0
- package/dist/rendering/geometry/Shape.js.map +1 -0
- package/dist/rendering/geometry/Support.d.ts +137 -0
- package/dist/rendering/geometry/Support.d.ts.map +1 -0
- package/dist/rendering/geometry/Support.js +1066 -0
- package/dist/rendering/geometry/Support.js.map +1 -0
- package/dist/rendering/geometry/TorusKnot.d.ts +18 -0
- package/dist/rendering/geometry/TorusKnot.d.ts.map +1 -0
- package/dist/rendering/geometry/TorusKnot.js +83 -0
- package/dist/rendering/geometry/TorusKnot.js.map +1 -0
- package/dist/rendering/geometry/Tube.d.ts +19 -0
- package/dist/rendering/geometry/Tube.d.ts.map +1 -0
- package/dist/rendering/geometry/Tube.js +70 -0
- package/dist/rendering/geometry/Tube.js.map +1 -0
- package/dist/rendering/geometry/Wireframe.d.ts +19 -0
- package/dist/rendering/geometry/Wireframe.d.ts.map +1 -0
- package/dist/rendering/geometry/Wireframe.js +63 -0
- package/dist/rendering/geometry/Wireframe.js.map +1 -0
- package/dist/rendering/index.d.ts +38 -7
- package/dist/rendering/index.d.ts.map +1 -1
- package/dist/rendering/index.js +25 -3
- package/dist/rendering/index.js.map +1 -1
- package/dist/rendering/lanes/prd11.js +1 -1
- package/dist/rendering/lanes/prd11.js.map +1 -1
- package/dist/rendering/output/ToneMappingOperators.glsl.d.ts +1 -1
- package/dist/rendering/output/ToneMappingOperators.glsl.d.ts.map +1 -1
- package/dist/rendering/output/ToneMappingOperators.glsl.js +9 -1
- package/dist/rendering/output/ToneMappingOperators.glsl.js.map +1 -1
- package/dist/rendering/post/v2Entry.d.ts +1 -0
- package/dist/rendering/post/v2Entry.d.ts.map +1 -1
- package/dist/rendering/post/v2Entry.js.map +1 -1
- package/dist/rendering/post/v2Stages.d.ts +30 -1
- package/dist/rendering/post/v2Stages.d.ts.map +1 -1
- package/dist/rendering/post/v2Stages.js +87 -21
- package/dist/rendering/post/v2Stages.js.map +1 -1
- package/dist/rendering/program/ProgramCache.d.ts.map +1 -1
- package/dist/rendering/program/ProgramCache.js +12 -0
- package/dist/rendering/program/ProgramCache.js.map +1 -1
- package/dist/rendering/program/ProgramGenerator.d.ts.map +1 -1
- package/dist/rendering/program/ProgramGenerator.js +3 -0
- package/dist/rendering/program/ProgramGenerator.js.map +1 -1
- package/dist/rendering/reference/PostProcessPass.d.ts +1 -1
- package/dist/rendering/reference/PostProcessPass.d.ts.map +1 -1
- package/dist/rendering/reference/PostProcessPass.js +8 -1
- package/dist/rendering/reference/PostProcessPass.js.map +1 -1
- package/dist/rendering/renderer/CullingBatching.d.ts +44 -2
- package/dist/rendering/renderer/CullingBatching.d.ts.map +1 -1
- package/dist/rendering/renderer/CullingBatching.js +66 -11
- package/dist/rendering/renderer/CullingBatching.js.map +1 -1
- package/dist/rendering/shaders/chunks/lighting_mirrors.d.ts +2 -2
- package/dist/rendering/shaders/chunks/lighting_mirrors.d.ts.map +1 -1
- package/dist/rendering/shaders/chunks/lighting_mirrors.js.map +1 -1
- package/dist/rendering/shadows/DirectionalCascadeFitter.d.ts +8 -8
- package/dist/rendering/shadows/DirectionalCascadeFitter.d.ts.map +1 -1
- package/dist/rendering/shadows/DirectionalCascadeFitter.js.map +1 -1
- package/dist/rendering/shadows/ShadowAtlas.d.ts +5 -5
- package/dist/rendering/shadows/ShadowAtlas.d.ts.map +1 -1
- package/dist/rendering/shadows/ShadowAtlas.js.map +1 -1
- package/dist/rendering/vfx/ProceduralVolumeEmitter.d.ts +11 -0
- package/dist/rendering/vfx/ProceduralVolumeEmitter.d.ts.map +1 -1
- package/dist/rendering/vfx/ProceduralVolumeEmitter.js +20 -6
- package/dist/rendering/vfx/ProceduralVolumeEmitter.js.map +1 -1
- package/dist/rendering/webgl2/ContextLifecycle.d.ts +36 -0
- package/dist/rendering/webgl2/ContextLifecycle.d.ts.map +1 -1
- package/dist/rendering/webgl2/ContextLifecycle.js +110 -2
- package/dist/rendering/webgl2/ContextLifecycle.js.map +1 -1
- package/dist/rendering/webgl2/LegacyPost.d.ts +16 -1
- package/dist/rendering/webgl2/LegacyPost.d.ts.map +1 -1
- package/dist/rendering/webgl2/LegacyPost.js +49 -16
- package/dist/rendering/webgl2/LegacyPost.js.map +1 -1
- package/dist/rendering/webgl2/MultiDraw.d.ts.map +1 -1
- package/dist/rendering/webgl2/MultiDraw.js +42 -2
- package/dist/rendering/webgl2/MultiDraw.js.map +1 -1
- package/dist/rendering/webgl2/TextureUpload.d.ts +7 -0
- package/dist/rendering/webgl2/TextureUpload.d.ts.map +1 -1
- package/dist/rendering/webgl2/TextureUpload.js +54 -10
- package/dist/rendering/webgl2/TextureUpload.js.map +1 -1
- package/dist/scene/Layers.d.ts +5 -0
- package/dist/scene/Layers.d.ts.map +1 -1
- package/dist/scene/Layers.js +13 -0
- package/dist/scene/Layers.js.map +1 -1
- package/dist/scene/SceneNode.d.ts +27 -1
- package/dist/scene/SceneNode.d.ts.map +1 -1
- package/dist/scene/SceneNode.js +33 -1
- package/dist/scene/SceneNode.js.map +1 -1
- package/package.json +76 -31
- package/templates/cinematic-scene/index.html +2 -28
- package/templates/cinematic-scene/package.json +2 -1
- package/templates/cinematic-scene/src/main.ts +3 -3
- package/templates/cinematic-scene/tests/look-floor.ts +73 -3
- package/templates/cinematic-scene/tests/route-health.spec.ts +1 -1
- package/templates/cinematic-scene/tests/screenshot.spec.ts +12 -2
- package/templates/cinematic-scene/vite.config.ts +7 -0
- package/templates/mini-game/index.html +1 -27
- package/templates/mini-game/package-lock.json +1312 -0
- package/templates/mini-game/package.json +2 -1
- package/templates/mini-game/src/main.ts +1 -1
- package/templates/mini-game/tests/certified-rig.spec.ts +1 -1
- package/templates/mini-game/tests/look-floor.ts +73 -3
- package/templates/mini-game/tests/playable.spec.ts +57 -12
- package/templates/mini-game/tests/screenshot.spec.ts +12 -2
- package/templates/mini-game/vite.config.ts +7 -0
- package/templates/product-viewer/index.html +2 -27
- package/templates/product-viewer/package.json +2 -1
- package/templates/product-viewer/tests/look-floor.ts +73 -3
- package/templates/product-viewer/tests/screenshot.spec.ts +13 -4
- package/templates/product-viewer/vite.config.ts +7 -0
- 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/input/controls/CameraRig.d.ts +0 -3
- package/dist/input/controls/CameraRig.d.ts.map +0 -1
- package/dist/input/controls/CameraRig.js +0 -3
- package/dist/input/controls/CameraRig.js.map +0 -1
- package/dist/input/controls/ControlTypes.d.ts +0 -3
- package/dist/input/controls/ControlTypes.d.ts.map +0 -1
- package/dist/input/controls/ControlTypes.js +0 -3
- package/dist/input/controls/ControlTypes.js.map +0 -1
- package/dist/input/controls/EditorFlyControls.d.ts +0 -3
- package/dist/input/controls/EditorFlyControls.d.ts.map +0 -1
- package/dist/input/controls/EditorFlyControls.js +0 -3
- package/dist/input/controls/EditorFlyControls.js.map +0 -1
- package/dist/input/controls/FirstPersonControls.d.ts +0 -3
- package/dist/input/controls/FirstPersonControls.d.ts.map +0 -1
- package/dist/input/controls/FirstPersonControls.js +0 -3
- package/dist/input/controls/FirstPersonControls.js.map +0 -1
- package/dist/input/controls/OrbitControls.d.ts +0 -3
- package/dist/input/controls/OrbitControls.d.ts.map +0 -1
- package/dist/input/controls/OrbitControls.js +0 -3
- package/dist/input/controls/OrbitControls.js.map +0 -1
- package/dist/input/controls/PointerLockControls.d.ts +0 -2
- package/dist/input/controls/PointerLockControls.d.ts.map +0 -1
- package/dist/input/controls/PointerLockControls.js +0 -3
- package/dist/input/controls/PointerLockControls.js.map +0 -1
- package/dist/input/controls/SceneCameraAdapter.d.ts +0 -3
- package/dist/input/controls/SceneCameraAdapter.d.ts.map +0 -1
- package/dist/input/controls/SceneCameraAdapter.js +0 -3
- package/dist/input/controls/SceneCameraAdapter.js.map +0 -1
- package/dist/input/controls/ThirdPersonFollowControls.d.ts +0 -3
- package/dist/input/controls/ThirdPersonFollowControls.d.ts.map +0 -1
- package/dist/input/controls/ThirdPersonFollowControls.js +0 -3
- package/dist/input/controls/ThirdPersonFollowControls.js.map +0 -1
- package/templates/cinematic-scene/public/fonts/graphik/Graphik-Medium-Web.woff2 +0 -0
- package/templates/cinematic-scene/public/fonts/graphik/Graphik-Regular-Web.woff2 +0 -0
- package/templates/cinematic-scene/public/fonts/graphik/Graphik-RegularItalic-Web.woff2 +0 -0
- package/templates/mini-game/public/fonts/graphik/Graphik-Medium-Web.woff2 +0 -0
- package/templates/mini-game/public/fonts/graphik/Graphik-Regular-Web.woff2 +0 -0
- package/templates/mini-game/public/fonts/graphik/Graphik-RegularItalic-Web.woff2 +0 -0
- package/templates/product-viewer/public/fonts/graphik/Graphik-Medium-Web.woff2 +0 -0
- package/templates/product-viewer/public/fonts/graphik/Graphik-Regular-Web.woff2 +0 -0
- package/templates/product-viewer/public/fonts/graphik/Graphik-RegularItalic-Web.woff2 +0 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SH-01 / L1-11 — public TSL-subset surface: `tsl.*` node factories and
|
|
3
|
+
* `material.node(...)` (see `emit.ts`). GLSL only; three.js TSL names outside
|
|
4
|
+
* the subset throw `tsl-unsupported-node` instead of resolving to `undefined`.
|
|
5
|
+
*/
|
|
6
|
+
import { assertAuraCustomMaterialSpec } from "../../compiler/customMaterial.js";
|
|
7
|
+
import { Fn, If, Loop, TSL_BUILTIN_TYPES, TslNode, TslUniformArray, constNode, construct, op, parseHexColor, swizzle, tslError, toNode } from "./ir.js";
|
|
8
|
+
import { compileTslMaterial } from "./emit.js";
|
|
9
|
+
export { Fn, If, Loop, TslNode, compileTslMaterial };
|
|
10
|
+
import { evaluateTsl } from "./interpret.js";
|
|
11
|
+
export { evaluateTsl };
|
|
12
|
+
const builtin = (name) => new TslNode(TSL_BUILTIN_TYPES[name], { k: "builtin", name });
|
|
13
|
+
const IDENT = /^[A-Za-z_]\w*$/;
|
|
14
|
+
const KIND = {
|
|
15
|
+
float: { type: "float", spec: "f32" },
|
|
16
|
+
int: { type: "int", spec: "i32" },
|
|
17
|
+
bool: { type: "bool", spec: "bool" },
|
|
18
|
+
vec2: { type: "vec2", spec: "vec2" },
|
|
19
|
+
vec3: { type: "vec3", spec: "vec3" },
|
|
20
|
+
vec4: { type: "vec4", spec: "vec4" },
|
|
21
|
+
color: { type: "vec3", spec: "color3" }
|
|
22
|
+
};
|
|
23
|
+
function inferKind(value) {
|
|
24
|
+
if (typeof value === "number")
|
|
25
|
+
return "float";
|
|
26
|
+
if (typeof value === "boolean")
|
|
27
|
+
return "bool";
|
|
28
|
+
if (typeof value === "string")
|
|
29
|
+
return "color";
|
|
30
|
+
if ((Array.isArray(value) || ArrayBuffer.isView(value)) && value.length >= 2 && value.length <= 4) {
|
|
31
|
+
return ["vec2", "vec3", "vec4"][value.length - 2];
|
|
32
|
+
}
|
|
33
|
+
return tslError("invalid-tsl-graph", `cannot infer a uniform type from ${String(value)}; pass { type } explicitly`);
|
|
34
|
+
}
|
|
35
|
+
/** `uniform(value, { name?, type? })` — name it to update it later with `handle.setUniform(name, value)`. */
|
|
36
|
+
function uniform(value, options = {}) {
|
|
37
|
+
const kind = options.type ?? inferKind(value);
|
|
38
|
+
const mapped = KIND[kind];
|
|
39
|
+
if (options.name !== undefined && !IDENT.test(options.name))
|
|
40
|
+
tslError("invalid-tsl-graph", `uniform name "${options.name}" is not a valid identifier`);
|
|
41
|
+
if (kind === "color" && typeof value === "string")
|
|
42
|
+
parseHexColor(value);
|
|
43
|
+
return new TslNode(mapped.type, { k: "uniform", ...(options.name !== undefined ? { name: options.name } : {}), value, specType: mapped.spec });
|
|
44
|
+
}
|
|
45
|
+
/** `uniformArray(values, type, { name? })`: N uniforms named `<name>_0 … <name>_{N-1}`; `.element(i)` selects one. */
|
|
46
|
+
function uniformArray(values, type = "float", options = {}) {
|
|
47
|
+
if (values.length < 1 || values.length > 64)
|
|
48
|
+
tslError("invalid-tsl-graph", "uniformArray needs 1..64 elements");
|
|
49
|
+
if (options.name !== undefined && !IDENT.test(options.name))
|
|
50
|
+
tslError("invalid-tsl-graph", `uniformArray name "${options.name}" is not a valid identifier`);
|
|
51
|
+
const elements = values.map((value, index) => uniform(value, { type, ...(options.name ? { name: `${options.name}_${index}` } : {}) }));
|
|
52
|
+
return new TslUniformArray(options.name, KIND[type].type, values, elements);
|
|
53
|
+
}
|
|
54
|
+
/** `texture(handle, uvNode?, { name? })` → vec4. `handle` is whatever `material.custom` accepts for a texture2d uniform. */
|
|
55
|
+
function texture(handle, uvNode, options = {}) {
|
|
56
|
+
if (options.name !== undefined && !IDENT.test(options.name))
|
|
57
|
+
tslError("invalid-tsl-graph", `texture name "${options.name}" is not a valid identifier`);
|
|
58
|
+
const sampler = new TslNode("sampler2D", { k: "uniform", ...(options.name !== undefined ? { name: options.name } : {}), value: handle, specType: "texture2d" });
|
|
59
|
+
const uv = uvNode === undefined ? builtin("uv") : toNode(uvNode);
|
|
60
|
+
if (uv.type !== "vec2")
|
|
61
|
+
tslError("tsl-type-mismatch", `texture() uv must be a vec2 (got ${uv.type})`);
|
|
62
|
+
return new TslNode("vec4", { k: "texture", sampler, uv });
|
|
63
|
+
}
|
|
64
|
+
function uvNode(index = 0) {
|
|
65
|
+
if (index !== 0)
|
|
66
|
+
tslError("tsl-unsupported-node", `tsl.uv(${index}): only the first UV set is supported`);
|
|
67
|
+
return builtin("uv");
|
|
68
|
+
}
|
|
69
|
+
function float(value) {
|
|
70
|
+
const node = toNode(value);
|
|
71
|
+
if (node.type === "float")
|
|
72
|
+
return node;
|
|
73
|
+
if (node.type === "int")
|
|
74
|
+
return op("toFloat", node);
|
|
75
|
+
return tslError("tsl-type-mismatch", `float() cannot convert ${node.type}`);
|
|
76
|
+
}
|
|
77
|
+
function int(value) {
|
|
78
|
+
const node = typeof value === "number" ? constNode("int", [Math.trunc(value)]) : toNode(value);
|
|
79
|
+
if (node.type === "int")
|
|
80
|
+
return node;
|
|
81
|
+
if (node.type === "float")
|
|
82
|
+
return op("toInt", node);
|
|
83
|
+
return tslError("tsl-type-mismatch", `int() cannot convert ${node.type}`);
|
|
84
|
+
}
|
|
85
|
+
function bool(value) {
|
|
86
|
+
const node = toNode(value);
|
|
87
|
+
if (node.type !== "bool")
|
|
88
|
+
tslError("tsl-type-mismatch", `bool() cannot convert ${node.type}`);
|
|
89
|
+
return node;
|
|
90
|
+
}
|
|
91
|
+
/** `color("#rrggbb")`, `color(r, g, b)` or `color(grey)` → vec3 as authored (no colour-space conversion). */
|
|
92
|
+
function color(...args) {
|
|
93
|
+
if (args.length === 3)
|
|
94
|
+
return constNode("vec3", args);
|
|
95
|
+
const only = args[0];
|
|
96
|
+
if (typeof only === "string")
|
|
97
|
+
return constNode("vec3", [...parseHexColor(only)]);
|
|
98
|
+
return constNode("vec3", [only, only, only]);
|
|
99
|
+
}
|
|
100
|
+
const unary = (name) => (a) => op(name, a);
|
|
101
|
+
const binary = (name) => (a, b) => op(name, a, b);
|
|
102
|
+
/** Every name in the supported subset (also the codemod's and docs' source of truth). */
|
|
103
|
+
export const TSL_SUPPORTED_NAMES = [
|
|
104
|
+
"positionLocal", "positionWorld", "normalLocal", "normalWorld", "uv", "time", "cameraPosition",
|
|
105
|
+
"uniform", "uniformArray", "texture", "color", "float", "int", "bool", "vec2", "vec3", "vec4",
|
|
106
|
+
"add", "sub", "mul", "div", "mod", "mix", "smoothstep", "clamp", "pow", "abs", "min", "max", "dot", "cross",
|
|
107
|
+
"normalize", "length", "distance", "sin", "cos", "tan", "fract", "floor", "ceil", "sign", "sqrt", "exp", "log",
|
|
108
|
+
"step", "atan2", "saturate", "oneMinus", "negate", "select",
|
|
109
|
+
"lessThan", "greaterThan", "lessThanEqual", "greaterThanEqual", "equal", "notEqual", "and", "or", "not",
|
|
110
|
+
"Fn", "If", "Loop"
|
|
111
|
+
];
|
|
112
|
+
const tslCore = {
|
|
113
|
+
positionLocal: builtin("positionLocal"),
|
|
114
|
+
positionWorld: builtin("positionWorld"),
|
|
115
|
+
normalLocal: builtin("normalLocal"),
|
|
116
|
+
normalWorld: builtin("normalWorld"),
|
|
117
|
+
time: builtin("time"),
|
|
118
|
+
cameraPosition: builtin("cameraPosition"),
|
|
119
|
+
uv: uvNode,
|
|
120
|
+
uniform,
|
|
121
|
+
uniformArray,
|
|
122
|
+
texture,
|
|
123
|
+
color,
|
|
124
|
+
float,
|
|
125
|
+
int,
|
|
126
|
+
bool,
|
|
127
|
+
vec2: (...args) => construct("vec2", args),
|
|
128
|
+
vec3: (...args) => construct("vec3", args),
|
|
129
|
+
vec4: (...args) => construct("vec4", args),
|
|
130
|
+
add: binary("add"), sub: binary("sub"), mul: binary("mul"), div: binary("div"), mod: binary("mod"),
|
|
131
|
+
pow: binary("pow"), min: binary("min"), max: binary("max"), dot: binary("dot"), cross: binary("cross"),
|
|
132
|
+
distance: binary("distance"), atan2: binary("atan2"), step: binary("step"),
|
|
133
|
+
mix: (a, b, t) => op("mix", a, b, t),
|
|
134
|
+
smoothstep: (edge0, edge1, x) => op("smoothstep", edge0, edge1, x),
|
|
135
|
+
clamp: (x, lo = 0, hi = 1) => op("clamp", x, lo, hi),
|
|
136
|
+
select: (condition, whenTrue, whenFalse) => op("select", condition, whenTrue, whenFalse),
|
|
137
|
+
abs: unary("abs"), normalize: unary("normalize"), length: unary("length"), sin: unary("sin"), cos: unary("cos"),
|
|
138
|
+
tan: unary("tan"), fract: unary("fract"), floor: unary("floor"), ceil: unary("ceil"), sign: unary("sign"),
|
|
139
|
+
sqrt: unary("sqrt"), exp: unary("exp"), log: unary("log"), saturate: unary("saturate"), oneMinus: unary("oneMinus"),
|
|
140
|
+
negate: unary("negate"), not: unary("not"),
|
|
141
|
+
lessThan: binary("lessThan"), greaterThan: binary("greaterThan"), lessThanEqual: binary("lessThanEqual"),
|
|
142
|
+
greaterThanEqual: binary("greaterThanEqual"), equal: binary("equal"), notEqual: binary("notEqual"),
|
|
143
|
+
and: binary("and"), or: binary("or"),
|
|
144
|
+
Fn,
|
|
145
|
+
If,
|
|
146
|
+
Loop,
|
|
147
|
+
/** `tsl.compile(options)`: the generated GLSL, uniform list and `material.custom` spec for a node material. */
|
|
148
|
+
compile: compileTslMaterial,
|
|
149
|
+
/** `tsl.evaluate(node, context)`: CPU reference evaluation of a graph (same op semantics as constant folding). */
|
|
150
|
+
evaluate: evaluateTsl,
|
|
151
|
+
supportedNames: TSL_SUPPORTED_NAMES
|
|
152
|
+
};
|
|
153
|
+
const PROBES = new Set([
|
|
154
|
+
"then", "toJSON", "constructor", "asymmetricMatch", "$$typeof", "nodeType", "inspect", "toString", "valueOf", "__esModule", "prototype", "length", "name", "tagName"
|
|
155
|
+
]);
|
|
156
|
+
/**
|
|
157
|
+
* The `tsl` namespace. Reading a name that is not part of the supported subset
|
|
158
|
+
* (for example `triplanarTexture`, `viewportUV`, `storage`) throws
|
|
159
|
+
* `tsl-unsupported-node` so a ported graph fails loudly at authoring time.
|
|
160
|
+
*/
|
|
161
|
+
export const tsl = new Proxy(tslCore, {
|
|
162
|
+
get(target, property, receiver) {
|
|
163
|
+
if (typeof property === "symbol" || property in target || PROBES.has(property))
|
|
164
|
+
return Reflect.get(target, property, receiver);
|
|
165
|
+
return tslError("tsl-unsupported-node", `tsl.${property} is not part of the supported TSL subset (supported: ${TSL_SUPPORTED_NAMES.join(", ")})`);
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
/** `material.node({ colorNode, emissiveNode, opacityNode, positionNode, ... })` → a `material.custom` spec. */
|
|
169
|
+
export function materialNode(options) {
|
|
170
|
+
const { spec } = compileTslMaterial(options);
|
|
171
|
+
assertAuraCustomMaterialSpec(spec, "material.node");
|
|
172
|
+
return { kind: "custom", custom: spec };
|
|
173
|
+
}
|
|
174
|
+
export { swizzle };
|
|
175
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/engine/src/agent-api/nodes/tsl/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SH-01 — reference interpreter for the TSL subset. It evaluates a graph on the
|
|
3
|
+
* CPU with the same op semantics as constant folding (`evalOp`), so tests can
|
|
4
|
+
* check numeric results of the exact graph the GLSL emitter lowers.
|
|
5
|
+
*/
|
|
6
|
+
import { TslNode, type TslValue } from "./ir.js";
|
|
7
|
+
export interface TslEvalContext {
|
|
8
|
+
readonly positionLocal?: readonly number[];
|
|
9
|
+
readonly positionWorld?: readonly number[];
|
|
10
|
+
readonly normalLocal?: readonly number[];
|
|
11
|
+
readonly normalWorld?: readonly number[];
|
|
12
|
+
readonly uv?: readonly number[];
|
|
13
|
+
readonly time?: number;
|
|
14
|
+
readonly cameraPosition?: readonly number[];
|
|
15
|
+
/** Per-uniform-node overrides (mirrors `handle.setUniform`). */
|
|
16
|
+
readonly uniforms?: ReadonlyMap<TslNode, number | boolean | readonly number[]>;
|
|
17
|
+
/** Texture sampler for `texture(handle, uv)` nodes (default: opaque white). */
|
|
18
|
+
readonly textures?: (handle: unknown, uv: readonly number[]) => readonly number[];
|
|
19
|
+
}
|
|
20
|
+
export declare function evaluateTsl(node: TslNode, context?: TslEvalContext): TslValue;
|
|
21
|
+
//# sourceMappingURL=interpret.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interpret.d.ts","sourceRoot":"","sources":["../../../../../../../packages/engine/src/agent-api/nodes/tsl/interpret.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAuB,OAAO,EAA4F,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEhK,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC;IAC/E,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,EAAE,CAAC;CACnF;AAaD,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,cAAmB,GAAG,QAAQ,CAwFjF"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SH-01 — reference interpreter for the TSL subset. It evaluates a graph on the
|
|
3
|
+
* CPU with the same op semantics as constant folding (`evalOp`), so tests can
|
|
4
|
+
* check numeric results of the exact graph the GLSL emitter lowers.
|
|
5
|
+
*/
|
|
6
|
+
import { TSL_MAX_STATIC_LOOP, TslNode, dimOf, evalOp, parseHexColor, tslError } from "./ir.js";
|
|
7
|
+
const MAX_STEPS = 200_000;
|
|
8
|
+
function uniformValue(node, override) {
|
|
9
|
+
const raw = override ?? (node.data.k === "uniform" ? node.data.value : undefined);
|
|
10
|
+
if (typeof raw === "number")
|
|
11
|
+
return [raw];
|
|
12
|
+
if (typeof raw === "boolean")
|
|
13
|
+
return [raw ? 1 : 0];
|
|
14
|
+
if (typeof raw === "string")
|
|
15
|
+
return [...parseHexColor(raw)];
|
|
16
|
+
if (Array.isArray(raw) || ArrayBuffer.isView(raw))
|
|
17
|
+
return Array.from(raw);
|
|
18
|
+
return tslError("invalid-tsl-graph", `uniform node has no numeric value to evaluate`);
|
|
19
|
+
}
|
|
20
|
+
export function evaluateTsl(node, context = {}) {
|
|
21
|
+
const env = new Map();
|
|
22
|
+
let steps = 0;
|
|
23
|
+
const builtin = (name) => {
|
|
24
|
+
const value = context[name];
|
|
25
|
+
if (value === undefined)
|
|
26
|
+
return tslError("invalid-tsl-graph", `evaluateTsl context is missing "${name}"`);
|
|
27
|
+
return typeof value === "number" ? [value] : value;
|
|
28
|
+
};
|
|
29
|
+
const run = (block) => {
|
|
30
|
+
for (const statement of block) {
|
|
31
|
+
if (++steps > MAX_STEPS)
|
|
32
|
+
tslError("invalid-tsl-graph", "interpreter step limit exceeded");
|
|
33
|
+
switch (statement.s) {
|
|
34
|
+
case "decl":
|
|
35
|
+
env.set(statement.node, [...value(statement.node.data.init).value]);
|
|
36
|
+
break;
|
|
37
|
+
case "assign": {
|
|
38
|
+
const target = statement.target;
|
|
39
|
+
const rhs = value(statement.value);
|
|
40
|
+
if (statement.op === undefined)
|
|
41
|
+
env.set(target, [...rhs.value]);
|
|
42
|
+
else {
|
|
43
|
+
const name = statement.op === "+" ? "add" : statement.op === "-" ? "sub" : statement.op === "*" ? "mul" : "div";
|
|
44
|
+
env.set(target, evalOp(name, [{ type: target.type, value: env.get(target) }, rhs], target.type));
|
|
45
|
+
}
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
case "if": {
|
|
49
|
+
const taken = statement.branches.find((branch) => value(branch.cond).value[0] === 1);
|
|
50
|
+
if (taken)
|
|
51
|
+
run(taken.block);
|
|
52
|
+
else if (statement.otherwise)
|
|
53
|
+
run(statement.otherwise);
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
case "loop": {
|
|
57
|
+
const start = value(statement.start).value[0];
|
|
58
|
+
const end = value(statement.end).value[0];
|
|
59
|
+
if (end - start > TSL_MAX_STATIC_LOOP)
|
|
60
|
+
tslError("invalid-tsl-graph", "loop exceeds the iteration limit");
|
|
61
|
+
for (let i = start; i < end; i++) {
|
|
62
|
+
env.set(statement.index, [i]);
|
|
63
|
+
run(statement.block);
|
|
64
|
+
}
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
const value = (n) => {
|
|
71
|
+
const d = n.data;
|
|
72
|
+
switch (d.k) {
|
|
73
|
+
case "const": return { type: n.type, value: d.value };
|
|
74
|
+
case "builtin": return { type: n.type, value: builtin(d.name) };
|
|
75
|
+
case "uniform": return { type: n.type, value: uniformValue(n, context.uniforms?.get(n)) };
|
|
76
|
+
case "op": return { type: n.type, value: evalOp(d.op, d.args.map(value), n.type) };
|
|
77
|
+
case "swizzle": {
|
|
78
|
+
const src = value(d.src).value;
|
|
79
|
+
return { type: n.type, value: [...d.comps].map((c) => src[("xyzw").indexOf(c)]) };
|
|
80
|
+
}
|
|
81
|
+
case "construct": {
|
|
82
|
+
const flat = d.args.flatMap((arg) => [...value(arg).value]);
|
|
83
|
+
const need = dimOf(n.type);
|
|
84
|
+
return { type: n.type, value: flat.length === 1 && need > 1 ? Array.from({ length: need }, () => flat[0]) : flat };
|
|
85
|
+
}
|
|
86
|
+
case "texture": {
|
|
87
|
+
const handle = d.sampler.data.k === "uniform" ? d.sampler.data.value : undefined;
|
|
88
|
+
const sample = context.textures?.(handle, value(d.uv).value) ?? [1, 1, 1, 1];
|
|
89
|
+
return { type: "vec4", value: sample };
|
|
90
|
+
}
|
|
91
|
+
case "element": {
|
|
92
|
+
const index = value(d.index).value[0];
|
|
93
|
+
const element = d.array.elements[index];
|
|
94
|
+
if (!element)
|
|
95
|
+
return tslError("invalid-tsl-graph", `uniformArray index ${index} is out of range`);
|
|
96
|
+
return value(element);
|
|
97
|
+
}
|
|
98
|
+
case "var":
|
|
99
|
+
case "loopIndex": {
|
|
100
|
+
const stored = env.get(n);
|
|
101
|
+
if (!stored)
|
|
102
|
+
return tslError("invalid-tsl-graph", "variable read before its declaration executed");
|
|
103
|
+
return { type: n.type, value: stored };
|
|
104
|
+
}
|
|
105
|
+
case "call": {
|
|
106
|
+
run(d.block);
|
|
107
|
+
return value(d.result);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
return value(node);
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=interpret.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interpret.js","sourceRoot":"","sources":["../../../../../../../packages/engine/src/agent-api/nodes/tsl/interpret.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SH-01 / L1-11 — TSL-style node graph subset: IR, type inference, constant
|
|
3
|
+
* folding and the imperative statement recorder (`Fn`, `If`, `Loop`).
|
|
4
|
+
*
|
|
5
|
+
* This is a deliberately small subset of three.js TSL that lowers to GLSL 300 es
|
|
6
|
+
* and feeds `material.custom` (see `emit.ts`). Anything outside the subset fails
|
|
7
|
+
* with a named `AuraRuntimeError`, never silently.
|
|
8
|
+
*/
|
|
9
|
+
export type TslType = "float" | "int" | "bool" | "vec2" | "vec3" | "vec4" | "sampler2D";
|
|
10
|
+
export type TslBuiltinName = "positionLocal" | "positionWorld" | "normalLocal" | "normalWorld" | "uv" | "time" | "cameraPosition";
|
|
11
|
+
export declare const TSL_BUILTIN_TYPES: Readonly<Record<TslBuiltinName, TslType>>;
|
|
12
|
+
export type TslUnaryOp = "sin" | "cos" | "tan" | "abs" | "sign" | "sqrt" | "exp" | "log" | "fract" | "floor" | "ceil" | "normalize" | "saturate" | "oneMinus" | "negate" | "length" | "not" | "toFloat" | "toInt";
|
|
13
|
+
export type TslBinaryOp = "add" | "sub" | "mul" | "div" | "mod" | "pow" | "min" | "max" | "step" | "dot" | "cross" | "distance" | "atan2" | "lessThan" | "greaterThan" | "lessThanEqual" | "greaterThanEqual" | "equal" | "notEqual" | "and" | "or";
|
|
14
|
+
export type TslTernaryOp = "mix" | "smoothstep" | "clamp" | "select";
|
|
15
|
+
export type TslOpName = TslUnaryOp | TslBinaryOp | TslTernaryOp;
|
|
16
|
+
export type TslBlock = TslStatement[];
|
|
17
|
+
export type TslStatement = {
|
|
18
|
+
readonly s: "decl";
|
|
19
|
+
readonly node: TslNode;
|
|
20
|
+
} | {
|
|
21
|
+
readonly s: "assign";
|
|
22
|
+
readonly target: TslNode;
|
|
23
|
+
readonly value: TslNode;
|
|
24
|
+
readonly op?: "+" | "-" | "*" | "/";
|
|
25
|
+
} | {
|
|
26
|
+
readonly s: "if";
|
|
27
|
+
readonly branches: readonly {
|
|
28
|
+
readonly cond: TslNode;
|
|
29
|
+
readonly block: TslBlock;
|
|
30
|
+
}[];
|
|
31
|
+
readonly otherwise?: TslBlock;
|
|
32
|
+
} | {
|
|
33
|
+
readonly s: "loop";
|
|
34
|
+
readonly index: TslNode;
|
|
35
|
+
readonly start: TslNode;
|
|
36
|
+
readonly end: TslNode;
|
|
37
|
+
readonly block: TslBlock;
|
|
38
|
+
};
|
|
39
|
+
export type TslNodeData = {
|
|
40
|
+
readonly k: "const";
|
|
41
|
+
readonly value: readonly number[];
|
|
42
|
+
} | {
|
|
43
|
+
readonly k: "builtin";
|
|
44
|
+
readonly name: TslBuiltinName;
|
|
45
|
+
} | {
|
|
46
|
+
readonly k: "uniform";
|
|
47
|
+
readonly name?: string;
|
|
48
|
+
readonly value: unknown;
|
|
49
|
+
readonly specType: string;
|
|
50
|
+
} | {
|
|
51
|
+
readonly k: "op";
|
|
52
|
+
readonly op: TslOpName;
|
|
53
|
+
readonly args: readonly TslNode[];
|
|
54
|
+
} | {
|
|
55
|
+
readonly k: "swizzle";
|
|
56
|
+
readonly src: TslNode;
|
|
57
|
+
readonly comps: string;
|
|
58
|
+
} | {
|
|
59
|
+
readonly k: "construct";
|
|
60
|
+
readonly args: readonly TslNode[];
|
|
61
|
+
} | {
|
|
62
|
+
readonly k: "texture";
|
|
63
|
+
readonly sampler: TslNode;
|
|
64
|
+
readonly uv: TslNode;
|
|
65
|
+
} | {
|
|
66
|
+
readonly k: "element";
|
|
67
|
+
readonly array: TslUniformArray;
|
|
68
|
+
readonly index: TslNode;
|
|
69
|
+
} | {
|
|
70
|
+
readonly k: "var";
|
|
71
|
+
readonly init: TslNode;
|
|
72
|
+
} | {
|
|
73
|
+
readonly k: "loopIndex";
|
|
74
|
+
} | {
|
|
75
|
+
readonly k: "call";
|
|
76
|
+
readonly block: TslBlock;
|
|
77
|
+
readonly result: TslNode;
|
|
78
|
+
readonly args: readonly TslNode[];
|
|
79
|
+
};
|
|
80
|
+
export type TslInput = TslNode | number | boolean | readonly number[] | string;
|
|
81
|
+
export declare function tslError(code: "invalid-tsl-graph" | "tsl-type-mismatch" | "tsl-unsupported-node" | "tsl-unsupported-output" | "tsl-statement-outside-fn" | "tsl-requires-glsl-backend", message: string): never;
|
|
82
|
+
export declare const dimOf: (type: TslType) => number;
|
|
83
|
+
export declare const isVec: (type: TslType) => boolean;
|
|
84
|
+
export declare const isNumericScalar: (type: TslType) => boolean;
|
|
85
|
+
/** A node in the graph. Chainable methods mirror three's TSL (`a.mul(b).add(c)`). */
|
|
86
|
+
export declare class TslNode {
|
|
87
|
+
readonly type: TslType;
|
|
88
|
+
readonly data: TslNodeData;
|
|
89
|
+
readonly id: number;
|
|
90
|
+
constructor(type: TslType, data: TslNodeData);
|
|
91
|
+
add(other: TslInput): TslNode;
|
|
92
|
+
sub(other: TslInput): TslNode;
|
|
93
|
+
mul(other: TslInput): TslNode;
|
|
94
|
+
div(other: TslInput): TslNode;
|
|
95
|
+
mod(other: TslInput): TslNode;
|
|
96
|
+
pow(other: TslInput): TslNode;
|
|
97
|
+
min(other: TslInput): TslNode;
|
|
98
|
+
max(other: TslInput): TslNode;
|
|
99
|
+
dot(other: TslInput): TslNode;
|
|
100
|
+
cross(other: TslInput): TslNode;
|
|
101
|
+
distance(other: TslInput): TslNode;
|
|
102
|
+
atan2(other: TslInput): TslNode;
|
|
103
|
+
/** `edge.step(x)` is GLSL `step(edge, x)`: 0 where `x < edge`, else 1. */
|
|
104
|
+
step(x: TslInput): TslNode;
|
|
105
|
+
lessThan(other: TslInput): TslNode;
|
|
106
|
+
greaterThan(other: TslInput): TslNode;
|
|
107
|
+
lessThanEqual(other: TslInput): TslNode;
|
|
108
|
+
greaterThanEqual(other: TslInput): TslNode;
|
|
109
|
+
equal(other: TslInput): TslNode;
|
|
110
|
+
notEqual(other: TslInput): TslNode;
|
|
111
|
+
and(other: TslInput): TslNode;
|
|
112
|
+
or(other: TslInput): TslNode;
|
|
113
|
+
not(): TslNode;
|
|
114
|
+
sin(): TslNode;
|
|
115
|
+
cos(): TslNode;
|
|
116
|
+
tan(): TslNode;
|
|
117
|
+
abs(): TslNode;
|
|
118
|
+
sign(): TslNode;
|
|
119
|
+
sqrt(): TslNode;
|
|
120
|
+
exp(): TslNode;
|
|
121
|
+
log(): TslNode;
|
|
122
|
+
fract(): TslNode;
|
|
123
|
+
floor(): TslNode;
|
|
124
|
+
ceil(): TslNode;
|
|
125
|
+
normalize(): TslNode;
|
|
126
|
+
saturate(): TslNode;
|
|
127
|
+
oneMinus(): TslNode;
|
|
128
|
+
negate(): TslNode;
|
|
129
|
+
length(): TslNode;
|
|
130
|
+
mix(other: TslInput, t: TslInput): TslNode;
|
|
131
|
+
clamp(lo?: TslInput, hi?: TslInput): TslNode;
|
|
132
|
+
smoothstep(edge0: TslInput, edge1: TslInput): TslNode;
|
|
133
|
+
/** Local variable declaration (valid only inside `Fn`). */
|
|
134
|
+
toVar(): TslNode;
|
|
135
|
+
assign(value: TslInput): TslNode;
|
|
136
|
+
addAssign(value: TslInput): TslNode;
|
|
137
|
+
subAssign(value: TslInput): TslNode;
|
|
138
|
+
mulAssign(value: TslInput): TslNode;
|
|
139
|
+
divAssign(value: TslInput): TslNode;
|
|
140
|
+
/** Static-index convenience for `uniformArray(...).element(i)` results. */
|
|
141
|
+
get isConstant(): boolean;
|
|
142
|
+
}
|
|
143
|
+
/** `uniformArray` handle: lowered to N scalar/vector uniforms named `<name>_0 ... <name>_{N-1}`. */
|
|
144
|
+
export declare class TslUniformArray {
|
|
145
|
+
readonly name: string | undefined;
|
|
146
|
+
readonly elementType: TslType;
|
|
147
|
+
readonly values: readonly unknown[];
|
|
148
|
+
readonly elements: readonly TslNode[];
|
|
149
|
+
constructor(name: string | undefined, elementType: TslType, values: readonly unknown[], elements: readonly TslNode[]);
|
|
150
|
+
get length(): number;
|
|
151
|
+
/** Static index returns the element's uniform node; a node index lowers to a select ladder. */
|
|
152
|
+
element(index: TslInput): TslNode;
|
|
153
|
+
}
|
|
154
|
+
/** `Fn(callback)`: callback runs once per call site; its statements and return node become an inline block. */
|
|
155
|
+
export declare function Fn(callback: (...args: TslNode[]) => TslInput | void): (...args: TslInput[]) => TslNode;
|
|
156
|
+
export interface TslIfChain {
|
|
157
|
+
ElseIf(condition: TslInput, body: () => void): TslIfChain;
|
|
158
|
+
Else(body: () => void): void;
|
|
159
|
+
}
|
|
160
|
+
/** `If(cond, () => { ... }).ElseIf(...).Else(...)` — statement form, valid only inside `Fn`. */
|
|
161
|
+
export declare function If(condition: TslInput, body: () => void): TslIfChain;
|
|
162
|
+
export declare const TSL_MAX_STATIC_LOOP = 1024;
|
|
163
|
+
/** `Loop(count | { start, end }, ({ i }) => { ... })` — statement form, valid only inside `Fn`. */
|
|
164
|
+
export declare function Loop(range: number | TslNode | {
|
|
165
|
+
readonly start?: TslInput;
|
|
166
|
+
readonly end: TslInput;
|
|
167
|
+
}, body: (scope: {
|
|
168
|
+
i: TslNode;
|
|
169
|
+
}) => void): void;
|
|
170
|
+
export declare function constNode(type: TslType, value: readonly number[]): TslNode;
|
|
171
|
+
export declare function parseHexColor(value: string): readonly [number, number, number];
|
|
172
|
+
export declare function toNode(value: TslInput): TslNode;
|
|
173
|
+
/** Result type (and validation) for an op over already-converted argument nodes. */
|
|
174
|
+
export declare function opResultType(name: TslOpName, args: readonly TslNode[]): TslType;
|
|
175
|
+
/** Build an op node, folding it to a constant when every argument is a constant. */
|
|
176
|
+
export declare function op(name: TslOpName, ...inputs: TslInput[]): TslNode;
|
|
177
|
+
export interface TslValue {
|
|
178
|
+
readonly type: TslType;
|
|
179
|
+
readonly value: readonly number[];
|
|
180
|
+
}
|
|
181
|
+
export declare function evalOp(name: TslOpName, args: readonly TslValue[], resultType: TslType): number[];
|
|
182
|
+
export declare function swizzle(src: TslNode, comps: string): TslNode;
|
|
183
|
+
export declare function construct(type: "vec2" | "vec3" | "vec4", inputs: readonly TslInput[]): TslNode;
|
|
184
|
+
/** Swizzle accessors are defined dynamically; this declaration surfaces the common ones to TypeScript. */
|
|
185
|
+
export interface TslNode {
|
|
186
|
+
readonly x: TslNode;
|
|
187
|
+
readonly y: TslNode;
|
|
188
|
+
readonly z: TslNode;
|
|
189
|
+
readonly w: TslNode;
|
|
190
|
+
readonly r: TslNode;
|
|
191
|
+
readonly g: TslNode;
|
|
192
|
+
readonly b: TslNode;
|
|
193
|
+
readonly a: TslNode;
|
|
194
|
+
readonly xy: TslNode;
|
|
195
|
+
readonly xz: TslNode;
|
|
196
|
+
readonly yz: TslNode;
|
|
197
|
+
readonly zw: TslNode;
|
|
198
|
+
readonly xyz: TslNode;
|
|
199
|
+
readonly xyzw: TslNode;
|
|
200
|
+
readonly rg: TslNode;
|
|
201
|
+
readonly rgb: TslNode;
|
|
202
|
+
readonly rgba: TslNode;
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=ir.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../../../../../../../packages/engine/src/agent-api/nodes/tsl/ir.ts"],"names":[],"mappings":"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"}
|