@iwsdk/core 0.5.3 → 1.0.0-rc.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.
Files changed (140) hide show
  1. package/README.md +22 -1
  2. package/dist/asset/asset-manager.d.ts.map +1 -1
  3. package/dist/asset/asset-manager.js +3 -2
  4. package/dist/asset/asset-manager.js.map +1 -1
  5. package/dist/camera/camera-system.d.ts +7 -3
  6. package/dist/camera/camera-system.d.ts.map +1 -1
  7. package/dist/camera/camera-system.js +81 -50
  8. package/dist/camera/camera-system.js.map +1 -1
  9. package/dist/camera/camera-utils.d.ts +5 -0
  10. package/dist/camera/camera-utils.d.ts.map +1 -1
  11. package/dist/camera/camera-utils.js +8 -1
  12. package/dist/camera/camera-utils.js.map +1 -1
  13. package/dist/depth/depth-sensing-system.d.ts +3 -0
  14. package/dist/depth/depth-sensing-system.d.ts.map +1 -1
  15. package/dist/depth/depth-sensing-system.js +55 -1
  16. package/dist/depth/depth-sensing-system.js.map +1 -1
  17. package/dist/ecs/world.d.ts +2 -0
  18. package/dist/ecs/world.d.ts.map +1 -1
  19. package/dist/ecs/world.js +4 -0
  20. package/dist/ecs/world.js.map +1 -1
  21. package/dist/grab/distance-grabbable.d.ts +5 -0
  22. package/dist/grab/distance-grabbable.d.ts.map +1 -1
  23. package/dist/grab/distance-grabbable.js +5 -0
  24. package/dist/grab/distance-grabbable.js.map +1 -1
  25. package/dist/grab/handles.d.ts +6 -0
  26. package/dist/grab/handles.d.ts.map +1 -1
  27. package/dist/grab/handles.js +46 -12
  28. package/dist/grab/handles.js.map +1 -1
  29. package/dist/grab/one-hand-grabbable.d.ts +5 -0
  30. package/dist/grab/one-hand-grabbable.d.ts.map +1 -1
  31. package/dist/grab/one-hand-grabbable.js +5 -0
  32. package/dist/grab/one-hand-grabbable.js.map +1 -1
  33. package/dist/grab/two-hands-grabbable.d.ts +5 -0
  34. package/dist/grab/two-hands-grabbable.d.ts.map +1 -1
  35. package/dist/grab/two-hands-grabbable.js +5 -0
  36. package/dist/grab/two-hands-grabbable.js.map +1 -1
  37. package/dist/index.js +7 -6
  38. package/dist/index.js.map +1 -1
  39. package/dist/init/index.d.ts +2 -2
  40. package/dist/init/index.d.ts.map +1 -1
  41. package/dist/init/session-grant.d.ts +34 -0
  42. package/dist/init/session-grant.d.ts.map +1 -0
  43. package/dist/init/session-grant.js +89 -0
  44. package/dist/init/session-grant.js.map +1 -0
  45. package/dist/init/world-initializer.d.ts +87 -4
  46. package/dist/init/world-initializer.d.ts.map +1 -1
  47. package/dist/init/world-initializer.js +48 -43
  48. package/dist/init/world-initializer.js.map +1 -1
  49. package/dist/init/xr.d.ts +19 -0
  50. package/dist/init/xr.d.ts.map +1 -1
  51. package/dist/init/xr.js +136 -41
  52. package/dist/init/xr.js.map +1 -1
  53. package/dist/input/canvas-pointer-system.d.ts +2 -0
  54. package/dist/input/canvas-pointer-system.d.ts.map +1 -1
  55. package/dist/input/canvas-pointer-system.js +33 -13
  56. package/dist/input/canvas-pointer-system.js.map +1 -1
  57. package/dist/input/input-system.d.ts.map +1 -1
  58. package/dist/input/input-system.js +5 -2
  59. package/dist/input/input-system.js.map +1 -1
  60. package/dist/layers/xr-cylinder-layer.d.ts +2 -1
  61. package/dist/layers/xr-cylinder-layer.d.ts.map +1 -1
  62. package/dist/layers/xr-cylinder-layer.js +2 -1
  63. package/dist/layers/xr-cylinder-layer.js.map +1 -1
  64. package/dist/layers/xr-layer-init.d.ts +19 -0
  65. package/dist/layers/xr-layer-init.d.ts.map +1 -0
  66. package/dist/layers/xr-layer-init.js +20 -0
  67. package/dist/layers/xr-layer-init.js.map +1 -0
  68. package/dist/layers/xr-layer-system.d.ts +41 -1
  69. package/dist/layers/xr-layer-system.d.ts.map +1 -1
  70. package/dist/layers/xr-layer-system.js +506 -132
  71. package/dist/layers/xr-layer-system.js.map +1 -1
  72. package/dist/layers/xr-layer-transform.d.ts +18 -0
  73. package/dist/layers/xr-layer-transform.d.ts.map +1 -0
  74. package/dist/layers/xr-layer-transform.js +115 -0
  75. package/dist/layers/xr-layer-transform.js.map +1 -0
  76. package/dist/layers/xr-quad-layer.d.ts +2 -1
  77. package/dist/layers/xr-quad-layer.d.ts.map +1 -1
  78. package/dist/layers/xr-quad-layer.js +2 -1
  79. package/dist/layers/xr-quad-layer.js.map +1 -1
  80. package/dist/level/level-component-applier.d.ts +2 -0
  81. package/dist/level/level-component-applier.d.ts.map +1 -1
  82. package/dist/level/level-component-applier.js +24 -5
  83. package/dist/level/level-component-applier.js.map +1 -1
  84. package/dist/mcp/ecs-debug-tools.d.ts +4 -1
  85. package/dist/mcp/ecs-debug-tools.d.ts.map +1 -1
  86. package/dist/mcp/ecs-debug-tools.js +113 -10
  87. package/dist/mcp/ecs-debug-tools.js.map +1 -1
  88. package/dist/mcp/index.d.ts +1 -0
  89. package/dist/mcp/index.d.ts.map +1 -1
  90. package/dist/mcp/mcp-runtime.d.ts +2 -0
  91. package/dist/mcp/mcp-runtime.d.ts.map +1 -1
  92. package/dist/mcp/mcp-runtime.js +41 -0
  93. package/dist/mcp/mcp-runtime.js.map +1 -1
  94. package/dist/mcp/ui-debug-tools.d.ts +56 -0
  95. package/dist/mcp/ui-debug-tools.d.ts.map +1 -0
  96. package/dist/mcp/ui-debug-tools.js +412 -0
  97. package/dist/mcp/ui-debug-tools.js.map +1 -0
  98. package/dist/physics/index.js +1 -1
  99. package/dist/physics/physics-runtime.d.ts +22 -0
  100. package/dist/physics/physics-runtime.d.ts.map +1 -0
  101. package/dist/physics/physics-runtime.js +423 -0
  102. package/dist/physics/physics-runtime.js.map +1 -0
  103. package/dist/physics/physics-system.d.ts +84 -108
  104. package/dist/physics/physics-system.d.ts.map +1 -1
  105. package/dist/physics/physics-system.js +686 -555
  106. package/dist/physics/physics-system.js.map +1 -1
  107. package/dist/physics/physics-transport.d.ts +20 -0
  108. package/dist/physics/physics-transport.d.ts.map +1 -0
  109. package/dist/physics/physics-transport.js +111 -0
  110. package/dist/physics/physics-transport.js.map +1 -0
  111. package/dist/physics/physics-worker-protocol.d.ts +144 -0
  112. package/dist/physics/physics-worker-protocol.d.ts.map +1 -0
  113. package/dist/physics/physics-worker-protocol.js +41 -0
  114. package/dist/physics/physics-worker-protocol.js.map +1 -0
  115. package/dist/physics/physics-worker-utils.d.ts +8 -0
  116. package/dist/physics/physics-worker-utils.d.ts.map +1 -0
  117. package/dist/physics/physics-worker-utils.js +12 -0
  118. package/dist/physics/physics-worker-utils.js.map +1 -0
  119. package/dist/physics/physics-worker.d.ts +8 -0
  120. package/dist/physics/physics-worker.d.ts.map +1 -0
  121. package/dist/physics/physics-worker.js +66 -0
  122. package/dist/physics/physics-worker.js.map +1 -0
  123. package/dist/project/normalize.js +7 -1
  124. package/dist/project/normalize.js.map +1 -1
  125. package/dist/project/types.d.ts +7 -1
  126. package/dist/project/types.d.ts.map +1 -1
  127. package/dist/project/validation.js +36 -2
  128. package/dist/project/validation.js.map +1 -1
  129. package/dist/scene-understanding/scene-understanding-system.d.ts +42 -6
  130. package/dist/scene-understanding/scene-understanding-system.d.ts.map +1 -1
  131. package/dist/scene-understanding/scene-understanding-system.js +391 -106
  132. package/dist/scene-understanding/scene-understanding-system.js.map +1 -1
  133. package/dist/schemas/iwsdk-project.v1.schema.json +20 -1
  134. package/dist/ui/follow.d.ts.map +1 -1
  135. package/dist/ui/follow.js +0 -1
  136. package/dist/ui/follow.js.map +1 -1
  137. package/dist/version.d.ts +1 -1
  138. package/dist/version.d.ts.map +1 -1
  139. package/dist/version.js +1 -1
  140. package/package.json +5 -5
