@iwsdk/core 0.4.2 → 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 +136 -8
- 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 +1 -0
- package/dist/audio/audio-system.d.ts.map +1 -1
- package/dist/audio/audio-system.js +16 -2
- package/dist/audio/audio-system.js.map +1 -1
- package/dist/camera/camera-system.d.ts.map +1 -1
- package/dist/camera/camera-system.js +5 -3
- package/dist/camera/camera-system.js.map +1 -1
- package/dist/depth/depth-sensing-system.d.ts.map +1 -1
- package/dist/depth/depth-sensing-system.js +31 -10
- 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 +158 -4
- package/dist/ecs/world.d.ts.map +1 -1
- package/dist/ecs/world.js +304 -5
- package/dist/ecs/world.js.map +1 -1
- package/dist/environment/dome-gradient.d.ts +2 -1
- package/dist/environment/dome-gradient.d.ts.map +1 -1
- package/dist/environment/dome-gradient.js +2 -1
- package/dist/environment/dome-gradient.js.map +1 -1
- package/dist/environment/environment-system.d.ts +19 -3
- package/dist/environment/environment-system.d.ts.map +1 -1
- package/dist/environment/environment-system.js +78 -48
- 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/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/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 +45 -0
- package/dist/grab/grab-system.d.ts.map +1 -1
- package/dist/grab/grab-system.js +67 -5
- 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/handles.d.ts.map +1 -1
- package/dist/grab/handles.js +8 -3
- package/dist/grab/handles.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 +11 -7
- package/dist/init/world-initializer.d.ts.map +1 -1
- package/dist/init/world-initializer.js +118 -57
- package/dist/init/world-initializer.js.map +1 -1
- package/dist/init/xr.d.ts +0 -1
- 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.map +1 -1
- package/dist/input/input-system.js +26 -11
- package/dist/input/input-system.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 +45 -93
- package/dist/layers/xr-layer-system.d.ts.map +1 -1
- package/dist/layers/xr-layer-system.js +4 -25
- package/dist/layers/xr-layer-system.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-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 -49
- package/dist/level/level-system.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.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.map +1 -1
- package/dist/locomotion/slide.js +2 -2
- package/dist/locomotion/slide.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 +11 -4
- package/dist/physics/index.js.map +1 -1
- 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 +307 -25
- 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 -0
- 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/physicsShape.d.ts +5 -3
- package/dist/physics/physicsShape.d.ts.map +1 -1
- package/dist/physics/physicsShape.js +2 -1
- 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/scene-understanding-system.d.ts +23 -2
- package/dist/scene-understanding/scene-understanding-system.d.ts.map +1 -1
- package/dist/scene-understanding/scene-understanding-system.js +76 -54
- 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 +9 -42
- package/dist/transform/transform.d.ts.map +1 -1
- package/dist/transform/transform.js +8 -25
- 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 +28 -102
- package/dist/ui/follow.d.ts.map +1 -1
- package/dist/ui/follow.js +10 -48
- 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 +3 -10
- package/dist/visibility/visibility.d.ts.map +1 -1
- package/dist/visibility/visibility.js +9 -12
- package/dist/visibility/visibility.js.map +1 -1
- package/package.json +48 -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 -108
- package/dist/level/level-entity-creator.js.map +0 -1
- package/dist/level/level-glxf-importer.d.ts +0 -23
- 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,59 @@
|
|
|
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
|
+
/**
|
|
8
|
+
* Pure helpers backing {@link GrabSystem.forceRelease} and
|
|
9
|
+
* {@link GrabSystem.getHolderHand}. Kept side-effect-free and dependency-light
|
|
10
|
+
* so they can be unit-tested without spinning up the full ECS / xr-input
|
|
11
|
+
* import chain.
|
|
12
|
+
*
|
|
13
|
+
* Not part of the public package API surface — `grab-system.ts` is the only
|
|
14
|
+
* intended caller.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Cancel every active pointer on a grab `handle`. Safe to call when `handle`
|
|
18
|
+
* is `undefined`, when the entity is not currently held, or when the
|
|
19
|
+
* underlying `cancel()` throws (errors are swallowed to match the cleanup
|
|
20
|
+
* semantics already used inside `GrabSystem` on Handle-component disqualify).
|
|
21
|
+
*/
|
|
22
|
+
function cancelGrabHandle(handle) {
|
|
23
|
+
if (!handle) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
handle.cancel();
|
|
28
|
+
}
|
|
29
|
+
catch (_a) { }
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Determine which controller is currently holding the entity backing
|
|
33
|
+
* `handle`, given the candidate pointer IDs per hand.
|
|
34
|
+
*
|
|
35
|
+
* Each hand contributes the IDs of every pointer kind that can capture a
|
|
36
|
+
* grab handle today — near grabs use the `grab` sub-pointer, distance grabs
|
|
37
|
+
* use the `ray` sub-pointer (per `pointerEventsType` on the handle's
|
|
38
|
+
* object). Passing both keeps `getHolderHand` correct across both grab
|
|
39
|
+
* styles without leaking pointer-kind selection into callers.
|
|
40
|
+
*
|
|
41
|
+
* Returns `'left'` / `'right'` for single-hand grabs, `'left'` for two-hand
|
|
42
|
+
* grabs (deterministic), and `null` when the entity has no active grabs or
|
|
43
|
+
* none of the candidate IDs match.
|
|
44
|
+
*/
|
|
45
|
+
function findHolderHand(handle, leftPointerIds, rightPointerIds) {
|
|
46
|
+
if (!handle || handle.inputState.size === 0) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
if (leftPointerIds.some((id) => handle.inputState.has(id))) {
|
|
50
|
+
return 'left';
|
|
51
|
+
}
|
|
52
|
+
if (rightPointerIds.some((id) => handle.inputState.has(id))) {
|
|
53
|
+
return 'right';
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { cancelGrabHandle, findHolderHand };
|
|
59
|
+
//# sourceMappingURL=grab-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grab-helpers.js","sources":["../../src/grab/grab-helpers.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;AAIH;;;;;;;;AAQG;AAEH;;;;;AAKG;AACG,SAAU,gBAAgB,CAC9B,MAAwC,EAAA;IAExC,IAAI,CAAC,MAAM,EAAE;QACX;IACF;AACA,IAAA,IAAI;QACF,MAAM,CAAC,MAAM,EAAE;IACjB;IAAE,OAAA,EAAA,EAAM,EAAC;AACX;AAEA;;;;;;;;;;;;;AAaG;SACa,cAAc,CAC5B,MAAwC,EACxC,cAAiC,EACjC,eAAkC,EAAA;IAElC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE;AAC3C,QAAA,OAAO,IAAI;IACb;AACA,IAAA,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE;AAC1D,QAAA,OAAO,MAAM;IACf;AACA,IAAA,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE;AAC3D,QAAA,OAAO,OAAO;IAChB;AACA,IAAA,OAAO,IAAI;AACb;;;;"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import { Types } from '../ecs/component.js';
|
|
8
|
+
import { Entity } from '../ecs/entity.js';
|
|
8
9
|
declare const GrabSystem_base: import("elics").SystemConstructor<{
|
|
9
10
|
/**
|
|
10
11
|
* Controls whether hand pinch gestures are forwarded as squeeze events for grab interactions.
|
|
@@ -357,6 +358,50 @@ declare const GrabSystem_base: import("elics").SystemConstructor<{
|
|
|
357
358
|
export declare class GrabSystem extends GrabSystem_base {
|
|
358
359
|
init(): void;
|
|
359
360
|
update(delta: number, time: number): void;
|
|
361
|
+
/**
|
|
362
|
+
* Force-release `entity` if it is currently being held.
|
|
363
|
+
*
|
|
364
|
+
* @remarks
|
|
365
|
+
* Cancels every active pointer on the entity's grab handle, which causes
|
|
366
|
+
* `update()` on the next frame to remove the {@link Grabbed} tag. Safe to
|
|
367
|
+
* call when the entity is not held or has never been grabbable — a no-op
|
|
368
|
+
* in those cases.
|
|
369
|
+
*
|
|
370
|
+
* Useful for game-state changes that need to drop held items: level resets,
|
|
371
|
+
* weapon swaps, death/respawn, cinematics, etc.
|
|
372
|
+
*
|
|
373
|
+
* @example
|
|
374
|
+
* ```ts
|
|
375
|
+
* const grab = world.getSystem(GrabSystem);
|
|
376
|
+
* grab.forceRelease(weaponEntity);
|
|
377
|
+
* ```
|
|
378
|
+
*/
|
|
379
|
+
forceRelease(entity: Entity): void;
|
|
380
|
+
/**
|
|
381
|
+
* Identify which controller is currently holding `entity`.
|
|
382
|
+
*
|
|
383
|
+
* @returns `'left'` or `'right'` when a single hand holds the entity,
|
|
384
|
+
* `null` when the entity is not held (or has no grab handle).
|
|
385
|
+
*
|
|
386
|
+
* @remarks
|
|
387
|
+
* For two-handed grabs (both controllers active on the same entity), the
|
|
388
|
+
* left hand is reported. Callers needing per-hand state for two-handed
|
|
389
|
+
* interactions should track grab/release events themselves rather than
|
|
390
|
+
* polling this method.
|
|
391
|
+
*
|
|
392
|
+
* Useful for hand-aware behaviors: recoil/animation that should react to
|
|
393
|
+
* the holding controller, hand-specific UI prompts, etc.
|
|
394
|
+
*
|
|
395
|
+
* @example
|
|
396
|
+
* ```ts
|
|
397
|
+
* const grab = world.getSystem(GrabSystem);
|
|
398
|
+
* const hand = grab.getHolderHand(gunEntity);
|
|
399
|
+
* if (hand) {
|
|
400
|
+
* playRecoilOn(hand);
|
|
401
|
+
* }
|
|
402
|
+
* ```
|
|
403
|
+
*/
|
|
404
|
+
getHolderHand(entity: Entity): 'left' | 'right' | null;
|
|
360
405
|
private initializeOneHandHandle;
|
|
361
406
|
private initializeTwoHandsHandle;
|
|
362
407
|
private initializeDistanceHandle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grab-system.d.ts","sourceRoot":"","sources":["../../src/grab/grab-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"grab-system.d.ts","sourceRoot":"","sources":["../../src/grab/grab-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;;IAmEtC;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAJH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAtDP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,UAAW,SAAQ,eAuB/B;IACC,IAAI;IAmDJ,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IA4CzC;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMlC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;IActD,OAAO,CAAC,uBAAuB;IAqC/B,OAAO,CAAC,wBAAwB;IAoDhC,OAAO,CAAC,wBAAwB;CA0FjC"}
|
package/dist/grab/grab-system.js
CHANGED
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
import { HandleStore } from '@pmndrs/handle';
|
|
2
|
-
import { createSystem } from '../ecs/system.js';
|
|
3
2
|
import { Types } from 'elics';
|
|
3
|
+
import { createSystem } from '../ecs/system.js';
|
|
4
4
|
import '../level/level-system.js';
|
|
5
5
|
import { LevelTag } from '../level/level-tag.js';
|
|
6
|
-
import '@iwsdk/glxf';
|
|
7
|
-
import '../asset/asset-manager.js';
|
|
8
|
-
import '../asset/cache-manager.js';
|
|
9
6
|
import '@pmndrs/uikit';
|
|
10
7
|
import '@preact/signals-core';
|
|
11
8
|
import { Object3D, Vector3, Quaternion } from 'three';
|
|
9
|
+
import '../runtime/three.js';
|
|
12
10
|
import '../ui/ui.js';
|
|
11
|
+
import '@drawcall/uikitml';
|
|
12
|
+
import '../asset/asset-manager.js';
|
|
13
|
+
import '../asset/cache-manager.js';
|
|
13
14
|
import '../ui/follow.js';
|
|
14
15
|
import '../ui/screenspace.js';
|
|
16
|
+
import '@iwsdk/scene-composition';
|
|
17
|
+
import 'three/examples/jsm/geometries/RoundedBoxGeometry.js';
|
|
15
18
|
import '../level/level-root.js';
|
|
16
|
-
import '../runtime/three.js';
|
|
17
19
|
import { DistanceGrabbable } from './distance-grabbable.js';
|
|
20
|
+
import { cancelGrabHandle, findHolderHand } from './grab-helpers.js';
|
|
21
|
+
import { warnIfNoRaycastableMesh } from './grab-warnings.js';
|
|
18
22
|
import { Grabbed } from './grabbed.js';
|
|
19
23
|
import { Handle, DistanceGrabHandle, MovementMode } from './handles.js';
|
|
20
24
|
import { OneHandGrabbable } from './one-hand-grabbable.js';
|
|
@@ -158,6 +162,61 @@ class GrabSystem extends createSystem({
|
|
|
158
162
|
}
|
|
159
163
|
});
|
|
160
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Force-release `entity` if it is currently being held.
|
|
167
|
+
*
|
|
168
|
+
* @remarks
|
|
169
|
+
* Cancels every active pointer on the entity's grab handle, which causes
|
|
170
|
+
* `update()` on the next frame to remove the {@link Grabbed} tag. Safe to
|
|
171
|
+
* call when the entity is not held or has never been grabbable — a no-op
|
|
172
|
+
* in those cases.
|
|
173
|
+
*
|
|
174
|
+
* Useful for game-state changes that need to drop held items: level resets,
|
|
175
|
+
* weapon swaps, death/respawn, cinematics, etc.
|
|
176
|
+
*
|
|
177
|
+
* @example
|
|
178
|
+
* ```ts
|
|
179
|
+
* const grab = world.getSystem(GrabSystem);
|
|
180
|
+
* grab.forceRelease(weaponEntity);
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
forceRelease(entity) {
|
|
184
|
+
cancelGrabHandle(Handle.data.instance[entity.index]);
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Identify which controller is currently holding `entity`.
|
|
188
|
+
*
|
|
189
|
+
* @returns `'left'` or `'right'` when a single hand holds the entity,
|
|
190
|
+
* `null` when the entity is not held (or has no grab handle).
|
|
191
|
+
*
|
|
192
|
+
* @remarks
|
|
193
|
+
* For two-handed grabs (both controllers active on the same entity), the
|
|
194
|
+
* left hand is reported. Callers needing per-hand state for two-handed
|
|
195
|
+
* interactions should track grab/release events themselves rather than
|
|
196
|
+
* polling this method.
|
|
197
|
+
*
|
|
198
|
+
* Useful for hand-aware behaviors: recoil/animation that should react to
|
|
199
|
+
* the holding controller, hand-specific UI prompts, etc.
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* ```ts
|
|
203
|
+
* const grab = world.getSystem(GrabSystem);
|
|
204
|
+
* const hand = grab.getHolderHand(gunEntity);
|
|
205
|
+
* if (hand) {
|
|
206
|
+
* playRecoilOn(hand);
|
|
207
|
+
* }
|
|
208
|
+
* ```
|
|
209
|
+
*/
|
|
210
|
+
getHolderHand(entity) {
|
|
211
|
+
const left = this.input.xr.multiPointers.left;
|
|
212
|
+
const right = this.input.xr.multiPointers.right;
|
|
213
|
+
return findHolderHand(Handle.data.instance[entity.index],
|
|
214
|
+
// Near grabs capture via the `grab` sub-pointer; distance grabs capture
|
|
215
|
+
// via `ray` (see `initializeDistanceHandle` setting
|
|
216
|
+
// `pointerEventsType = { deny: 'grab' }`). Check both per hand so
|
|
217
|
+
// distance-held entities don't silently report `null`.
|
|
218
|
+
[left.getPointer('grab').id, left.getPointer('ray').id], [right.getPointer('grab').id, right.getPointer('ray').id]);
|
|
219
|
+
}
|
|
161
220
|
initializeOneHandHandle(entity) {
|
|
162
221
|
if (entity.hasComponent(Handle)) {
|
|
163
222
|
return;
|
|
@@ -166,6 +225,7 @@ class GrabSystem extends createSystem({
|
|
|
166
225
|
if (!(object instanceof Object3D)) {
|
|
167
226
|
return;
|
|
168
227
|
}
|
|
228
|
+
warnIfNoRaycastableMesh(entity, 'OneHandGrabbable');
|
|
169
229
|
const obj = object;
|
|
170
230
|
const rotateMax = entity.getVectorView(OneHandGrabbable, 'rotateMax');
|
|
171
231
|
const rotateMin = entity.getVectorView(OneHandGrabbable, 'rotateMin');
|
|
@@ -201,6 +261,7 @@ class GrabSystem extends createSystem({
|
|
|
201
261
|
if (!(object instanceof Object3D)) {
|
|
202
262
|
return;
|
|
203
263
|
}
|
|
264
|
+
warnIfNoRaycastableMesh(entity, 'TwoHandsGrabbable');
|
|
204
265
|
const obj = object;
|
|
205
266
|
const rotateMax = entity.getVectorView(TwoHandsGrabbable, 'rotateMax');
|
|
206
267
|
const rotateMin = entity.getVectorView(TwoHandsGrabbable, 'rotateMin');
|
|
@@ -246,6 +307,7 @@ class GrabSystem extends createSystem({
|
|
|
246
307
|
if (!(object instanceof Object3D)) {
|
|
247
308
|
return;
|
|
248
309
|
}
|
|
310
|
+
warnIfNoRaycastableMesh(entity, 'DistanceGrabbable');
|
|
249
311
|
const obj = object;
|
|
250
312
|
const rootEntity = entity.hasComponent(LevelTag)
|
|
251
313
|
? this.world.activeLevel.value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grab-system.js","sources":["../../src/grab/grab-system.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAoBH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;AACG,MAAO,UAAW,SAAQ,YAAY,CAC1C;AACE,IAAA,iBAAiB,EAAE;QACjB,QAAQ,EAAE,CAAC,gBAAgB,CAAC;AAC7B,KAAA;AACD,IAAA,kBAAkB,EAAE;QAClB,QAAQ,EAAE,CAAC,iBAAiB,CAAC;AAC9B,KAAA;AACD,IAAA,kBAAkB,EAAE;QAClB,QAAQ,EAAE,CAAC,iBAAiB,CAAC;AAC9B,KAAA;AACD,IAAA,OAAO,EAAE;QACP,QAAQ,EAAE,CAAC,MAAM,CAAC;AACnB,KAAA;CACF,EACD;AACE;;;;AAIG;IACH,mBAAmB,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;CAC7D,CACF,CAAA;IACC,IAAI,GAAA;;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACnB,YAAA,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC;QACtC;AACA,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACpB,YAAA,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC;QACvC;;AAGA,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,KAAI;AAC7D,YAAA,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC;AACtC,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,KAAI;AAC9D,YAAA,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC;AACvC,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,KAAI;AAC9D,YAAA,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC;AACvC,QAAA,CAAC,CAAC;;AAGF,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,MAAM,KAAI;AACtD,YAAA,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAE9B;YACb,IAAI,CAAC,EAAE;AACL,gBAAA,IAAI;oBACF,CAAC,CAAC,MAAM,EAAE;gBACZ;gBAAE,OAAA,EAAA,EAAM,EAAC;YACX;AACA,YAAA,IAAI,MAAM,CAAC,QAAQ,EAAE;AACnB,gBAAA,MAAM,CAAC,QAAQ,CAAC,iBAAiB,GAAG,KAAK;YAC3C;AACF,QAAA,CAAC,CAAC;;QAGF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAChD,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAChC;QACD,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KACjD,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CACjC;QACD,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KACjD,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CACjC;;AAGD,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;AAC/D,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;IAClE;IAEA,MAAM,CAAC,KAAa,EAAE,IAAY,EAAA;;;AAGhC,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;YAClC,CAAC,MAAM,EAAE,OAAO,CAAW,CAAC,OAAO,CAAC,CAAC,UAAU,KAAI;;AAClD,gBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;AAC/C,oBAAA,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI;AAC7B,oBAAA,IAAI,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,cAAc,EAAE,EAAE;AACxD,wBAAA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,SAAS,CAC/C,SAAS,EACT,MAAM,EACN;4BACE,SAAS;AACV,yBAAA,CACF;oBACH;AACA,oBAAA,IAAI,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,YAAY,EAAE,EAAE;AACtD,wBAAA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE;4BACjE,SAAS;AACV,yBAAA,CAAC;oBACJ;gBACF;AACF,YAAA,CAAC,CAAC;QACJ;;AAGA,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;AAC/C,YAAA,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAE9B;YACb,IAAI,CAAC,EAAE;AACL,gBAAA,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;;gBAEf,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE;oBACzB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;AACjC,wBAAA,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;oBAC9B;gBACF;AAAO,qBAAA,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;AACvC,oBAAA,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;gBACjC;YACF;AACF,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,uBAAuB,CAAC,MAAc,EAAA;AAC5C,QAAA,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;YAC/B;QACF;AACA,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ;AAC9B,QAAA,IAAI,EAAE,MAAM,YAAY,QAAQ,CAAC,EAAE;YACjC;QACF;QACA,MAAM,GAAG,GAAG,MAAuD;QACnE,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,WAAW,CAAC;QACrE,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,WAAW,CAAC;QACrE,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,cAAc,CAAC;QAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,cAAc,CAAC;QAC3E,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,OAAO;YACzC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ;AAChD,kBAAE;oBACE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAqB;oBACnD,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAqB;oBACnD,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAqB;AACpD;AACH,kBAAE,KAAK;YACT,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,WAAW;AACtD,kBAAE;oBACE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAqB;oBACzD,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAqB;oBACzD,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAqB;AAC1D;AACH,kBAAE,KAAK;AACT,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,UAAU,EAAE,KAAK;AAClB,SAAA,CAAC,CAAC;AACH,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAChB,GAAG,CAAC,iBAAiB,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;QACvC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnD;AAEQ,IAAA,wBAAwB,CAAC,MAAc,EAAA;AAC7C,QAAA,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;YAC/B;QACF;AACA,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ;AAC9B,QAAA,IAAI,EAAE,MAAM,YAAY,QAAQ,CAAC,EAAE;YACjC;QACF;QACA,MAAM,GAAG,GAAG,MAAuD;QACnE,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,WAAW,CAAC;QACtE,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,WAAW,CAAC;QACtE,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CACvC,iBAAiB,EACjB,cAAc,CACf;QACD,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CACvC,iBAAiB,EACjB,cAAc,CACf;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,UAAU,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,UAAU,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,OAAO;YACzC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ;AACjD,kBAAE;oBACE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAqB;oBACnD,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAqB;oBACnD,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAqB;AACpD;AACH,kBAAE,KAAK;YACT,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,WAAW;AACvD,kBAAE;oBACE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAqB;oBACzD,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAqB;oBACzD,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAqB;AAC1D;AACH,kBAAE,KAAK;YACT,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO;AAC/C,kBAAE;oBACE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAqB;oBACjD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAqB;oBACjD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAqB;AAClD;AACH,kBAAE,KAAK;AACT,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,UAAU,EAAE,IAAI;AACjB,SAAA,CAAC,CAAC;AACH,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAChB,GAAG,CAAC,iBAAiB,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;QACvC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnD;AAEQ,IAAA,wBAAwB,CAAC,MAAc,EAAA;;AAC7C,QAAA,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;YAC/B;QACF;AACA,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ;AAC9B,QAAA,IAAI,EAAE,MAAM,YAAY,QAAQ,CAAC,EAAE;YACjC;QACF;QACA,MAAM,GAAG,GAAG,MAAuD;AACnE,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ;AAC7C,cAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;AACzB,cAAE,IAAI,CAAC,KAAK,CAAC,WAAW;QAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,WAAW,CAAC;QACtE,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,WAAW,CAAC;QACtE,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CACvC,iBAAiB,EACjB,cAAc,CACf;QACD,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CACvC,iBAAiB,EACjB,cAAc,CACf;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,UAAU,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,UAAU,CAAC;QACpE,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,cAAc,CAAC;AACvE,QAAA,MAAM,cAAc,GAAG,OAAO,CAC5B,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CACrD;AACD,QAAA,MAAM,YAAY,GAAG,OAAO,CAC1B,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,cAAc,CAAC,CACnD;QACD,MAAM,eAAe,GAAG,MAAM,CAAC,aAAa,CAC1C,iBAAiB,EACjB,sBAAsB,CACvB;QACD,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,CAC3C,iBAAiB,EACjB,wBAAwB,CACzB;AACD,QAAA,MAAM,IAAI,GAAG,OAAO;YAClB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ;AACjD,kBAAE;oBACE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAqB;oBACnD,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAqB;oBACnD,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAqB;AACpD;AACH,kBAAE,KAAK;AACT,YAAA,SAAS,EACP,YAAY,KAAK,YAAY,CAAC;AAC5B,kBAAG;kBACD,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,WAAW;AAC9C,sBAAE;wBACE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAqB;wBACzD,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAqB;wBACzD,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAqB;AAC1D;AACH,sBAAE,KAAK;AACb,YAAA,KAAK,EACH,YAAY,KAAK,YAAY,CAAC;AAC5B,kBAAE;kBACA,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO;AAC1C,sBAAE;wBACE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAqB;wBACjD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAqB;wBACjD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAqB;AAClD;AACH,sBAAE,KAAK;AACb,YAAA,WAAW,EAAE,KAAK;AACnB,SAAA,CAAC;AACF,QAAA,MAAM,MAAM,GAAG,IAAI,kBAAkB,CACnC,GAAG,EACH,UAAU,CAAC,QAAS,EACpB,IAAI,EACJ,YAAa,EACb,cAAc,EACd,CAAA,EAAA,GAAA,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,GAAG,EAC5D,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,EACvE,IAAI,UAAU,CACZ,gBAAgB,CAAC,CAAC,CAAC,EACnB,gBAAgB,CAAC,CAAC,CAAC,EACnB,gBAAgB,CAAC,CAAC,CAAC,EACnB,gBAAgB,CAAC,CAAC,CAAC,CACpB,EACD,YAAY,CACb;AACD,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAChB,GAAG,CAAC,iBAAiB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;QACxC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnD;AACD;;;;"}
|
|
1
|
+
{"version":3,"file":"grab-system.js","sources":["../../src/grab/grab-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
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 { Entity } from '../ecs/entity.js';
|
|
8
|
+
import { Object3D } from '../runtime/index.js';
|
|
9
|
+
type GrabComponentName = 'DistanceGrabbable' | 'OneHandGrabbable' | 'TwoHandsGrabbable';
|
|
10
|
+
export declare function hasRaycastableMesh(object: Object3D): boolean;
|
|
11
|
+
export declare function warnIfNoRaycastableMesh(entity: Pick<Entity, 'index' | 'object3D'>, componentName: GrabComponentName): void;
|
|
12
|
+
export declare function resetGrabWarningStateForTests(): void;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=grab-warnings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grab-warnings.d.ts","sourceRoot":"","sources":["../../src/grab/grab-warnings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAQ,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAErD,KAAK,iBAAiB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,mBAAmB,CAAC;AAQxB,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAgB5D;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,EAC1C,aAAa,EAAE,iBAAiB,GAC/B,IAAI,CA6BN;AAED,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import '../runtime/three.js';
|
|
2
|
+
import { Object3D } from 'three';
|
|
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
|
+
let warnedNoRaycastableMesh = new WeakMap();
|
|
11
|
+
function shouldEmitDevWarning() {
|
|
12
|
+
var _a;
|
|
13
|
+
return ((_a = import.meta.env) === null || _a === void 0 ? void 0 : _a.DEV) !== false;
|
|
14
|
+
}
|
|
15
|
+
function hasRaycastableMesh(object) {
|
|
16
|
+
let found = false;
|
|
17
|
+
object.traverse((child) => {
|
|
18
|
+
if (found) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const mesh = child;
|
|
22
|
+
found =
|
|
23
|
+
mesh.isMesh === true &&
|
|
24
|
+
Boolean(mesh.geometry) &&
|
|
25
|
+
typeof mesh.raycast === 'function';
|
|
26
|
+
});
|
|
27
|
+
return found;
|
|
28
|
+
}
|
|
29
|
+
function warnIfNoRaycastableMesh(entity, componentName) {
|
|
30
|
+
const object = entity.object3D;
|
|
31
|
+
if (!(object instanceof Object3D)) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (!shouldEmitDevWarning() || hasRaycastableMesh(object)) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
let warnedComponents = warnedNoRaycastableMesh.get(object);
|
|
38
|
+
if (!warnedComponents) {
|
|
39
|
+
warnedComponents = new Set();
|
|
40
|
+
warnedNoRaycastableMesh.set(object, warnedComponents);
|
|
41
|
+
}
|
|
42
|
+
if (warnedComponents.has(componentName)) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
warnedComponents.add(componentName);
|
|
46
|
+
const entityLabel = object.name
|
|
47
|
+
? `"${object.name}" (index ${entity.index})`
|
|
48
|
+
: `#${entity.index}`;
|
|
49
|
+
console.warn(`[IWSDK] Entity ${entityLabel} has ${componentName} but no raycastable mesh in its Object3D subtree. Grab will not work. Attach a Mesh as a child or to the entity's root Object3D.`);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export { hasRaycastableMesh, warnIfNoRaycastableMesh };
|
|
53
|
+
//# sourceMappingURL=grab-warnings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grab-warnings.js","sources":["../../src/grab/grab-warnings.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;;;;;AAKG;AAUH,IAAI,uBAAuB,GAAG,IAAI,OAAO,EAAoC;AAE7E,SAAS,oBAAoB,GAAA;;IAC3B,OAAO,CAAA,CAAA,EAAA,GAAC,MAAM,CAAC,IAAY,CAAC,GAAG,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,GAAG,MAAK,KAAK;AAChD;AAEM,SAAU,kBAAkB,CAAC,MAAgB,EAAA;IACjD,IAAI,KAAK,GAAG,KAAK;AAEjB,IAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,KAAI;QACxB,IAAI,KAAK,EAAE;YACT;QACF;QAEA,MAAM,IAAI,GAAG,KAAa;QAC1B,KAAK;YACH,IAAI,CAAC,MAAM,KAAK,IAAI;AACpB,gBAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;AACtB,gBAAA,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU;AACtC,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,KAAK;AACd;AAEM,SAAU,uBAAuB,CACrC,MAA0C,EAC1C,aAAgC,EAAA;AAEhC,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ;AAC9B,IAAA,IAAI,EAAE,MAAM,YAAY,QAAQ,CAAC,EAAE;QACjC;IACF;IAEA,IAAI,CAAC,oBAAoB,EAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE;QACzD;IACF;IAEA,IAAI,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC;IAC1D,IAAI,CAAC,gBAAgB,EAAE;AACrB,QAAA,gBAAgB,GAAG,IAAI,GAAG,EAAE;AAC5B,QAAA,uBAAuB,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;IACvD;AAEA,IAAA,IAAI,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;QACvC;IACF;AAEA,IAAA,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC;AAEnC,IAAA,MAAM,WAAW,GAAG,MAAM,CAAC;UACvB,IAAI,MAAM,CAAC,IAAI,CAAA,SAAA,EAAY,MAAM,CAAC,KAAK,CAAA,CAAA;AACzC,UAAE,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,EAAE;IAEtB,OAAO,CAAC,IAAI,CACV,CAAA,eAAA,EAAkB,WAAW,CAAA,KAAA,EAAQ,aAAa,CAAA,gIAAA,CAAkI,CACrL;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handles.d.ts","sourceRoot":"","sources":["../../src/grab/handles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEpE,eAAO,MAAM,MAAM;;;;;EAMlB,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,YAAY;IACvB,oFAAoF;;IAEpF,qEAAqE;;IAErE,qFAAqF;;IAErF,8DAA8D;;CAE/D,CAAC;AAEF,qBAAa,kBAAkB,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAarD,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG;QAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;KAAE;IAC1D,QAAQ,CAAC,UAAU,EAAE,QAAQ;aACb,UAAU,EAAE,MAAM,aAAa,CAAC,CAAC,CAAC;aAClC,YAAY,EAAE,MAAM;aACpB,cAAc,EAAE,OAAO;aACvB,eAAe,EAAE,MAAM;aACvB,eAAe,EAAE,OAAO;aACxB,gBAAgB,EAAE,UAAU;aAC5B,YAAY,EAAE,OAAO;IApBvC,OAAO,CAAC,qBAAqB,CAAsB;IACnD,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAS;IACtC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAO;IACtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAiB;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAC3C,OAAO,CAAC,MAAM,CAAC,UAAU,CAAiB;IAC1C,OAAO,CAAC,MAAM,CAAC,WAAW,CAAoB;IAC9C,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAiB;IAChD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAoB;gBAGzC,OAAO,EAAE,QAAQ,GAAG;QAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;KAAE,EACjD,UAAU,EAAE,QAAQ,EACb,UAAU,GAAE,MAAM,aAAa,CAAC,CAAC,CAAC,aAAa,EAC/C,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,OAAO,EACvB,eAAe,EAAE,MAAM,YAAM,EAC7B,eAAe,EAAE,OAAO,YAAuB,EAC/C,gBAAgB,EAAE,UAAU,YAA6B,EACzD,YAAY,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"handles.d.ts","sourceRoot":"","sources":["../../src/grab/handles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEpE,eAAO,MAAM,MAAM;;;;;EAMlB,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,YAAY;IACvB,oFAAoF;;IAEpF,qEAAqE;;IAErE,qFAAqF;;IAErF,8DAA8D;;CAE/D,CAAC;AAEF,qBAAa,kBAAkB,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAarD,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG;QAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;KAAE;IAC1D,QAAQ,CAAC,UAAU,EAAE,QAAQ;aACb,UAAU,EAAE,MAAM,aAAa,CAAC,CAAC,CAAC;aAClC,YAAY,EAAE,MAAM;aACpB,cAAc,EAAE,OAAO;aACvB,eAAe,EAAE,MAAM;aACvB,eAAe,EAAE,OAAO;aACxB,gBAAgB,EAAE,UAAU;aAC5B,YAAY,EAAE,OAAO;IApBvC,OAAO,CAAC,qBAAqB,CAAsB;IACnD,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAS;IACtC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAO;IACtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAiB;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAC3C,OAAO,CAAC,MAAM,CAAC,UAAU,CAAiB;IAC1C,OAAO,CAAC,MAAM,CAAC,WAAW,CAAoB;IAC9C,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAiB;IAChD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAoB;gBAGzC,OAAO,EAAE,QAAQ,GAAG;QAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;KAAE,EACjD,UAAU,EAAE,QAAQ,EACb,UAAU,GAAE,MAAM,aAAa,CAAC,CAAC,CAAC,aAAa,EAC/C,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,OAAO,EACvB,eAAe,EAAE,MAAM,YAAM,EAC7B,eAAe,EAAE,OAAO,YAAuB,EAC/C,gBAAgB,EAAE,UAAU,YAA6B,EACzD,YAAY,EAAE,OAAO;IAOvC,MAAM,CAAC,IAAI,EAAE,MAAM;IA4InB,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG,CAAC;CAcrC"}
|
package/dist/grab/handles.js
CHANGED
|
@@ -37,13 +37,18 @@ class DistanceGrabHandle extends HandleStore {
|
|
|
37
37
|
this.detachOnGrab = detachOnGrab;
|
|
38
38
|
this.isSnapped = false;
|
|
39
39
|
this.targetQuatOffset.normalize();
|
|
40
|
-
target_.addEventListener('pointerup', () => {
|
|
41
|
-
this.isSnapped = false;
|
|
42
|
-
});
|
|
43
40
|
}
|
|
44
41
|
update(time) {
|
|
45
42
|
var _a;
|
|
46
43
|
const target = this.getTarget();
|
|
44
|
+
if (this.inputState.size === 0) {
|
|
45
|
+
// No active pointers: the grab was released, cancelled, or
|
|
46
|
+
// force-released. Clear transient snap state so the next grab starts
|
|
47
|
+
// unsnapped. This replaces the constructor's 'pointerup' DOM listener,
|
|
48
|
+
// which was never removed (a listener leak) and also missed
|
|
49
|
+
// forceRelease()/cancel() (which don't fire a DOM pointerup).
|
|
50
|
+
this.isSnapped = false;
|
|
51
|
+
}
|
|
47
52
|
if (target == null ||
|
|
48
53
|
this.inputState.size === 0 ||
|
|
49
54
|
(this.latestMoveEvent == null &&
|
package/dist/grab/handles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handles.js","sources":["../../src/grab/handles.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;;;AAKG;AAMI,MAAM,MAAM,GAAG,eAAe,CACnC,QAAQ,EACR;IACE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;CACrD,EACD,kEAAkE;AAGpE;AACO,MAAM,YAAY,GAAG;;AAE1B,IAAA,cAAc,EAAE,gBAAgB;;AAEhC,IAAA,iBAAiB,EAAE,mBAAmB;;AAEtC,IAAA,YAAY,EAAE,cAAc;;AAE5B,IAAA,cAAc,EAAE,gBAAgB;;AAG5B,MAAO,kBAAsB,SAAQ,WAAc,CAAA;AAYvD,IAAA,WAAA,CACW,OAAiD,EACjD,UAAoB,EACb,UAAA,GAAqC,OAAO,EAAE,CAAC,EAC/C,YAAoB,EACpB,cAAuB,EACvB,eAAA,GAA0B,GAAG,EAC7B,eAAA,GAA2B,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC/C,mBAA+B,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACzD,YAAqB,EAAA;AAErC,QAAA,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC;QAVjB,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,UAAU,GAAV,UAAU;QACH,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,cAAc,GAAd,cAAc;QACd,IAAA,CAAA,eAAe,GAAf,eAAe;QACf,IAAA,CAAA,eAAe,GAAf,eAAe;QACf,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,YAAY,GAAZ,YAAY;QAnBtB,IAAA,CAAA,SAAS,GAAY,KAAK;AAuBhC,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"handles.js","sources":["../../src/grab/handles.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,9 +24,13 @@ export * from './physics/index.js';
|
|
|
24
24
|
export * from './camera/index.js';
|
|
25
25
|
export * from './depth/index.js';
|
|
26
26
|
export * from './layers/index.js';
|
|
27
|
+
export * from './lighting/index.js';
|
|
27
28
|
export * from './mcp/index.js';
|
|
29
|
+
export * from './project/index.js';
|
|
28
30
|
export * from '@iwsdk/xr-input';
|
|
29
31
|
export * from '@iwsdk/locomotor';
|
|
30
32
|
export * as UIKit from '@pmndrs/uikit';
|
|
33
|
+
export { signal, effect, computed, batch, untracked, Signal, } from '@preact/signals-core';
|
|
34
|
+
export type { ReadonlySignal } from '@preact/signals-core';
|
|
31
35
|
export { VERSION };
|
|
32
36
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AACvC,OAAO,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,KAAK,EACL,SAAS,EACT,MAAM,GACP,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,25 +6,29 @@ import { VERSION } from './version.js';
|
|
|
6
6
|
import './runtime/three.js';
|
|
7
7
|
export { createSystem } from './ecs/system.js';
|
|
8
8
|
export { VisibilityState, World } from './ecs/world.js';
|
|
9
|
+
export { getComponentEditorMetadata, setComponentEditorMetadata } from './ecs/component-editor-metadata.js';
|
|
10
|
+
export { componentCatalogFromComponents, defineComponents, sceneComponentSchemaFromComponent } from './ecs/component-manifest.js';
|
|
11
|
+
export { IWSDK_BUILTIN_COMPONENTS } from './ecs/builtin-components.js';
|
|
9
12
|
export { NullEntity } from './ecs/entity.js';
|
|
10
|
-
export {
|
|
11
|
-
export { Transform, TransformSystem } from './transform/transform.js';
|
|
13
|
+
export { TransformSystem } from './transform/transform.js';
|
|
12
14
|
export { setWorldPosition, setWorldQuaternion } from './transform/transform-utils.js';
|
|
13
15
|
export { SyncedVector3 } from './transform/synced-vector3.js';
|
|
14
16
|
export { SyncedQuaternion } from './transform/synced-quaternion.js';
|
|
15
17
|
export { SyncedEuler } from './transform/synced-euler.js';
|
|
16
|
-
export { AssetManager, AssetType } from './asset/asset-manager.js';
|
|
18
|
+
export { ASSET_MANIFEST_BRAND, AssetLoadError, AssetManager, AssetType, GLTFLoadTransaction, RenderableAssetRegistry, defineAssets } from './asset/asset-manager.js';
|
|
17
19
|
export { CacheManager } from './asset/cache-manager.js';
|
|
18
20
|
export { SlideSystem } from './locomotion/slide.js';
|
|
19
21
|
export { TeleportSystem } from './locomotion/teleport.js';
|
|
20
22
|
export { TurnSystem, TurningMethod } from './locomotion/turn.js';
|
|
21
23
|
export { ActionLocomotionInputProvider, getRequiredInputProvider } from './locomotion/locomotion-input-provider.js';
|
|
22
|
-
export {
|
|
23
|
-
export {
|
|
24
|
+
export { LocomotionSystem } from './locomotion/locomotion.js';
|
|
25
|
+
export { VisibilitySystem } from './visibility/visibility.js';
|
|
24
26
|
export { UIKitDocument } from './ui/document.js';
|
|
25
|
-
export {
|
|
26
|
-
export {
|
|
27
|
-
export {
|
|
27
|
+
export { UIKitMLAsset, findUIKitDocument } from './ui/uikitml-asset.js';
|
|
28
|
+
export { PanelUISystem } from './ui/ui.js';
|
|
29
|
+
export { DEFAULT_UIKITML_KIT, configureUIKitRenderer, loadUIKitMLAsset, loadUIKitMLComponent, parseUIKitMLSource } from './ui/uikitml.js';
|
|
30
|
+
export { FollowSystem, clampedAcosDeg } from './ui/follow.js';
|
|
31
|
+
export { ScreenSpaceUISystem } from './ui/screenspace.js';
|
|
28
32
|
export { ReferenceSpaceType, SessionMode, buildSessionInit, launchXR, normalizeReferenceSpec, resolveReferenceSpaceType } from './init/xr.js';
|
|
29
33
|
export { initializeWorld } from './init/world-initializer.js';
|
|
30
34
|
import './grab/index.js';
|
|
@@ -40,12 +44,16 @@ export { DomeGradient } from './environment/dome-gradient.js';
|
|
|
40
44
|
export { IBLTexture } from './environment/ibl-texture.js';
|
|
41
45
|
export { IBLGradient } from './environment/ibl-gradient.js';
|
|
42
46
|
export { EnvironmentSystem } from './environment/environment-system.js';
|
|
43
|
-
export { LevelSystem } from './level/level-system.js';
|
|
47
|
+
export { LevelSystem, applySceneHeroCamera } from './level/level-system.js';
|
|
44
48
|
export { LevelTag } from './level/level-tag.js';
|
|
45
|
-
export {
|
|
46
|
-
export {
|
|
49
|
+
export { LEVEL_COMPONENT_PREFIX, LevelComponentApplier } from './level/level-component-applier.js';
|
|
50
|
+
export { SceneJSONImporter, activateScenePlayerAttachments, createSceneEntityReferenceResolver } from './level/level-scene-json-importer.js';
|
|
51
|
+
export { SceneMaterialPool, createSceneMaterial, disposeStandaloneSceneMaterial } from './level/level-scene-material.js';
|
|
52
|
+
export { applySceneEnvironment, captureSceneEnvironment, restoreSceneEnvironment } from './level/level-scene-environment.js';
|
|
53
|
+
export { applySceneTransform, createSceneContentObject, disposeLoweredSceneNodes, disposeSceneObjectResources, lowerSceneDocumentObjects, lowerSceneNodeObject, resolveSceneDocumentForLowering } from './level/level-scene-object.js';
|
|
54
|
+
export { createSceneGeometry, createScenePrimitiveObject, disposeScenePrimitiveObject } from './level/level-scene-primitive.js';
|
|
47
55
|
export { LevelRoot } from './level/level-root.js';
|
|
48
|
-
export { SceneUnderstandingSystem } from './scene-understanding/scene-understanding-system.js';
|
|
56
|
+
export { SceneUnderstandingSystem, findExtremeVertices } from './scene-understanding/scene-understanding-system.js';
|
|
49
57
|
export { XRAnchor } from './scene-understanding/anchor.js';
|
|
50
58
|
export { XRPlane } from './scene-understanding/plane.js';
|
|
51
59
|
export { XRMesh } from './scene-understanding/mesh.js';
|
|
@@ -55,7 +63,7 @@ export { AudioSource, DistanceModel, InstanceStealPolicy, PlaybackMode } from '.
|
|
|
55
63
|
export { AudioSystem } from './audio/audio-system.js';
|
|
56
64
|
export { AudioUtils } from './audio/audio-utils.js';
|
|
57
65
|
export { AudioPool } from './audio/audio-pool.js';
|
|
58
|
-
export { PhysicsSystem } from './physics/physics-system.js';
|
|
66
|
+
export { PhysicsSystem, getCapsuleAxisEndpoints } from './physics/physics-system.js';
|
|
59
67
|
export { DEFAULT_ANGULAR_DAMPING, DEFAULT_GRAVITY_FACTOR, DEFAULT_LINEAR_DAMPING, PhysicsBody, PhysicsState } from './physics/physicsBody.js';
|
|
60
68
|
export { PhysicsManipulation } from './physics/physicsManipulation.js';
|
|
61
69
|
export { DEFAULT_DENSITY, DEFAULT_FRICTION, DEFAULT_RESTITUTION, PhysicsShape, PhysicsShapeType } from './physics/physicsShape.js';
|
|
@@ -68,18 +76,36 @@ export { DepthTextures } from './depth/depth-textures.js';
|
|
|
68
76
|
export { DepthSensingSystem } from './depth/depth-sensing-system.js';
|
|
69
77
|
export { XRQuadLayer } from './layers/xr-quad-layer.js';
|
|
70
78
|
export { XRCylinderLayer } from './layers/xr-cylinder-layer.js';
|
|
71
|
-
export {
|
|
79
|
+
export { XRLayerSystem } from './layers/xr-layer-system.js';
|
|
72
80
|
export { MCPRuntime } from './mcp/mcp-runtime.js';
|
|
73
81
|
export * from '@iwsdk/xr-input';
|
|
74
82
|
export * from '@iwsdk/locomotor';
|
|
75
83
|
import * as uikit from '@pmndrs/uikit';
|
|
76
84
|
export { uikit as UIKit };
|
|
77
|
-
export {
|
|
85
|
+
export { Signal, batch, computed, effect, signal, untracked } from '@preact/signals-core';
|
|
86
|
+
export { AmbientLightComponent, DirectionalLightComponent, HemisphereLightComponent, IWSDK_LIGHT_COMPONENTS, LightShadowMapSize, PointLightComponent, RectAreaLightComponent, SpotLightComponent } from './lighting/light-components.js';
|
|
87
|
+
export { AssetLoadTimeoutError, DEFAULT_ASSET_LOAD_TIMEOUT_MS } from './asset/loaders/cached-asset-load.js';
|
|
88
|
+
export { ColorSchemeType, PanelDocument, PanelUI } from './ui/panel-components.js';
|
|
89
|
+
export { DEFAULT_MAX_MODEL_PAYLOAD_BYTES, DEFAULT_MAX_TOTAL_MODEL_PAYLOAD_BYTES, GLTFPayloadLimitError } from './asset/loaders/gltf-loader.js';
|
|
90
|
+
export { DistanceGrabbable } from './grab/distance-grabbable.js';
|
|
91
|
+
export { FollowBehavior, Follower } from './ui/follow-component.js';
|
|
78
92
|
export { GrabSystem } from './grab/grab-system.js';
|
|
79
93
|
export { Grabbed } from './grab/grabbed.js';
|
|
94
|
+
export { IWSDK_PROJECT_MANIFEST_VERSION } from './project/types.js';
|
|
95
|
+
export { LightBinding } from './lighting/light-binding.js';
|
|
96
|
+
export { LightSystem, lightSpecFromComponentValue, readLightSpec } from './lighting/light-system.js';
|
|
97
|
+
export { LocomotionEnvironment } from './locomotion/locomotion-environment.js';
|
|
98
|
+
export { MAX_SCENE_PATTERN_INSTANCES, deriveSceneInstanceNodeId, deriveScenePatternNodeId, generateScenePatternTransforms } from '@iwsdk/scene-composition';
|
|
99
|
+
export { MovementMode } from './grab/handles.js';
|
|
80
100
|
export { OneHandGrabbable } from './grab/one-hand-grabbable.js';
|
|
101
|
+
export { ProjectManifestValidationError, assertValidIwsdkProjectManifest, isIwsdkProjectManifest, validateIwsdkProjectManifest } from './project/validation.js';
|
|
102
|
+
export { ProjectSourcePathError, normalizeProjectSourcePath, projectSceneSourcePathToRuntimeUrl } from './project/paths.js';
|
|
103
|
+
export { ScreenSpace } from './ui/screenspace-component.js';
|
|
104
|
+
export { Transform } from './transform/transform-component.js';
|
|
81
105
|
export { TwoHandsGrabbable } from './grab/two-hands-grabbable.js';
|
|
82
|
-
export {
|
|
106
|
+
export { Visibility } from './visibility/visibility-component.js';
|
|
107
|
+
export { XRLayerState } from './layers/xr-layer-state.js';
|
|
108
|
+
export { normalizeProjectDevOptions, normalizeProjectModuleSourcePath, normalizeProjectWorldOptions, projectRegexSpecToRegExp } from './project/normalize.js';
|
|
83
109
|
|
|
84
110
|
/**
|
|
85
111
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["EliCSVersion"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["EliCSVersion"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AA6CH,OAAO,CAAC,GAAG,CAAC,CAAA;;;;;;;;;qBASS,OAAO;YAChB,QAAQ;SACXA,SAAY,CAAA,CAAE,CAAC;;;;"}
|
|
@@ -5,21 +5,24 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import { AssetManifest } from '../asset/index.js';
|
|
8
|
+
import { type ComponentManifest } from '../ecs/index.js';
|
|
8
9
|
import { World } from '../ecs/world.js';
|
|
9
10
|
import { CanvasPointerEventsOption } from '../input/index.js';
|
|
10
11
|
import { type BrowserLocomotionControls, TurningMethod } from '../locomotion/index.js';
|
|
11
|
-
import { ColorScheme } from '../ui/index.js';
|
|
12
|
-
import { XROptions } from './
|
|
12
|
+
import { ColorScheme, UIKitMLComponentSet, UIKitMLKit } from '../ui/index.js';
|
|
13
|
+
import { XROptions } from './xr.js';
|
|
13
14
|
/** Options for {@link initializeWorld} / {@link World.create}.
|
|
14
15
|
*
|
|
15
16
|
* @category Runtime
|
|
16
17
|
* @remarks
|
|
17
|
-
* Defaults are tuned for VR;
|
|
18
|
+
* Defaults are tuned for VR; camera and renderer behavior can be customized through {@link WorldOptions.render}.
|
|
18
19
|
*/
|
|
19
20
|
export type WorldOptions = {
|
|
20
21
|
/** Asset manifest to preload before the first frame. */
|
|
21
22
|
assets?: AssetManifest;
|
|
22
|
-
/**
|
|
23
|
+
/** Application components registered before the initial level is loaded. */
|
|
24
|
+
components?: ComponentManifest;
|
|
25
|
+
/** Native scene JSON level to load after initialization. Accepts a URL string or an object with a `url` field. */
|
|
23
26
|
level?: {
|
|
24
27
|
url?: string;
|
|
25
28
|
} | string;
|
|
@@ -35,8 +38,6 @@ export type WorldOptions = {
|
|
|
35
38
|
near?: number;
|
|
36
39
|
/** Far clipping plane. @defaultValue 200 */
|
|
37
40
|
far?: number;
|
|
38
|
-
/** Generate a default gradient environment and background. @defaultValue true */
|
|
39
|
-
defaultLighting?: boolean;
|
|
40
41
|
/** Enable stencil buffer. @defaultValue false */
|
|
41
42
|
stencil?: boolean;
|
|
42
43
|
/** Initial local camera pose under `world.player`. */
|
|
@@ -93,7 +94,10 @@ export type WorldOptions = {
|
|
|
93
94
|
spatialUI?: boolean | {
|
|
94
95
|
/** @deprecated Use `input.canvasPointerEvents` instead. */
|
|
95
96
|
forwardHtmlEvents?: boolean;
|
|
96
|
-
|
|
97
|
+
/** Built-in UIKitML component collection. @defaultValue 'horizon' */
|
|
98
|
+
kit?: UIKitMLKit;
|
|
99
|
+
/** Additional application-defined UIKitML component definitions. */
|
|
100
|
+
componentSets?: UIKitMLComponentSet[];
|
|
97
101
|
preferredColorScheme?: ColorScheme;
|
|
98
102
|
};
|
|
99
103
|
};
|