@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
|
@@ -0,0 +1,32 @@
|
|
|
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 { Types } from '../ecs/component.js';
|
|
8
|
+
/**
|
|
9
|
+
* 3D transform component that binds an entity to a Three.js Object3D.
|
|
10
|
+
*
|
|
11
|
+
* @category Scene
|
|
12
|
+
* @hideineditor
|
|
13
|
+
*/
|
|
14
|
+
export declare const Transform: import("elics").Component<{
|
|
15
|
+
position: {
|
|
16
|
+
type: Types.Vec3;
|
|
17
|
+
default: [number, number, number];
|
|
18
|
+
};
|
|
19
|
+
orientation: {
|
|
20
|
+
type: Types.Vec4;
|
|
21
|
+
default: [number, number, number, number];
|
|
22
|
+
};
|
|
23
|
+
scale: {
|
|
24
|
+
type: Types.Vec3;
|
|
25
|
+
default: [number, number, number];
|
|
26
|
+
};
|
|
27
|
+
parent: {
|
|
28
|
+
type: Types.Entity;
|
|
29
|
+
default: any;
|
|
30
|
+
};
|
|
31
|
+
}>;
|
|
32
|
+
//# sourceMappingURL=transform-component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-component.d.ts","sourceRoot":"","sources":["../../src/transform/transform-component.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;iBAOoC,GAAG;;EAK5D,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { setComponentEditorMetadata } from '../ecs/component-editor-metadata.js';
|
|
2
|
+
import { createComponent, Types } from 'elics';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* 3D transform component that binds an entity to a Three.js Object3D.
|
|
12
|
+
*
|
|
13
|
+
* @category Scene
|
|
14
|
+
* @hideineditor
|
|
15
|
+
*/
|
|
16
|
+
const Transform = setComponentEditorMetadata(createComponent('Transform', {
|
|
17
|
+
position: { type: Types.Vec3, default: [NaN, NaN, NaN] },
|
|
18
|
+
orientation: { type: Types.Vec4, default: [NaN, NaN, NaN, NaN] },
|
|
19
|
+
scale: { type: Types.Vec3, default: [NaN, NaN, NaN] },
|
|
20
|
+
parent: { type: Types.Entity, default: undefined },
|
|
21
|
+
}, 'Component for 3D transformation (position, rotation, scale)'), { hidden: true, intrinsic: true });
|
|
22
|
+
|
|
23
|
+
export { Transform };
|
|
24
|
+
//# sourceMappingURL=transform-component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-component.js","sources":["../../src/transform/transform-component.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;;;;;AAKG;AAKH;;;;;AAKG;MACU,SAAS,GAAG,0BAA0B,CACjD,eAAe,CACb,WAAW,EACX;AACE,IAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;AACxD,IAAA,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;AAChE,IAAA,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;IACrD,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,SAAgB,EAAE;AAC1D,CAAA,EACD,6DAA6D,CAC9D,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;;;;"}
|
|
@@ -4,77 +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
|
-
|
|
8
|
-
/**
|
|
9
|
-
* 3D transform component that binds an entity to a Three.js Object3D.
|
|
10
|
-
*
|
|
11
|
-
* @remarks
|
|
12
|
-
* - The {@link TransformSystem} wires Object3D.position/quaternion/scale to
|
|
13
|
-
* component views for zero‑copy updates and parenting.
|
|
14
|
-
* - Default values are `NaN` so an existing Object3D keeps its initial transform
|
|
15
|
-
* unless a value is explicitly written by code or GLXF.
|
|
16
|
-
* - Set `parent` to reparent under another entity. When unset, entities are
|
|
17
|
-
* automatically parented under the active level root (or scene if persistent).
|
|
18
|
-
*
|
|
19
|
-
* @category Scene
|
|
20
|
-
* @hideineditor
|
|
21
|
-
*/
|
|
22
|
-
export declare const Transform: import("elics").Component<{
|
|
23
|
-
position: {
|
|
24
|
-
type: Types.Vec3;
|
|
25
|
-
default: [number, number, number];
|
|
26
|
-
};
|
|
27
|
-
orientation: {
|
|
28
|
-
type: Types.Vec4;
|
|
29
|
-
default: [number, number, number, number];
|
|
30
|
-
};
|
|
31
|
-
scale: {
|
|
32
|
-
type: Types.Vec3;
|
|
33
|
-
default: [number, number, number];
|
|
34
|
-
};
|
|
35
|
-
parent: {
|
|
36
|
-
type: Types.Entity;
|
|
37
|
-
default: any;
|
|
38
|
-
};
|
|
39
|
-
}>;
|
|
7
|
+
export { Transform } from './transform-component.js';
|
|
40
8
|
declare const TransformSystem_base: import("elics").SystemConstructor<import("elics").SystemSchema, {
|
|
41
9
|
transform: {
|
|
42
10
|
required: import("elics").Component<{
|
|
43
11
|
position: {
|
|
44
|
-
type: Types.Vec3;
|
|
12
|
+
type: import("elics").Types.Vec3;
|
|
45
13
|
default: [number, number, number];
|
|
46
14
|
};
|
|
47
15
|
orientation: {
|
|
48
|
-
type: Types.Vec4;
|
|
16
|
+
type: import("elics").Types.Vec4;
|
|
49
17
|
default: [number, number, number, number];
|
|
50
18
|
};
|
|
51
19
|
scale: {
|
|
52
|
-
type: Types.Vec3;
|
|
20
|
+
type: import("elics").Types.Vec3;
|
|
53
21
|
default: [number, number, number];
|
|
54
22
|
};
|
|
55
23
|
parent: {
|
|
56
|
-
type: Types.Entity;
|
|
24
|
+
type: import("elics").Types.Entity;
|
|
57
25
|
default: any;
|
|
58
26
|
};
|
|
59
27
|
}>[];
|
|
60
28
|
};
|
|
61
|
-
}, import("../
|
|
29
|
+
}, import("../index.js").World, import("../ecs/system.js").System<import("elics").SystemSchema, {
|
|
62
30
|
transform: {
|
|
63
31
|
required: import("elics").Component<{
|
|
64
32
|
position: {
|
|
65
|
-
type: Types.Vec3;
|
|
33
|
+
type: import("elics").Types.Vec3;
|
|
66
34
|
default: [number, number, number];
|
|
67
35
|
};
|
|
68
36
|
orientation: {
|
|
69
|
-
type: Types.Vec4;
|
|
37
|
+
type: import("elics").Types.Vec4;
|
|
70
38
|
default: [number, number, number, number];
|
|
71
39
|
};
|
|
72
40
|
scale: {
|
|
73
|
-
type: Types.Vec3;
|
|
41
|
+
type: import("elics").Types.Vec3;
|
|
74
42
|
default: [number, number, number];
|
|
75
43
|
};
|
|
76
44
|
parent: {
|
|
77
|
-
type: Types.Entity;
|
|
45
|
+
type: import("elics").Types.Entity;
|
|
78
46
|
default: any;
|
|
79
47
|
};
|
|
80
48
|
}>[];
|
|
@@ -96,5 +64,4 @@ export declare class TransformSystem extends TransformSystem_base {
|
|
|
96
64
|
init(): void;
|
|
97
65
|
update(): void;
|
|
98
66
|
}
|
|
99
|
-
export {};
|
|
100
67
|
//# sourceMappingURL=transform.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/transform/transform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/transform/transform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsIrD;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,SAAQ,oBAEnC;IACA,IAAI,IAAI,IAAI;IAKZ,MAAM,IAAI,IAAI;CA+Bf"}
|
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import { createSystem } from '../ecs/system.js';
|
|
2
|
-
import '../ecs/world.js';
|
|
3
|
-
import { createComponent, Types } from 'elics';
|
|
4
1
|
import { NullEntity } from '../ecs/entity.js';
|
|
5
|
-
import '../ecs/
|
|
2
|
+
import { createSystem } from '../ecs/system.js';
|
|
6
3
|
import '../level/level-system.js';
|
|
7
4
|
import { LevelTag } from '../level/level-tag.js';
|
|
8
|
-
import '
|
|
9
|
-
import '../asset/asset-manager.js';
|
|
10
|
-
import '../asset/cache-manager.js';
|
|
5
|
+
import 'elics';
|
|
11
6
|
import '@pmndrs/uikit';
|
|
12
7
|
import '@preact/signals-core';
|
|
13
8
|
import { Vector3, Quaternion, Euler } from 'three';
|
|
9
|
+
import '../runtime/three.js';
|
|
14
10
|
import '../ui/ui.js';
|
|
11
|
+
import '@drawcall/uikitml';
|
|
12
|
+
import '../asset/asset-manager.js';
|
|
13
|
+
import '../asset/cache-manager.js';
|
|
15
14
|
import '../ui/follow.js';
|
|
16
15
|
import '../ui/screenspace.js';
|
|
16
|
+
import '@iwsdk/scene-composition';
|
|
17
|
+
import 'three/examples/jsm/geometries/RoundedBoxGeometry.js';
|
|
17
18
|
import '../level/level-root.js';
|
|
18
|
-
import '../runtime/three.js';
|
|
19
19
|
import { SyncedEuler } from './synced-euler.js';
|
|
20
20
|
import { SyncedQuaternion } from './synced-quaternion.js';
|
|
21
21
|
import { SyncedVector3 } from './synced-vector3.js';
|
|
22
|
+
import { Transform } from './transform-component.js';
|
|
22
23
|
|
|
23
24
|
/**
|
|
24
25
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
@@ -26,26 +27,6 @@ import { SyncedVector3 } from './synced-vector3.js';
|
|
|
26
27
|
* This source code is licensed under the MIT license found in the
|
|
27
28
|
* LICENSE file in the root directory of this source tree.
|
|
28
29
|
*/
|
|
29
|
-
/**
|
|
30
|
-
* 3D transform component that binds an entity to a Three.js Object3D.
|
|
31
|
-
*
|
|
32
|
-
* @remarks
|
|
33
|
-
* - The {@link TransformSystem} wires Object3D.position/quaternion/scale to
|
|
34
|
-
* component views for zero‑copy updates and parenting.
|
|
35
|
-
* - Default values are `NaN` so an existing Object3D keeps its initial transform
|
|
36
|
-
* unless a value is explicitly written by code or GLXF.
|
|
37
|
-
* - Set `parent` to reparent under another entity. When unset, entities are
|
|
38
|
-
* automatically parented under the active level root (or scene if persistent).
|
|
39
|
-
*
|
|
40
|
-
* @category Scene
|
|
41
|
-
* @hideineditor
|
|
42
|
-
*/
|
|
43
|
-
const Transform = createComponent('Transform', {
|
|
44
|
-
position: { type: Types.Vec3, default: [NaN, NaN, NaN] }, // Local position [x,y,z]; NaN preserves Object3D value
|
|
45
|
-
orientation: { type: Types.Vec4, default: [NaN, NaN, NaN, NaN] }, // Local rotation quaternion [x,y,z,w]; NaN preserves
|
|
46
|
-
scale: { type: Types.Vec3, default: [NaN, NaN, NaN] }, // Local scale [x,y,z]; NaN preserves
|
|
47
|
-
parent: { type: Types.Entity, default: undefined }, // Parent entity for hierarchy (defaults to level root)
|
|
48
|
-
}, 'Component for 3D transformation (position, rotation, scale)');
|
|
49
30
|
function attachToEntity(entity) {
|
|
50
31
|
const object3D = entity.object3D;
|
|
51
32
|
if (!object3D) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sources":["../../src/transform/transform.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transform.js","sources":["../../src/transform/transform.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/ui/document.d.ts
CHANGED
|
@@ -24,20 +24,23 @@ export declare class UIKitDocument extends Group {
|
|
|
24
24
|
private classMap;
|
|
25
25
|
private _rootElement;
|
|
26
26
|
private _abortController;
|
|
27
|
+
private _disposed;
|
|
27
28
|
/** Reactive target width in meters. Set via {@link setTargetDimensions}. */
|
|
28
29
|
readonly targetWidth: Signal<number>;
|
|
29
30
|
/** Reactive target height in meters. Set via {@link setTargetDimensions}. */
|
|
30
31
|
readonly targetHeight: Signal<number>;
|
|
31
32
|
/**
|
|
32
33
|
* Create a document backed by a UIKit root component.
|
|
33
|
-
* @param rootComponent The root `Component` produced
|
|
34
|
+
* @param rootComponent The root `Component` produced from a UIKitML document.
|
|
34
35
|
*/
|
|
35
36
|
constructor(rootComponent: Component<any>);
|
|
36
37
|
/**
|
|
37
38
|
* Return the first element with a matching `id` (UIKit property).
|
|
38
39
|
* @param id The element identifier without the `#` prefix.
|
|
39
40
|
*/
|
|
40
|
-
getElementById(id: string):
|
|
41
|
+
getElementById<T extends Component<any> = Component<any>>(id: string): T | null;
|
|
42
|
+
/** Return a typed element or throw a source-oriented lookup error. */
|
|
43
|
+
requireElementById<T extends Component<any> = Component<any>>(id: string): T;
|
|
41
44
|
/**
|
|
42
45
|
* Return all elements that include `className` in their class list.
|
|
43
46
|
* @param className The class without the preceding dot.
|
|
@@ -85,6 +88,8 @@ export declare class UIKitDocument extends Group {
|
|
|
85
88
|
* @param height Target height in meters.
|
|
86
89
|
*/
|
|
87
90
|
setTargetDimensions(width: number, height: number): void;
|
|
91
|
+
/** Restore intrinsic UIKit size so the parent entity transform owns scaling. */
|
|
92
|
+
clearTargetDimensions(): void;
|
|
88
93
|
/**
|
|
89
94
|
* Current intrinsic size of the UIKit root component (in UIKit units, centimeters),
|
|
90
95
|
* if available from the underlying component's `size` signal.
|
|
@@ -100,6 +105,8 @@ export declare class UIKitDocument extends Group {
|
|
|
100
105
|
};
|
|
101
106
|
/** The root UIKit component for this document. */
|
|
102
107
|
get rootElement(): Component<any>;
|
|
108
|
+
/** Whether this document has released its UIKit resources. */
|
|
109
|
+
get disposed(): boolean;
|
|
103
110
|
/**
|
|
104
111
|
* Dispose of internal resources and detach children. Safe to call multiple times.
|
|
105
112
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/ui/document.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAU,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAY,MAAM,OAAO,CAAC;AAExC;;;;;;;;;;;GAWG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,gBAAgB,CAAyB;
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/ui/document.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAU,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAY,MAAM,OAAO,CAAC;AAExC;;;;;;;;;;;GAWG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,SAAS,CAAS;IAE1B,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAa;IACjD,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAa;IAElD;;;OAGG;gBACS,aAAa,EAAE,SAAS,CAAC,GAAG,CAAC;IAUzC;;;OAGG;IACH,cAAc,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,EACtD,EAAE,EAAE,MAAM,GACT,CAAC,GAAG,IAAI;IAIX,sEAAsE;IACtE,kBAAkB,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC;IAQ5E;;;OAGG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE;IAI3D;;;;;;;;OAQG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI;IAKtD;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE;IAkBpD,wDAAwD;IACxD,OAAO,CAAC,uBAAuB;IA4B/B,8DAA8D;IAC9D,OAAO,CAAC,eAAe;IASvB,8DAA8D;IAC9D,OAAO,CAAC,iBAAiB;IAgBzB,0EAA0E;IAC1E,OAAO,CAAC,eAAe;IAsBvB;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO;IAW1E,gEAAgE;IAChE,sBAAsB,CACpB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,SAAS,CAAC,GAAG,CAAC,EAAE;IAGnB,mEAAmE;IACnE,mBAAmB,CACjB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI;IAGxB,6EAA6E;IAC7E,OAAO,CAAC,qBAAqB;IAqB7B,0FAA0F;IAC1F,OAAO,CAAC,aAAa;IAoCrB;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAKxD,gFAAgF;IAChF,qBAAqB,IAAI,IAAI;IAK7B;;;OAGG;IACH,IAAI,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAS3D;IAED,gEAAgE;IAChE,IAAI,UAAU,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAKlD;IAED,kDAAkD;IAClD,IAAI,WAAW,IAAI,SAAS,CAAC,GAAG,CAAC,CAEhC;IAED,8DAA8D;IAC9D,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,OAAO,IAAI,IAAI;IAsBf,2CAA2C;IAC3C,QAAQ,IAAI,MAAM;IAQlB,kDAAkD;IAClD,OAAO,CAAC,aAAa;CA+BtB"}
|
package/dist/ui/document.js
CHANGED
|
@@ -23,13 +23,14 @@ import { Group } from 'three';
|
|
|
23
23
|
class UIKitDocument extends Group {
|
|
24
24
|
/**
|
|
25
25
|
* Create a document backed by a UIKit root component.
|
|
26
|
-
* @param rootComponent The root `Component` produced
|
|
26
|
+
* @param rootComponent The root `Component` produced from a UIKitML document.
|
|
27
27
|
*/
|
|
28
28
|
constructor(rootComponent) {
|
|
29
29
|
super();
|
|
30
30
|
this.elementMap = new Map();
|
|
31
31
|
this.classMap = new Map();
|
|
32
32
|
this._abortController = new AbortController();
|
|
33
|
+
this._disposed = false;
|
|
33
34
|
/** Reactive target width in meters. Set via {@link setTargetDimensions}. */
|
|
34
35
|
this.targetWidth = signal(0);
|
|
35
36
|
/** Reactive target height in meters. Set via {@link setTargetDimensions}. */
|
|
@@ -44,7 +45,16 @@ class UIKitDocument extends Group {
|
|
|
44
45
|
* @param id The element identifier without the `#` prefix.
|
|
45
46
|
*/
|
|
46
47
|
getElementById(id) {
|
|
47
|
-
|
|
48
|
+
var _a;
|
|
49
|
+
return (_a = this.elementMap.get(id)) !== null && _a !== void 0 ? _a : null;
|
|
50
|
+
}
|
|
51
|
+
/** Return a typed element or throw a source-oriented lookup error. */
|
|
52
|
+
requireElementById(id) {
|
|
53
|
+
const element = this.getElementById(id);
|
|
54
|
+
if (!element) {
|
|
55
|
+
throw new Error(`UIKitML element "#${id}" was not found`);
|
|
56
|
+
}
|
|
57
|
+
return element;
|
|
48
58
|
}
|
|
49
59
|
/**
|
|
50
60
|
* Return all elements that include `className` in their class list.
|
|
@@ -183,9 +193,11 @@ class UIKitDocument extends Group {
|
|
|
183
193
|
const targetWorldWidth = this.targetWidth.value;
|
|
184
194
|
const targetWorldHeight = this.targetHeight.value;
|
|
185
195
|
const uiNaturalSize = (_a = this._rootElement.size) === null || _a === void 0 ? void 0 : _a.value;
|
|
186
|
-
if (targetWorldWidth
|
|
187
|
-
|
|
188
|
-
|
|
196
|
+
if (targetWorldWidth <= 0 || targetWorldHeight <= 0) {
|
|
197
|
+
this.scale.setScalar(1);
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
if (uiNaturalSize &&
|
|
189
201
|
Array.isArray(uiNaturalSize) &&
|
|
190
202
|
uiNaturalSize.length >= 2) {
|
|
191
203
|
const [uiWidth, uiHeight] = uiNaturalSize;
|
|
@@ -214,6 +226,11 @@ class UIKitDocument extends Group {
|
|
|
214
226
|
this.targetWidth.value = width;
|
|
215
227
|
this.targetHeight.value = height;
|
|
216
228
|
}
|
|
229
|
+
/** Restore intrinsic UIKit size so the parent entity transform owns scaling. */
|
|
230
|
+
clearTargetDimensions() {
|
|
231
|
+
this.targetWidth.value = 0;
|
|
232
|
+
this.targetHeight.value = 0;
|
|
233
|
+
}
|
|
217
234
|
/**
|
|
218
235
|
* Current intrinsic size of the UIKit root component (in UIKit units, centimeters),
|
|
219
236
|
* if available from the underlying component's `size` signal.
|
|
@@ -240,10 +257,18 @@ class UIKitDocument extends Group {
|
|
|
240
257
|
get rootElement() {
|
|
241
258
|
return this._rootElement;
|
|
242
259
|
}
|
|
260
|
+
/** Whether this document has released its UIKit resources. */
|
|
261
|
+
get disposed() {
|
|
262
|
+
return this._disposed;
|
|
263
|
+
}
|
|
243
264
|
/**
|
|
244
265
|
* Dispose of internal resources and detach children. Safe to call multiple times.
|
|
245
266
|
*/
|
|
246
267
|
dispose() {
|
|
268
|
+
if (this._disposed) {
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
this._disposed = true;
|
|
247
272
|
// Abort all effects to clean up signal subscriptions
|
|
248
273
|
this._abortController.abort();
|
|
249
274
|
// Dispose of the root UIKit Component which will clean up all resources
|
package/dist/ui/document.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sources":["../../src/ui/document.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;;;;;AAKG;AAMH;;;;;;;;;;;AAWG;AACG,MAAO,aAAc,SAAQ,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"document.js","sources":["../../src/ui/document.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
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 { Types } from '../ecs/component.js';
|
|
8
|
+
/** Behavior modes for {@link Follower}. @category UI */
|
|
9
|
+
export declare const FollowBehavior: {
|
|
10
|
+
FaceTarget: string;
|
|
11
|
+
PivotY: string;
|
|
12
|
+
NoRotation: string;
|
|
13
|
+
};
|
|
14
|
+
/** Makes an entity follow a target Object3D. */
|
|
15
|
+
export declare const Follower: import("elics").Component<{
|
|
16
|
+
target: {
|
|
17
|
+
type: Types.Object;
|
|
18
|
+
default: undefined;
|
|
19
|
+
widget: string;
|
|
20
|
+
required: boolean;
|
|
21
|
+
help: string;
|
|
22
|
+
};
|
|
23
|
+
offsetPosition: {
|
|
24
|
+
type: Types.Vec3;
|
|
25
|
+
default: [number, number, number];
|
|
26
|
+
};
|
|
27
|
+
behavior: {
|
|
28
|
+
type: Types.Enum;
|
|
29
|
+
enum: {
|
|
30
|
+
FaceTarget: string;
|
|
31
|
+
PivotY: string;
|
|
32
|
+
NoRotation: string;
|
|
33
|
+
};
|
|
34
|
+
default: string;
|
|
35
|
+
};
|
|
36
|
+
maxAngle: {
|
|
37
|
+
type: Types.Float32;
|
|
38
|
+
default: number;
|
|
39
|
+
};
|
|
40
|
+
tolerance: {
|
|
41
|
+
type: Types.Float32;
|
|
42
|
+
default: number;
|
|
43
|
+
};
|
|
44
|
+
speed: {
|
|
45
|
+
type: Types.Float32;
|
|
46
|
+
default: number;
|
|
47
|
+
};
|
|
48
|
+
needsPositionSync: {
|
|
49
|
+
type: Types.Boolean;
|
|
50
|
+
default: true;
|
|
51
|
+
};
|
|
52
|
+
_followTarget: {
|
|
53
|
+
type: Types.Vec3;
|
|
54
|
+
default: [number, number, number];
|
|
55
|
+
};
|
|
56
|
+
}>;
|
|
57
|
+
//# sourceMappingURL=follow-component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow-component.d.ts","sourceRoot":"","sources":["../../src/ui/follow-component.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAE7D,wDAAwD;AACxD,eAAO,MAAM,cAAc;;;;CAI1B,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBpB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createComponent, Types } from 'elics';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
/** Behavior modes for {@link Follower}. @category UI */
|
|
10
|
+
const FollowBehavior = {
|
|
11
|
+
FaceTarget: 'face-target',
|
|
12
|
+
PivotY: 'pivot-y',
|
|
13
|
+
NoRotation: 'no-rotation',
|
|
14
|
+
};
|
|
15
|
+
/** Makes an entity follow a target Object3D. */
|
|
16
|
+
const Follower = createComponent('Follower', {
|
|
17
|
+
target: {
|
|
18
|
+
type: Types.Object,
|
|
19
|
+
default: undefined,
|
|
20
|
+
widget: 'entity',
|
|
21
|
+
required: true,
|
|
22
|
+
help: 'Drag an authored or built-in scene entity here',
|
|
23
|
+
},
|
|
24
|
+
offsetPosition: { type: Types.Vec3, default: [0, 0, 0] },
|
|
25
|
+
behavior: {
|
|
26
|
+
type: Types.Enum,
|
|
27
|
+
enum: FollowBehavior,
|
|
28
|
+
default: FollowBehavior.PivotY,
|
|
29
|
+
},
|
|
30
|
+
maxAngle: { type: Types.Float32, default: 30 },
|
|
31
|
+
tolerance: { type: Types.Float32, default: 0.4 },
|
|
32
|
+
speed: { type: Types.Float32, default: 1 },
|
|
33
|
+
needsPositionSync: { type: Types.Boolean, default: true },
|
|
34
|
+
_followTarget: { type: Types.Vec3, default: [0, 0, 0] },
|
|
35
|
+
}, 'Component for following another object');
|
|
36
|
+
|
|
37
|
+
export { FollowBehavior, Follower };
|
|
38
|
+
//# sourceMappingURL=follow-component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow-component.js","sources":["../../src/ui/follow-component.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;AAIH;AACO,MAAM,cAAc,GAAG;AAC5B,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,UAAU,EAAE,aAAa;;AAG3B;AACO,MAAM,QAAQ,GAAG,eAAe,CACrC,UAAU,EACV;AACE,IAAA,MAAM,EAAE;QACN,IAAI,EAAE,KAAK,CAAC,MAAM;AAClB,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,IAAI,EAAE,gDAAgD;AACvD,KAAA;AACD,IAAA,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AACxD,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,cAAc,CAAC,MAAM;AAC/B,KAAA;IACD,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;IAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;IAChD,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE;IAC1C,iBAAiB,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AACzD,IAAA,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;CACxD,EACD,wCAAwC;;;;"}
|