@iwsdk/core 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -7
- package/dist/asset/asset-manager.d.ts +137 -9
- package/dist/asset/asset-manager.d.ts.map +1 -1
- package/dist/asset/asset-manager.js +491 -47
- package/dist/asset/asset-manager.js.map +1 -1
- package/dist/asset/cache-manager.d.ts +4 -2
- package/dist/asset/cache-manager.d.ts.map +1 -1
- package/dist/asset/cache-manager.js +10 -3
- package/dist/asset/cache-manager.js.map +1 -1
- package/dist/asset/loaders/audio-loader.d.ts +1 -1
- package/dist/asset/loaders/audio-loader.d.ts.map +1 -1
- package/dist/asset/loaders/audio-loader.js +8 -26
- package/dist/asset/loaders/audio-loader.js.map +1 -1
- package/dist/asset/loaders/cached-asset-load.d.ts +35 -0
- package/dist/asset/loaders/cached-asset-load.d.ts.map +1 -0
- package/dist/asset/loaders/cached-asset-load.js +100 -0
- package/dist/asset/loaders/cached-asset-load.js.map +1 -0
- package/dist/asset/loaders/gltf-loader.d.ts +28 -1
- package/dist/asset/loaders/gltf-loader.d.ts.map +1 -1
- package/dist/asset/loaders/gltf-loader.js +254 -33
- package/dist/asset/loaders/gltf-loader.js.map +1 -1
- package/dist/asset/loaders/hdr-texture-loader.d.ts +1 -1
- package/dist/asset/loaders/hdr-texture-loader.d.ts.map +1 -1
- package/dist/asset/loaders/hdr-texture-loader.js +19 -29
- package/dist/asset/loaders/hdr-texture-loader.js.map +1 -1
- package/dist/asset/loaders/texture-loader.d.ts +1 -1
- package/dist/asset/loaders/texture-loader.d.ts.map +1 -1
- package/dist/asset/loaders/texture-loader.js +9 -26
- package/dist/asset/loaders/texture-loader.js.map +1 -1
- package/dist/asset/loaders/uikitml-loader.d.ts +12 -0
- package/dist/asset/loaders/uikitml-loader.d.ts.map +1 -0
- package/dist/asset/loaders/uikitml-loader.js +44 -0
- package/dist/asset/loaders/uikitml-loader.js.map +1 -0
- package/dist/audio/audio-pool.d.ts +7 -0
- package/dist/audio/audio-pool.d.ts.map +1 -1
- package/dist/audio/audio-pool.js.map +1 -1
- package/dist/audio/audio-system.d.ts +3 -2
- package/dist/audio/audio-system.d.ts.map +1 -1
- package/dist/audio/audio-system.js +17 -6
- package/dist/audio/audio-system.js.map +1 -1
- package/dist/audio/audio-utils.d.ts +2 -2
- package/dist/audio/audio-utils.d.ts.map +1 -1
- package/dist/audio/audio.d.ts +1 -1
- package/dist/audio/audio.d.ts.map +1 -1
- package/dist/audio/audio.js +2 -4
- package/dist/audio/audio.js.map +1 -1
- package/dist/camera/camera-source.d.ts +1 -1
- package/dist/camera/camera-source.d.ts.map +1 -1
- package/dist/camera/camera-source.js +0 -4
- package/dist/camera/camera-source.js.map +1 -1
- package/dist/camera/camera-system.d.ts +18 -18
- package/dist/camera/camera-system.d.ts.map +1 -1
- package/dist/camera/camera-system.js +5 -6
- package/dist/camera/camera-system.js.map +1 -1
- package/dist/camera/camera-utils.d.ts +1 -1
- package/dist/camera/camera-utils.d.ts.map +1 -1
- package/dist/depth/depth-occludable.d.ts +1 -1
- package/dist/depth/depth-occludable.d.ts.map +1 -1
- package/dist/depth/depth-occludable.js +0 -4
- package/dist/depth/depth-occludable.js.map +1 -1
- package/dist/depth/depth-sensing-system.d.ts +2 -2
- package/dist/depth/depth-sensing-system.d.ts.map +1 -1
- package/dist/depth/depth-sensing-system.js +31 -13
- package/dist/depth/depth-sensing-system.js.map +1 -1
- package/dist/ecs/builtin-components.d.ts +1239 -0
- package/dist/ecs/builtin-components.d.ts.map +1 -0
- package/dist/ecs/builtin-components.js +87 -0
- package/dist/ecs/builtin-components.js.map +1 -0
- package/dist/ecs/component-editor-metadata.d.ts +19 -0
- package/dist/ecs/component-editor-metadata.d.ts.map +1 -0
- package/dist/ecs/component-editor-metadata.js +19 -0
- package/dist/ecs/component-editor-metadata.js.map +1 -0
- package/dist/ecs/component-manifest.d.ts +24 -0
- package/dist/ecs/component-manifest.d.ts.map +1 -0
- package/dist/ecs/component-manifest.js +121 -0
- package/dist/ecs/component-manifest.js.map +1 -0
- package/dist/ecs/component.d.ts +1 -0
- package/dist/ecs/component.d.ts.map +1 -1
- package/dist/ecs/entity.d.ts +20 -2
- package/dist/ecs/entity.d.ts.map +1 -1
- package/dist/ecs/entity.js +59 -3
- package/dist/ecs/entity.js.map +1 -1
- package/dist/ecs/index.d.ts +3 -1
- package/dist/ecs/index.d.ts.map +1 -1
- package/dist/ecs/system.d.ts +9 -0
- package/dist/ecs/system.d.ts.map +1 -1
- package/dist/ecs/system.js.map +1 -1
- package/dist/ecs/world.d.ts +160 -5
- package/dist/ecs/world.d.ts.map +1 -1
- package/dist/ecs/world.js +306 -19
- package/dist/ecs/world.js.map +1 -1
- package/dist/environment/dome-gradient.d.ts +3 -2
- package/dist/environment/dome-gradient.d.ts.map +1 -1
- package/dist/environment/dome-gradient.js +2 -5
- package/dist/environment/dome-gradient.js.map +1 -1
- package/dist/environment/dome-texture.d.ts +1 -1
- package/dist/environment/dome-texture.d.ts.map +1 -1
- package/dist/environment/dome-texture.js +0 -4
- package/dist/environment/dome-texture.js.map +1 -1
- package/dist/environment/environment-system.d.ts +20 -4
- package/dist/environment/environment-system.d.ts.map +1 -1
- package/dist/environment/environment-system.js +79 -61
- package/dist/environment/environment-system.js.map +1 -1
- package/dist/environment/gradient-environment.d.ts.map +1 -1
- package/dist/environment/gradient-environment.js +13 -7
- package/dist/environment/gradient-environment.js.map +1 -1
- package/dist/environment/ibl-gradient.d.ts +1 -1
- package/dist/environment/ibl-gradient.d.ts.map +1 -1
- package/dist/environment/ibl-gradient.js +0 -4
- package/dist/environment/ibl-gradient.js.map +1 -1
- package/dist/environment/ibl-texture.d.ts +1 -1
- package/dist/environment/ibl-texture.d.ts.map +1 -1
- package/dist/environment/ibl-texture.js +0 -4
- package/dist/environment/ibl-texture.js.map +1 -1
- package/dist/environment/scene-ar-environment.d.ts +39 -0
- package/dist/environment/scene-ar-environment.d.ts.map +1 -0
- package/dist/environment/scene-ar-environment.js +93 -0
- package/dist/environment/scene-ar-environment.js.map +1 -0
- package/dist/environment-raycast/environment-raycast.d.ts +21 -21
- package/dist/environment-raycast/environment-raycast.d.ts.map +1 -1
- package/dist/environment-raycast/environment-raycast.js +0 -4
- package/dist/environment-raycast/environment-raycast.js.map +1 -1
- package/dist/environment-raycast/raycast-target.d.ts +1 -1
- package/dist/environment-raycast/raycast-target.d.ts.map +1 -1
- package/dist/environment-raycast/raycast-target.js +0 -4
- package/dist/environment-raycast/raycast-target.js.map +1 -1
- package/dist/grab/distance-grabbable.d.ts +1 -1
- package/dist/grab/distance-grabbable.d.ts.map +1 -1
- package/dist/grab/distance-grabbable.js +0 -4
- package/dist/grab/distance-grabbable.js.map +1 -1
- package/dist/grab/grab-helpers.d.ts +39 -0
- package/dist/grab/grab-helpers.d.ts.map +1 -0
- package/dist/grab/grab-helpers.js +59 -0
- package/dist/grab/grab-helpers.js.map +1 -0
- package/dist/grab/grab-system.d.ts +47 -2
- package/dist/grab/grab-system.d.ts.map +1 -1
- package/dist/grab/grab-system.js +67 -8
- package/dist/grab/grab-system.js.map +1 -1
- package/dist/grab/grab-warnings.d.ts +14 -0
- package/dist/grab/grab-warnings.d.ts.map +1 -0
- package/dist/grab/grab-warnings.js +53 -0
- package/dist/grab/grab-warnings.js.map +1 -0
- package/dist/grab/grabbed.d.ts.map +1 -1
- package/dist/grab/grabbed.js +0 -4
- package/dist/grab/grabbed.js.map +1 -1
- package/dist/grab/handles.d.ts +1 -1
- package/dist/grab/handles.d.ts.map +1 -1
- package/dist/grab/handles.js +8 -7
- package/dist/grab/handles.js.map +1 -1
- package/dist/grab/one-hand-grabbable.d.ts +1 -1
- package/dist/grab/one-hand-grabbable.d.ts.map +1 -1
- package/dist/grab/one-hand-grabbable.js +0 -4
- package/dist/grab/one-hand-grabbable.js.map +1 -1
- package/dist/grab/two-hands-grabbable.d.ts +1 -1
- package/dist/grab/two-hands-grabbable.d.ts.map +1 -1
- package/dist/grab/two-hands-grabbable.js +0 -4
- package/dist/grab/two-hands-grabbable.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -16
- package/dist/index.js.map +1 -1
- package/dist/init/world-initializer.d.ts +12 -8
- package/dist/init/world-initializer.d.ts.map +1 -1
- package/dist/init/world-initializer.js +127 -67
- package/dist/init/world-initializer.js.map +1 -1
- package/dist/init/xr.d.ts +1 -2
- package/dist/init/xr.d.ts.map +1 -1
- package/dist/init/xr.js +12 -3
- package/dist/init/xr.js.map +1 -1
- package/dist/input/input-system.d.ts +59 -59
- package/dist/input/input-system.d.ts.map +1 -1
- package/dist/input/input-system.js +26 -13
- package/dist/input/input-system.js.map +1 -1
- package/dist/input/state-tags.d.ts.map +1 -1
- package/dist/input/state-tags.js +0 -4
- package/dist/input/state-tags.js.map +1 -1
- package/dist/layers/xr-cylinder-layer.d.ts +1 -1
- package/dist/layers/xr-cylinder-layer.d.ts.map +1 -1
- package/dist/layers/xr-cylinder-layer.js +0 -4
- package/dist/layers/xr-cylinder-layer.js.map +1 -1
- package/dist/layers/xr-layer-state.d.ts +47 -0
- package/dist/layers/xr-layer-state.d.ts.map +1 -0
- package/dist/layers/xr-layer-state.js +23 -0
- package/dist/layers/xr-layer-state.js.map +1 -0
- package/dist/layers/xr-layer-system.d.ts +46 -94
- package/dist/layers/xr-layer-system.d.ts.map +1 -1
- package/dist/layers/xr-layer-system.js +4 -28
- package/dist/layers/xr-layer-system.js.map +1 -1
- package/dist/layers/xr-quad-layer.d.ts +1 -1
- package/dist/layers/xr-quad-layer.d.ts.map +1 -1
- package/dist/layers/xr-quad-layer.js +0 -4
- package/dist/layers/xr-quad-layer.js.map +1 -1
- package/dist/level/index.d.ts +6 -2
- package/dist/level/index.d.ts.map +1 -1
- package/dist/level/level-component-applier.d.ts +24 -0
- package/dist/level/level-component-applier.d.ts.map +1 -0
- package/dist/level/level-component-applier.js +199 -0
- package/dist/level/level-component-applier.js.map +1 -0
- package/dist/level/level-player-rig.d.ts +17 -0
- package/dist/level/level-player-rig.d.ts.map +1 -0
- package/dist/level/level-player-rig.js +113 -0
- package/dist/level/level-player-rig.js.map +1 -0
- package/dist/level/level-root.d.ts.map +1 -1
- package/dist/level/level-root.js +0 -4
- package/dist/level/level-root.js.map +1 -1
- package/dist/level/level-scene-environment.d.ts +28 -0
- package/dist/level/level-scene-environment.d.ts.map +1 -0
- package/dist/level/level-scene-environment.js +121 -0
- package/dist/level/level-scene-environment.js.map +1 -0
- package/dist/level/level-scene-json-importer.d.ts +53 -0
- package/dist/level/level-scene-json-importer.d.ts.map +1 -0
- package/dist/level/level-scene-json-importer.js +256 -0
- package/dist/level/level-scene-json-importer.js.map +1 -0
- package/dist/level/level-scene-material.d.ts +22 -0
- package/dist/level/level-scene-material.d.ts.map +1 -0
- package/dist/level/level-scene-material.js +231 -0
- package/dist/level/level-scene-material.js.map +1 -0
- package/dist/level/level-scene-object.d.ts +49 -0
- package/dist/level/level-scene-object.d.ts.map +1 -0
- package/dist/level/level-scene-object.js +396 -0
- package/dist/level/level-scene-object.js.map +1 -0
- package/dist/level/level-scene-primitive.d.ts +21 -0
- package/dist/level/level-scene-primitive.d.ts.map +1 -0
- package/dist/level/level-scene-primitive.js +159 -0
- package/dist/level/level-scene-primitive.js.map +1 -0
- package/dist/level/level-system.d.ts +14 -20
- package/dist/level/level-system.d.ts.map +1 -1
- package/dist/level/level-system.js +114 -52
- package/dist/level/level-system.js.map +1 -1
- package/dist/level/level-tag.d.ts +1 -1
- package/dist/level/level-tag.d.ts.map +1 -1
- package/dist/level/level-tag.js +0 -4
- package/dist/level/level-tag.js.map +1 -1
- package/dist/lighting/index.d.ts +10 -0
- package/dist/lighting/index.d.ts.map +1 -0
- package/dist/lighting/index.js +4 -0
- package/dist/lighting/index.js.map +1 -0
- package/dist/lighting/light-binding.d.ts +76 -0
- package/dist/lighting/light-binding.d.ts.map +1 -0
- package/dist/lighting/light-binding.js +229 -0
- package/dist/lighting/light-binding.js.map +1 -0
- package/dist/lighting/light-components.d.ts +885 -0
- package/dist/lighting/light-components.d.ts.map +1 -0
- package/dist/lighting/light-components.js +146 -0
- package/dist/lighting/light-components.js.map +1 -0
- package/dist/lighting/light-system.d.ts +919 -0
- package/dist/lighting/light-system.d.ts.map +1 -0
- package/dist/lighting/light-system.js +244 -0
- package/dist/lighting/light-system.js.map +1 -0
- package/dist/locomotion/locomotion-environment.d.ts +27 -0
- package/dist/locomotion/locomotion-environment.d.ts.map +1 -0
- package/dist/locomotion/locomotion-environment.js +22 -0
- package/dist/locomotion/locomotion-environment.js.map +1 -0
- package/dist/locomotion/locomotion-input-provider.d.ts +1 -1
- package/dist/locomotion/locomotion.d.ts +5 -34
- package/dist/locomotion/locomotion.d.ts.map +1 -1
- package/dist/locomotion/locomotion.js +33 -31
- package/dist/locomotion/locomotion.js.map +1 -1
- package/dist/locomotion/materials/line.js +1 -1
- package/dist/locomotion/slide.d.ts +2 -2
- package/dist/locomotion/slide.d.ts.map +1 -1
- package/dist/locomotion/slide.js +3 -6
- package/dist/locomotion/slide.js.map +1 -1
- package/dist/locomotion/teleport.d.ts +2 -2
- package/dist/locomotion/teleport.d.ts.map +1 -1
- package/dist/locomotion/teleport.js +1 -4
- package/dist/locomotion/teleport.js.map +1 -1
- package/dist/mcp/ecs-debug-tools.d.ts.map +1 -1
- package/dist/mcp/ecs-debug-tools.js +10 -2
- package/dist/mcp/ecs-debug-tools.js.map +1 -1
- package/dist/mcp/mcp-runtime.d.ts.map +1 -1
- package/dist/mcp/mcp-runtime.js +4 -1
- package/dist/mcp/mcp-runtime.js.map +1 -1
- package/dist/mcp/scene-tools.d.ts +152 -1
- package/dist/mcp/scene-tools.d.ts.map +1 -1
- package/dist/mcp/scene-tools.js +538 -8
- package/dist/mcp/scene-tools.js.map +1 -1
- package/dist/physics/index.js +12 -0
- package/dist/physics/index.js.map +1 -0
- package/dist/physics/physics-system.d.ts +704 -11
- package/dist/physics/physics-system.d.ts.map +1 -1
- package/dist/physics/physics-system.js +310 -29
- package/dist/physics/physics-system.js.map +1 -1
- package/dist/physics/physicsBody.d.ts +40 -1
- package/dist/physics/physicsBody.d.ts.map +1 -1
- package/dist/physics/physicsBody.js +39 -1
- package/dist/physics/physicsBody.js.map +1 -1
- package/dist/physics/physicsManipulation.d.ts +1 -1
- package/dist/physics/physicsManipulation.d.ts.map +1 -1
- package/dist/physics/physicsManipulation.js +0 -1
- package/dist/physics/physicsManipulation.js.map +1 -1
- package/dist/physics/physicsShape.d.ts +5 -3
- package/dist/physics/physicsShape.d.ts.map +1 -1
- package/dist/physics/physicsShape.js +2 -2
- package/dist/physics/physicsShape.js.map +1 -1
- package/dist/physics/utils.d.ts +10 -0
- package/dist/physics/utils.d.ts.map +1 -1
- package/dist/physics/utils.js +82 -48
- package/dist/physics/utils.js.map +1 -1
- package/dist/project/index.d.ts +11 -0
- package/dist/project/index.d.ts.map +1 -0
- package/dist/project/index.js +5 -0
- package/dist/project/index.js.map +1 -0
- package/dist/project/normalize.d.ts +19 -0
- package/dist/project/normalize.d.ts.map +1 -0
- package/dist/project/normalize.js +206 -0
- package/dist/project/normalize.js.map +1 -0
- package/dist/project/paths.d.ts +21 -0
- package/dist/project/paths.d.ts.map +1 -0
- package/dist/project/paths.js +75 -0
- package/dist/project/paths.js.map +1 -0
- package/dist/project/types.d.ts +159 -0
- package/dist/project/types.d.ts.map +1 -0
- package/dist/project/types.js +11 -0
- package/dist/project/types.js.map +1 -0
- package/dist/project/validation.d.ts +17 -0
- package/dist/project/validation.d.ts.map +1 -0
- package/dist/project/validation.js +501 -0
- package/dist/project/validation.js.map +1 -0
- package/dist/scene-understanding/anchor.d.ts +1 -1
- package/dist/scene-understanding/anchor.d.ts.map +1 -1
- package/dist/scene-understanding/anchor.js +0 -4
- package/dist/scene-understanding/anchor.js.map +1 -1
- package/dist/scene-understanding/mesh.d.ts +1 -1
- package/dist/scene-understanding/mesh.d.ts.map +1 -1
- package/dist/scene-understanding/mesh.js +0 -4
- package/dist/scene-understanding/mesh.js.map +1 -1
- package/dist/scene-understanding/plane.d.ts +1 -1
- package/dist/scene-understanding/plane.d.ts.map +1 -1
- package/dist/scene-understanding/plane.js +0 -4
- package/dist/scene-understanding/plane.js.map +1 -1
- package/dist/scene-understanding/scene-understanding-system.d.ts +25 -4
- package/dist/scene-understanding/scene-understanding-system.d.ts.map +1 -1
- package/dist/scene-understanding/scene-understanding-system.js +76 -57
- package/dist/scene-understanding/scene-understanding-system.js.map +1 -1
- package/dist/schemas/iwsdk-project.v1.schema.json +305 -0
- package/dist/transform/transform-component.d.ts +32 -0
- package/dist/transform/transform-component.d.ts.map +1 -0
- package/dist/transform/transform-component.js +24 -0
- package/dist/transform/transform-component.js.map +1 -0
- package/dist/transform/transform.d.ts +10 -43
- package/dist/transform/transform.d.ts.map +1 -1
- package/dist/transform/transform.js +9 -28
- package/dist/transform/transform.js.map +1 -1
- package/dist/ui/document.d.ts +9 -2
- package/dist/ui/document.d.ts.map +1 -1
- package/dist/ui/document.js +30 -5
- package/dist/ui/document.js.map +1 -1
- package/dist/ui/follow-component.d.ts +57 -0
- package/dist/ui/follow-component.d.ts.map +1 -0
- package/dist/ui/follow-component.js +38 -0
- package/dist/ui/follow-component.js.map +1 -0
- package/dist/ui/follow.d.ts +29 -103
- package/dist/ui/follow.d.ts.map +1 -1
- package/dist/ui/follow.js +10 -51
- package/dist/ui/follow.js.map +1 -1
- package/dist/ui/index.d.ts +3 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/panel-components.d.ts +29 -0
- package/dist/ui/panel-components.d.ts.map +1 -0
- package/dist/ui/panel-components.js +22 -0
- package/dist/ui/panel-components.js.map +1 -0
- package/dist/ui/screenspace-component.d.ts +39 -0
- package/dist/ui/screenspace-component.d.ts.map +1 -0
- package/dist/ui/screenspace-component.js +21 -0
- package/dist/ui/screenspace-component.js.map +1 -0
- package/dist/ui/screenspace.d.ts +47 -135
- package/dist/ui/screenspace.d.ts.map +1 -1
- package/dist/ui/screenspace.js +127 -65
- package/dist/ui/screenspace.js.map +1 -1
- package/dist/ui/ui.d.ts +20 -122
- package/dist/ui/ui.d.ts.map +1 -1
- package/dist/ui/ui.js +44 -107
- package/dist/ui/ui.js.map +1 -1
- package/dist/ui/uikitml-asset.d.ts +25 -0
- package/dist/ui/uikitml-asset.d.ts.map +1 -0
- package/dist/ui/uikitml-asset.js +56 -0
- package/dist/ui/uikitml-asset.js.map +1 -0
- package/dist/ui/uikitml.d.ts +41 -0
- package/dist/ui/uikitml.d.ts.map +1 -0
- package/dist/ui/uikitml.js +119 -0
- package/dist/ui/uikitml.js.map +1 -0
- package/dist/vendor/draco/gltf/draco_encoder.js +0 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/visibility/visibility-component.d.ts +14 -0
- package/dist/visibility/visibility-component.d.ts.map +1 -0
- package/dist/visibility/visibility-component.js +15 -0
- package/dist/visibility/visibility-component.js.map +1 -0
- package/dist/visibility/visibility.d.ts +4 -11
- package/dist/visibility/visibility.d.ts.map +1 -1
- package/dist/visibility/visibility.js +9 -15
- package/dist/visibility/visibility.js.map +1 -1
- package/package.json +71 -19
- package/LICENSE +0 -21
- package/dist/ecs/component-registry.d.ts +0 -54
- package/dist/ecs/component-registry.d.ts.map +0 -1
- package/dist/ecs/component-registry.js +0 -86
- package/dist/ecs/component-registry.js.map +0 -1
- package/dist/level/level-entity-creator.d.ts +0 -27
- package/dist/level/level-entity-creator.d.ts.map +0 -1
- package/dist/level/level-entity-creator.js +0 -111
- package/dist/level/level-entity-creator.js.map +0 -1
- package/dist/level/level-glxf-importer.d.ts +0 -22
- package/dist/level/level-glxf-importer.d.ts.map +0 -1
- package/dist/level/level-glxf-importer.js +0 -40
- package/dist/level/level-glxf-importer.js.map +0 -1
|
@@ -4,51 +4,45 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
defaultLighting: {
|
|
11
|
-
type: Types.Boolean;
|
|
12
|
-
default: true;
|
|
13
|
-
};
|
|
14
|
-
}, {
|
|
7
|
+
import type { SceneDocument } from '@iwsdk/scene-composition';
|
|
8
|
+
import type { World } from '../ecs/world.js';
|
|
9
|
+
declare const LevelSystem_base: import("elics").SystemConstructor<import("elics").SystemSchema, {
|
|
15
10
|
levelEntities: {
|
|
16
11
|
required: import("elics").Component<{
|
|
17
12
|
id: {
|
|
18
|
-
type: Types.String;
|
|
13
|
+
type: import("elics").Types.String;
|
|
19
14
|
default: string;
|
|
20
15
|
};
|
|
21
16
|
}>[];
|
|
22
17
|
};
|
|
23
|
-
}, import("../ecs/
|
|
24
|
-
/** Attach a default gradient dome on level roots when none provided. */
|
|
25
|
-
defaultLighting: {
|
|
26
|
-
type: Types.Boolean;
|
|
27
|
-
default: true;
|
|
28
|
-
};
|
|
29
|
-
}, {
|
|
18
|
+
}, World, import("../ecs/system.js").System<import("elics").SystemSchema, {
|
|
30
19
|
levelEntities: {
|
|
31
20
|
required: import("elics").Component<{
|
|
32
21
|
id: {
|
|
33
|
-
type: Types.String;
|
|
22
|
+
type: import("elics").Types.String;
|
|
34
23
|
default: string;
|
|
35
24
|
};
|
|
36
25
|
}>[];
|
|
37
26
|
};
|
|
38
27
|
}>>;
|
|
39
28
|
/**
|
|
40
|
-
* Manages the active level root, enforces identity transforms, and loads
|
|
29
|
+
* Manages the active level root, enforces identity transforms, and atomically loads levels.
|
|
41
30
|
*
|
|
42
31
|
* @remarks
|
|
43
|
-
* -
|
|
44
|
-
* -
|
|
32
|
+
* - Stages replacement content invisibly and destroys the prior level only after a successful load.
|
|
33
|
+
* - Rejects failed loads while keeping the prior level active.
|
|
34
|
+
* - Loads native scene JSON documents or native scene JSON URLs.
|
|
45
35
|
* @category Scene
|
|
46
36
|
*/
|
|
47
37
|
export declare class LevelSystem extends LevelSystem_base {
|
|
48
38
|
private loading;
|
|
39
|
+
/** Renderer state that predates the currently committed level. */
|
|
40
|
+
private activeEnvironmentBase;
|
|
49
41
|
init(): void;
|
|
50
42
|
update(): void;
|
|
51
43
|
private startLevelChange;
|
|
52
44
|
}
|
|
45
|
+
/** Apply a composed scene's authored hero view to the non-immersive camera. */
|
|
46
|
+
export declare function applySceneHeroCamera(world: World, document: SceneDocument): boolean;
|
|
53
47
|
export {};
|
|
54
48
|
//# sourceMappingURL=level-system.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"level-system.d.ts","sourceRoot":"","sources":["../../src/level/level-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"level-system.d.ts","sourceRoot":"","sources":["../../src/level/level-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,aAAa,EAEd,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;AAmB7C;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,gBAG/B;IACA,OAAO,CAAC,OAAO,CAAS;IACxB,kEAAkE;IAClE,OAAO,CAAC,qBAAqB,CAAoC;IAEjE,IAAI,IAAI,IAAI;IAiBZ,MAAM,IAAI,IAAI;IAiCd,OAAO,CAAC,gBAAgB;CAoGzB;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,aAAa,GACtB,OAAO,CA0BT"}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
import { signal } from '@preact/signals-core';
|
|
2
2
|
import { createSystem } from '../ecs/system.js';
|
|
3
|
-
import '../
|
|
4
|
-
import {
|
|
5
|
-
import '../ecs/entity.js';
|
|
6
|
-
import '../ecs/component-registry.js';
|
|
7
|
-
import { DomeTexture } from '../environment/dome-texture.js';
|
|
8
|
-
import { DomeGradient } from '../environment/dome-gradient.js';
|
|
9
|
-
import { IBLTexture } from '../environment/ibl-texture.js';
|
|
10
|
-
import { IBLGradient } from '../environment/ibl-gradient.js';
|
|
11
|
-
import '../environment/environment-system.js';
|
|
12
|
-
import { GLXFImporter } from './level-glxf-importer.js';
|
|
3
|
+
import '../runtime/three.js';
|
|
4
|
+
import { applyScenePlayerRig } from './level-player-rig.js';
|
|
13
5
|
import { LevelRoot } from './level-root.js';
|
|
6
|
+
import { captureSceneEnvironment, applySceneEnvironment, restoreSceneEnvironment } from './level-scene-environment.js';
|
|
7
|
+
import { SceneJSONImporter, createSceneEntityReferenceResolver, activateScenePlayerAttachments } from './level-scene-json-importer.js';
|
|
8
|
+
import { disposeSceneObjectResources } from './level-scene-object.js';
|
|
14
9
|
import { LevelTag } from './level-tag.js';
|
|
10
|
+
import { Vector3 } from 'three';
|
|
15
11
|
|
|
16
12
|
/**
|
|
17
13
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
@@ -20,19 +16,17 @@ import { LevelTag } from './level-tag.js';
|
|
|
20
16
|
* LICENSE file in the root directory of this source tree.
|
|
21
17
|
*/
|
|
22
18
|
/**
|
|
23
|
-
* Manages the active level root, enforces identity transforms, and loads
|
|
19
|
+
* Manages the active level root, enforces identity transforms, and atomically loads levels.
|
|
24
20
|
*
|
|
25
21
|
* @remarks
|
|
26
|
-
* -
|
|
27
|
-
* -
|
|
22
|
+
* - Stages replacement content invisibly and destroys the prior level only after a successful load.
|
|
23
|
+
* - Rejects failed loads while keeping the prior level active.
|
|
24
|
+
* - Loads native scene JSON documents or native scene JSON URLs.
|
|
28
25
|
* @category Scene
|
|
29
26
|
*/
|
|
30
27
|
class LevelSystem extends createSystem({
|
|
31
28
|
// All entities that belong to a level (will be destroyed on level change)
|
|
32
29
|
levelEntities: { required: [LevelTag] },
|
|
33
|
-
}, {
|
|
34
|
-
/** Attach a default gradient dome on level roots when none provided. */
|
|
35
|
-
defaultLighting: { type: Types.Boolean, default: true },
|
|
36
30
|
}) {
|
|
37
31
|
constructor() {
|
|
38
32
|
super(...arguments);
|
|
@@ -77,59 +71,127 @@ class LevelSystem extends createSystem({
|
|
|
77
71
|
if (this.loading) {
|
|
78
72
|
return;
|
|
79
73
|
}
|
|
80
|
-
const
|
|
81
|
-
|
|
74
|
+
const pendingUrl = this.world.requestedLevelUrl;
|
|
75
|
+
const pendingDocument = this.world.requestedLevelDocument;
|
|
76
|
+
if (pendingUrl === undefined && pendingDocument === undefined) {
|
|
82
77
|
return;
|
|
83
78
|
}
|
|
84
|
-
this.startLevelChange(
|
|
79
|
+
this.startLevelChange(pendingUrl !== null && pendingUrl !== void 0 ? pendingUrl : '', pendingDocument);
|
|
85
80
|
}
|
|
86
|
-
startLevelChange(url) {
|
|
81
|
+
startLevelChange(url, document = this.world.requestedLevelDocument) {
|
|
87
82
|
this.loading = true;
|
|
83
|
+
const resolveLoad = this.world._resolveLevelLoad;
|
|
84
|
+
const rejectLoad = this.world._rejectLevelLoad;
|
|
85
|
+
this.world._resolveLevelLoad = undefined;
|
|
86
|
+
this.world._rejectLevelLoad = undefined;
|
|
88
87
|
// Unset request now to avoid re-entry during async flow
|
|
89
88
|
this.world.requestedLevelUrl = undefined;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
89
|
+
this.world.requestedLevelDocument = undefined;
|
|
90
|
+
const previousRoot = this.world.activeLevel.value;
|
|
91
|
+
const previousLevelId = this.world.activeLevelId;
|
|
92
|
+
const previousEntities = new Set(this.queries.levelEntities.entities);
|
|
93
|
+
const nextLevelId = url || 'level:default';
|
|
94
|
+
const environmentAtLoadStart = captureSceneEnvironment(this.world.scene, this.world.renderer);
|
|
95
|
+
// Stage the replacement under the scene root without exposing it as active.
|
|
96
|
+
this.world.activeLevelId = nextLevelId;
|
|
98
97
|
const newRoot = this.world.createTransformEntity(undefined, {
|
|
99
98
|
parent: this.world.sceneEntity,
|
|
100
99
|
});
|
|
101
100
|
newRoot.object3D.name = 'LevelRoot';
|
|
101
|
+
newRoot.object3D.visible = false;
|
|
102
102
|
newRoot.addComponent(LevelRoot);
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
103
|
+
const doLoad = document != null
|
|
104
|
+
? SceneJSONImporter.loadDocument(this.world, document, newRoot)
|
|
105
|
+
: url
|
|
106
|
+
? SceneJSONImporter.load(this.world, url, newRoot)
|
|
107
|
+
: Promise.resolve();
|
|
107
108
|
void doLoad
|
|
108
|
-
.
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
//
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
if (!hasDome && !hasIBL) {
|
|
119
|
-
newRoot.addComponent(DomeGradient).addComponent(IBLGradient);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
109
|
+
.then((loadResult) => {
|
|
110
|
+
var _a;
|
|
111
|
+
const nativeResult = asNativeSceneLoadResult(loadResult);
|
|
112
|
+
// Prepare the next authored environment against the stable pre-level
|
|
113
|
+
// baseline. The apply is transactional and retires the active level's
|
|
114
|
+
// generated resources only after the replacement is ready.
|
|
115
|
+
const nextEnvironmentBase = (_a = this.activeEnvironmentBase) !== null && _a !== void 0 ? _a : environmentAtLoadStart;
|
|
116
|
+
applySceneEnvironment(this.world.scene, this.world.renderer, nativeResult === null || nativeResult === void 0 ? void 0 : nativeResult.document.environment, nextEnvironmentBase);
|
|
117
|
+
if (nativeResult != null) {
|
|
118
|
+
newRoot.object3D.userData.iwsdkSceneResources = cloneJson(nativeResult.document.resources);
|
|
122
119
|
}
|
|
123
|
-
|
|
124
|
-
|
|
120
|
+
applyScenePlayerRig(this.world, nativeResult === null || nativeResult === void 0 ? void 0 : nativeResult.document.player, {
|
|
121
|
+
resolveEntityReference: nativeResult == null
|
|
122
|
+
? undefined
|
|
123
|
+
: createSceneEntityReferenceResolver(this.world, newRoot, nativeResult.nodes),
|
|
124
|
+
});
|
|
125
|
+
disposeLevelEntities(previousEntities);
|
|
126
|
+
activateScenePlayerAttachments(nativeResult);
|
|
127
|
+
newRoot.object3D.visible = true;
|
|
128
|
+
this.world.activeLevelId = nextLevelId;
|
|
129
|
+
this.world.activeLevel.value = newRoot;
|
|
130
|
+
if (nativeResult != null) {
|
|
131
|
+
applySceneHeroCamera(this.world, nativeResult.document);
|
|
125
132
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
133
|
+
this.activeEnvironmentBase = nextEnvironmentBase;
|
|
134
|
+
this.loading = false;
|
|
135
|
+
resolveLoad === null || resolveLoad === void 0 ? void 0 : resolveLoad();
|
|
136
|
+
})
|
|
137
|
+
.catch((error) => {
|
|
138
|
+
const stagedEntities = new Set([newRoot]);
|
|
139
|
+
for (const entity of this.queries.levelEntities.entities) {
|
|
140
|
+
if (!previousEntities.has(entity)) {
|
|
141
|
+
stagedEntities.add(entity);
|
|
142
|
+
}
|
|
129
143
|
}
|
|
144
|
+
disposeLevelEntities(stagedEntities);
|
|
145
|
+
restoreSceneEnvironment(this.world.scene, this.world.renderer, environmentAtLoadStart);
|
|
146
|
+
this.world.activeLevelId = previousLevelId;
|
|
147
|
+
this.world.activeLevel.value = previousRoot;
|
|
148
|
+
console.error('[LevelSystem] Failed to load level', error);
|
|
149
|
+
this.loading = false;
|
|
150
|
+
rejectLoad === null || rejectLoad === void 0 ? void 0 : rejectLoad(error);
|
|
130
151
|
});
|
|
131
152
|
}
|
|
132
153
|
}
|
|
154
|
+
/** Apply a composed scene's authored hero view to the non-immersive camera. */
|
|
155
|
+
function applySceneHeroCamera(world, document) {
|
|
156
|
+
var _a, _b, _c, _d, _e;
|
|
157
|
+
if (((_a = world.renderer.xr) === null || _a === void 0 ? void 0 : _a.isPresenting) === true) {
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
const heroViewId = (_c = (_b = document.authoring) === null || _b === void 0 ? void 0 : _b.composition) === null || _c === void 0 ? void 0 : _c.review.heroView;
|
|
161
|
+
const view = (_e = (_d = document.authoring) === null || _d === void 0 ? void 0 : _d.views) === null || _e === void 0 ? void 0 : _e.find((candidate) => candidate.id === heroViewId && candidate.projection === 'perspective');
|
|
162
|
+
if (view == null) {
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
const cameraPosition = new Vector3(...view.position);
|
|
166
|
+
if (world.camera.parent != null) {
|
|
167
|
+
world.camera.parent.updateWorldMatrix(true, false);
|
|
168
|
+
world.camera.parent.worldToLocal(cameraPosition);
|
|
169
|
+
}
|
|
170
|
+
world.camera.position.copy(cameraPosition);
|
|
171
|
+
world.camera.lookAt(...view.target);
|
|
172
|
+
if ('fov' in world.camera) {
|
|
173
|
+
world.camera.fov = view.fov;
|
|
174
|
+
}
|
|
175
|
+
world.camera.updateProjectionMatrix();
|
|
176
|
+
world.camera.userData.iwsdkSceneHeroView = cloneJson(view);
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
function disposeLevelEntities(entities) {
|
|
180
|
+
const uniqueEntities = [...new Set(entities)];
|
|
181
|
+
disposeSceneObjectResources(...uniqueEntities.flatMap((entity) => entity.object3D == null ? [] : [entity.object3D]));
|
|
182
|
+
for (const entity of uniqueEntities) {
|
|
183
|
+
try {
|
|
184
|
+
entity.destroy();
|
|
185
|
+
}
|
|
186
|
+
catch (_a) { }
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
function asNativeSceneLoadResult(value) {
|
|
190
|
+
return value != null && 'document' in value ? value : undefined;
|
|
191
|
+
}
|
|
192
|
+
function cloneJson(value) {
|
|
193
|
+
return JSON.parse(JSON.stringify(value));
|
|
194
|
+
}
|
|
133
195
|
|
|
134
|
-
export { LevelSystem };
|
|
196
|
+
export { LevelSystem, applySceneHeroCamera };
|
|
135
197
|
//# sourceMappingURL=level-system.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"level-system.js","sources":["../../src/level/level-system.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"level-system.js","sources":["../../src/level/level-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import { Types } from '../ecs/
|
|
7
|
+
import { Types } from '../ecs/component.js';
|
|
8
8
|
/**
|
|
9
9
|
* Tags entities as belonging to the active level.
|
|
10
10
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"level-tag.d.ts","sourceRoot":"","sources":["../../src/level/level-tag.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,
|
|
1
|
+
{"version":3,"file":"level-tag.d.ts","sourceRoot":"","sources":["../../src/level/level-tag.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAC7D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ;;;;;EAMpB,CAAC"}
|
package/dist/level/level-tag.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"level-tag.js","sources":["../../src/level/level-tag.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"level-tag.js","sources":["../../src/level/level-tag.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;AAGH;;;;;;;;;;AAUG;AACI,MAAM,QAAQ,GAAG,eAAe,CACrC,UAAU,EACV;AACE,IAAA,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;CACxC,EACD,uCAAuC;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
export * from './light-binding.js';
|
|
8
|
+
export * from './light-components.js';
|
|
9
|
+
export * from './light-system.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lighting/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { LightBinding } from './light-binding.js';
|
|
2
|
+
export { AmbientLightComponent, DirectionalLightComponent, HemisphereLightComponent, IWSDK_LIGHT_COMPONENTS, LightShadowMapSize, PointLightComponent, RectAreaLightComponent, SpotLightComponent } from './light-components.js';
|
|
3
|
+
export { LightSystem, lightSpecFromComponentValue, readLightSpec } from './light-system.js';
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { Light, Object3D } from '../runtime/index.js';
|
|
8
|
+
export type LightColor = readonly [number, number, number, number];
|
|
9
|
+
export interface LightShadowSpec {
|
|
10
|
+
castShadow: boolean;
|
|
11
|
+
shadowBias: number;
|
|
12
|
+
shadowCameraFar: number;
|
|
13
|
+
shadowCameraNear: number;
|
|
14
|
+
shadowMapSize: number;
|
|
15
|
+
shadowNormalBias: number;
|
|
16
|
+
shadowRadius: number;
|
|
17
|
+
}
|
|
18
|
+
export type LightSpec = {
|
|
19
|
+
kind: 'ambient';
|
|
20
|
+
color: LightColor;
|
|
21
|
+
intensity: number;
|
|
22
|
+
} | {
|
|
23
|
+
kind: 'hemisphere';
|
|
24
|
+
groundColor: LightColor;
|
|
25
|
+
intensity: number;
|
|
26
|
+
skyColor: LightColor;
|
|
27
|
+
} | ({
|
|
28
|
+
kind: 'directional';
|
|
29
|
+
color: LightColor;
|
|
30
|
+
intensity: number;
|
|
31
|
+
shadowCameraSize: number;
|
|
32
|
+
} & LightShadowSpec) | ({
|
|
33
|
+
kind: 'point';
|
|
34
|
+
color: LightColor;
|
|
35
|
+
decay: number;
|
|
36
|
+
distance: number;
|
|
37
|
+
intensity: number;
|
|
38
|
+
} & LightShadowSpec) | ({
|
|
39
|
+
kind: 'spot';
|
|
40
|
+
angleDeg: number;
|
|
41
|
+
color: LightColor;
|
|
42
|
+
decay: number;
|
|
43
|
+
distance: number;
|
|
44
|
+
intensity: number;
|
|
45
|
+
penumbra: number;
|
|
46
|
+
} & LightShadowSpec) | {
|
|
47
|
+
kind: 'rect-area';
|
|
48
|
+
color: LightColor;
|
|
49
|
+
height: number;
|
|
50
|
+
intensity: number;
|
|
51
|
+
width: number;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Owns one Three.js light and keeps runtime and managed-editor materialization identical.
|
|
55
|
+
*/
|
|
56
|
+
export declare class LightBinding {
|
|
57
|
+
readonly parent: Object3D;
|
|
58
|
+
readonly targetRoot: Object3D;
|
|
59
|
+
readonly light: Light;
|
|
60
|
+
readonly target: Object3D | undefined;
|
|
61
|
+
private readonly desiredWorldMatrix;
|
|
62
|
+
private readonly inverseParentMatrix;
|
|
63
|
+
private readonly localMatrix;
|
|
64
|
+
private readonly worldPosition;
|
|
65
|
+
private readonly worldQuaternion;
|
|
66
|
+
private readonly worldDirection;
|
|
67
|
+
private disposed;
|
|
68
|
+
private specSignature;
|
|
69
|
+
constructor(parent: Object3D, targetRoot: Object3D, spec: LightSpec);
|
|
70
|
+
update(spec: LightSpec): void;
|
|
71
|
+
/** Synchronize position and rotation while deliberately removing inherited scale. */
|
|
72
|
+
syncTransform(): void;
|
|
73
|
+
dispose(): void;
|
|
74
|
+
private assertActive;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=light-binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"light-binding.d.ts","sourceRoot":"","sources":["../../src/lighting/light-binding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAKL,KAAK,EAEL,QAAQ,EAOT,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,UAAU,CAAC;CACtB,GACD,CAAC;IACC,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,eAAe,CAAC,GACpB,CAAC;IACC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,eAAe,CAAC,GACpB,CAAC;IACC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,eAAe,CAAC,GACpB;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAqEN;;GAEG;AACH,qBAAa,YAAY;IAcrB,QAAQ,CAAC,MAAM,EAAE,QAAQ;IACzB,QAAQ,CAAC,UAAU,EAAE,QAAQ;IAd/B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IAEtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiB;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAiB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAM;gBAGhB,MAAM,EAAE,QAAQ,EAChB,UAAU,EAAE,QAAQ,EAC7B,IAAI,EAAE,SAAS;IAwBjB,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAoE7B,qFAAqF;IACrF,aAAa,IAAI,IAAI;IAmCrB,OAAO,IAAI,IAAI;IAUf,OAAO,CAAC,YAAY;CAKrB"}
|