@iwsdk/core 0.2.0 → 0.2.2

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 (45) hide show
  1. package/dist/camera/camera-source.d.ts +15 -5
  2. package/dist/camera/camera-source.d.ts.map +1 -1
  3. package/dist/camera/camera-source.js +11 -3
  4. package/dist/camera/camera-source.js.map +1 -1
  5. package/dist/camera/camera-system.d.ts +34 -9
  6. package/dist/camera/camera-system.d.ts.map +1 -1
  7. package/dist/camera/camera-system.js +39 -37
  8. package/dist/camera/camera-system.js.map +1 -1
  9. package/dist/camera/camera-utils.d.ts +2 -2
  10. package/dist/camera/camera-utils.d.ts.map +1 -1
  11. package/dist/camera/camera-utils.js +4 -3
  12. package/dist/camera/camera-utils.js.map +1 -1
  13. package/dist/camera/types.d.ts +14 -7
  14. package/dist/camera/types.d.ts.map +1 -1
  15. package/dist/camera/types.js +12 -8
  16. package/dist/camera/types.js.map +1 -1
  17. package/dist/grab/handles.d.ts +2 -0
  18. package/dist/grab/handles.d.ts.map +1 -1
  19. package/dist/grab/handles.js +34 -11
  20. package/dist/grab/handles.js.map +1 -1
  21. package/dist/index.js +2 -2
  22. package/dist/init/world-initializer.d.ts +6 -2
  23. package/dist/init/world-initializer.d.ts.map +1 -1
  24. package/dist/init/world-initializer.js +13 -3
  25. package/dist/init/world-initializer.js.map +1 -1
  26. package/dist/input/input-system.d.ts +1 -2
  27. package/dist/input/input-system.d.ts.map +1 -1
  28. package/dist/input/input-system.js +22 -33
  29. package/dist/input/input-system.js.map +1 -1
  30. package/dist/physics/physics-system.d.ts +1 -1
  31. package/dist/physics/physics-system.d.ts.map +1 -1
  32. package/dist/physics/physics-system.js +3 -3
  33. package/dist/scene-understanding/scene-understanding-system.d.ts +68 -0
  34. package/dist/scene-understanding/scene-understanding-system.d.ts.map +1 -1
  35. package/dist/scene-understanding/scene-understanding-system.js +113 -21
  36. package/dist/scene-understanding/scene-understanding-system.js.map +1 -1
  37. package/dist/ui/index.d.ts +2 -2
  38. package/dist/ui/index.d.ts.map +1 -1
  39. package/dist/ui/ui.d.ts +27 -0
  40. package/dist/ui/ui.d.ts.map +1 -1
  41. package/dist/ui/ui.js +20 -2
  42. package/dist/ui/ui.js.map +1 -1
  43. package/dist/version.d.ts +1 -1
  44. package/dist/version.js +1 -1
  45. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -19,7 +19,7 @@ export { TurnSystem, TurningMethod } from './locomotion/turn.js';
19
19
  export { LocomotionEnvironment, LocomotionSystem } from './locomotion/locomotion.js';
20
20
  export { Visibility, VisibilitySystem } from './visibility/visibility.js';
21
21
  export { UIKitDocument } from './ui/document.js';
22
- export { PanelDocument, PanelUI, PanelUISystem } from './ui/ui.js';
22
+ export { ColorSchemeType, PanelDocument, PanelUI, PanelUISystem } from './ui/ui.js';
23
23
  export { FollowBehavior, FollowSystem, Follower } from './ui/follow.js';
24
24
  export { ScreenSpace, ScreenSpaceUISystem } from './ui/screenspace.js';
25
25
  export { ReferenceSpaceType, SessionMode, buildSessionInit, launchXR, normalizeReferenceSpec, resolveReferenceSpaceType } from './init/xr.js';
@@ -49,7 +49,7 @@ export { PhysicsSystem } from './physics/physics-system.js';
49
49
  export { DEFAULT_ANGULAR_DAMPING, DEFAULT_GRAVITY_FACTOR, DEFAULT_LINEAR_DAMPING, PhysicsBody, PhysicsState } from './physics/physicsBody.js';
