@aura3d/engine 4.0.3 → 4.0.4
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 +259 -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 +33 -5
- package/dist/engine/agent-api/index.d.ts.map +1 -1
- package/dist/engine/agent-api/index.js +19 -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 +9 -1
- package/dist/engine/agent-api/nodes/material.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/material.js +12 -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/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
|
@@ -5,72 +5,699 @@
|
|
|
5
5
|
* need, replaces each mapped `new THREE.X(...)` with its factory call, and
|
|
6
6
|
* inserts `// TODO(a3d-migrate)` comments above every unmapped construct so
|
|
7
7
|
* the output fails noisily instead of silently producing wrong code.
|
|
8
|
+
*
|
|
9
|
+
* threejs-parity (lane L10):
|
|
10
|
+
* - `mapping: "pending"` rows name a frozen/reserved target that is not yet
|
|
11
|
+
* public — the construct is left untouched with a `parityPending` comment.
|
|
12
|
+
* - `emit: "comment"` rows report a mapping but emit a TODO comment instead
|
|
13
|
+
* of a call (the target is configuration, not a call site).
|
|
14
|
+
* - `emit: "new"` rows emit `new Target(...)` for class targets.
|
|
15
|
+
* - EMIT_ARGS emits real option objects for constructs whose args map
|
|
16
|
+
* honestly; anything else keeps the `map args (...)` TODO inline.
|
|
17
|
+
* - Addon import specifiers with no named-export target are dropped into
|
|
18
|
+
* `a3d:` guidance comments (never rewritten into a broken named import).
|
|
8
19
|
*/
|
|
9
20
|
import { threeMappingFor } from "./mappings.js";
|
|
10
21
|
import { parseThreeSource } from "./parse.js";
|
|
11
22
|
const UNSAFE_BARE_NAME = /^(?:Error|Map|Set|Promise|RegExp|Date|Number|String|Boolean|Array|Object)$/;
|
|
23
|
+
const ENGINE_ROOT = "@aura3d/engine";
|
|
24
|
+
const CONTROLS_SUBPATH = "@aura3d/engine/controls";
|
|
25
|
+
const ADDON_IMPORT_ACTIONS = {
|
|
26
|
+
// SC-02: controls classes are named exports of @aura3d/engine/controls.
|
|
27
|
+
"controls/OrbitControls.js": { kind: "rewrite", to: CONTROLS_SUBPATH },
|
|
28
|
+
"controls/MapControls.js": { kind: "rewrite", to: CONTROLS_SUBPATH },
|
|
29
|
+
"controls/TrackballControls.js": { kind: "rewrite", to: CONTROLS_SUBPATH },
|
|
30
|
+
"controls/ArcballControls.js": { kind: "rewrite", to: CONTROLS_SUBPATH },
|
|
31
|
+
"controls/FlyControls.js": { kind: "rewrite", to: CONTROLS_SUBPATH },
|
|
32
|
+
"controls/FirstPersonControls.js": { kind: "rewrite", to: CONTROLS_SUBPATH },
|
|
33
|
+
"controls/PointerLockControls.js": { kind: "rewrite", to: CONTROLS_SUBPATH },
|
|
34
|
+
"controls/DragControls.js": { kind: "rewrite", to: CONTROLS_SUBPATH },
|
|
35
|
+
"controls/TransformControls.js": { kind: "rewrite", to: CONTROLS_SUBPATH },
|
|
36
|
+
"loaders/GLTFLoader.js": { kind: "rewrite", to: ENGINE_ROOT },
|
|
37
|
+
"loaders/RGBELoader.js": { kind: "comment", note: "RGBELoader + PMREMGenerator collapses into environments.hdri({ texture: assets.<hdrKey> }); register the .hdr via `aura3d assets add`." },
|
|
38
|
+
"environments/RoomEnvironment.js": { kind: "comment", note: "RoomEnvironment maps to environments.neutral() (generated room probe)." },
|
|
39
|
+
"postprocessing/EffectComposer.js": { kind: "comment", note: "no composer object: the scene renders through the v2 post graph — express passes as effects.* scene nodes or app.addPostPass for custom GLSL." },
|
|
40
|
+
"postprocessing/RenderPass.js": { kind: "comment", note: "the base render pass is implicit — carry scene+camera into createAuraApp; no pass object is needed." },
|
|
41
|
+
"postprocessing/UnrealBloomPass.js": { kind: "comment", note: "UnrealBloomPass constructs rewrite to effects.bloom() — drop the import." },
|
|
42
|
+
"postprocessing/BloomPass.js": { kind: "comment", note: "BloomPass constructs rewrite to effects.bloom() — drop the import." },
|
|
43
|
+
"postprocessing/SMAAPass.js": { kind: "comment", note: "SMAAPass constructs rewrite to effects.antiAlias({}) — fxaa is the live mode (no smaa mode); drop the import." },
|
|
44
|
+
"postprocessing/TAARenderPass.js": { kind: "comment", note: "TAARenderPass constructs rewrite to effects.antiAlias({ mode: \"taa\" }) — drop the import." },
|
|
45
|
+
"postprocessing/SSAARenderPass.js": { kind: "comment", note: "SSAARenderPass constructs rewrite to effects.antiAlias({}) — MSAA is a framebuffer mode (createAuraApp antialias), not a post mode; drop the import." },
|
|
46
|
+
"postprocessing/BokehPass.js": { kind: "comment", note: "BokehPass constructs rewrite to effects.depthOfField() — drop the import." },
|
|
47
|
+
"postprocessing/SSAOPass.js": { kind: "comment", note: "SSAOPass constructs rewrite to effects.ambientOcclusion() — drop the import." },
|
|
48
|
+
"postprocessing/SAOPass.js": { kind: "comment", note: "SAOPass constructs rewrite to effects.ambientOcclusion() — drop the import." },
|
|
49
|
+
"postprocessing/GTAOPass.js": { kind: "comment", note: "GTAOPass constructs rewrite to effects.ambientOcclusion() — drop the import." },
|
|
50
|
+
"postprocessing/SSRPass.js": { kind: "comment", note: "SSRPass constructs rewrite to effects.screenSpaceReflections() — drop the import." },
|
|
51
|
+
"postprocessing/OutlinePass.js": { kind: "comment", note: "OutlinePass constructs rewrite to effects.outline() — drop the import." },
|
|
52
|
+
"postprocessing/FilmPass.js": { kind: "comment", note: "FilmPass constructs rewrite to effects.filmGrain() — drop the import." },
|
|
53
|
+
"postprocessing/LUTPass.js": { kind: "comment", note: "LUTPass constructs rewrite to effects.colorGrade({ lut }) — drop the import." },
|
|
54
|
+
"postprocessing/OutputPass.js": { kind: "comment", note: "the output stage is built in — configure it via createAuraApp({ output }) / app.setOutput; no pass object is needed." },
|
|
55
|
+
"postprocessing/ShaderPass.js": { kind: "comment", note: "a GLSL ShaderPass maps to app.addPostPass({ name, insertAt, fragment: { glsl } }) — real GPU path today; effects.shaderPass lands with lane L1 (SH-03)." },
|
|
56
|
+
"csm/CSM.js": { kind: "comment", note: "CSM collapses into lights.directional({ shadow: { cascades } }) — CascadedShadowMaps is wired in ShadowOrchestration (AD-12)." },
|
|
57
|
+
// AD-04 deliberate exclusions.
|
|
58
|
+
"loaders/FBXLoader.js": { kind: "excluded", note: "FBX is excluded (AD-04): convert to GLB offline and load via model(assets.<key>)." },
|
|
59
|
+
"loaders/MMDLoader.js": { kind: "excluded", note: "MMD is excluded (AD-04): convert to GLB offline." },
|
|
60
|
+
"loaders/PLYLoader.js": { kind: "excluded", note: "PLY is excluded (AD-04): convert to GLB offline." },
|
|
61
|
+
"loaders/STLLoader.js": { kind: "excluded", note: "STL is excluded (AD-04): convert to GLB offline." },
|
|
62
|
+
"loaders/USDZLoader.js": { kind: "excluded", note: "USDZ is excluded (AD-04): convert to GLB offline." },
|
|
63
|
+
"loaders/3MFLoader.js": { kind: "excluded", note: "3MF is excluded (AD-04): convert to GLB offline." },
|
|
64
|
+
"loaders/VOXLoader.js": { kind: "excluded", note: "VOX is excluded (AD-04): convert to GLB offline." },
|
|
65
|
+
"loaders/ColladaLoader.js": { kind: "excluded", note: "Collada is excluded (AD-04): convert to GLB offline." },
|
|
66
|
+
"loaders/TDSLoader.js": { kind: "excluded", note: "3DS is excluded (AD-04): convert to GLB offline." },
|
|
67
|
+
"loaders/AMFLoader.js": { kind: "excluded", note: "AMF is excluded (AD-04): convert to GLB offline." },
|
|
68
|
+
"loaders/IFCLoader.js": { kind: "excluded", note: "IFC is excluded (AD-04): convert to GLB offline." },
|
|
69
|
+
// AD-05 deliberate exclusions.
|
|
70
|
+
"exporters/GLTFExporter.js": { kind: "excluded", note: "exporters are excluded (AD-05): bake offline with gltf-transform/three in a build step." },
|
|
71
|
+
"exporters/OBJExporter.js": { kind: "excluded", note: "exporters are excluded (AD-05): bake offline." },
|
|
72
|
+
"exporters/PLYExporter.js": { kind: "excluded", note: "exporters are excluded (AD-05): bake offline." },
|
|
73
|
+
"exporters/STLExporter.js": { kind: "excluded", note: "exporters are excluded (AD-05): bake offline." },
|
|
74
|
+
"exporters/USDZExporter.js": { kind: "excluded", note: "exporters are excluded (AD-05): bake offline." },
|
|
75
|
+
"exporters/DRACOExporter.js": { kind: "excluded", note: "exporters are excluded (AD-05): bake offline." },
|
|
76
|
+
"exporters/ColladaExporter.js": { kind: "excluded", note: "exporters are excluded (AD-05): bake offline." }
|
|
77
|
+
};
|
|
78
|
+
function addonActionFor(specifier) {
|
|
79
|
+
const tail = specifier.startsWith("three/addons/")
|
|
80
|
+
? specifier.slice("three/addons/".length)
|
|
81
|
+
: specifier.startsWith("three/examples/jsm/")
|
|
82
|
+
? specifier.slice("three/examples/jsm/".length)
|
|
83
|
+
: undefined;
|
|
84
|
+
return tail === undefined ? undefined : ADDON_IMPORT_ACTIONS[tail];
|
|
85
|
+
}
|
|
86
|
+
const NUM = /^-?\d+(?:\.\d+)?(?:e[+-]?\d+)?$/i;
|
|
87
|
+
function splitArgs(args) {
|
|
88
|
+
// Top-level comma split — enough for numeric/simple literal arg lists.
|
|
89
|
+
const out = [];
|
|
90
|
+
let depth = 0;
|
|
91
|
+
let cur = "";
|
|
92
|
+
for (const ch of args) {
|
|
93
|
+
if (ch === "(" || ch === "[" || ch === "{")
|
|
94
|
+
depth++;
|
|
95
|
+
if (ch === ")" || ch === "]" || ch === "}")
|
|
96
|
+
depth--;
|
|
97
|
+
if (ch === "," && depth === 0) {
|
|
98
|
+
out.push(cur);
|
|
99
|
+
cur = "";
|
|
100
|
+
}
|
|
101
|
+
else
|
|
102
|
+
cur += ch;
|
|
103
|
+
}
|
|
104
|
+
if (cur.trim() !== "")
|
|
105
|
+
out.push(cur);
|
|
106
|
+
return out.map((s) => s.trim());
|
|
107
|
+
}
|
|
108
|
+
const numExpr = (raw) => (NUM.test(raw) ? raw : null);
|
|
109
|
+
/** `2 * <expr>` folded to a literal when possible. */
|
|
110
|
+
const times2 = (expr) => (NUM.test(expr) ? String(2 * Number(expr)) : `2 * (${expr})`);
|
|
111
|
+
/** `<a> / <b>` folded to a literal when both numeric. */
|
|
112
|
+
const div = (a, b) => NUM.test(a) && NUM.test(b) && Number(b) !== 0 ? String(Number(a) / Number(b)) : `(${a}) / (${b})`;
|
|
113
|
+
const hex = (raw) => {
|
|
114
|
+
// 0xRRGGBB → "#rrggbb"; "#rrggbb" / quoted strings pass through as strings.
|
|
115
|
+
const m = /^0x([0-9a-fA-F]{1,8})$/.exec(raw.trim());
|
|
116
|
+
if (m)
|
|
117
|
+
return `"#${m[1].padStart(6, "0")}"`;
|
|
118
|
+
if (/^["']#?[0-9a-zA-Z]+["']$/.test(raw.trim()))
|
|
119
|
+
return raw.trim().replace(/^'|'$/g, '"');
|
|
120
|
+
return null;
|
|
121
|
+
};
|
|
122
|
+
function specPairs(_construct, entries) {
|
|
123
|
+
const fields = entries.filter((e) => e[1] !== undefined);
|
|
124
|
+
if (fields.length === 0)
|
|
125
|
+
return null;
|
|
126
|
+
return { call: `{ ${fields.map(([k, v]) => `${k}: ${v}`).join(", ")} }` };
|
|
127
|
+
}
|
|
128
|
+
function mapColorArg(raw) {
|
|
129
|
+
if (raw === undefined)
|
|
130
|
+
return undefined;
|
|
131
|
+
return hex(raw) ?? raw;
|
|
132
|
+
}
|
|
133
|
+
function mapPerspectiveCamera(args, target) {
|
|
134
|
+
const a = splitArgs(args);
|
|
135
|
+
const fov = a[0] !== undefined && a[0] !== "" ? a[0] : undefined;
|
|
136
|
+
const near = a[2];
|
|
137
|
+
const far = a[3];
|
|
138
|
+
const spec = specPairs("PerspectiveCamera", [["fov", fov], ["near", near], ["far", far]]);
|
|
139
|
+
if (!spec)
|
|
140
|
+
return null;
|
|
141
|
+
const aspect = a[1];
|
|
142
|
+
return {
|
|
143
|
+
call: `${target}(${spec.call})`,
|
|
144
|
+
comment: aspect !== undefined && aspect !== "" ? `a3d: aspect ${aspect} — the renderer derives aspect from the viewport` : undefined
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
function mapOrthographicCamera(args, target) {
|
|
148
|
+
const a = splitArgs(args);
|
|
149
|
+
const [left, right, top, bottom, near, far] = a;
|
|
150
|
+
const sizeExpr = top !== undefined && bottom !== undefined ? div(`${top} - ${bottom}`, "2") : undefined;
|
|
151
|
+
const spec = specPairs("OrthographicCamera", [["orthographicSize", sizeExpr], ["near", near], ["far", far]]);
|
|
152
|
+
if (!spec)
|
|
153
|
+
return null;
|
|
154
|
+
return {
|
|
155
|
+
call: `${target}(${spec.call})`,
|
|
156
|
+
comment: left !== undefined && right !== undefined ? `a3d: left ${left}/right ${right} fold into the square frustum (orthographicSize); viewport aspect widens it` : undefined
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
function mapGeometryArgs(construct, target) {
|
|
160
|
+
return (args) => {
|
|
161
|
+
const a = splitArgs(args);
|
|
162
|
+
const n = (i) => a[i];
|
|
163
|
+
switch (construct) {
|
|
164
|
+
case "BoxGeometry": {
|
|
165
|
+
if (a.length === 0)
|
|
166
|
+
return { call: `${target}()` };
|
|
167
|
+
const size = `[${n(0) ?? "1"}, ${n(1) ?? "1"}, ${n(2) ?? "1"}]`;
|
|
168
|
+
return { call: `${target}({ size: ${size} })` };
|
|
169
|
+
}
|
|
170
|
+
case "SphereGeometry": {
|
|
171
|
+
const r = n(0);
|
|
172
|
+
if (r === undefined)
|
|
173
|
+
return { call: `${target}()` };
|
|
174
|
+
const params = [["widthSegments", n(1)], ["heightSegments", n(2)]];
|
|
175
|
+
const p = specPairs(construct, params);
|
|
176
|
+
return { call: `${target}({ size: ${times2(r)}${p ? `, params: ${p.call}` : ""} })` };
|
|
177
|
+
}
|
|
178
|
+
case "CylinderGeometry": {
|
|
179
|
+
if (a.length === 0)
|
|
180
|
+
return { call: `${target}()` };
|
|
181
|
+
const [rT, rB, h] = a;
|
|
182
|
+
if (rT === undefined || rB === undefined)
|
|
183
|
+
return null;
|
|
184
|
+
const xy = rB;
|
|
185
|
+
const radiusTop = NUM.test(rT) && NUM.test(rB) ? String(Number(rT) / (2 * Number(rB))) : div(rT, `2 * (${rB})`);
|
|
186
|
+
const p = specPairs(construct, [
|
|
187
|
+
["radiusTop", radiusTop],
|
|
188
|
+
["radialSegments", n(3)],
|
|
189
|
+
["heightSegments", n(4)],
|
|
190
|
+
["openEnded", n(5) === "true" ? "true" : n(5) === "false" ? "false" : undefined]
|
|
191
|
+
]);
|
|
192
|
+
return { call: `${target}({ size: [${times2(xy)}, ${h ?? "1"}, ${times2(xy)}]${p ? `, params: ${p.call}` : ""} })` };
|
|
193
|
+
}
|
|
194
|
+
case "PlaneGeometry": {
|
|
195
|
+
if (a.length === 0)
|
|
196
|
+
return { call: `${target}()` };
|
|
197
|
+
const [w, h] = a;
|
|
198
|
+
const p = specPairs(construct, [["widthSegments", n(2)], ["heightSegments", n(3)]]);
|
|
199
|
+
return {
|
|
200
|
+
call: `${target}({ size: [${w ?? "1"}, 1, ${h ?? w ?? "1"}]${p ? `, params: ${p.call}` : ""} })`,
|
|
201
|
+
comment: "a3d: three's PlaneGeometry faces +Z (XY); Aura's plane lies in XZ — rotate the node -90° about X for an XY wall"
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
case "CapsuleGeometry": {
|
|
205
|
+
const r = n(0);
|
|
206
|
+
if (r === undefined)
|
|
207
|
+
return { call: `${target}()` };
|
|
208
|
+
const len = n(1) ?? "0";
|
|
209
|
+
const p = specPairs(construct, [["capSegments", n(2)], ["radialSegments", n(3)]]);
|
|
210
|
+
const height = NUM.test(len) && NUM.test(r) ? String(Number(len) + 2 * Number(r)) : `(${len}) + 2 * (${r})`;
|
|
211
|
+
return { call: `${target}({ size: [${times2(r)}, ${height}, ${times2(r)}]${p ? `, params: ${p.call}` : ""} })` };
|
|
212
|
+
}
|
|
213
|
+
case "TorusGeometry": {
|
|
214
|
+
const r = n(0);
|
|
215
|
+
if (r === undefined)
|
|
216
|
+
return { call: `${target}()` };
|
|
217
|
+
const scale = `${r} / 0.43`;
|
|
218
|
+
const p = specPairs(construct, [
|
|
219
|
+
["tube", n(1) !== undefined ? `${n(1)} / (${scale})` : undefined],
|
|
220
|
+
["tubularSegments", n(2)],
|
|
221
|
+
["radialSegments", n(3)]
|
|
222
|
+
]);
|
|
223
|
+
return { call: `${target}({ size: ${scale}${p ? `, params: ${p.call}` : ""} })` };
|
|
224
|
+
}
|
|
225
|
+
default:
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
function mapStandardMaterialArgs(target, extra = []) {
|
|
231
|
+
return (args) => {
|
|
232
|
+
const trimmed = args.trim();
|
|
233
|
+
if (trimmed === "")
|
|
234
|
+
return { call: `${target}(${extra.length > 0 ? `{ ${extra.map(([k, v]) => `${k}: ${v}`).join(", ")} }` : ""})` };
|
|
235
|
+
if (!trimmed.startsWith("{")) {
|
|
236
|
+
const color = hex(trimmed);
|
|
237
|
+
if (color) {
|
|
238
|
+
const inner = [`color: ${color}`, ...extra.map(([k, v]) => `${k}: ${v}`)].join(", ");
|
|
239
|
+
return { call: `${target}({ ${inner} })` };
|
|
240
|
+
}
|
|
241
|
+
return null;
|
|
242
|
+
}
|
|
243
|
+
const body = trimmed.slice(1, trimmed.lastIndexOf("}") >= 0 ? trimmed.lastIndexOf("}") : trimmed.length).trim();
|
|
244
|
+
if (body === "") {
|
|
245
|
+
return { call: `${target}(${extra.length > 0 ? `{ ${extra.map(([k, v]) => `${k}: ${v}`).join(", ")} }` : "{}"})` };
|
|
246
|
+
}
|
|
247
|
+
const fields = extra.map(([k, v]) => `${k}: ${v}`);
|
|
248
|
+
const dropped = [];
|
|
249
|
+
const passthrough = new Set(["roughness", "metalness", "metallic", "opacity", "transparent", "emissiveIntensity", "envMapIntensity", "clearcoat", "clearcoatRoughness", "transmission", "ior", "sheen", "flatShading", "side", "alphaTest"]);
|
|
250
|
+
for (const part of splitArgs(body)) {
|
|
251
|
+
const colon = part.indexOf(":");
|
|
252
|
+
if (colon < 0) {
|
|
253
|
+
dropped.push(part);
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
256
|
+
const key = part.slice(0, colon).trim().replace(/^["']|["']$/g, "");
|
|
257
|
+
const value = part.slice(colon + 1).trim();
|
|
258
|
+
if (key === "color" || key === "emissive" || key === "specularColor" || key === "sheenColor") {
|
|
259
|
+
const mapped = hex(value);
|
|
260
|
+
if (mapped)
|
|
261
|
+
fields.push(`${key}: ${mapped}`);
|
|
262
|
+
else
|
|
263
|
+
dropped.push(`${key}: ${value}`);
|
|
264
|
+
}
|
|
265
|
+
else if (key === "metalness") {
|
|
266
|
+
fields.push(`metallic: ${value}`);
|
|
267
|
+
}
|
|
268
|
+
else if (passthrough.has(key)) {
|
|
269
|
+
fields.push(`${key}: ${value}`);
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
dropped.push(`${key}: ${value}`);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
if (fields.length === 0)
|
|
276
|
+
return null;
|
|
277
|
+
return {
|
|
278
|
+
call: `${target}({ ${fields.join(", ")} })`,
|
|
279
|
+
comment: dropped.length > 0 ? `a3d: unmapped material keys — ${dropped.join("; ")}` : undefined
|
|
280
|
+
};
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
function mapLightArgs(construct, target) {
|
|
284
|
+
return (args) => {
|
|
285
|
+
const a = splitArgs(args);
|
|
286
|
+
switch (construct) {
|
|
287
|
+
case "DirectionalLight":
|
|
288
|
+
case "AmbientLight": {
|
|
289
|
+
const spec = specPairs(construct, [["color", mapColorArg(a[0])], ["intensity", a[1]]]);
|
|
290
|
+
return spec ? { call: `${target}(${spec.call})` } : { call: `${target}()` };
|
|
291
|
+
}
|
|
292
|
+
case "PointLight": {
|
|
293
|
+
const spec = specPairs(construct, [["color", mapColorArg(a[0])], ["intensity", a[1]], ["distance", a[2]], ["decay", a[3]]]);
|
|
294
|
+
return spec ? { call: `${target}(${spec.call})` } : { call: `${target}()` };
|
|
295
|
+
}
|
|
296
|
+
case "SpotLight": {
|
|
297
|
+
const spec = specPairs(construct, [["color", mapColorArg(a[0])], ["intensity", a[1]], ["distance", a[2]], ["angle", a[3]], ["penumbra", a[4]], ["decay", a[5]]]);
|
|
298
|
+
return spec ? { call: `${target}(${spec.call})` } : { call: `${target}()` };
|
|
299
|
+
}
|
|
300
|
+
case "HemisphereLight": {
|
|
301
|
+
const spec = specPairs(construct, [["color", mapColorArg(a[0])], ["intensity", a[2]]]);
|
|
302
|
+
if (!spec)
|
|
303
|
+
return { call: `${target}()` };
|
|
304
|
+
return {
|
|
305
|
+
call: `${target}(${spec.call})`,
|
|
306
|
+
comment: a[1] !== undefined ? `a3d: hemisphere ground tint ${a[1]} has no slot — pick the dominant tint` : undefined
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
default:
|
|
310
|
+
return null;
|
|
311
|
+
}
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
function mapPostPassArgs(construct, target) {
|
|
315
|
+
return (args) => {
|
|
316
|
+
const a = splitArgs(args);
|
|
317
|
+
switch (construct) {
|
|
318
|
+
case "UnrealBloomPass": {
|
|
319
|
+
const spec = specPairs(construct, [["intensity", a[1]], ["radius", a[2]], ["threshold", a[3]]]);
|
|
320
|
+
return {
|
|
321
|
+
call: `${target}(${spec?.call ?? "{}"})`,
|
|
322
|
+
comment: "a3d: the resolution arg is dropped — the post graph sizes passes to the render target"
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
case "SMAAPass":
|
|
326
|
+
return {
|
|
327
|
+
call: `${target}({})`,
|
|
328
|
+
comment: `a3d: SMAA has no native mode — antiAlias mode is "fxaa" (default) | "taa" | "off"; smaa is not implemented on the live path`
|
|
329
|
+
};
|
|
330
|
+
case "TAARenderPass":
|
|
331
|
+
return { call: `${target}({ mode: "taa" })` };
|
|
332
|
+
case "SSAARenderPass":
|
|
333
|
+
return {
|
|
334
|
+
call: `${target}({})`,
|
|
335
|
+
comment: `a3d: supersampling is not a post mode — MSAA lives at the framebuffer (createAuraApp antialias: "msaa" | "msaa-plus-high-dpi"); post modes are fxaa/taa`
|
|
336
|
+
};
|
|
337
|
+
case "SSAOPass":
|
|
338
|
+
case "SAOPass":
|
|
339
|
+
case "GTAOPass":
|
|
340
|
+
// three args are (scene, camera, w, h[, params]) — none map to AO
|
|
341
|
+
// options; the post graph binds scene/camera and sizes passes itself.
|
|
342
|
+
return {
|
|
343
|
+
call: `${target}({})`,
|
|
344
|
+
comment: "a3d: the (scene, camera, size) args are dropped — the post graph owns them; tune effects.ambientOcclusion intensity/radius"
|
|
345
|
+
};
|
|
346
|
+
case "Fog": {
|
|
347
|
+
const spec = specPairs(construct, [["color", mapColorArg(a[0])]]);
|
|
348
|
+
return {
|
|
349
|
+
call: `${target}(${spec?.call ?? "{}"})`,
|
|
350
|
+
comment: a[1] !== undefined || a[2] !== undefined ? `a3d: near ${a[1] ?? "…"}/far ${a[2] ?? "…"} linear fog — Aura fog is density/height based; retune into density` : undefined
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
case "FogExp2": {
|
|
354
|
+
const spec = specPairs(construct, [["color", mapColorArg(a[0])], ["density", a[1]]]);
|
|
355
|
+
return { call: `${target}(${spec?.call ?? "{}"})` };
|
|
356
|
+
}
|
|
357
|
+
case "InstancedMesh": {
|
|
358
|
+
const count = a[2];
|
|
359
|
+
const geoMatch = a[0]?.match(/\b(Box|Sphere|Plane|Cylinder|Capsule|Torus)Geometry\b/);
|
|
360
|
+
const kind = geoMatch ? geoMatch[1].toLowerCase() : "box";
|
|
361
|
+
return {
|
|
362
|
+
call: `instances.${kind}({ transforms: [] })`,
|
|
363
|
+
comment: `a3d: ${count ?? "?"} instances — transforms/instanceColors populate the arrays from the update loop; ${geoMatch ? "factory inferred from the geometry arg" : "geometry is a variable — pick the instances.* factory matching it"}; the setMatrixAt/setColorAt handle ships as instances.mesh (SG-01)`
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
case "BokehPass": {
|
|
367
|
+
// BokehPass(scene, camera, { focus, aperture, maxblur }) — rename
|
|
368
|
+
// maxblur→maxBlur and drop the scene/camera args (the pass binds to
|
|
369
|
+
// the post graph's scene).
|
|
370
|
+
const params = a[2];
|
|
371
|
+
if (params === undefined)
|
|
372
|
+
return { call: `${target}()` };
|
|
373
|
+
const body = params.trim().replace(/^\{/, "").replace(/\}$/, "");
|
|
374
|
+
const fields = splitArgs(body)
|
|
375
|
+
.map((part) => {
|
|
376
|
+
const colon = part.indexOf(":");
|
|
377
|
+
if (colon < 0)
|
|
378
|
+
return undefined;
|
|
379
|
+
const key = part.slice(0, colon).trim().replace(/^["']|["']$/g, "");
|
|
380
|
+
const value = part.slice(colon + 1).trim();
|
|
381
|
+
const renamed = key === "maxblur" ? "maxBlur" : key;
|
|
382
|
+
return `${renamed}: ${value}`;
|
|
383
|
+
})
|
|
384
|
+
.filter((f) => f !== undefined);
|
|
385
|
+
return {
|
|
386
|
+
call: `${target}({ ${fields.join(", ")} })`,
|
|
387
|
+
comment: "a3d: focus is a linear-distance fraction in the DOF spec, not a physical f-stop — retune aperture"
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
case "OrbitControls":
|
|
391
|
+
return {
|
|
392
|
+
call: `${target}({})`,
|
|
393
|
+
comment: "a3d: target/damping map to camera.orbit options; per-frame input comes from the runtime, not DOM listeners"
|
|
394
|
+
};
|
|
395
|
+
case "WebGLRenderer":
|
|
396
|
+
case "WebGPURenderer":
|
|
397
|
+
return {
|
|
398
|
+
call: `${target}({ resize: true })`,
|
|
399
|
+
comment: `a3d: ${args.trim() ? `ctor options (${args.trim()}) — ` : ""}createAuraApp owns the loop, sizing and context; see the scene/camera/options spec`
|
|
400
|
+
};
|
|
401
|
+
default:
|
|
402
|
+
return null;
|
|
403
|
+
}
|
|
404
|
+
};
|
|
405
|
+
}
|
|
406
|
+
function controlsCtor(name, args) {
|
|
407
|
+
const a = splitArgs(args);
|
|
408
|
+
const camera = a[0]?.trim();
|
|
409
|
+
const dropped = a.slice(1).filter((part) => part.trim() !== "");
|
|
410
|
+
return {
|
|
411
|
+
call: camera ? `new ${name}(${camera})` : `new ${name}()`,
|
|
412
|
+
comment: `a3d: ctor is (cameraLike?, options) — ${dropped.length > 0 ? `dropped args (${dropped.join(", ")}) — ` : ""}dom wiring goes through options`
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
const EMIT_ARGS = {
|
|
416
|
+
PerspectiveCamera: (args) => mapPerspectiveCamera(args, "camera.perspective"),
|
|
417
|
+
OrthographicCamera: (args) => mapOrthographicCamera(args, "camera.orthographic"),
|
|
418
|
+
BoxGeometry: mapGeometryArgs("BoxGeometry", "primitives.box"),
|
|
419
|
+
SphereGeometry: mapGeometryArgs("SphereGeometry", "primitives.sphere"),
|
|
420
|
+
CylinderGeometry: mapGeometryArgs("CylinderGeometry", "primitives.cylinder"),
|
|
421
|
+
PlaneGeometry: mapGeometryArgs("PlaneGeometry", "primitives.plane"),
|
|
422
|
+
CapsuleGeometry: mapGeometryArgs("CapsuleGeometry", "primitives.capsule"),
|
|
423
|
+
TorusGeometry: mapGeometryArgs("TorusGeometry", "primitives.torus"),
|
|
424
|
+
MeshStandardMaterial: mapStandardMaterialArgs("material.pbr"),
|
|
425
|
+
MeshLambertMaterial: mapStandardMaterialArgs("material.pbr", [["unlit", "false"]]),
|
|
426
|
+
MeshPhongMaterial: mapStandardMaterialArgs("material.pbr"),
|
|
427
|
+
MeshBasicMaterial: mapStandardMaterialArgs("material.pbr", [["unlit", "true"]]),
|
|
428
|
+
DirectionalLight: mapLightArgs("DirectionalLight", "lights.directional"),
|
|
429
|
+
PointLight: mapLightArgs("PointLight", "lights.point"),
|
|
430
|
+
SpotLight: mapLightArgs("SpotLight", "lights.spot"),
|
|
431
|
+
AmbientLight: mapLightArgs("AmbientLight", "lights.ambient"),
|
|
432
|
+
HemisphereLight: mapLightArgs("HemisphereLight", "lights.ambient"),
|
|
433
|
+
UnrealBloomPass: mapPostPassArgs("UnrealBloomPass", "effects.bloom"),
|
|
434
|
+
SMAAPass: mapPostPassArgs("SMAAPass", "effects.antiAlias"),
|
|
435
|
+
TAARenderPass: mapPostPassArgs("TAARenderPass", "effects.antiAlias"),
|
|
436
|
+
SSAARenderPass: mapPostPassArgs("SSAARenderPass", "effects.antiAlias"),
|
|
437
|
+
SSAOPass: mapPostPassArgs("SSAOPass", "effects.ambientOcclusion"),
|
|
438
|
+
SAOPass: mapPostPassArgs("SAOPass", "effects.ambientOcclusion"),
|
|
439
|
+
GTAOPass: mapPostPassArgs("GTAOPass", "effects.ambientOcclusion"),
|
|
440
|
+
BokehPass: mapPostPassArgs("BokehPass", "effects.depthOfField"),
|
|
441
|
+
Fog: mapPostPassArgs("Fog", "effects.fog"),
|
|
442
|
+
FogExp2: mapPostPassArgs("FogExp2", "effects.depthFog"),
|
|
443
|
+
InstancedMesh: mapPostPassArgs("InstancedMesh", "instances.box"),
|
|
444
|
+
OrbitControls: mapPostPassArgs("OrbitControls", "camera.orbit"),
|
|
445
|
+
WebGLRenderer: mapPostPassArgs("WebGLRenderer", "createAuraApp"),
|
|
446
|
+
WebGPURenderer: mapPostPassArgs("WebGPURenderer", "createAuraApp"),
|
|
447
|
+
Scene: (args) => (args.trim() === "" ? { call: "scene()" } : null),
|
|
448
|
+
Group: (args) => (args.trim() === "" ? { call: "group()" } : null),
|
|
449
|
+
RoomEnvironment: () => ({ call: "environments.neutral()" }),
|
|
450
|
+
Color: (args) => {
|
|
451
|
+
const mapped = hex(args.trim());
|
|
452
|
+
return mapped ? { call: mapped } : null;
|
|
453
|
+
},
|
|
454
|
+
Vector2: (args) => ({ call: `new Vector2(${args})` }),
|
|
455
|
+
Vector4: (args) => ({ call: `new Vector4(${args})` }),
|
|
456
|
+
Quaternion: (args) => ({ call: `new Quaternion(${args})`, comment: args.trim() === "" ? undefined : undefined }),
|
|
457
|
+
Matrix3: (args) => ({ call: `new Matrix3(${args})` }),
|
|
458
|
+
Matrix4: (args) => ({ call: `new Matrix4(${args})` }),
|
|
459
|
+
Box3: (args) => ({ call: `new Box3(${args})` }),
|
|
460
|
+
Sphere: (args) => ({ call: `new Sphere(${args})` }),
|
|
461
|
+
Plane: (args) => ({ call: `new Plane(${args})` }),
|
|
462
|
+
Ray: (args) => ({ call: `new Ray(${args})` }),
|
|
463
|
+
Frustum: (args) => ({ call: `new Frustum(${args})` }),
|
|
464
|
+
// Aura controls ctors are `(cameraLike?, options)` or `(options)` — three's
|
|
465
|
+
// `(camera, domElement)` arg pair does not pass through. Keep the first arg
|
|
466
|
+
// (the camera-like) and drop the rest with a comment, or emit the bare
|
|
467
|
+
// options object for options-only ctors.
|
|
468
|
+
MapControls: (args) => controlsCtor("MapControls", args),
|
|
469
|
+
TrackballControls: (args) => controlsCtor("TrackballControls", args),
|
|
470
|
+
ArcballControls: (args) => controlsCtor("ArcballControls", args),
|
|
471
|
+
FlyControls: (args) => controlsCtor("FlyControls", args),
|
|
472
|
+
FirstPersonControls: (args) => controlsCtor("FirstPersonControls", args),
|
|
473
|
+
PointerLockControls: (args) => controlsCtor("PointerLockControls", args),
|
|
474
|
+
DragControls: () => ({ call: "new DragControls({})", comment: "a3d: ctor takes DragControlsOptions, not (objects, camera, dom) — deprecated in @aura3d/engine/controls; prefer InteractionControls/picking" }),
|
|
475
|
+
TransformControls: () => ({ call: "new TransformControls({})", comment: "a3d: ctor takes TransformControlsOptions, not (camera, dom) — the gizmo attaches to Aura objects" }),
|
|
476
|
+
AudioListener: () => ({ call: "new AudioListener()", comment: "a3d: AudioListener.setTransform writes the pose into ctx.listener when a context is bound; listenerSync is the per-frame driver" })
|
|
477
|
+
};
|
|
478
|
+
const THREE_NAMED_AUDIO_IMPORT = /import\s*\{[^}]*\bAudio\b[^}]*\}\s*from\s*["']three(?:\/[^"']*)?["']/;
|
|
479
|
+
const STANDARD_VERTEX_ATTRIBUTES = new Set(["position", "normal", "uv", "color"]);
|
|
480
|
+
// Mirrors RootGeometry.assertCustomAttributeName (checked against it in tests/unit/aura3d-cli/migrate-three.test.ts),
|
|
481
|
+
// plus three's own non-standard-but-built-in names the engine does not carry as custom attributes.
|
|
482
|
+
const RESERVED_CUSTOM_ATTRIBUTE_NAMES = new Set([
|
|
483
|
+
"position", "positions", "normal", "normals", "uv", "uv0", "uvs", "uv1", "uv2", "uv3", "color", "colors", "tangent", "tangents",
|
|
484
|
+
"joints", "weights", "joints1", "weights1", "skinIndex", "skinWeight", "lineStart", "lineEnd", "lineCorner", "lineDistance", "index",
|
|
485
|
+
"instanceMatrix", "instanceColor"
|
|
486
|
+
]);
|
|
487
|
+
/** Why a three attribute name cannot become an engine custom attribute, or undefined when it can. */
|
|
488
|
+
export function customAttributeBlocker(name) {
|
|
489
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(name))
|
|
490
|
+
return "is not a GLSL identifier";
|
|
491
|
+
if (name.startsWith("gl_") || name.includes("__"))
|
|
492
|
+
return "is reserved by GLSL (gl_ prefix or double underscore)";
|
|
493
|
+
if (name.startsWith("a_") || name.startsWith("u_"))
|
|
494
|
+
return "uses a prefix reserved for engine attributes/uniforms (a_, u_)";
|
|
495
|
+
if (RESERVED_CUSTOM_ATTRIBUTE_NAMES.has(name))
|
|
496
|
+
return "collides with a built-in vertex semantic the engine does not carry as a custom attribute";
|
|
497
|
+
return undefined;
|
|
498
|
+
}
|
|
499
|
+
const CUSTOM_ATTRIBUTE_CALL = /\.setAttribute\(\s*(["'])([A-Za-z0-9_]+)\1\s*,\s*(?![\s"'`\d])/g;
|
|
12
500
|
export function emitMigratedSource(source) {
|
|
13
501
|
const constructs = parseThreeSource(source);
|
|
14
502
|
const rows = [];
|
|
15
|
-
const neededImports = new
|
|
503
|
+
const neededImports = new Map();
|
|
16
504
|
const comments = new Map();
|
|
17
505
|
const rewrites = [];
|
|
18
506
|
let rewritten = 0;
|
|
507
|
+
let sawRenderer = false;
|
|
19
508
|
for (const c of constructs) {
|
|
20
509
|
if (c.construct === "import")
|
|
21
510
|
continue; // handled at the end
|
|
22
511
|
if (c.specifier === "bare" && UNSAFE_BARE_NAME.test(c.construct))
|
|
23
512
|
continue;
|
|
513
|
+
// `new Audio(src)` is the browser's HTMLAudioElement unless three's Audio was imported by name.
|
|
514
|
+
if (c.specifier === "bare" && c.construct === "Audio" && !THREE_NAMED_AUDIO_IMPORT.test(source))
|
|
515
|
+
continue;
|
|
24
516
|
const mapping = threeMappingFor(c.construct);
|
|
25
517
|
if (c.specifier === "bare" && !mapping)
|
|
26
518
|
continue; // not a THREE name — don't report local ctors
|
|
27
519
|
const row = rowFor(c, mapping);
|
|
28
520
|
rows.push(row);
|
|
29
|
-
|
|
521
|
+
const isMapped = mapping && (mapping.mapping === "exact" || mapping.mapping === "approximate");
|
|
522
|
+
if (isMapped && mapping.emit !== "comment") {
|
|
30
523
|
rewritten++;
|
|
31
|
-
if (mapping.engineImport)
|
|
32
|
-
|
|
524
|
+
if (mapping.engineImport) {
|
|
525
|
+
const from = mapping.engineImportFrom ?? ENGINE_ROOT;
|
|
526
|
+
const set = neededImports.get(from) ?? new Set();
|
|
527
|
+
set.add(mapping.engineImport);
|
|
528
|
+
neededImports.set(from, set);
|
|
529
|
+
}
|
|
33
530
|
if (c.construct.endsWith(".load")) {
|
|
34
|
-
// loader `.load(` calls get a comment, not a rewrite (the
|
|
35
|
-
|
|
531
|
+
// loader `.load(` calls get a guidance comment, not a rewrite (the
|
|
532
|
+
// model() call needs a typed asset key the codemod cannot invent).
|
|
533
|
+
// Mapped, so `a3d:` — `TODO(a3d-migrate)` is reserved for no-coverage.
|
|
534
|
+
pushComment(comments, c.line, `// a3d: ${c.construct} → ${mapping.target} — ${mapping.note}`);
|
|
36
535
|
}
|
|
37
536
|
else {
|
|
38
537
|
const replacement = emitCall(mapping, c);
|
|
39
|
-
const needle = `new THREE.${c.construct}(${c.args})`;
|
|
40
|
-
const needleBare = `new ${c.construct}(${c.args})`;
|
|
538
|
+
const needle = `new THREE.${c.construct}(${c.rawArgs ?? c.args})`;
|
|
539
|
+
const needleBare = `new ${c.construct}(${c.rawArgs ?? c.args})`;
|
|
41
540
|
if (source.includes(needle)) {
|
|
42
541
|
rewrites.push({ match: needle, replacement });
|
|
43
542
|
}
|
|
44
543
|
else if (source.includes(needleBare)) {
|
|
45
544
|
rewrites.push({ match: needleBare, replacement });
|
|
46
545
|
}
|
|
546
|
+
if (c.construct === "WebGLRenderer" || c.construct === "WebGPURenderer")
|
|
547
|
+
sawRenderer = true;
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
else if (isMapped && mapping.emit === "comment") {
|
|
551
|
+
// Config-shaped targets (output, environments.capture, app.addPostPass):
|
|
552
|
+
// the row reports the mapping; the code gets a guidance comment, not a
|
|
553
|
+
// fake call. `a3d:` — the construct IS covered, it just needs
|
|
554
|
+
// restructuring the codemod can't automate.
|
|
555
|
+
rewritten++;
|
|
556
|
+
if (mapping.engineImport) {
|
|
557
|
+
const from = mapping.engineImportFrom ?? ENGINE_ROOT;
|
|
558
|
+
const set = neededImports.get(from) ?? new Set();
|
|
559
|
+
set.add(mapping.engineImport);
|
|
560
|
+
neededImports.set(from, set);
|
|
47
561
|
}
|
|
562
|
+
pushComment(comments, c.line, `// a3d: ${c.construct} → ${mapping.target} — ${mapping.note}`);
|
|
563
|
+
}
|
|
564
|
+
else if (mapping && mapping.mapping === "pending") {
|
|
565
|
+
// Reserved but not yet public — name the planned API and owning lane.
|
|
566
|
+
pushComment(comments, c.line, `// TODO(a3d-migrate): parityPending ${c.construct} → ${mapping.target} — ${mapping.note}`);
|
|
567
|
+
}
|
|
568
|
+
else if (mapping) {
|
|
569
|
+
// Deliberate `none` row (excluded / no equivalent on the public
|
|
570
|
+
// surface) — a statement, not a missing mapping.
|
|
571
|
+
pushComment(comments, c.line, `// a3d: ${c.construct} — ${mapping.note}`);
|
|
48
572
|
}
|
|
49
573
|
else {
|
|
50
574
|
pushComment(comments, c.line, `// TODO(a3d-migrate): no mapping for ${c.construct} — ${row.note}`);
|
|
51
575
|
}
|
|
52
576
|
}
|
|
577
|
+
// Standard attributes (position/normal/uv/color) are fields of geometry.dynamic;
|
|
578
|
+
// any other name is a custom per-vertex attribute (R-23), carried by
|
|
579
|
+
// geometry.dynamic({ attributes }) and read by name in material.custom GLSL.
|
|
580
|
+
// Gated on a BufferAttribute-family construct plus a non-string second
|
|
581
|
+
// argument so DOM `el.setAttribute("id", "x")` calls in the same file are not
|
|
582
|
+
// flagged.
|
|
583
|
+
if (constructs.some((x) => /BufferAttribute$/.test(x.construct))) {
|
|
584
|
+
source.split("\n").forEach((text, index) => {
|
|
585
|
+
for (const m of text.matchAll(CUSTOM_ATTRIBUTE_CALL)) {
|
|
586
|
+
const name = m[2] ?? "";
|
|
587
|
+
if (STANDARD_VERTEX_ATTRIBUTES.has(name))
|
|
588
|
+
continue;
|
|
589
|
+
const blocker = customAttributeBlocker(name);
|
|
590
|
+
if (blocker) {
|
|
591
|
+
const blockedNote = `vertex attribute "${name}" has no public Aura3D equivalent — the name ${blocker}; rename it, or drop the per-vertex data`;
|
|
592
|
+
pushComment(comments, index + 1, `// TODO(a3d-migrate): ${blockedNote}`);
|
|
593
|
+
rows.push({ construct: `setAttribute("${name}")`, line: index + 1, mapping: "none", note: blockedNote });
|
|
594
|
+
continue;
|
|
595
|
+
}
|
|
596
|
+
const note = `custom vertex attribute "${name}" → geometry.dynamic({ attributes: { ${name}: { itemSize, data } } }) (R-23, max 11 per geometry, GLSL-identifier names); declare it in the material.custom vertex stage as \`in <float|vec2|vec3|vec4> ${name};\` (GLSL1 \`attribute\` is accepted, but \`varying\`/\`texture2D\`/\`gl_FragColor\` must still be ported to #version 300 es); per-frame writes go through handle.updateAttribute("${name}", { array, offset }); for a THREE.Points object add topology: "points" and set gl_PointSize in the vertex shader`;
|
|
597
|
+
pushComment(comments, index + 1, `// a3d: ${note}`);
|
|
598
|
+
rows.push({ construct: `setAttribute("${name}")`, line: index + 1, mapping: "approximate", note });
|
|
599
|
+
}
|
|
600
|
+
});
|
|
601
|
+
}
|
|
53
602
|
let code = source;
|
|
54
|
-
|
|
603
|
+
// Longest-match first so an outer construct (`new UnrealBloomPass(new
|
|
604
|
+
// THREE.Vector2(...), …)`) rewrites before the nested `new THREE.Vector2`
|
|
605
|
+
// inside its args can mangle the needle.
|
|
606
|
+
for (const { match, replacement } of [...rewrites].sort((a, b) => b.match.length - a.match.length)) {
|
|
55
607
|
code = code.replaceAll(match, replacement);
|
|
56
608
|
}
|
|
609
|
+
// three/app method folds — only when a renderer construct was seen so
|
|
610
|
+
// non-three `.render(`/`.setSize(` calls are never touched.
|
|
611
|
+
if (sawRenderer) {
|
|
612
|
+
code = code.replace(/([A-Za-z_$][\w$]*)\.setSize\([^;\n]*\)/g, `/* a3d: $1.setSize(...) — the app owns canvas sizing (createAuraApp resize option) */`);
|
|
613
|
+
code = code.replace(/([A-Za-z_$][\w$]*)\.setPixelRatio\([^;\n]*\)/g, `/* a3d: $1.setPixelRatio(...) — app.setPixelRatio lands with lane L7 (SH-05) */`);
|
|
614
|
+
code = code.replace(/([A-Za-z_$][\w$]*)\.setClearColor\([^;\n]*\)/g, `/* a3d: $1.setClearColor(...) — app.setClearColor lands with lane L7 (SH-05); clear colour comes from scene().background */`);
|
|
615
|
+
code = code.replace(/([A-Za-z_$][\w$]*)\.setAnimationLoop\(/g, `$1.onFrame(`);
|
|
616
|
+
code = code.replace(/([A-Za-z_$][\w$]*)\.render\([^;\n]*\)/g, `/* a3d: $1.render(...) — createAuraApp renders its scene every frame; manual stepping is app.step(dt) */`);
|
|
617
|
+
code = code.replaceAll("renderer.domElement", "renderer.canvas");
|
|
618
|
+
}
|
|
57
619
|
// rewrite three imports
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
620
|
+
const importGroups = [...neededImports.entries()].sort(([a], [b]) => a.localeCompare(b));
|
|
621
|
+
const hasThreeImportStatement = constructs.some((x) => x.construct === "import" && (x.specifier === "three" || x.specifier === "three/src/three.module.js" || x.specifier === "three/webgpu"));
|
|
622
|
+
// No `from "three"` statement to rewrite — the needed engine imports go in
|
|
623
|
+
// a fresh block at the top of the file so the emitted calls resolve.
|
|
624
|
+
if (importGroups.length > 0 && !hasThreeImportStatement) {
|
|
625
|
+
const statements = importGroups
|
|
626
|
+
.map(([from, names]) => `import { ${[...names].sort().join(", ")} } from "${from}";`)
|
|
627
|
+
.join("\n");
|
|
628
|
+
code = `${statements}\n${code}`;
|
|
629
|
+
}
|
|
630
|
+
if (importGroups.length > 0 || constructs.some((x) => x.construct === "import")) {
|
|
631
|
+
let rootImportWritten = hasThreeImportStatement ? false : true;
|
|
61
632
|
for (const c of constructs.filter((x) => x.construct === "import")) {
|
|
62
633
|
const spec = c.specifier ?? "";
|
|
63
|
-
if (spec === "three" || spec === "three/src/three.module.js") {
|
|
64
|
-
if (!
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
634
|
+
if (spec === "three" || spec === "three/src/three.module.js" || spec === "three/webgpu") {
|
|
635
|
+
if (!rootImportWritten && importGroups.length > 0) {
|
|
636
|
+
const statements = importGroups
|
|
637
|
+
.map(([from, names]) => `import { ${[...names].sort().join(", ")} } from "${from}";`)
|
|
638
|
+
.join(" ");
|
|
639
|
+
code = code.replace(/import\s+(?:\*\s+as\s+THREE|\{[^}]*\})?\s*(?:\*\s+as\s+THREE)?\s*from\s+["']three(?:\/src\/three\.module\.js|\/webgpu)?["']\s*;?/, statements);
|
|
640
|
+
rootImportWritten = true;
|
|
68
641
|
}
|
|
642
|
+
else if (!rootImportWritten) {
|
|
643
|
+
// no imports needed — comment the `import * as THREE` line out so
|
|
644
|
+
// the emitted file doesn't keep a live three specifier.
|
|
645
|
+
const original = code.split("\n")[c.line - 1];
|
|
646
|
+
if (original !== undefined && /^\s*import\b/.test(original)) {
|
|
647
|
+
code = code.replace(original, () => `// a3d:drop ${original.trim()} — no engine imports required`);
|
|
648
|
+
}
|
|
649
|
+
else {
|
|
650
|
+
pushComment(comments, c.line, `// a3d: "three" import removed — no engine imports required`);
|
|
651
|
+
}
|
|
652
|
+
rootImportWritten = true;
|
|
653
|
+
}
|
|
654
|
+
else {
|
|
655
|
+
// a second `from "three"` statement — drop it too.
|
|
656
|
+
const original = code.split("\n")[c.line - 1];
|
|
657
|
+
if (original !== undefined && /^\s*import\b/.test(original)) {
|
|
658
|
+
code = code.replace(original, () => `// a3d:drop ${original.trim()} — duplicate three import`);
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
if (spec === "three/webgpu") {
|
|
662
|
+
pushComment(comments, c.line, `// a3d: three/webgpu — createAuraApp mounts WebGL2; NodeMaterial/TSL/compute constructs are pending (SH-01/SH-04)`);
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
else if (spec === "three/tsl") {
|
|
666
|
+
pushComment(comments, c.line, `// TODO(a3d-migrate): TSL imports have no public Aura3D equivalent yet (SH-01 probe-gated) — rewrite node graphs as material.custom GLSL when it lands`);
|
|
667
|
+
rows.push({ construct: `import "${spec}"`, line: c.line, mapping: "none", note: "three/tsl specifier is not rewritten; the TSL subset is probe-gated (SH-01)." });
|
|
69
668
|
}
|
|
70
669
|
else {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
670
|
+
const action = addonActionFor(spec);
|
|
671
|
+
if (action?.kind === "rewrite") {
|
|
672
|
+
code = code.replaceAll(`from "${spec}"`, `from "${action.to}"`).replaceAll(`from '${spec}'`, `from '${action.to}'`);
|
|
673
|
+
rows.push({ construct: `import "${spec}"`, line: c.line, mapping: "approximate", note: `specifier rewritten to ${action.to} — named exports exist there.` });
|
|
674
|
+
}
|
|
675
|
+
else if (action?.kind === "comment" || action?.kind === "excluded") {
|
|
676
|
+
// Drop the import line in place (commented out) when it sits alone on
|
|
677
|
+
// its line — the emitted code no longer needs it and leaving a live
|
|
678
|
+
// `from "three/…"` specifier would break the build.
|
|
679
|
+
const original = code.split("\n")[c.line - 1];
|
|
680
|
+
const escapedSpec = spec.replaceAll(/[.*+?^$()|[\]\\]/g, "\\$&");
|
|
681
|
+
const singleLine = original !== undefined && new RegExp(`^\\s*import\\b.*from\\s*["']${escapedSpec}["']\\s*;?\\s*$`).test(original);
|
|
682
|
+
if (singleLine) {
|
|
683
|
+
// function replacement: the line may contain `$`-sequences that
|
|
684
|
+
// String.replace would interpret as group references.
|
|
685
|
+
code = code.replace(original, () => `// a3d:drop ${original.trim()} — ${action.note}`);
|
|
686
|
+
}
|
|
687
|
+
else {
|
|
688
|
+
pushComment(comments, c.line, `// a3d:drop ${spec} — ${action.note}`);
|
|
689
|
+
}
|
|
690
|
+
rows.push({
|
|
691
|
+
construct: `import "${spec}"`,
|
|
692
|
+
line: c.line,
|
|
693
|
+
mapping: action.kind === "excluded" ? "none" : "approximate",
|
|
694
|
+
note: `import dropped: ${action.note}`
|
|
695
|
+
});
|
|
696
|
+
}
|
|
697
|
+
else {
|
|
698
|
+
pushComment(comments, c.line, `// TODO(a3d-migrate): import specifier "${spec}" has no public Aura3D equivalent — resolve manually`);
|
|
699
|
+
rows.push({ construct: `import "${spec}"`, line: c.line, mapping: "none", note: "three/addons specifier is not rewritten; resolve the named export against @aura3d/engine manually." });
|
|
700
|
+
}
|
|
74
701
|
}
|
|
75
702
|
}
|
|
76
703
|
}
|
|
@@ -88,11 +715,31 @@ function rowFor(c, mapping) {
|
|
|
88
715
|
if (!mapping) {
|
|
89
716
|
return { construct: c.construct, line: c.line, mapping: "none", note: "no Aura3D equivalent in the T6.1 table; resolve manually." };
|
|
90
717
|
}
|
|
91
|
-
|
|
718
|
+
if (mapping.mapping === "pending") {
|
|
719
|
+
return { construct: c.construct, line: c.line, mapping: "pending", note: `${mapping.target} — ${mapping.note}` };
|
|
720
|
+
}
|
|
721
|
+
const note = mapping.target === "" ? mapping.note : `${mapping.target} — ${mapping.note}`;
|
|
722
|
+
return { construct: c.construct, line: c.line, mapping: mapping.mapping, note };
|
|
92
723
|
}
|
|
93
724
|
function emitCall(mapping, c) {
|
|
94
725
|
const args = c.args;
|
|
95
|
-
const
|
|
726
|
+
const emitter = EMIT_ARGS[mapping.construct];
|
|
727
|
+
if (emitter) {
|
|
728
|
+
const out = emitter(args);
|
|
729
|
+
if (out) {
|
|
730
|
+
return `${out.call}${out.comment ? ` /* ${out.comment} */` : ""}`;
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
// Covered constructs get `a3d:` guidance, not `TODO(a3d-migrate)` — the
|
|
734
|
+
// TODO marker is reserved for pending/unmapped rows.
|
|
735
|
+
const todo = ` /* a3d: ${c.construct} — ${args ? `map args (${args}); ` : ""}${mapping.note} */`;
|
|
736
|
+
if (args.trim() === "" && mapping.emit !== "new") {
|
|
737
|
+
// no args to mis-map — emit the clean factory plus a short guidance note
|
|
738
|
+
return `${mapping.target}() /* a3d: ${mapping.note} */`;
|
|
739
|
+
}
|
|
740
|
+
if (mapping.emit === "new") {
|
|
741
|
+
return `new ${mapping.target}()${args ? ` /* a3d: original args (${args}) — ${mapping.note} */` : ` /* a3d: ${mapping.note} */`}`;
|
|
742
|
+
}
|
|
96
743
|
switch (mapping.construct) {
|
|
97
744
|
case "Euler": {
|
|
98
745
|
// Euler emits a tuple literal, valid as an expression.
|
|
@@ -102,7 +749,7 @@ function emitCall(mapping, c) {
|
|
|
102
749
|
return `[${xyz}]${args && xyz !== args ? "" : todo}`;
|
|
103
750
|
}
|
|
104
751
|
case "Vector3":
|
|
105
|
-
return `[${args}]${
|
|
752
|
+
return `[${args}]${args.trim() === "" ? " /* a3d: AuraVec3 */" : ""}`;
|
|
106
753
|
case "Color":
|
|
107
754
|
return `(${args}) /* a3d: ${mapping.target} */`;
|
|
108
755
|
default:
|