@@ -60,6 +60,7 @@ class DepthSensingSystem extends createSystem({
60
60
  // Depth data storage
61
61
  this.cpuDepthData = [];
62
62
  this.gpuDepthData = [];
63
+ this.hasCurrentFrameDepthData = false;
63
64
  // Occlusion
64
65
  this.entityShaderMap = new Map();
65
66
  this.viewportSize = new Vector2();
@@ -79,6 +80,7 @@ class DepthSensingSystem extends createSystem({
79
80
  }
80
81
  init() {
81
82
  const onSessionStart = () => {
83
+ this.cleanup();
82
84
  this.updateEnabledFeatures(this.xrManager.getSession());
83
85
  };
84
86
  const onSessionEnd = () => {
@@ -120,6 +122,7 @@ class DepthSensingSystem extends createSystem({
120
122
  // system is torn down mid-session.
121
123
  this.cleanupFuncs.push(() => {
122
124
  var _a, _b;
125
+ this.clearAllOcclusionUniforms();
123
126
  (_a = this.depthTextures) === null || _a === void 0 ? void 0 : _a.dispose();
124
127
  this.depthTextures = undefined;
125
128
  (_b = this.preprocessingPass) === null || _b === void 0 ? void 0 : _b.dispose();
@@ -169,8 +172,25 @@ class DepthSensingSystem extends createSystem({
169
172
  });
170
173
  }
171
174
  detachOcclusionFromEntity(entity) {
175
+ const entityUniforms = this.entityShaderMap.get(entity);
176
+ if (entityUniforms) {
177
+ this.clearOcclusionUniforms(entityUniforms);
178
+ }
172
179
  this.entityShaderMap.delete(entity);
173
180
  }
181
+ clearOcclusionUniforms(entityUniforms) {
182
+ for (const uniforms of entityUniforms) {
183
+ uniforms.occlusionEnabled.value = false;
184
+ uniforms.uXRDepthTextureArray.value = null;
185
+ uniforms.uMinMaxTexture0.value = null;
186
+ uniforms.uMinMaxTexture1.value = null;
187
+ }
188
+ }
189
+ clearAllOcclusionUniforms() {
190
+ for (const entityUniforms of this.entityShaderMap.values()) {
191
+ this.clearOcclusionUniforms(entityUniforms);
192
+ }
193
+ }
174
194
  /**
175
195
  * Modifies a material's shader in-place to incorporate inline depth-based
176
196
  * occlusion. Compares the virtual fragment's view-space depth against the
@@ -303,6 +323,12 @@ class DepthSensingSystem extends createSystem({
303
323
  this.depthFeatureEnabled = undefined;
304
324
  this.cpuDepthData = [];
305
325
  this.gpuDepthData = [];
326
+ this.hasCurrentFrameDepthData = false;
327
+ // The occlusion materials continue rendering after an immersive session
328
+ // ends. Clear every session-owned texture before disposing the min/max
329
+ // render targets, otherwise WebGL attempts to bind those deleted textures
330
+ // in the non-immersive frame (and again when the next session starts).
331
+ this.clearAllOcclusionUniforms();
306
332
  (_a = this.preprocessingPass) === null || _a === void 0 ? void 0 : _a.dispose();
307
333
  this.preprocessingPass = undefined;
308
334
  }
@@ -320,14 +346,27 @@ class DepthSensingSystem extends createSystem({
320
346
  if (!this.depthFeatureEnabled) {
321
347
  return;
322
348
  }
349
+ // XR depth information is frame-scoped. A runtime may temporarily return
350
+ // no depth data while the session remains active, so never carry readiness
351
+ // (or the public depth information objects) across animation frames.
352
+ this.hasCurrentFrameDepthData = false;
353
+ this.cpuDepthData.length = 0;
354
+ this.gpuDepthData.length = 0;
323
355
  const frame = this.xrFrame;
324
356
  if (frame) {
325
357
  this.updateLocalDepth(frame);
326
358
  }
359
+ if (!this.hasCurrentFrameDepthData) {
360
+ this.clearAllOcclusionUniforms();
361
+ return;
362
+ }
327
363
  if (this.config.enableOcclusion.value) {
328
364
  this.runMinMaxPreprocessing();
329
365
  this.updateOcclusionUniforms();
330
366
  }
367
+ else {
368
+ this.clearAllOcclusionUniforms();
369
+ }
331
370
  }
332
371
  /**
333
372
  * Runs the MinMax depth preprocessing pass if any entity uses MinMaxSoftOcclusion.
@@ -340,6 +379,9 @@ class DepthSensingSystem extends createSystem({
340
379
  }
341
380
  getDepthTextureArray() {
342
381
  var _a, _b;
382
+ if (!this.hasCurrentFrameDepthData) {
383
+ return undefined;
384
+ }
343
385
  return this.isGPUDepth
344
386
  ? (_a = this.depthTextures) === null || _a === void 0 ? void 0 : _a.getNativeTexture()
345
387
  : (_b = this.depthTextures) === null || _b === void 0 ? void 0 : _b.getDataArrayTexture();
@@ -394,21 +436,32 @@ class DepthSensingSystem extends createSystem({
394
436
  // views. We only need to update the ExternalTexture once using the
395
437
  // first view's depth data.
396
438
  const view = pose.views[0];
439
+ if (!view) {
440
+ return;
441
+ }
397
442
  const depthData = binding.getDepthInformation(view);
398
443
  if (depthData) {
399
444
  this.updateGPUDepthData(depthData);
445
+ this.hasCurrentFrameDepthData = true;
400
446
  }
401
447
  }
402
448
  else {
403
449
  // CPU path: each view has its own DataTexture.
450
+ const frameDepthData = [];
404
451
  for (let viewId = 0; viewId < pose.views.length; ++viewId) {
405
452
  const view = pose.views[viewId];
406
453
  const depthData = frame.getDepthInformation(view);
407
454
  if (!depthData) {
408
455
  return;
409
456
  }
410
- this.updateCPUDepthData(depthData, viewId);
457
+ frameDepthData.push(depthData);
458
+ }
459
+ // Commit the stereo sample atomically. Updating one eye before the
460
+ // other reports missing would create a mixed-frame depth texture.
461
+ for (let viewId = 0; viewId < frameDepthData.length; ++viewId) {
462
+ this.updateCPUDepthData(frameDepthData[viewId], viewId);
411
463
  }
464
+ this.hasCurrentFrameDepthData = frameDepthData.length > 0;
412
465
  }
413
466
  }
414
467
  }
@@ -440,6 +493,7 @@ class DepthSensingSystem extends createSystem({
440
493
  var _a, _b;
441
494
  const depthTextureArray = this.getDepthTextureArray();
442
495
  if (!depthTextureArray) {
496
+ this.clearAllOcclusionUniforms();
443
497
  return;
444
498
  }
445
499
  const isGPUDepth = this.isGPUDepth;
@@ -1 +1 @@
1
- {"version":3,"file":"depth-sensing-system.js","sources":["../../src/depth/depth-sensing-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"depth-sensing-system.js","sources":["../../src/depth/depth-sensing-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -80,6 +80,8 @@ export declare class World extends ElicsWorld {
80
80
  visibilityState: Signal<VisibilityState>;
81
81
  /** Whether this world was created with XR support enabled. */
82
82
  xrEnabled: boolean;
83
+ /** Whether an explicit XR session request is currently settling. @internal */
84
+ sessionRequestPending: boolean;
83
85
  requestedLevelUrl: string | undefined;
84
86
  requestedLevelDocument: SceneDocument | undefined;
85
87
  _resolveLevelLoad: (() => void) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/ecs/world.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/ecs/world.ts"],"names":[],"mappings":"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"}
package/dist/ecs/world.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { signal } from '@preact/signals-core';
2
2
  import { World as World$1 } from 'elics';
3
+ import { armSessionGrantCaptureForOptions } from '../init/session-grant.js';
3
4
  import { launchXR } from '../init/xr.js';
4
5
  import { LevelTag } from '../level/level-tag.js';
5
6
  import '../runtime/three.js';
@@ -51,6 +52,8 @@ class World extends World$1 {
51
52
  this.visibilityState = signal(VisibilityState.NonImmersive);
52
53
  /** Whether this world was created with XR support enabled. */
53
54
  this.xrEnabled = true;
55
+ /** Whether an explicit XR session request is currently settling. @internal */
56
+ this.sessionRequestPending = false;
54
57
  /** Teardown callbacks run by {@link World.destroy} (render loop, global listeners). */
55
58
  this.worldCleanupFuncs = [];
56
59
  /** Guards {@link World.destroy} so a second call is a no-op. */
@@ -487,6 +490,7 @@ class World extends World$1 {
487
490
  * @see /getting-started/01-hello-xr
488
491
  */
489
492
  static async create(container, options) {
493
+ armSessionGrantCaptureForOptions(options === null || options === void 0 ? void 0 : options.xr);
490
494
  const { initializeWorld } = await import('../init/world-initializer.js');
491
495
  return initializeWorld(container, options);
492
496
  }
@@ -1 +1 @@
1
- {"version":3,"file":"world.js","sources":["../../src/ecs/world.ts"],"sourcesContent":[null],"names":["ElicsWorld"],"mappings":"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"}
1
+ {"version":3,"file":"world.js","sources":["../../src/ecs/world.ts"],"sourcesContent":[null],"names":["ElicsWorld"],"mappings":"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"}
@@ -18,6 +18,11 @@ import { Types } from '../ecs/component.js';
18
18
  * - Supports rotation, translation, and scaling with per‑axis constraints.
19
19
  * - Configure target position and rotation offsets relative to the input source for MoveTowardsTarget mode.
20
20
  * - Works with the {@link GrabSystem} to create specialized distance grab handles.
21
+ * - Grab components are mutually exclusive per entity. Choose exactly one of
22
+ * {@link OneHandGrabbable}, {@link TwoHandsGrabbable}, or
23
+ * {@link DistanceGrabbable}; {@link GrabSystem} creates only one handle and
24
+ * ignores additional grab components. Do not rely on which component wins
25
+ * when multiple modes are present.
21
26
  * - Perfect for telekinetic‑style interactions and remote object manipulation.
22
27
  *
23
28
  * @example Basic distance grabbable object
@@ -1 +1 @@
1
- {"version":3,"file":"distance-grabbable.d.ts","sourceRoot":"","sources":["../../src/grab/distance-grabbable.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,eAAO,MAAM,iBAAiB;IAG1B,qEAAqE;;;;;IAErE,gGAAgG;;;;;IAKhG,gGAAgG;;;;;IAKhG,8EAA8E;;;;;IAE9E,mFAAmF;;;;;IAKnF,mFAAmF;;;;;IAKnF,gFAAgF;;;;;IAEhF,kFAAkF;;;;;IAKlF,kFAAkF;;;;;IAKlF,gFAAgF;;;;;;;;;;;IAMhF,iGAAiG;;;;;IAEjG,kIAAkI;;;;;IAElI,kHAAkH;;;;;IAElH,mGAAmG;;;;;IAKnG,sHAAsH;;;;;EAOzH,CAAC"}
1
+ {"version":3,"file":"distance-grabbable.d.ts","sourceRoot":"","sources":["../../src/grab/distance-grabbable.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,eAAO,MAAM,iBAAiB;IAG1B,qEAAqE;;;;;IAErE,gGAAgG;;;;;IAKhG,gGAAgG;;;;;IAKhG,8EAA8E;;;;;IAE9E,mFAAmF;;;;;IAKnF,mFAAmF;;;;;IAKnF,gFAAgF;;;;;IAEhF,kFAAkF;;;;;IAKlF,kFAAkF;;;;;IAKlF,gFAAgF;;;;;;;;;;;IAMhF,iGAAiG;;;;;IAEjG,kIAAkI;;;;;IAElI,kHAAkH;;;;;IAElH,mGAAmG;;;;;IAKnG,sHAAsH;;;;;EAOzH,CAAC"}
@@ -20,6 +20,11 @@ import { MovementMode } from './handles.js';
20
20
  * - Supports rotation, translation, and scaling with per‑axis constraints.
21
21
  * - Configure target position and rotation offsets relative to the input source for MoveTowardsTarget mode.
22
22
  * - Works with the {@link GrabSystem} to create specialized distance grab handles.
23
+ * - Grab components are mutually exclusive per entity. Choose exactly one of
24
+ * {@link OneHandGrabbable}, {@link TwoHandsGrabbable}, or
25
+ * {@link DistanceGrabbable}; {@link GrabSystem} creates only one handle and
26
+ * ignores additional grab components. Do not rely on which component wins
27
+ * when multiple modes are present.
23
28
  * - Perfect for telekinetic‑style interactions and remote object manipulation.
24
29
  *
25
30
  * @example Basic distance grabbable object
@@ -1 +1 @@
1
- {"version":3,"file":"distance-grabbable.js","sources":["../../src/grab/distance-grabbable.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;;;;;AAKG;AAKH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDG;AACI,MAAM,iBAAiB,GAAG,eAAe,CAC9C,mBAAmB,EACnB;;IAEE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAE9C,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;;IAED,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAEjD,IAAA,YAAY,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,YAAY,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;;IAED,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAE7C,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;;AAED,IAAA,YAAY,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,YAAY,CAAC,iBAAiB;AACxC,KAAA;;IAED,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;;IAEvD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;;IAErD,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;;AAEtD,IAAA,oBAAoB,EAAE;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnB,KAAA;;AAED,IAAA,sBAAsB,EAAE;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACtB,KAAA;CACF,EACD,+DAA+D;;;;"}
1
+ {"version":3,"file":"distance-grabbable.js","sources":["../../src/grab/distance-grabbable.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;;;;;AAKG;AAKH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DG;AACI,MAAM,iBAAiB,GAAG,eAAe,CAC9C,mBAAmB,EACnB;;IAEE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAE9C,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;;IAED,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAEjD,IAAA,YAAY,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,YAAY,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;;IAED,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAE7C,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;;AAED,IAAA,YAAY,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,YAAY,CAAC,iBAAiB;AACxC,KAAA;;IAED,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;;IAEvD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;;IAErD,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;;AAEtD,IAAA,oBAAoB,EAAE;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnB,KAAA;;AAED,IAAA,sBAAsB,EAAE;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACtB,KAAA;CACF,EACD,+DAA+D;;;;"}
@@ -38,6 +38,12 @@ export declare class DistanceGrabHandle<T> extends HandleStore<T> {
38
38
  readonly detachOnGrab: boolean;
39
39
  private previousPointerOrigin;
40
40
  private isSnapped;
41
+ private returnOriginCaptured;
42
+ private returnTargetParent;
43
+ private readonly returnTargetPosition;
44
+ private readonly returnTargetQuaternion;
45
+ private readonly returnTargetRotation;
46
+ private readonly returnTargetScale;
41
47
  private static SNAP_THRESHOLD;
42
48
  private static MOVE_SPEED_SCALE;
43
49
  private static _tmp;
@@ -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;IAOvC,MAAM,CAAC,IAAI,EAAE,MAAM;IA4InB,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG,CAAC;CAcrC"}
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,EAAS,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE3E,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;IAmBrD,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;IA1BvC,OAAO,CAAC,qBAAqB,CAAsB;IACnD,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiB;IACtD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAoB;IAC3D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiB;IACnD,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;IAmJnB,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG,CAAC;CAyCrC"}
@@ -1,7 +1,7 @@
1
1
  import { HandleStore } from '@pmndrs/handle';
2
2
  import { createComponent, Types } from 'elics';
3
3
  import '../runtime/three.js';
4
- import { Vector3, Quaternion } from 'three';
4
+ import { Vector3, Quaternion, Euler } from 'three';
5
5
 
6
6
  /**
7
7
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -36,6 +36,12 @@ class DistanceGrabHandle extends HandleStore {
36
36
  this.targetQuatOffset = targetQuatOffset;
37
37
  this.detachOnGrab = detachOnGrab;
38
38
  this.isSnapped = false;
39
+ this.returnOriginCaptured = false;
40
+ this.returnTargetParent = null;
41
+ this.returnTargetPosition = new Vector3();
42
+ this.returnTargetQuaternion = new Quaternion();
43
+ this.returnTargetRotation = new Euler();
44
+ this.returnTargetScale = new Vector3();
39
45
  this.targetQuatOffset.normalize();
40
46
  }
41
47
  update(time) {
@@ -104,9 +110,15 @@ class DistanceGrabHandle extends HandleStore {
104
110
  .copy(pointerQuaternion)
105
111
  .multiply(this.targetQuatOffset);
106
112
  const distance = targetPosition.distanceTo(DistanceGrabHandle._posHelper);
113
+ const rawInterpolationAlpha = this.moveSpeedFactor * time * DistanceGrabHandle.MOVE_SPEED_SCALE;
114
+ // Invalid timing/config input must never poison the target transform.
115
+ // Freeze on NaN; clamp finite values and infinities to the valid lerp range.
116
+ const interpolationAlpha = Number.isNaN(rawInterpolationAlpha)
117
+ ? 0
118
+ : Math.min(1, Math.max(0, rawInterpolationAlpha));
107
119
  if (!this.isSnapped && distance > DistanceGrabHandle.SNAP_THRESHOLD) {
108
- DistanceGrabHandle._posHelper.lerp(targetPosition, this.moveSpeedFactor * time * DistanceGrabHandle.MOVE_SPEED_SCALE);
109
- DistanceGrabHandle._quatHelper.slerp(targetQuaternion, this.moveSpeedFactor * time * DistanceGrabHandle.MOVE_SPEED_SCALE);
120
+ DistanceGrabHandle._posHelper.lerp(targetPosition, interpolationAlpha);
121
+ DistanceGrabHandle._quatHelper.slerp(targetQuaternion, interpolationAlpha);
110
122
  }
111
123
  else {
112
124
  if (!this.isSnapped) {
@@ -155,15 +167,37 @@ class DistanceGrabHandle extends HandleStore {
155
167
  this.latestMoveEvent = undefined;
156
168
  }
157
169
  apply(target) {
158
- var _a;
159
- // On release (last frame), if configured to return to origin,
160
- // restore the initially saved transform instead of leaving the final drag state.
161
- if (this.returnToOrigin && ((_a = this.outputState) === null || _a === void 0 ? void 0 : _a.last)) {
162
- target.position.copy(this.initialTargetPosition);
163
- // Keep rotation order consistent when restoring
164
- target.rotation.order = this.initialTargetRotation.order;
165
- target.quaternion.copy(this.initialTargetQuaternion);
166
- target.scale.copy(this.initialTargetScale);
170
+ if (this.returnToOrigin &&
171
+ this.inputState.size === 1 &&
172
+ this.outputState.first &&
173
+ !this.returnOriginCaptured) {
174
+ this.returnTargetParent = target.parent;
175
+ this.returnTargetPosition.copy(target.position);
176
+ this.returnTargetQuaternion.copy(target.quaternion);
177
+ this.returnTargetRotation.copy(target.rotation);
178
+ this.returnTargetScale.copy(target.scale);
179
+ this.returnOriginCaptured = true;
180
+ }
181
+ // HandleStore intentionally saves a new manipulation baseline whenever a
182
+ // second pointer joins or one pointer leaves. Return-to-origin needs the
183
+ // transform from the start of the whole gesture, not a handoff baseline.
184
+ if (this.returnToOrigin &&
185
+ this.outputState.last &&
186
+ this.returnOriginCaptured) {
187
+ if (this.detachOnGrab && target.parent !== this.returnTargetParent) {
188
+ if (this.returnTargetParent == null) {
189
+ target.removeFromParent();
190
+ }
191
+ else {
192
+ this.returnTargetParent.add(target);
193
+ }
194
+ }
195
+ target.position.copy(this.returnTargetPosition);
196
+ target.rotation.order = this.returnTargetRotation.order;
197
+ target.quaternion.copy(this.returnTargetQuaternion);
198
+ target.scale.copy(this.returnTargetScale);
199
+ this.returnTargetParent = null;
200
+ this.returnOriginCaptured = false;
167
201
  // Do not call super.apply to avoid re-applying the drag transform.
168
202
  return undefined;
169
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handles.js","sources":["../../src/grab/handles.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handles.js","sources":["../../src/grab/handles.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -13,6 +13,11 @@ import { Types } from '../ecs/component.js';
13
13
  * - Supports independent control of rotation and translation (movement) axes.
14
14
  * - Rotation and translation can be constrained using min/max limits per axis.
15
15
  * - Works with the {@link GrabSystem} to automatically create interaction handles.
16
+ * - Grab components are mutually exclusive per entity. Choose exactly one of
17
+ * {@link OneHandGrabbable}, {@link TwoHandsGrabbable}, or
18
+ * {@link DistanceGrabbable}; {@link GrabSystem} creates only one handle and
19
+ * ignores additional grab components. Do not rely on which component wins
20
+ * when multiple modes are present.
16
21
  * - Requires the entity to have an `object3D` for the interaction to work.
17
22
  *
18
23
  * @example Basic single‑hand grabbable object
@@ -1 +1 @@
1
- {"version":3,"file":"one-hand-grabbable.d.ts","sourceRoot":"","sources":["../../src/grab/one-hand-grabbable.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,eAAO,MAAM,gBAAgB;IAGzB,qEAAqE;;;;;IAErE,gGAAgG;;;;;IAKhG,gGAAgG;;;;;IAKhG,8EAA8E;;;;;IAE9E,mFAAmF;;;;;IAKnF,mFAAmF;;;;;EAOtF,CAAC"}
1
+ {"version":3,"file":"one-hand-grabbable.d.ts","sourceRoot":"","sources":["../../src/grab/one-hand-grabbable.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,eAAO,MAAM,gBAAgB;IAGzB,qEAAqE;;;;;IAErE,gGAAgG;;;;;IAKhG,gGAAgG;;;;;IAKhG,8EAA8E;;;;;IAE9E,mFAAmF;;;;;IAKnF,mFAAmF;;;;;EAOtF,CAAC"}
@@ -14,6 +14,11 @@ import { createComponent, Types } from 'elics';
14
14
  * - Supports independent control of rotation and translation (movement) axes.
15
15
  * - Rotation and translation can be constrained using min/max limits per axis.
16
16
  * - Works with the {@link GrabSystem} to automatically create interaction handles.
17
+ * - Grab components are mutually exclusive per entity. Choose exactly one of
18
+ * {@link OneHandGrabbable}, {@link TwoHandsGrabbable}, or
19
+ * {@link DistanceGrabbable}; {@link GrabSystem} creates only one handle and
20
+ * ignores additional grab components. Do not rely on which component wins
21
+ * when multiple modes are present.
17
22
  * - Requires the entity to have an `object3D` for the interaction to work.
18
23
  *
19
24
  * @example Basic single‑hand grabbable object
@@ -1 +1 @@
1
- {"version":3,"file":"one-hand-grabbable.js","sources":["../../src/grab/one-hand-grabbable.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;AAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCG;AAEI,MAAM,gBAAgB,GAAG,eAAe,CAC7C,kBAAkB,EAClB;;IAEE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAE9C,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;;IAED,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAEjD,IAAA,YAAY,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,YAAY,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;CACF,EACD,4DAA4D;;;;"}
1
+ {"version":3,"file":"one-hand-grabbable.js","sources":["../../src/grab/one-hand-grabbable.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;AAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CG;AAEI,MAAM,gBAAgB,GAAG,eAAe,CAC7C,kBAAkB,EAClB;;IAEE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAE9C,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;;IAED,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAEjD,IAAA,YAAY,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,YAAY,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;CACF,EACD,4DAA4D;;;;"}
@@ -16,6 +16,11 @@ import { Types } from '../ecs/component.js';
16
16
  * - Rotation is calculated from the relative orientation between the two hands.
17
17
  * - All transformations can be independently enabled/disabled and constrained per axis.
18
18
  * - Works with the {@link GrabSystem} to automatically create multitouch interaction handles.
19
+ * - Grab components are mutually exclusive per entity. Choose exactly one of
20
+ * {@link OneHandGrabbable}, {@link TwoHandsGrabbable}, or
21
+ * {@link DistanceGrabbable}; {@link GrabSystem} creates only one handle and
22
+ * ignores additional grab components. Do not rely on which component wins
23
+ * when multiple modes are present.
19
24
  *
20
25
  * @example Basic two‑handed grabbable object
21
26
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"two-hands-grabbable.d.ts","sourceRoot":"","sources":["../../src/grab/two-hands-grabbable.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,eAAO,MAAM,iBAAiB;IAG1B,qEAAqE;;;;;IAErE,gGAAgG;;;;;IAKhG,gGAAgG;;;;;IAKhG,8EAA8E;;;;;IAE9E,mFAAmF;;;;;IAKnF,mFAAmF;;;;;IAKnF,gFAAgF;;;;;IAEhF,kFAAkF;;;;;IAKlF,kFAAkF;;;;;EAOrF,CAAC"}
1
+ {"version":3,"file":"two-hands-grabbable.d.ts","sourceRoot":"","sources":["../../src/grab/two-hands-grabbable.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,eAAO,MAAM,iBAAiB;IAG1B,qEAAqE;;;;;IAErE,gGAAgG;;;;;IAKhG,gGAAgG;;;;;IAKhG,8EAA8E;;;;;IAE9E,mFAAmF;;;;;IAKnF,mFAAmF;;;;;IAKnF,gFAAgF;;;;;IAEhF,kFAAkF;;;;;IAKlF,kFAAkF;;;;;EAOrF,CAAC"}
@@ -17,6 +17,11 @@ import { createComponent, Types } from 'elics';
17
17
  * - Rotation is calculated from the relative orientation between the two hands.
18
18
  * - All transformations can be independently enabled/disabled and constrained per axis.
19
19
  * - Works with the {@link GrabSystem} to automatically create multitouch interaction handles.
20
+ * - Grab components are mutually exclusive per entity. Choose exactly one of
21
+ * {@link OneHandGrabbable}, {@link TwoHandsGrabbable}, or
22
+ * {@link DistanceGrabbable}; {@link GrabSystem} creates only one handle and
23
+ * ignores additional grab components. Do not rely on which component wins
24
+ * when multiple modes are present.
20
25
  *
21
26
  * @example Basic two‑handed grabbable object
22
27
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"two-hands-grabbable.js","sources":["../../src/grab/two-hands-grabbable.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;AAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CG;AAEI,MAAM,iBAAiB,GAAG,eAAe,CAC9C,mBAAmB,EACnB;;IAEE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAE9C,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;;IAED,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAEjD,IAAA,YAAY,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,YAAY,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;;IAED,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAE7C,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;CACF,EACD,2DAA2D;;;;"}
1
+ {"version":3,"file":"two-hands-grabbable.js","sources":["../../src/grab/two-hands-grabbable.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;AAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDG;AAEI,MAAM,iBAAiB,GAAG,eAAe,CAC9C,mBAAmB,EACnB;;IAEE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAE9C,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;;IAED,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAEjD,IAAA,YAAY,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,YAAY,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;;IAED,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;AAE7C,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACxC,KAAA;;AAED,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AAC3C,KAAA;CACF,EACD,2DAA2D;;;;"}