50
50
  export { PhysicsManipulation } from './physics/physicsManipulation.js';
51
51
  export { DEFAULT_DENSITY, DEFAULT_FRICTION, DEFAULT_RESTITUTION, PhysicsShape, PhysicsShapeType } from './physics/physicsShape.js';
52
- export { CameraState } from './camera/types.js';
52
+ export { CameraFacing, CameraState } from './camera/types.js';
53
53
  export { CameraUtils } from './camera/camera-utils.js';
54
54
  export { CameraSource } from './camera/camera-source.js';
55
55
  export { CameraSystem } from './camera/camera-system.js';
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { AssetManifest } from '../asset/index.js';
8
8
  import { World } from '../ecs/index.js';
9
+ import { ColorScheme } from '../ui/index.js';
9
10
  import { XROptions } from './index.js';
10
11
  /** Options for {@link initializeWorld} / {@link World.create}.
11
12
  *
@@ -45,14 +46,17 @@ export type WorldOptions = {
45
46
  grabbing?: boolean;
46
47
  /** Physics simulation (Havok). @defaultValue false */
47
48
  physics?: boolean;
48
- /** Scene Understanding (planes/meshes/anchors). @defaultValue false */
49
- sceneUnderstanding?: boolean;
49
+ /** Scene Understanding (planes/meshes/anchors). Boolean or config. @defaultValue false */
50
+ sceneUnderstanding?: boolean | {
51
+ showWireFrame?: boolean;
52
+ };
50
53
  /** Camera access for video streaming. @defaultValue false */
51
54
  camera?: boolean;
52
55
  /** Spatial UI systems (PanelUI/ScreenSpace/Follow). Boolean or config. @defaultValue true */
53
56
  spatialUI?: boolean | {
54
57
  forwardHtmlEvents?: boolean;
55
58
  kits?: Array<Record<string, unknown>> | Record<string, unknown>;
59
+ preferredColorScheme?: ColorScheme;
56
60
  };
57
61
  };
