@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
package/dist/ui/ui.d.ts
CHANGED
|
@@ -5,79 +5,18 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import { Types } from '../ecs/component.js';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
/** Follow system/browser color scheme preference */
|
|
14
|
-
readonly System: "system";
|
|
15
|
-
/** Force light mode */
|
|
16
|
-
readonly Light: "light";
|
|
17
|
-
/** Force dark mode */
|
|
18
|
-
readonly Dark: "dark";
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Type representing available color scheme options.
|
|
22
|
-
* @category UI
|
|
23
|
-
*/
|
|
24
|
-
export type ColorScheme = (typeof ColorSchemeType)[keyof typeof ColorSchemeType];
|
|
25
|
-
/**
|
|
26
|
-
* Props accepted by the {@link PanelUI} component.
|
|
27
|
-
* @category UI
|
|
28
|
-
*/
|
|
29
|
-
export interface PanelUIProps {
|
|
30
|
-
/** Path to compiled UIKitML JSON. @example "/ui/settings.json" */
|
|
31
|
-
config: string;
|
|
32
|
-
/** Max panel width in meters. @defaultValue 1 */
|
|
33
|
-
maxWidth?: number;
|
|
34
|
-
/** Max panel height in meters. @defaultValue 1 */
|
|
35
|
-
maxHeight?: number;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Component for 3D panel UI elements with file‑based configuration.
|
|
39
|
-
*
|
|
40
|
-
* @remarks
|
|
41
|
-
* - Compile `.uikitml` → JSON using the UIKitML Vite plugin, then set {@link PanelUIProps.config}.
|
|
42
|
-
* - When parented to world space (default), {@link PanelUISystem} drives target dimensions from
|
|
43
|
-
* {@link PanelUIProps.maxWidth} / {@link PanelUIProps.maxHeight} and accounts for world scale.
|
|
44
|
-
* - Pointer events are forwarded by the input layer when canvas pointer events are enabled.
|
|
45
|
-
* @category UI
|
|
46
|
-
* @see /getting-started/06-spatial-ui
|
|
47
|
-
*/
|
|
48
|
-
export declare const PanelUI: import("elics").Component<{
|
|
49
|
-
/** Path to .json file */
|
|
50
|
-
config: {
|
|
8
|
+
export { ColorSchemeType, PanelDocument, PanelUI } from './panel-components.js';
|
|
9
|
+
export type { ColorScheme, PanelUIProps } from './panel-components.js';
|
|
10
|
+
declare const PanelUISystem_base: import("elics").SystemConstructor<{
|
|
11
|
+
/** Built-in UIKitML component collection. */
|
|
12
|
+
kit: {
|
|
51
13
|
type: Types.String;
|
|
52
|
-
default:
|
|
53
|
-
};
|
|
54
|
-
/** Max width constraint */
|
|
55
|
-
maxWidth: {
|
|
56
|
-
type: Types.Float32;
|
|
57
|
-
default: number;
|
|
14
|
+
default: import("@drawcall/uikitml").KitName;
|
|
58
15
|
};
|
|
59
|
-
/**
|
|
60
|
-
|
|
61
|
-
type: Types.Float32;
|
|
62
|
-
default: number;
|
|
63
|
-
};
|
|
64
|
-
}>;
|
|
65
|
-
/**
|
|
66
|
-
* Internal component containing the loaded UI document (a UIKitDocument `Group`).
|
|
67
|
-
* @category UI
|
|
68
|
-
* @hideineditor
|
|
69
|
-
*/
|
|
70
|
-
export declare const PanelDocument: import("elics").Component<{
|
|
71
|
-
document: {
|
|
16
|
+
/** Additional application-defined UIKitML components. */
|
|
17
|
+
componentSets: {
|
|
72
18
|
type: Types.Object;
|
|
73
|
-
default:
|
|
74
|
-
};
|
|
75
|
-
}>;
|
|
76
|
-
declare const PanelUISystem_base: import("elics").SystemConstructor<{
|
|
77
|
-
/** Additional pre-built UI component libraries */
|
|
78
|
-
kits: {
|
|
79
|
-
type: Types.Object;
|
|
80
|
-
default: {};
|
|
19
|
+
default: never[];
|
|
81
20
|
};
|
|
82
21
|
/** Color scheme preference for UI theming */
|
|
83
22
|
preferredColorScheme: {
|
|
@@ -87,21 +26,10 @@ declare const PanelUISystem_base: import("elics").SystemConstructor<{
|
|
|
87
26
|
}, {
|
|
88
27
|
unconfiguredPanels: {
|
|
89
28
|
required: import("elics").Component<{
|
|
90
|
-
/** Path to .json file */
|
|
91
29
|
config: {
|
|
92
30
|
type: Types.String;
|
|
93
31
|
default: string;
|
|
94
32
|
};
|
|
95
|
-
/** Max width constraint */
|
|
96
|
-
maxWidth: {
|
|
97
|
-
type: Types.Float32;
|
|
98
|
-
default: number;
|
|
99
|
-
};
|
|
100
|
-
/** Max height constraint */
|
|
101
|
-
maxHeight: {
|
|
102
|
-
type: Types.Float32;
|
|
103
|
-
default: number;
|
|
104
|
-
};
|
|
105
33
|
}>[];
|
|
106
34
|
excluded: import("elics").Component<{
|
|
107
35
|
document: {
|
|
@@ -112,21 +40,10 @@ declare const PanelUISystem_base: import("elics").SystemConstructor<{
|
|
|
112
40
|
};
|
|
113
41
|
configuredPanels: {
|
|
114
42
|
required: (import("elics").Component<{
|
|
115
|
-
/** Path to .json file */
|
|
116
43
|
config: {
|
|
117
44
|
type: Types.String;
|
|
118
45
|
default: string;
|
|
119
46
|
};
|
|
120
|
-
/** Max width constraint */
|
|
121
|
-
maxWidth: {
|
|
122
|
-
type: Types.Float32;
|
|
123
|
-
default: number;
|
|
124
|
-
};
|
|
125
|
-
/** Max height constraint */
|
|
126
|
-
maxHeight: {
|
|
127
|
-
type: Types.Float32;
|
|
128
|
-
default: number;
|
|
129
|
-
};
|
|
130
47
|
}> | import("elics").Component<{
|
|
131
48
|
document: {
|
|
132
49
|
type: Types.Object;
|
|
@@ -135,10 +52,15 @@ declare const PanelUISystem_base: import("elics").SystemConstructor<{
|
|
|
135
52
|
}>)[];
|
|
136
53
|
};
|
|
137
54
|
}, import("../index.js").World, import("../ecs/system.js").System<{
|
|
138
|
-
/**
|
|
139
|
-
|
|
55
|
+
/** Built-in UIKitML component collection. */
|
|
56
|
+
kit: {
|
|
57
|
+
type: Types.String;
|
|
58
|
+
default: import("@drawcall/uikitml").KitName;
|
|
59
|
+
};
|
|
60
|
+
/** Additional application-defined UIKitML components. */
|
|
61
|
+
componentSets: {
|
|
140
62
|
type: Types.Object;
|
|
141
|
-
default:
|
|
63
|
+
default: never[];
|
|
142
64
|
};
|
|
143
65
|
/** Color scheme preference for UI theming */
|
|
144
66
|
preferredColorScheme: {
|
|
@@ -148,21 +70,10 @@ declare const PanelUISystem_base: import("elics").SystemConstructor<{
|
|
|
148
70
|
}, {
|
|
149
71
|
unconfiguredPanels: {
|
|
150
72
|
required: import("elics").Component<{
|
|
151
|
-
/** Path to .json file */
|
|
152
73
|
config: {
|
|
153
74
|
type: Types.String;
|
|
154
75
|
default: string;
|
|
155
76
|
};
|
|
156
|
-
/** Max width constraint */
|
|
157
|
-
maxWidth: {
|
|
158
|
-
type: Types.Float32;
|
|
159
|
-
default: number;
|
|
160
|
-
};
|
|
161
|
-
/** Max height constraint */
|
|
162
|
-
maxHeight: {
|
|
163
|
-
type: Types.Float32;
|
|
164
|
-
default: number;
|
|
165
|
-
};
|
|
166
77
|
}>[];
|
|
167
78
|
excluded: import("elics").Component<{
|
|
168
79
|
document: {
|
|
@@ -173,21 +84,10 @@ declare const PanelUISystem_base: import("elics").SystemConstructor<{
|
|
|
173
84
|
};
|
|
174
85
|
configuredPanels: {
|
|
175
86
|
required: (import("elics").Component<{
|
|
176
|
-
/** Path to .json file */
|
|
177
87
|
config: {
|
|
178
88
|
type: Types.String;
|
|
179
89
|
default: string;
|
|
180
90
|
};
|
|
181
|
-
/** Max width constraint */
|
|
182
|
-
maxWidth: {
|
|
183
|
-
type: Types.Float32;
|
|
184
|
-
default: number;
|
|
185
|
-
};
|
|
186
|
-
/** Max height constraint */
|
|
187
|
-
maxHeight: {
|
|
188
|
-
type: Types.Float32;
|
|
189
|
-
default: number;
|
|
190
|
-
};
|
|
191
91
|
}> | import("elics").Component<{
|
|
192
92
|
document: {
|
|
193
93
|
type: Types.Object;
|
|
@@ -202,22 +102,20 @@ declare const PanelUISystem_base: import("elics").SystemConstructor<{
|
|
|
202
102
|
* @remarks
|
|
203
103
|
* - Sets Three.js transparent sort to a stable painter order for UI readability.
|
|
204
104
|
* - DOM pointer forwarding is owned by `CanvasPointerSystem` in the input layer.
|
|
205
|
-
* -
|
|
105
|
+
* - World-space size is controlled exclusively by the entity transform.
|
|
206
106
|
* @category UI
|
|
207
107
|
*/
|
|
208
108
|
export declare class PanelUISystem extends PanelUISystem_base {
|
|
209
|
-
private vec3;
|
|
210
109
|
/** Configure transparent sort, color scheme, and reactive queries. */
|
|
211
110
|
init(): void;
|
|
212
|
-
/** Tick
|
|
111
|
+
/** Tick every UIKit document in the scene, including manifest-backed assets. */
|
|
213
112
|
update(_delta: number): void;
|
|
214
113
|
/**
|
|
215
|
-
* Load and
|
|
114
|
+
* Load and parse the `PanelUI.config` UIKitML file, create a {@link UIKitDocument},
|
|
216
115
|
* attach it to the entity, and tag the entity with {@link PanelDocument}.
|
|
217
116
|
*/
|
|
218
117
|
private loadPanel;
|
|
219
118
|
/** Remove, dispose, and detach the loaded {@link UIKitDocument} from the entity. */
|
|
220
119
|
private cleanupPanel;
|
|
221
120
|
}
|
|
222
|
-
export {};
|
|
223
121
|
//# sourceMappingURL=ui.d.ts.map
|
package/dist/ui/ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/ui/ui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/ui/ui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAkB5C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;;IAiBnE,6CAA6C;;;;;IAE7C,yDAAyD;;;;;IAEzD,6CAA6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAJ7C,6CAA6C;;;;;IAE7C,yDAAyD;;;;;IAEzD,6CAA6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAnBjD;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,kBAalC;IACC,sEAAsE;IACtE,IAAI,IAAI,IAAI;IA+BZ,gFAAgF;IAChF,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAc5B;;;OAGG;YACW,SAAS;IAqBvB,oFAAoF;IACpF,OAAO,CAAC,YAAY;CAgBrB"}
|
package/dist/ui/ui.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { createComponent, Types } from 'elics';
|
|
1
|
+
import { setPreferredColorScheme } from '@pmndrs/uikit';
|
|
2
|
+
import { Types } from 'elics';
|
|
4
3
|
import { createSystem } from '../ecs/system.js';
|
|
5
|
-
import '../runtime/three.js';
|
|
6
4
|
import { UIKitDocument } from './document.js';
|
|
7
|
-
import {
|
|
5
|
+
import { PanelUI, PanelDocument } from './panel-components.js';
|
|
6
|
+
export { ColorSchemeType } from './panel-components.js';
|
|
7
|
+
import { configureUIKitRenderer, loadUIKitMLComponent, DEFAULT_UIKITML_KIT } from './uikitml.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
@@ -12,75 +12,34 @@ import { Vector3 } from 'three';
|
|
|
12
12
|
* This source code is licensed under the MIT license found in the
|
|
13
13
|
* LICENSE file in the root directory of this source tree.
|
|
14
14
|
*/
|
|
15
|
-
/**
|
|
16
|
-
* Color scheme options for UI theming.
|
|
17
|
-
* @category UI
|
|
18
|
-
*/
|
|
19
|
-
const ColorSchemeType = {
|
|
20
|
-
/** Follow system/browser color scheme preference */
|
|
21
|
-
System: 'system',
|
|
22
|
-
/** Force light mode */
|
|
23
|
-
Light: 'light',
|
|
24
|
-
/** Force dark mode */
|
|
25
|
-
Dark: 'dark',
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Component for 3D panel UI elements with file‑based configuration.
|
|
29
|
-
*
|
|
30
|
-
* @remarks
|
|
31
|
-
* - Compile `.uikitml` → JSON using the UIKitML Vite plugin, then set {@link PanelUIProps.config}.
|
|
32
|
-
* - When parented to world space (default), {@link PanelUISystem} drives target dimensions from
|
|
33
|
-
* {@link PanelUIProps.maxWidth} / {@link PanelUIProps.maxHeight} and accounts for world scale.
|
|
34
|
-
* - Pointer events are forwarded by the input layer when canvas pointer events are enabled.
|
|
35
|
-
* @category UI
|
|
36
|
-
* @see /getting-started/06-spatial-ui
|
|
37
|
-
*/
|
|
38
|
-
const PanelUI = createComponent('PanelUI', {
|
|
39
|
-
/** Path to .json file */
|
|
40
|
-
config: { type: Types.String, default: '' },
|
|
41
|
-
/** Max width constraint */
|
|
42
|
-
maxWidth: { type: Types.Float32, default: 1 },
|
|
43
|
-
/** Max height constraint */
|
|
44
|
-
maxHeight: { type: Types.Float32, default: 1 },
|
|
45
|
-
}, 'Component for 3D panel UI elements with file-based configuration');
|
|
46
|
-
/**
|
|
47
|
-
* Internal component containing the loaded UI document (a UIKitDocument `Group`).
|
|
48
|
-
* @category UI
|
|
49
|
-
* @hideineditor
|
|
50
|
-
*/
|
|
51
|
-
const PanelDocument = createComponent('PanelDocument', {
|
|
52
|
-
document: { type: Types.Object, default: undefined }, // UIKitDocument (extends Group)
|
|
53
|
-
}, 'Internal component containing loaded UI document');
|
|
54
15
|
/**
|
|
55
16
|
* Renders and updates spatial UI panels.
|
|
56
17
|
*
|
|
57
18
|
* @remarks
|
|
58
19
|
* - Sets Three.js transparent sort to a stable painter order for UI readability.
|
|
59
20
|
* - DOM pointer forwarding is owned by `CanvasPointerSystem` in the input layer.
|
|
60
|
-
* -
|
|
21
|
+
* - World-space size is controlled exclusively by the entity transform.
|
|
61
22
|
* @category UI
|
|
62
23
|
*/
|
|
63
24
|
class PanelUISystem extends createSystem({
|
|
64
25
|
unconfiguredPanels: { required: [PanelUI], excluded: [PanelDocument] },
|
|
65
26
|
configuredPanels: { required: [PanelUI, PanelDocument] },
|
|
66
27
|
}, {
|
|
67
|
-
/**
|
|
68
|
-
|
|
28
|
+
/** Built-in UIKitML component collection. */
|
|
29
|
+
kit: { type: Types.String, default: DEFAULT_UIKITML_KIT },
|
|
30
|
+
/** Additional application-defined UIKitML components. */
|
|
31
|
+
componentSets: { type: Types.Object, default: [] },
|
|
69
32
|
/** Color scheme preference for UI theming */
|
|
70
33
|
preferredColorScheme: { type: Types.String, default: 'system' },
|
|
71
34
|
}) {
|
|
72
|
-
constructor() {
|
|
73
|
-
super(...arguments);
|
|
74
|
-
this.vec3 = new Vector3();
|
|
75
|
-
}
|
|
76
35
|
/** Configure transparent sort, color scheme, and reactive queries. */
|
|
77
36
|
init() {
|
|
78
|
-
this.renderer
|
|
79
|
-
|
|
80
|
-
//
|
|
81
|
-
this.config.preferredColorScheme.subscribe((scheme) => {
|
|
37
|
+
configureUIKitRenderer(this.renderer);
|
|
38
|
+
// Apply color scheme preference. Register the unsubscribe / query handles
|
|
39
|
+
// on cleanupFuncs so they are released on system teardown.
|
|
40
|
+
this.cleanupFuncs.push(this.config.preferredColorScheme.subscribe((scheme) => {
|
|
82
41
|
setPreferredColorScheme(scheme);
|
|
83
|
-
})
|
|
42
|
+
}),
|
|
84
43
|
// Set up reactive UI loading when panels need configuration
|
|
85
44
|
this.queries.unconfiguredPanels.subscribe('qualify', (entity) => {
|
|
86
45
|
this.loadPanel(entity)
|
|
@@ -90,69 +49,47 @@ class PanelUISystem extends createSystem({
|
|
|
90
49
|
.catch((error) => {
|
|
91
50
|
console.error(`[PanelUISystem] Failed to load panel for entity ${entity.index}:`, error);
|
|
92
51
|
});
|
|
93
|
-
})
|
|
52
|
+
}),
|
|
94
53
|
// Set up cleanup when panels are unconfigured
|
|
95
54
|
this.queries.configuredPanels.subscribe('disqualify', (entity) => {
|
|
96
55
|
this.cleanupPanel(entity);
|
|
97
|
-
});
|
|
56
|
+
}));
|
|
98
57
|
}
|
|
99
|
-
/** Tick
|
|
58
|
+
/** Tick every UIKit document in the scene, including manifest-backed assets. */
|
|
100
59
|
update(_delta) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
if (
|
|
105
|
-
|
|
106
|
-
document.rootElement.update(_delta * 1000); // UIKit expects milliseconds
|
|
107
|
-
}
|
|
108
|
-
// Continuously set target dimensions when UIKitDocument is in world space (parented to entity)
|
|
109
|
-
// This ensures PanelUISystem controls dimensions when not in screen space
|
|
110
|
-
// Note: Signals automatically handle duplicate value detection, so no need to check for changes
|
|
111
|
-
if (document && document.parent === entity.object3D) {
|
|
112
|
-
const maxWidth = PanelUI.data.maxWidth[entity.index];
|
|
113
|
-
const maxHeight = PanelUI.data.maxHeight[entity.index];
|
|
114
|
-
// Account for entity's world scale to get accurate target dimensions
|
|
115
|
-
const worldScale = entity.object3D.getWorldScale(this.vec3);
|
|
116
|
-
const adjustedMaxWidth = maxWidth / worldScale.x;
|
|
117
|
-
const adjustedMaxHeight = maxHeight / worldScale.y;
|
|
118
|
-
document.setTargetDimensions(adjustedMaxWidth, adjustedMaxHeight);
|
|
60
|
+
var _a, _b;
|
|
61
|
+
const documents = new Set();
|
|
62
|
+
const collect = (object) => {
|
|
63
|
+
if (object instanceof UIKitDocument && !object.disposed) {
|
|
64
|
+
documents.add(object);
|
|
119
65
|
}
|
|
120
|
-
}
|
|
66
|
+
};
|
|
67
|
+
this.scene.traverse(collect);
|
|
68
|
+
this.camera.traverse(collect);
|
|
69
|
+
for (const document of documents) {
|
|
70
|
+
(_b = (_a = document.rootElement).update) === null || _b === void 0 ? void 0 : _b.call(_a, _delta * 1000);
|
|
71
|
+
}
|
|
121
72
|
}
|
|
122
73
|
/**
|
|
123
|
-
* Load and
|
|
74
|
+
* Load and parse the `PanelUI.config` UIKitML file, create a {@link UIKitDocument},
|
|
124
75
|
* attach it to the entity, and tag the entity with {@link PanelDocument}.
|
|
125
76
|
*/
|
|
126
77
|
async loadPanel(entity) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
throw new Error(`Failed to interpret UI config: ${config}`);
|
|
138
|
-
}
|
|
139
|
-
// Create UIKitDocument
|
|
140
|
-
const document = new UIKitDocument(rootElement);
|
|
141
|
-
// Add the UIKitDocument (Group) to the entity's object3D
|
|
142
|
-
if (entity.object3D) {
|
|
143
|
-
entity.object3D.add(document);
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
console.warn(`[PanelUISystem] Entity ${entity.index} has no object3D! Cannot add UI to scene.`);
|
|
147
|
-
}
|
|
148
|
-
// Add PanelDocument component to entity - this triggers reactive system
|
|
149
|
-
entity.addComponent(PanelDocument, {
|
|
150
|
-
document: document,
|
|
151
|
-
});
|
|
78
|
+
const config = PanelUI.data.config[entity.index];
|
|
79
|
+
const rootElement = await loadUIKitMLComponent(config, {
|
|
80
|
+
kit: this.config.kit.value,
|
|
81
|
+
componentSets: this.config.componentSets.value,
|
|
82
|
+
preferredColorScheme: this.config.preferredColorScheme
|
|
83
|
+
.value,
|
|
84
|
+
});
|
|
85
|
+
const document = new UIKitDocument(rootElement);
|
|
86
|
+
if (entity.object3D) {
|
|
87
|
+
entity.object3D.add(document);
|
|
152
88
|
}
|
|
153
|
-
|
|
154
|
-
console.
|
|
89
|
+
else {
|
|
90
|
+
console.warn(`[PanelUISystem] Entity ${entity.index} has no object3D! Cannot add UI to scene.`);
|
|
155
91
|
}
|
|
92
|
+
entity.addComponent(PanelDocument, { document });
|
|
156
93
|
}
|
|
157
94
|
/** Remove, dispose, and detach the loaded {@link UIKitDocument} from the entity. */
|
|
158
95
|
cleanupPanel(entity) {
|
|
@@ -171,5 +108,5 @@ class PanelUISystem extends createSystem({
|
|
|
171
108
|
}
|
|
172
109
|
}
|
|
173
110
|
|
|
174
|
-
export {
|
|
111
|
+
export { PanelDocument, PanelUI, PanelUISystem };
|
|
175
112
|
//# sourceMappingURL=ui.js.map
|
package/dist/ui/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sources":["../../src/ui/ui.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAAA;;;;;AAKG;
|
|
1
|
+
{"version":3,"file":"ui.js","sources":["../../src/ui/ui.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
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 type { Component } from '@pmndrs/uikit';
|
|
8
|
+
import { Group, type Object3D } from '../runtime/index.js';
|
|
9
|
+
import { UIKitDocument } from './document.js';
|
|
10
|
+
/** Object hierarchy produced when a UIKitML manifest asset is instantiated. */
|
|
11
|
+
export declare class UIKitMLAsset extends Group {
|
|
12
|
+
readonly assetId: string;
|
|
13
|
+
readonly document: UIKitDocument;
|
|
14
|
+
readonly isUIKitMLAsset = true;
|
|
15
|
+
constructor(assetId: string, document: UIKitDocument);
|
|
16
|
+
/** Find a UIKit element without first dereferencing {@link document}. */
|
|
17
|
+
getElementById<T extends Component<any> = Component<any>>(id: string): T | null;
|
|
18
|
+
/** Return a typed UIKit element or throw when the id is absent. */
|
|
19
|
+
requireElementById<T extends Component<any> = Component<any>>(id: string): T;
|
|
20
|
+
/** Release the document even when ScreenSpace has temporarily reparented it. */
|
|
21
|
+
dispose(): void;
|
|
22
|
+
}
|
|
23
|
+
/** Find a UIKit document in either a manifest asset or a legacy panel hierarchy. */
|
|
24
|
+
export declare function findUIKitDocument(object: Object3D | null | undefined): UIKitDocument | null;
|
|
25
|
+
//# sourceMappingURL=uikitml-asset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uikitml-asset.d.ts","sourceRoot":"","sources":["../../src/ui/uikitml-asset.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,+EAA+E;AAC/E,qBAAa,YAAa,SAAQ,KAAK;IAInC,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,QAAQ,EAAE,aAAa;IAJlC,QAAQ,CAAC,cAAc,QAAQ;gBAGpB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,aAAa;IAOlC,yEAAyE;IACzE,cAAc,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,EACtD,EAAE,EAAE,MAAM,GACT,CAAC,GAAG,IAAI;IAIX,mEAAmE;IACnE,kBAAkB,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC;IAI5E,gFAAgF;IAChF,OAAO,IAAI,IAAI;CAIhB;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAClC,aAAa,GAAG,IAAI,CAiBtB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import '../runtime/three.js';
|
|
2
|
+
import { UIKitDocument } from './document.js';
|
|
3
|
+
import { Group } from 'three';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
7
|
+
*
|
|
8
|
+
* This source code is licensed under the MIT license found in the
|
|
9
|
+
* LICENSE file in the root directory of this source tree.
|
|
10
|
+
*/
|
|
11
|
+
/** Object hierarchy produced when a UIKitML manifest asset is instantiated. */
|
|
12
|
+
class UIKitMLAsset extends Group {
|
|
13
|
+
constructor(assetId, document) {
|
|
14
|
+
super();
|
|
15
|
+
this.assetId = assetId;
|
|
16
|
+
this.document = document;
|
|
17
|
+
this.isUIKitMLAsset = true;
|
|
18
|
+
this.name = assetId;
|
|
19
|
+
this.add(document);
|
|
20
|
+
}
|
|
21
|
+
/** Find a UIKit element without first dereferencing {@link document}. */
|
|
22
|
+
getElementById(id) {
|
|
23
|
+
return this.document.getElementById(id);
|
|
24
|
+
}
|
|
25
|
+
/** Return a typed UIKit element or throw when the id is absent. */
|
|
26
|
+
requireElementById(id) {
|
|
27
|
+
return this.document.requireElementById(id);
|
|
28
|
+
}
|
|
29
|
+
/** Release the document even when ScreenSpace has temporarily reparented it. */
|
|
30
|
+
dispose() {
|
|
31
|
+
this.document.removeFromParent();
|
|
32
|
+
this.document.dispose();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/** Find a UIKit document in either a manifest asset or a legacy panel hierarchy. */
|
|
36
|
+
function findUIKitDocument(object) {
|
|
37
|
+
if (!object) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
if (object instanceof UIKitDocument) {
|
|
41
|
+
return object.disposed ? null : object;
|
|
42
|
+
}
|
|
43
|
+
if (object instanceof UIKitMLAsset) {
|
|
44
|
+
return object.document.disposed ? null : object.document;
|
|
45
|
+
}
|
|
46
|
+
let result = null;
|
|
47
|
+
object.traverse((child) => {
|
|
48
|
+
if (!result && child instanceof UIKitDocument && !child.disposed) {
|
|
49
|
+
result = child;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export { UIKitMLAsset, findUIKitDocument };
|
|
56
|
+
//# sourceMappingURL=uikitml-asset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uikitml-asset.js","sources":["../../src/ui/uikitml-asset.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;;;;;AAKG;AAMH;AACM,MAAO,YAAa,SAAQ,KAAK,CAAA;IAGrC,WAAA,CACW,OAAe,EACf,QAAuB,EAAA;AAEhC,QAAA,KAAK,EAAE;QAHE,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAJV,IAAA,CAAA,cAAc,GAAG,IAAI;AAO5B,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO;AACnB,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;IACpB;;AAGA,IAAA,cAAc,CACZ,EAAU,EAAA;QAEV,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAI,EAAE,CAAC;IAC5C;;AAGA,IAAA,kBAAkB,CAA4C,EAAU,EAAA;QACtE,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAI,EAAE,CAAC;IAChD;;IAGA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;AAChC,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;IACzB;AACD;AAED;AACM,SAAU,iBAAiB,CAC/B,MAAmC,EAAA;IAEnC,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,OAAO,IAAI;IACb;AACA,IAAA,IAAI,MAAM,YAAY,aAAa,EAAE;QACnC,OAAO,MAAM,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM;IACxC;AACA,IAAA,IAAI,MAAM,YAAY,YAAY,EAAE;AAClC,QAAA,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ;IAC1D;IACA,IAAI,MAAM,GAAyB,IAAI;AACvC,IAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,KAAI;AACxB,QAAA,IAAI,CAAC,MAAM,IAAI,KAAK,YAAY,aAAa,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAChE,MAAM,GAAG,KAAK;QAChB;AACF,IAAA,CAAC,CAAC;AACF,IAAA,OAAO,MAAM;AACf;;;;"}
|
|
@@ -0,0 +1,41 @@
|
|
|
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 { type ComponentSet, type KitName, type UIKitMLAst } from '@drawcall/uikitml';
|
|
8
|
+
import { type Component, type PreferredColorScheme } from '@pmndrs/uikit';
|
|
9
|
+
import type { WebGLRenderer } from '../runtime/index.js';
|
|
10
|
+
import { UIKitMLAsset } from './uikitml-asset.js';
|
|
11
|
+
/** Built-in UIKitML component collection used by a panel. */
|
|
12
|
+
export type UIKitMLKit = KitName;
|
|
13
|
+
/** Additional component definitions accepted by the UIKitML parser. */
|
|
14
|
+
export type UIKitMLComponentSet = ComponentSet;
|
|
15
|
+
export interface UIKitMLLoadOptions {
|
|
16
|
+
/** Built-in component collection. @defaultValue `'horizon'` */
|
|
17
|
+
kit?: UIKitMLKit;
|
|
18
|
+
/** Additional application-defined UIKitML components. */
|
|
19
|
+
componentSets?: UIKitMLComponentSet[];
|
|
20
|
+
/** Color scheme supplied to the instantiated UIKit tree. */
|
|
21
|
+
preferredColorScheme?: PreferredColorScheme;
|
|
22
|
+
/** Bypass the cached source text, primarily for editor preview refreshes. */
|
|
23
|
+
forceReload?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/** Default component collection for IWSDK panels. */
|
|
26
|
+
export declare const DEFAULT_UIKITML_KIT: UIKitMLKit;
|
|
27
|
+
/** Configure a renderer for UIKit clipping and transparent painter order. */
|
|
28
|
+
export declare function configureUIKitRenderer(renderer: WebGLRenderer): void;
|
|
29
|
+
/**
|
|
30
|
+
* Parse UIKitML source and resolve its relative TTF declarations.
|
|
31
|
+
*
|
|
32
|
+
* @param source UIKitML markup.
|
|
33
|
+
* @param sourceURL URL of the UIKitML document, used as the base for font URLs.
|
|
34
|
+
* @param options Parser and component-set options.
|
|
35
|
+
*/
|
|
36
|
+
export declare function parseUIKitMLSource(source: string, sourceURL?: string, options?: UIKitMLLoadOptions): UIKitMLAst;
|
|
37
|
+
/** Fetch, parse, and instantiate a UIKitML document. */
|
|
38
|
+
export declare function loadUIKitMLComponent(configURL: string, options?: UIKitMLLoadOptions): Promise<Component>;
|
|
39
|
+
/** Fetch, parse, and instantiate a UIKitML file as a placeable scene asset. */
|
|
40
|
+
export declare function loadUIKitMLAsset(assetIdOrURL: string, options?: UIKitMLLoadOptions): Promise<UIKitMLAsset>;
|
|
41
|
+
//# sourceMappingURL=uikitml.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uikitml.d.ts","sourceRoot":"","sources":["../../src/ui/uikitml.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,UAAU,EAEhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,oBAAoB,EAC1B,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,6DAA6D;AAC7D,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC;AAEjC,uEAAuE;AACvE,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,yDAAyD;IACzD,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACtC,4DAA4D;IAC5D,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,EAAE,UAAsB,CAAC;AAEzD,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAGpE;AAgED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE,kBAAuB,GAC/B,UAAU,CAUZ;AAED,wDAAwD;AACxD,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,SAAS,CAAC,CAgCpB;AAED,+EAA+E;AAC/E,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,YAAY,CAAC,CAGvB"}
|