58
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"world-initializer.d.ts","sourceRoot":"","sources":["../../src/init/world-initializer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAgB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAE,KAAK,EAAmB,MAAM,iBAAiB,CAAC;AA2CzD,OAAO,EAGL,SAAS,EAIV,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,wDAAwD;IACxD,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB,qGAAqG;IACrG,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IAElC,6CAA6C;IAC7C,EAAE,CAAC,EAAE,SAAS,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAC;IAExD,uCAAuC;IACvC,MAAM,CAAC,EAAE;QACP,wDAAwD;QACxD,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,6CAA6C;QAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,4CAA4C;QAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,iFAAiF;QACjF,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IAEF,8BAA8B;IAC9B,QAAQ,CAAC,EAAE;QACT,+EAA+E;QAC/E,UAAU,CAAC,EAAE,OAAO,GAAG;YAAE,SAAS,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAC/C,6DAA6D;QAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,sDAAsD;QACtD,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,uEAAuE;QACvE,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,6DAA6D;QAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,6FAA6F;QAC7F,SAAS,CAAC,EACN,OAAO,GACP;YACE,iBAAiB,CAAC,EAAE,OAAO,CAAC;YAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACjE,CAAC;KACP,CAAC;CACH,CAAC;AAEF;;;;;;;GAOG;AACH;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,cAAc,EACzB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,KAAK,CAAC,CAwDhB"}
1
+ {"version":3,"file":"world-initializer.d.ts","sourceRoot":"","sources":["../../src/init/world-initializer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAgB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAE,KAAK,EAAmB,MAAM,iBAAiB,CAAC;AAkCzD,OAAO,EAOL,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAGL,SAAS,EAIV,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,wDAAwD;IACxD,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB,qGAAqG;IACrG,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IAElC,6CAA6C;IAC7C,EAAE,CAAC,EAAE,SAAS,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAC;IAExD,uCAAuC;IACvC,MAAM,CAAC,EAAE;QACP,wDAAwD;QACxD,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,6CAA6C;QAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,4CAA4C;QAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,iFAAiF;QACjF,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IAEF,8BAA8B;IAC9B,QAAQ,CAAC,EAAE;QACT,+EAA+E;QAC/E,UAAU,CAAC,EAAE,OAAO,GAAG;YAAE,SAAS,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAC/C,6DAA6D;QAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,sDAAsD;QACtD,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,0FAA0F;QAC1F,kBAAkB,CAAC,EAAE,OAAO,GAAG;YAAE,aAAa,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAC3D,6DAA6D;QAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,6FAA6F;QAC7F,SAAS,CAAC,EACN,OAAO,GACP;YACE,iBAAiB,CAAC,EAAE,OAAO,CAAC;YAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChE,oBAAoB,CAAC,EAAE,WAAW,CAAC;SACpC,CAAC;KACP,CAAC;CACH,CAAC;AAEF;;;;;;;GAOG;AACH;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,cAAc,EACzB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,KAAK,CAAC,CAwDhB"}
@@ -5,7 +5,6 @@ import '../asset/cache-manager.js';
5
5
  import { AudioSource } from '../audio/audio.js';
6
6
  import { AudioSystem } from '../audio/audio-system.js';
7
7
  import '../runtime/three.js';
8
- import '../camera/types.js';
9
8
  import '../camera/camera-utils.js';
10
9
  import { CameraSource } from '../camera/camera-source.js';
11
10
  import { CameraSystem } from '../camera/camera-system.js';
@@ -306,7 +305,8 @@ function registerFeatureSystems(world, config) {
306
305
  const locomotionEnabled = !!locomotion;
307
306
  const grabbingEnabled = !!config.features.grabbing;
308
307
  const physicsEnabled = !!config.features.physics;
309
- const sceneUnderstandingEnabled = !!config.features.sceneUnderstanding;
308
+ const sceneUnderstanding = config.features.sceneUnderstanding;
309
+ const sceneUnderstandingEnabled = !!sceneUnderstanding;
310
310
  const cameraEnabled = !!config.features.camera;
311
311
  const spatialUI = config.features.spatialUI;
312
312
  const spatialUIEnabled = !!spatialUI;
@@ -333,11 +333,17 @@ function registerFeatureSystems(world, config) {
333
333
  }
334
334
  // Scene Understanding updates plane/mesh/anchor debug after input/physics
335
335
  if (sceneUnderstandingEnabled) {
336
+ const sceneOpts = typeof sceneUnderstanding === 'object' && sceneUnderstanding
337
+ ? { showWireFrame: sceneUnderstanding.showWireFrame }
338
+ : undefined;
336
339
  world
337
340
  .registerComponent(XRPlane)
338
341
  .registerComponent(XRMesh)
339
342
  .registerComponent(XRAnchor)
340
- .registerSystem(SceneUnderstandingSystem, { priority: -1 });
343
+ .registerSystem(SceneUnderstandingSystem, {
344
+ priority: -1,
345
+ configData: sceneOpts,
346
+ });
341
347
  }
342
348
  // Camera system for video streaming
343
349
  if (cameraEnabled) {
@@ -352,6 +358,9 @@ function registerFeatureSystems(world, config) {
352
358
  const kitsObj = Array.isArray(kitsVal)
353
359
  ? Object.assign({}, ...kitsVal)
354
360
  : kitsVal;
361
+ const preferredColorScheme = typeof spatialUI === 'object' && spatialUI
362
+ ? spatialUI.preferredColorScheme
363
+ : undefined;
355
364
  world
356
365
  .registerComponent(PanelUI)
357
366
  .registerComponent(ScreenSpace)
@@ -360,6 +369,7 @@ function registerFeatureSystems(world, config) {
360
369
  configData: {
361
370
  ...(forwardHtmlEvents !== undefined ? { forwardHtmlEvents } : {}),
362
371
  ...(kitsObj ? { kits: kitsObj } : {}),
372
+ ...(preferredColorScheme !== undefined ? { preferredColorScheme } : {}),
363
373
  },
364
374
  })
365
375
  .registerSystem(ScreenSpaceUISystem)
@@ -1 +1 @@
1
- {"version":3,"file":"world-initializer.js","sources":["../../src/init/world-initializer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"world-initializer.js","sources":["../../src/init/world-initializer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ declare const InputSystem_base: import("elics").SystemConstructor<{}, {
19
19
  *
20
20
  * @remarks
21
21
  * - Scheduled after player movement so pointers reflect updated transforms.
22
- * - Maintains a filtered list of interactable Object3D roots when XR visibility is `Visible`.
22
+ * - Rebuilds the interactable list every frame when in XR mode.
23
23
  * - Adds transient `Hovered` / `Pressed` tags so other systems can react declaratively.
24
24
  *
25
25
  * @category Input
@@ -39,7 +39,6 @@ declare const InputSystem_base: import("elics").SystemConstructor<{}, {
39
39
  export declare class InputSystem extends InputSystem_base {
40
40
  private intersectables;
41
41
  private shouldSetIntersectables;
42
- private dirty;
43
42
  private listeners;
44
43
  private lastBVHUpdate;
45
44
  init(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"input-system.d.ts","sourceRoot":"","sources":["../../src/input/input-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;;;;;;;AAQH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,WAAY,SAAQ,gBAKhC;IACC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,SAAS,CAQb;IACJ,OAAO,CAAC,aAAa,CAAmC;IAExD,IAAI,IAAI,IAAI;IAuBZ,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAsBzC,OAAO,CAAC,mBAAmB;IAqD3B,OAAO,CAAC,0BAA0B;IAkBlC,OAAO,CAAC,qBAAqB;CAe9B"}
1
+ {"version":3,"file":"input-system.d.ts","sourceRoot":"","sources":["../../src/input/input-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;;;;;;;AAQH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,WAAY,SAAQ,gBAKhC;IACC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,SAAS,CAQb;IACJ,OAAO,CAAC,aAAa,CAAmC;IAExD,IAAI,IAAI,IAAI;IAiBZ,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAmBzC,OAAO,CAAC,mBAAmB;IAqD3B,OAAO,CAAC,0BAA0B;IAkBlC,OAAO,CAAC,qBAAqB;CAuB9B"}
@@ -18,7 +18,7 @@ import { Interactable, Hovered, Pressed } from './state-tags.js';
18
18
  *
19
19
  * @remarks
20
20
  * - Scheduled after player movement so pointers reflect updated transforms.
21
- * - Maintains a filtered list of interactable Object3D roots when XR visibility is `Visible`.
21
+ * - Rebuilds the interactable list every frame when in XR mode.
22
22
  * - Adds transient `Hovered` / `Pressed` tags so other systems can react declaratively.
23
23
  *
24
24
  * @category Input
@@ -42,48 +42,38 @@ class InputSystem extends createSystem({
42
42
  super(...arguments);
43
43
  this.intersectables = [];
44
44
  this.shouldSetIntersectables = false;
45
- this.dirty = true;
46
45
  this.listeners = new WeakMap();
47
46
  this.lastBVHUpdate = new WeakMap();
48
47
  }
49
48
  init() {
50
- // React to XR visibility for enabling scoped intersections
49
+ // Track XR visibility for scoped intersections (XR mode only)
51
50
  this.cleanupFuncs.push(this.visibilityState.subscribe((value) => {
52
- const nextVisible = value === VisibilityState.Visible;
53
- if (this.shouldSetIntersectables !== nextVisible) {
54
- this.shouldSetIntersectables = nextVisible;
55
- this.dirty = true;
56
- }
51
+ this.shouldSetIntersectables = value === VisibilityState.Visible;
57
52
  }));
58
- // Handle additions/removals of interactables
53
+ // Setup/cleanup event listeners when entities qualify/disqualify
59
54
  this.queries.interactable.subscribe('qualify', (entity) => {
60
55
  this.setupEventListeners(entity);
61
- this.dirty = true;
62
56
  });
63
57
  this.queries.interactable.subscribe('disqualify', (entity) => {
64
58
  this.cleanupEventListeners(entity);
65
- this.dirty = true;
66
59
  });
67
60
  }
68
61
  update(delta, time) {
69
62
  // Update input sampling first
70
63
  this.input.update(this.xrManager, delta, time);
71
- // Maintain the filtered list of interactables for pointer raycasting
72
- if (this.dirty) {
73
- this.dirty = false;
64
+ // Rebuild interactables list every frame in XR mode
65
+ if (this.shouldSetIntersectables) {
74
66
  this.intersectables.length = 0;
75
- if (this.shouldSetIntersectables) {
76
- for (const entity of this.queries.interactable.entities) {
77
- const obj = entity.object3D;
78
- if (isDescendantOf(obj, this.scene)) {
79
- this.intersectables.push(obj);
80
- }
67
+ for (const entity of this.queries.interactable.entities) {
68
+ if (entity.object3D) {
69
+ this.intersectables.push(entity.object3D);
81
70
  }
82
- this.scene.interactableDescendants = this.intersectables;
83
- }
84
- else {
85
- this.scene.interactableDescendants = undefined;
86
71
  }
72
+ this.scene.interactableDescendants = this.intersectables;
73
+ }
74
+ else {
75
+ // In 2D mode, clear the reference so pointer-events uses default behavior
76
+ this.scene.interactableDescendants = undefined;
87
77
  }
88
78
  }
89
79
  setupEventListeners(entity) {
@@ -159,17 +149,16 @@ class InputSystem extends createSystem({
159
149
  object3D.removeEventListener('pointerup', fns.up);
160
150
  this.listeners.delete(object3D);
161
151
  }
162
- entity.removeComponent(Hovered).removeComponent(Pressed);
163
- }
164
- }
165
- function isDescendantOf(object, parent) {
166
- while (object) {
167
- if (object === parent) {
168
- return true;
152
+ // Remove hover/press state components if they exist
153
+ // Check hasComponent first to avoid warnings when entity is being destroyed
154
+ // (entity destruction removes all components, so trying to remove them again causes warnings)
155
+ if (entity.hasComponent(Hovered)) {
156
+ entity.removeComponent(Hovered);
157
+ }
158
+ if (entity.hasComponent(Pressed)) {
159
+ entity.removeComponent(Pressed);
169
160
  }
170
- object = object.parent;
171
161
  }
172
- return false;
173
162
  }
174
163
 
175
164
  export { InputSystem };
@@ -1 +1 @@
1
- {"version":3,"file":"input-system.js","sources":["../../src/input/input-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input-system.js","sources":["../../src/input/input-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -149,7 +149,7 @@ declare const PhysicsSystem_base: import("elics").SystemConstructor<{
149
149
  }>)[];
150
150
  where: import("elics").ValuePredicate[];
151
151
  };
152
- }, import("../ecs/world.js").World, import("../ecs/system.js").System<{
152
+ }, import("../ecs/world").World, import("../ecs/system").System<{
153
153
  gravity: {
154
154
  type: Types.Vec3;
155
155
  default: [number, number, number];
@@ -1 +1 @@
1
- {"version":3,"file":"physics-system.d.ts","sourceRoot":"","sources":["../../src/physics/physics-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,EAAqC,KAAK,EAAE,MAAM,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,aAAc,SAAQ,kBAalC;IACC,OAAO,CAAC,KAAK,CAAC,CAA2B;IACzC,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,UAAU,CAAC,CAAS;IAE5B,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,YAAY,CAAiB;IAE/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB3B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA6J3B,OAAO,CAAC,UAAU;IAyDlB,OAAO,CAAC,iBAAiB;IAmHzB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,mBAAmB;IA8B3B,OAAO,CAAC,qBAAqB;IA8C7B,OAAO,CAAC,kBAAkB;IA8D1B,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,UAAU;CAenB"}
1
+ {"version":3,"file":"physics-system.d.ts","sourceRoot":"","sources":["../../src/physics/physics-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAqC,KAAK,EAAE,MAAM,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,aAAc,SAAQ,kBAalC;IACC,OAAO,CAAC,KAAK,CAAC,CAA2B;IACzC,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,UAAU,CAAC,CAAS;IAE5B,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,YAAY,CAAiB;IAE/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB3B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA6J3B,OAAO,CAAC,UAAU;IAyDlB,OAAO,CAAC,iBAAiB;IAmHzB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,mBAAmB;IA8B3B,OAAO,CAAC,qBAAqB;IA8C7B,OAAO,CAAC,kBAAkB;IA8D1B,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,UAAU;CAenB"}
@@ -1,9 +1,9 @@
1
- import '../index.js';
2
- import '../runtime/three.js';
3
1
  import { PhysicsBody, DEFAULT_LINEAR_DAMPING, DEFAULT_ANGULAR_DAMPING, DEFAULT_GRAVITY_FACTOR, PhysicsState } from './physicsBody.js';
4
- import { PhysicsManipulation } from './physicsManipulation.js';
5
2
  import { PhysicsShape, PhysicsShapeType } from './physicsShape.js';
3
+ import '../index.js';
4
+ import '../runtime/three.js';
6
5
  import { detectShapeFromGeometry, generateMergedGeometry } from './utils.js';
6
+ import { PhysicsManipulation } from './physicsManipulation.js';
7
7
  import { Types, ne } from 'elics';
8
8
  import { Pressed } from '../input/state-tags.js';
9
9
  import '../grab/index.js';
@@ -4,6 +4,45 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
+ /**
8
+ * Type declarations for WebXR Anchors API persistence features.
9
+ *
10
+ * These extensions to the WebXR Device API allow anchors to persist across sessions,
11
+ * enabling virtual objects to maintain their real-world positions even after the
12
+ * application is closed and reopened.
13
+ *
14
+ * @see {@link https://github.com/immersive-web/anchors/blob/main/explainer.md WebXR Anchors Module}
15
+ */
16
+ declare global {
17
+ interface XRAnchor {
18
+ /**
19
+ * Requests a persistent handle (UUID) for this anchor.
20
+ * The UUID can be used with restorePersistentAnchor() to restore the anchor in future sessions.
21
+ */
22
+ requestPersistentHandle(): Promise<string>;
23
+ /**
24
+ * Deletes this anchor, removing it from tracking.
25
+ */
26
+ delete(): void;
27
+ }
28
+ interface XRSession {
29
+ /**
30
+ * Array of UUIDs for all persistent anchors available in this session.
31
+ */
32
+ readonly persistentAnchors: readonly string[];
33
+ /**
34
+ * Restores a previously created persistent anchor using its UUID.
35
+ * @param uuid - The persistent handle returned from requestPersistentHandle()
36
+ * @returns The restored anchor, or rejects if the anchor cannot be found
37
+ */
38
+ restorePersistentAnchor(uuid: string): Promise<XRAnchor>;
39
+ /**
40
+ * Permanently deletes a persistent anchor.
41
+ * @param uuid - The persistent handle of the anchor to delete
42
+ */
43
+ deletePersistentAnchor(uuid: string): Promise<void>;
44
+ }
45
+ }
7
46
  import { Types } from '../ecs/index.js';
8
47
  declare const SceneUnderstandingSystem_base: import("elics").SystemConstructor<{
9
48
  showWireFrame: {
@@ -160,17 +199,46 @@ export declare class SceneUnderstandingSystem extends SceneUnderstandingSystem_b
160
199
  private planeFeatureEnabled;
161
200
  private meshFeatureEnabled;
162
201
  private anchorFeatureEnabled;
202
+ /** Tracks whether an anchor creation request is in progress to prevent duplicate requests */
163
203
  private anchorRequested;
204
+ /** The current XRAnchor instance for this session. Reset on session end to prevent stale XRSpace references. */
164
205
  private xrAnchor;
165
206
  private currentPlanes;
166
207
  private currentMeshes;
208
+ /** Group that holds all anchored objects, positioned to match the XRAnchor's world pose */
167
209
  private anchoredGroup;
168
210
  private matrixBuffer;
211
+ /** Shared material for all plane visualization meshes */
212
+ private planeMaterial;
213
+ /** Shared material for all mesh visualization meshes */
214
+ private meshMaterial;
215
+ /** localStorage key for storing the persistent anchor UUID */
216
+ private static readonly ANCHOR_UUID_STORAGE_KEY;
169
217
  init(): void;
170
218
  update(_delta: number, _time: number): void;
171
219
  private updatePlanes;
172
220
  private updateMeshes;
173
221
  private updateEnabledFeatures;
222
+ /**
223
+ * Attempts to restore a persistent anchor from a previous session.
224
+ *
225
+ * Persistent anchors allow anchored objects to maintain their world position
226
+ * across XR sessions. The anchor UUID is stored in localStorage and used to
227
+ * restore the same anchor when a new session starts.
228
+ *
229
+ * If restoration fails (e.g., user cleared the space, runtime doesn't support
230
+ * persistence, or the anchor was deleted), this fails gracefully and a new
231
+ * anchor will be created in the update loop.
232
+ */
233
+ private tryRestorePersistentAnchor;
234
+ /**
235
+ * Creates a new XR anchor at the origin of the reference space.
236
+ *
237
+ * The anchor is used to attach virtual objects to a stable real-world position.
238
+ * After creation, attempts to request a persistent handle so the anchor can be
239
+ * restored in future sessions. If persistence is not supported, the anchor
240
+ * will only last for the current session.
241
+ */
174
242
  private createAnchor;
175
243
  private updateAnchoredObject;
176
244
  private flatToVec3Array;
@@ -1 +1 @@
1
- {"version":3,"file":"scene-understanding-system.d.ts","sourceRoot":"","sources":["../../src/scene-understanding/scene-understanding-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAwB,KAAK,EAAE,MAAM,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAe9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,qBAAa,wBAAyB,SAAQ,6BAS7C;IACC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,YAAY,CAAiB;IAErC,IAAI,IAAI,IAAI;IAkCZ,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAuC3C,OAAO,CAAC,YAAY;IAqEpB,OAAO,CAAC,YAAY;IA6EpB,OAAO,CAAC,qBAAqB;YAgCf,YAAY;IAoB1B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,iBAAiB;CAkB1B"}
1
+ {"version":3,"file":"scene-understanding-system.d.ts","sourceRoot":"","sources":["../../src/scene-understanding/scene-understanding-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,QAAQ;QAChB;;;WAGG;QACH,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C;;WAEG;QACH,MAAM,IAAI,IAAI,CAAC;KAChB;IAED,UAAU,SAAS;QACjB;;WAEG;QACH,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;QAC9C;;;;WAIG;QACH,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzD;;;WAGG;QACH,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACrD;CACF;AAED,OAAO,EAAwB,KAAK,EAAE,MAAM,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAc9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,qBAAa,wBAAyB,SAAQ,6BAS7C;IACC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,oBAAoB,CAAsB;IAElD,6FAA6F;IAC7F,OAAO,CAAC,eAAe,CAAkB;IAEzC,gHAAgH;IAChH,OAAO,CAAC,QAAQ,CAAuB;IAEvC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,aAAa,CAA6B;IAElD,2FAA2F;IAC3F,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,YAAY,CAAiB;IAErC,yDAAyD;IACzD,OAAO,CAAC,aAAa,CAAqB;IAE1C,wDAAwD;IACxD,OAAO,CAAC,YAAY,CAAqB;IAEzC,8DAA8D;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAA6B;IAE5E,IAAI,IAAI,IAAI;IAkFZ,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAyC3C,OAAO,CAAC,YAAY;IAkEpB,OAAO,CAAC,YAAY;IA0EpB,OAAO,CAAC,qBAAqB;IAgC7B;;;;;;;;;;OAUG;YACW,0BAA0B;IA+BxC;;;;;;;OAOG;YACW,YAAY;IA+B1B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,iBAAiB;CAkB1B"}