@iwsdk/core 0.4.0 → 0.4.1

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 (36) hide show
  1. package/dist/asset/asset-manager.d.ts +20 -3
  2. package/dist/asset/asset-manager.d.ts.map +1 -1
  3. package/dist/asset/asset-manager.js +19 -4
  4. package/dist/asset/asset-manager.js.map +1 -1
  5. package/dist/asset/loaders/gltf-loader.d.ts +35 -3
  6. package/dist/asset/loaders/gltf-loader.d.ts.map +1 -1
  7. package/dist/asset/loaders/gltf-loader.js +38 -4
  8. package/dist/asset/loaders/gltf-loader.js.map +1 -1
  9. package/dist/init/browser-camera.d.ts +44 -0
  10. package/dist/init/browser-camera.d.ts.map +1 -0
  11. package/dist/init/browser-camera.js +58 -0
  12. package/dist/init/browser-camera.js.map +1 -0
  13. package/dist/init/world-initializer.d.ts.map +1 -1
  14. package/dist/init/world-initializer.js +21 -9
  15. package/dist/init/world-initializer.js.map +1 -1
  16. package/dist/init/xr.d.ts +10 -0
  17. package/dist/init/xr.d.ts.map +1 -1
  18. package/dist/init/xr.js +7 -1
  19. package/dist/init/xr.js.map +1 -1
  20. package/dist/input/canvas-pointer-system.d.ts +8 -2
  21. package/dist/input/canvas-pointer-system.d.ts.map +1 -1
  22. package/dist/input/canvas-pointer-system.js +50 -7
  23. package/dist/input/canvas-pointer-system.js.map +1 -1
  24. package/dist/runtime/scene-pointer-descendants.d.ts +15 -0
  25. package/dist/runtime/scene-pointer-descendants.d.ts.map +1 -0
  26. package/dist/ui/screenspace.d.ts +4 -2
  27. package/dist/ui/screenspace.d.ts.map +1 -1
  28. package/dist/ui/screenspace.js +16 -4
  29. package/dist/ui/screenspace.js.map +1 -1
  30. package/dist/ui/ui.d.ts +2 -2
  31. package/dist/ui/ui.d.ts.map +1 -1
  32. package/dist/ui/ui.js +1 -4
  33. package/dist/ui/ui.js.map +1 -1
  34. package/dist/version.d.ts +1 -1
  35. package/dist/version.js +1 -1
  36. package/package.json +4 -4
@@ -7,6 +7,8 @@
7
7
  import { GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js';
8
8
  import type { World } from '../ecs/index.js';
9
9
  import { LoadingManager, Texture, WebGLRenderer } from '../runtime/index.js';
10
+ import { GetGLTFOptions } from './loaders/gltf-loader.js';
11
+ export type { GetGLTFOptions } from './loaders/gltf-loader.js';
10
12
  /**
11
13
  * Asset types supported by the {@link AssetManager}.
12
14
  * @category Assets
@@ -52,7 +54,14 @@ export declare class AssetManager {
52
54
  /** Preload assets with critical/background prioritization. */
53
55
  static preloadAssets(manifest: AssetManifest): Promise<void>;
54
56
  private static loadAssetByType;
55
- /** Load a GLTF by URL; optionally register a logical key. */
57
+ /**
58
+ * Load a GLTF by URL; optionally register a logical key.
59
+ *
60
+ * @remarks
61
+ * Resolves with the cached `GLTF` directly. Use {@link AssetManager.getGLTF}
62
+ * after the load resolves to retrieve a clone suitable for placing into
63
+ * multiple entities.
64
+ */
56
65
  static loadGLTF(url: string, key?: string): Promise<GLTF>;
57
66
  /** Fetch any cached asset by logical key. */
58
67
  static getAsset(key: string): any;
@@ -66,7 +75,15 @@ export declare class AssetManager {
66
75
  static getTexture(key: string): Texture | null;
67
76
  /** Load an HDR equirectangular texture; optionally register a logical key. */
68
77
  static loadHDRTexture(url: string, key?: string): Promise<Texture>;
69
- /** Get a cached GLTF by logical key. */
70
- static getGLTF(key: string): GLTF | null;
78
+ /**
79
+ * Get a cached GLTF by logical key.
80
+ *
81
+ * @remarks
82
+ * Returns a fresh clone by default (`scene`/`scenes` are new `Object3D`
83
+ * trees; geometries, materials, animations stay shared), so the same key
84
+ * may be safely used for multiple entities. Pass `{ shared: true }` to
85
+ * return the cached instance directly.
86
+ */
87
+ static getGLTF(key: string, options?: GetGLTFOptions): GLTF | null;
71
88
  }
72
89
  //# sourceMappingURL=asset-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"asset-manager.d.ts","sourceRoot":"","sources":["../../src/asset/asset-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAO7E;;;GAGG;AACH,oBAAY,SAAS;IACnB,IAAI,SAAS,CAAE,qBAAqB;IACpC,KAAK,UAAU,CAAE,yBAAyB;IAC1C,OAAO,YAAY,CAAE,uBAAuB;IAC5C,UAAU,gBAAgB;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,SAAS,CAAC;QAChB,QAAQ,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;KACtC,CAAC;CACH;AAED,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACvB,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC;IACtC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,IAAI,CACT,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM;IAY5C,8DAA8D;WACjD,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;mBA0B7C,eAAe;IAmBpC,6DAA6D;IAC7D,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzD,6CAA6C;IAC7C,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAKjC,qEAAqE;WACxD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IASvE,+CAA+C;IAC/C,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAIhD,gEAAgE;WACnD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASrE,2CAA2C;IAC3C,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAI9C,8EAA8E;WACjE,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASxE,wCAAwC;IACxC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;CAGzC"}
1
+ {"version":3,"file":"asset-manager.d.ts","sourceRoot":"","sources":["../../src/asset/asset-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG7E,OAAO,EAAE,cAAc,EAAmB,MAAM,0BAA0B,CAAC;AAI3E,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,oBAAY,SAAS;IACnB,IAAI,SAAS,CAAE,qBAAqB;IACpC,KAAK,UAAU,CAAE,yBAAyB;IAC1C,OAAO,YAAY,CAAE,uBAAuB;IAC5C,UAAU,gBAAgB;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,SAAS,CAAC;QAChB,QAAQ,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;KACtC,CAAC;CACH;AAED,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACvB,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC;IACtC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,IAAI,CACT,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM;IAY5C,8DAA8D;WACjD,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;mBA0B7C,eAAe;IAmBpC;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzD,6CAA6C;IAC7C,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAKjC,qEAAqE;WACxD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IASvE,+CAA+C;IAC/C,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAIhD,gEAAgE;WACnD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASrE,2CAA2C;IAC3C,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAI9C,8EAA8E;WACjE,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASxE;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI;CAGnE"}
@@ -80,7 +80,14 @@ class AssetManager {
80
80
  throw new Error(`Unsupported asset type: ${type}`);
81
81
  }
82
82
  }
83
- /** Load a GLTF by URL; optionally register a logical key. */
83
+ /**
84
+ * Load a GLTF by URL; optionally register a logical key.
85
+ *
86
+ * @remarks
87
+ * Resolves with the cached `GLTF` directly. Use {@link AssetManager.getGLTF}
88
+ * after the load resolves to retrieve a clone suitable for placing into
89
+ * multiple entities.
90
+ */
84
91
  static loadGLTF(url, key) {
85
92
  return GLTFAssetLoader.loadGLTF(url, key);
86
93
  }
@@ -128,9 +135,17 @@ class AssetManager {
128
135
  }
129
136
  return HDRTextureAssetLoader.loadHDRTexture(url);
130
137
  }
131
- /** Get a cached GLTF by logical key. */
132
- static getGLTF(key) {
133
- return GLTFAssetLoader.getGLTF(key);
138
+ /**
139
+ * Get a cached GLTF by logical key.
140
+ *
141
+ * @remarks
142
+ * Returns a fresh clone by default (`scene`/`scenes` are new `Object3D`
143
+ * trees; geometries, materials, animations stay shared), so the same key
144
+ * may be safely used for multiple entities. Pass `{ shared: true }` to
145
+ * return the cached instance directly.
146
+ */
147
+ static getGLTF(key, options) {
148
+ return GLTFAssetLoader.getGLTF(key, options);
134
149
  }
135
150
  }
136
151
 
@@ -1 +1 @@
1
- {"version":3,"file":"asset-manager.js","sources":["../../src/asset/asset-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asset-manager.js","sources":["../../src/asset/asset-manager.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAAA;;;;;AAKG;AAaH;;;AAGG;IACS;AAAZ,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,aAA0B;AAC5B,CAAC,EALW,SAAS,KAAT,SAAS,GAAA,EAAA,CAAA,CAAA;AAyBrB;;;;;;;;AAQG;MACU,YAAY,CAAA;AAIvB;;AAEG;IACH,OAAO,IAAI,CACT,QAAuB,EACvB,KAAY,EACZ,UAAwC,EAAE,EAAA;AAE1C,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE;;AAG1C,QAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAC1C,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC5D,QAAA,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;AAC5C,QAAA,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;IACjD;;AAGA,IAAA,aAAa,aAAa,CAAC,QAAuB,EAAA;;AAEhD,QAAA,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAI;AACrE,YAAA,OAAO,MAAM,CAAC,QAAQ,KAAK,YAAY;AACzC,QAAA,CAAC,CAAC;AAEF,QAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAI;AACvE,YAAA,OAAO,MAAM,CAAC,QAAQ,KAAK,YAAY;AACzC,QAAA,CAAC,CAAC;;AAGF,QAAA,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAI;YAC5D,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;AACzC,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;AAC3D,QAAA,CAAC,CAAC;AACF,QAAA,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;;QAGnC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAI;YACzC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;AACzC,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAC3D,OAAO,CAAC,IAAI,CAAC,CAAA,yBAAA,EAA4B,GAAG,CAAA,CAAE,EAAE,GAAG,CAAC,CACrD;AACH,QAAA,CAAC,CAAC;IACJ;IAEQ,aAAa,eAAe,CAClC,GAAW,EACX,IAAe,EACf,GAAY,EAAA;QAEZ,QAAQ,IAAI;YACV,KAAK,SAAS,CAAC,IAAI;gBACjB,OAAO,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;YAC3C,KAAK,SAAS,CAAC,KAAK;AAClB,gBAAA,OAAO,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC;YACxC,KAAK,SAAS,CAAC,OAAO;AACpB,gBAAA,OAAO,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC;YAC5C,KAAK,SAAS,CAAC,UAAU;AACvB,gBAAA,OAAO,qBAAqB,CAAC,cAAc,CAAC,GAAG,CAAC;AAClD,YAAA;AACE,gBAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAA,CAAE,CAAC;;IAExD;AAEA;;;;;;;AAOG;AACH,IAAA,OAAO,QAAQ,CAAC,GAAW,EAAE,GAAY,EAAA;QACvC,OAAO,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAC3C;;;IAKA,OAAO,QAAQ,CAAC,GAAW,EAAA;AACzB,QAAA,OAAO,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC;IACxC;;;AAIA,IAAA,aAAa,SAAS,CAAC,GAAW,EAAE,GAAY,EAAA;QAC9C,IAAI,GAAG,EAAE;AACP,YAAA,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;QACpC;aAAO;AACL,YAAA,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;QACpC;AACA,QAAA,OAAO,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC;IACxC;;IAGA,OAAO,QAAQ,CAAC,GAAW,EAAA;AACzB,QAAA,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC;IACvC;;AAGA,IAAA,aAAa,WAAW,CAAC,GAAW,EAAE,GAAY,EAAA;QAChD,IAAI,GAAG,EAAE;AACP,YAAA,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;QACpC;aAAO;AACL,YAAA,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;QACpC;AACA,QAAA,OAAO,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC;IAC5C;;IAGA,OAAO,UAAU,CAAC,GAAW,EAAA;AAC3B,QAAA,OAAO,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC;IAC3C;;AAGA,IAAA,aAAa,cAAc,CAAC,GAAW,EAAE,GAAY,EAAA;QACnD,IAAI,GAAG,EAAE;AACP,YAAA,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;QACpC;aAAO;AACL,YAAA,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;QACpC;AACA,QAAA,OAAO,qBAAqB,CAAC,cAAc,CAAC,GAAG,CAAC;IAClD;AAEA;;;;;;;;AAQG;AACH,IAAA,OAAO,OAAO,CAAC,GAAW,EAAE,OAAwB,EAAA;QAClD,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC;IAC9C;AACD;;;;"}
@@ -6,6 +6,16 @@
6
6
  */
7
7
  import { GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js';
8
8
  import { LoadingManager, WebGLRenderer } from '../../runtime/index.js';
9
+ /** Options for retrieving a cached GLTF. @category Assets */
10
+ export interface GetGLTFOptions {
11
+ /**
12
+ * If true, return the cached GLTF directly (shared across calls).
13
+ * Default `false`: returns a fresh clone whose `scene`/`scenes` are new
14
+ * `Object3D` trees, allowing the same key to be used for multiple entities.
15
+ * Geometries, materials, and animation clips remain shared by reference.
16
+ */
17
+ shared?: boolean;
18
+ }
9
19
  /**
10
20
  * GLTF loader with DRACO/KTX2 support, de-duplication, and caching.
11
21
  *
@@ -25,9 +35,31 @@ export declare class GLTFAssetLoader {
25
35
  dracoDecoderPath?: string;
26
36
  ktx2TranscoderPath?: string;
27
37
  }): void;
28
- /** Load a GLTF by URL, caching the result; optionally register a logical key. */
38
+ /**
39
+ * Load a GLTF by URL, caching the result; optionally register a logical key.
40
+ *
41
+ * @remarks
42
+ * Resolves with the cached `GLTF` instance directly. To retrieve a clone
43
+ * suitable for placing into multiple entities, call {@link GLTFAssetLoader.getGLTF}
44
+ * (or `AssetManager.getGLTF`) by key after the load resolves.
45
+ */
29
46
  static loadGLTF(url: string, key?: string): Promise<GLTF>;
30
- /** Get a cached GLTF by logical key. */
31
- static getGLTF(key: string): GLTF | null;
47
+ /**
48
+ * Get a cached GLTF by logical key.
49
+ *
50
+ * @remarks
51
+ * By default, returns a fresh clone: `scene` and `scenes` are new
52
+ * `Object3D` trees (correctly handling `SkinnedMesh`/`Bone` hierarchies),
53
+ * while geometries, materials, `animations`, `cameras`, `asset`,
54
+ * `parser`, and `userData` remain shared by reference. This makes it
55
+ * safe to call `getGLTF(key)` once per entity — adding the result's
56
+ * `scene` to multiple parents will not silently re-parent a single
57
+ * shared object.
58
+ *
59
+ * Pass `{ shared: true }` to return the cached `GLTF` directly (the
60
+ * pre-0.4.x behavior), e.g. for framework code that intentionally
61
+ * mutates the canonical instance.
62
+ */
63
+ static getGLTF(key: string, options?: GetGLTFOptions): GLTF | null;
32
64
  }
33
65
  //# sourceMappingURL=gltf-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-loader.d.ts","sourceRoot":"","sources":["../../../src/asset/loaders/gltf-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,IAAI,EAAc,MAAM,0CAA0C,CAAC;AAE5E,OAAO,EACL,cAAc,EAEd,aAAa,EACd,MAAM,wBAAwB,CAAC;AAKhC;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAa;IACtC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAc;IACxC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAa;IAEtC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CACT,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE;QACP,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KACxB,GACL,IAAI;IAmBP,iFAAiF;IACjF,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCzD,wCAAwC;IACxC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;CAGzC"}
1
+ {"version":3,"file":"gltf-loader.d.ts","sourceRoot":"","sources":["../../../src/asset/loaders/gltf-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,IAAI,EAAc,MAAM,0CAA0C,CAAC;AAG5E,OAAO,EAEL,cAAc,EAEd,aAAa,EACd,MAAM,wBAAwB,CAAC;AAGhC,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAID;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAa;IACtC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAc;IACxC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAa;IAEtC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CACT,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE;QACP,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KACxB,GACL,IAAI;IAmBP;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCzD;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,IAAI,GAAG,IAAI;CAcvE"}
@@ -1,6 +1,7 @@
1
1
  import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
2
2
  import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
3
3
  import { KTX2Loader } from 'three/examples/jsm/loaders/KTX2Loader.js';
4
+ import { clone } from 'three/examples/jsm/utils/SkeletonUtils.js';
4
5
  import '../../runtime/three.js';
5
6
  import { CacheManager } from '../cache-manager.js';
6
7
  import { REVISION } from 'three';
@@ -37,7 +38,14 @@ class GLTFAssetLoader {
37
38
  .setDRACOLoader(this.dracoLoader)
38
39
  .setKTX2Loader(this.ktx2Loader);
39
40
  }
40
- /** Load a GLTF by URL, caching the result; optionally register a logical key. */
41
+ /**
42
+ * Load a GLTF by URL, caching the result; optionally register a logical key.
43
+ *
44
+ * @remarks
45
+ * Resolves with the cached `GLTF` instance directly. To retrieve a clone
46
+ * suitable for placing into multiple entities, call {@link GLTFAssetLoader.getGLTF}
47
+ * (or `AssetManager.getGLTF`) by key after the load resolves.
48
+ */
41
49
  static loadGLTF(url, key) {
42
50
  // Always use URL as cache key for consistent caching
43
51
  if (CacheManager.hasPromise(url)) {
@@ -69,9 +77,35 @@ class GLTFAssetLoader {
69
77
  return loadingPromise;
70
78
  }
71
79
  }
72
- /** Get a cached GLTF by logical key. */
73
- static getGLTF(key) {
74
- return CacheManager.getAssetByKey(key) || null;
80
+ /**
81
+ * Get a cached GLTF by logical key.
82
+ *
83
+ * @remarks
84
+ * By default, returns a fresh clone: `scene` and `scenes` are new
85
+ * `Object3D` trees (correctly handling `SkinnedMesh`/`Bone` hierarchies),
86
+ * while geometries, materials, `animations`, `cameras`, `asset`,
87
+ * `parser`, and `userData` remain shared by reference. This makes it
88
+ * safe to call `getGLTF(key)` once per entity — adding the result's
89
+ * `scene` to multiple parents will not silently re-parent a single
90
+ * shared object.
91
+ *
92
+ * Pass `{ shared: true }` to return the cached `GLTF` directly (the
93
+ * pre-0.4.x behavior), e.g. for framework code that intentionally
94
+ * mutates the canonical instance.
95
+ */
96
+ static getGLTF(key, options = {}) {
97
+ const cached = CacheManager.getAssetByKey(key);
98
+ if (!cached) {
99
+ return null;
100
+ }
101
+ if (options.shared) {
102
+ return cached;
103
+ }
104
+ return {
105
+ ...cached,
106
+ scene: clone(cached.scene),
107
+ scenes: cached.scenes.map((s) => clone(s)),
108
+ };
75
109
  }
76
110
  }
77
111
 
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-loader.js","sources":["../../../src/asset/loaders/gltf-loader.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAAA;;;;;AAKG;AAYH,MAAM,UAAU,GAAG,CAAA,0BAAA,EAA6B,QAAQ,IAAI;AAE5D;;;;AAIG;MACU,eAAe,CAAA;AAK1B;;;;;AAKG;IACH,OAAO,IAAI,CACT,cAA8B,EAC9B,QAAuB,EACvB,UAGI,EAAE,EAAA;;;QAGN,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,cAAc,CAAC,CAAC,cAAc,CAC/D,CAAA,EAAA,GAAA,OAAO,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,GAAG,UAAU,CAAA,8BAAA,CAAgC,CAC1E;;AAGD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,cAAc;aAC5C,iBAAiB,CAChB,MAAA,OAAO,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAA,EAAG,UAAU,CAAA,yBAAA,CAA2B;aAEvE,aAAa,CAAC,QAAQ,CAAC;;AAG1B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,cAAc;AAC5C,aAAA,cAAc,CAAC,IAAI,CAAC,WAAW;AAC/B,aAAA,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;IACnC;;AAGA,IAAA,OAAO,QAAQ,CAAC,GAAW,EAAE,GAAY,EAAA;;AAEvC,QAAA,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAChC,YAAA,OAAO,YAAY,CAAC,UAAU,CAAO,GAAG,CAAE;QAC5C;aAAO;;YAEL,IAAI,GAAG,EAAE;AACP,gBAAA,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;YACpC;YAEA,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,KAAI;AAC3D,gBAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC9B,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAO,GAAG,CAAE,CAAC;AAC1C,oBAAA,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC;gBACjC;qBAAO;oBACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,GAAG,EACH,CAAC,IAAI,KAAI;AACP,wBAAA,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;wBAChC,OAAO,CAAC,IAAI,CAAC;AACb,wBAAA,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC;AACjC,oBAAA,CAAC,EACD,MAAK,EAAE,CAAC;oBACR,CAAC,KAAK,KAAI;wBACR,MAAM,CAAC,KAAK,CAAC;AACb,wBAAA,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC;AACjC,oBAAA,CAAC,CACF;gBACH;AACF,YAAA,CAAC,CAAC;AAEF,YAAA,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC;AAC5C,YAAA,OAAO,cAAc;QACvB;IACF;;IAGA,OAAO,OAAO,CAAC,GAAW,EAAA;QACxB,OAAQ,YAAY,CAAC,aAAa,CAAC,GAAG,CAAU,IAAI,IAAI;IAC1D;AACD;;;;"}
1
+ {"version":3,"file":"gltf-loader.js","sources":["../../../src/asset/loaders/gltf-loader.ts"],"sourcesContent":[null],"names":["cloneSkinned"],"mappings":"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"}
@@ -0,0 +1,44 @@
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 { Quaternion, Vector3, type PerspectiveCamera } from '../runtime/index.js';
8
+ /**
9
+ * @internal
10
+ * Snapshot of the local-space camera state captured before an XR session
11
+ * starts, used to undo the head-pose / projection mutations that
12
+ * `WebGLRenderer.xr` writes into the camera each frame.
13
+ */
14
+ export interface BrowserCameraSnapshot {
15
+ position: Vector3;
16
+ quaternion: Quaternion;
17
+ scale: Vector3;
18
+ aspect: number;
19
+ fov: number;
20
+ near: number;
21
+ far: number;
22
+ zoom: number;
23
+ }
24
+ /**
25
+ * @internal
26
+ * Capture the local transform and projection of `camera`.
27
+ */
28
+ export declare function snapshotBrowserCamera(camera: PerspectiveCamera): BrowserCameraSnapshot;
29
+ /**
30
+ * @internal
31
+ * Apply a snapshot back to `camera`, refreshing both projection and world
32
+ * matrices. Safe to call regardless of XR state.
33
+ */
34
+ export declare function applyBrowserCameraSnapshot(camera: PerspectiveCamera, snapshot: BrowserCameraSnapshot): void;
35
+ /**
36
+ * @internal
37
+ * Snapshot the camera now and restore it when `session` ends. The restore
38
+ * is deferred one `requestAnimationFrame` tick because `WebXRManager` is
39
+ * still tearing down render targets / camera-auto-update on the same tick
40
+ * the session fires `'end'` — overwriting the camera mid-teardown produces
41
+ * a frame at the wrong projection.
42
+ */
43
+ export declare function attachBrowserCameraRestore(camera: PerspectiveCamera, session: XRSession): void;
44
+ //# sourceMappingURL=browser-camera.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-camera.d.ts","sourceRoot":"","sources":["../../src/init/browser-camera.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,UAAU,EACV,OAAO,EACP,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,iBAAiB,GACxB,qBAAqB,CAWvB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,qBAAqB,GAC9B,IAAI,CAWN;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,SAAS,GACjB,IAAI,CAON"}
@@ -0,0 +1,58 @@
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
+ * @internal
9
+ * Capture the local transform and projection of `camera`.
10
+ */
11
+ function snapshotBrowserCamera(camera) {
12
+ return {
13
+ position: camera.position.clone(),
14
+ quaternion: camera.quaternion.clone(),
15
+ scale: camera.scale.clone(),
16
+ aspect: camera.aspect,
17
+ fov: camera.fov,
18
+ near: camera.near,
19
+ far: camera.far,
20
+ zoom: camera.zoom,
21
+ };
22
+ }
23
+ /**
24
+ * @internal
25
+ * Apply a snapshot back to `camera`, refreshing both projection and world
26
+ * matrices. Safe to call regardless of XR state.
27
+ */
28
+ function applyBrowserCameraSnapshot(camera, snapshot) {
29
+ camera.position.copy(snapshot.position);
30
+ camera.quaternion.copy(snapshot.quaternion);
31
+ camera.scale.copy(snapshot.scale);
32
+ camera.aspect = snapshot.aspect;
33
+ camera.fov = snapshot.fov;
34
+ camera.near = snapshot.near;
35
+ camera.far = snapshot.far;
36
+ camera.zoom = snapshot.zoom;
37
+ camera.updateProjectionMatrix();
38
+ camera.updateMatrixWorld(true);
39
+ }
40
+ /**
41
+ * @internal
42
+ * Snapshot the camera now and restore it when `session` ends. The restore
43
+ * is deferred one `requestAnimationFrame` tick because `WebXRManager` is
44
+ * still tearing down render targets / camera-auto-update on the same tick
45
+ * the session fires `'end'` — overwriting the camera mid-teardown produces
46
+ * a frame at the wrong projection.
47
+ */
48
+ function attachBrowserCameraRestore(camera, session) {
49
+ const snapshot = snapshotBrowserCamera(camera);
50
+ const onEnd = () => {
51
+ session.removeEventListener('end', onEnd);
52
+ requestAnimationFrame(() => applyBrowserCameraSnapshot(camera, snapshot));
53
+ };
54
+ session.addEventListener('end', onEnd);
55
+ }
56
+
57
+ export { applyBrowserCameraSnapshot, attachBrowserCameraRestore, snapshotBrowserCamera };
58
+ //# sourceMappingURL=browser-camera.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-camera.js","sources":["../../src/init/browser-camera.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;AAyBH;;;AAGG;AACG,SAAU,qBAAqB,CACnC,MAAyB,EAAA;IAEzB,OAAO;AACL,QAAA,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE;AACjC,QAAA,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE;AACrC,QAAA,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB;AACH;AAEA;;;;AAIG;AACG,SAAU,0BAA0B,CACxC,MAAyB,EACzB,QAA+B,EAAA;IAE/B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACvC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC3C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACjC,IAAA,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;AAC/B,IAAA,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG;AACzB,IAAA,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI;AAC3B,IAAA,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG;AACzB,IAAA,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI;IAC3B,MAAM,CAAC,sBAAsB,EAAE;AAC/B,IAAA,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAChC;AAEA;;;;;;;AAOG;AACG,SAAU,0BAA0B,CACxC,MAAyB,EACzB,OAAkB,EAAA;AAElB,IAAA,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAK;AACjB,QAAA,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC;QACzC,qBAAqB,CAAC,MAAM,0BAA0B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC3E,IAAA,CAAC;AACD,IAAA,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC;AACxC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"world-initializer.d.ts","sourceRoot":"","sources":["../../src/init/world-initializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"world-initializer.d.ts","sourceRoot":"","sources":["../../src/init/world-initializer.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,7 @@ import { XRMesh } from '../scene-understanding/mesh.js';
53
53
  import { Transform, TransformSystem } from '../transform/transform.js';
54
54
  import '../transform/transform-utils.js';
55
55
  import { Visibility, VisibilitySystem } from '../visibility/visibility.js';
56
+ import { attachBrowserCameraRestore } from './browser-camera.js';
56
57
  import { attachCameraToPlayer } from './player-camera.js';
57
58
  import { ReferenceSpaceType, SessionMode, buildSessionInit, normalizeReferenceSpec, resolveReferenceSpaceType } from './xr.js';
58
59
  import { GrabSystem } from '../grab/grab-system.js';
@@ -97,6 +98,7 @@ function initializeWorld(container, options = {}) {
97
98
  sessionMode: config.xr.sessionMode,
98
99
  referenceSpace: config.xr.referenceSpace,
99
100
  features: config.xr.features,
101
+ restoreCameraOnExit: config.xr.restoreCameraOnExit,
100
102
  };
101
103
  // Register core systems (LevelSystem receives defaultLighting)
102
104
  registerCoreSystems(world, config);
@@ -152,7 +154,7 @@ function createWorldInstance() {
152
154
  * Extract and normalize configuration options
153
155
  */
154
156
  function extractConfiguration(options) {
155
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;
157
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7;
156
158
  const xrOptions = options.xr === false ? undefined : options.xr;
157
159
  const spatialUI = (_a = options.features) === null || _a === void 0 ? void 0 : _a.spatialUI;
158
160
  const legacyForwardHtmlEvents = typeof spatialUI === 'object' && spatialUI
@@ -172,18 +174,19 @@ function extractConfiguration(options) {
172
174
  referenceSpace: (_r = xrOptions === null || xrOptions === void 0 ? void 0 : xrOptions.referenceSpace) !== null && _r !== void 0 ? _r : ReferenceSpaceType.LocalFloor,
173
175
  features: xrOptions === null || xrOptions === void 0 ? void 0 : xrOptions.features,
174
176
  offer: options.xr === false ? 'none' : ((_s = xrOptions === null || xrOptions === void 0 ? void 0 : xrOptions.offer) !== null && _s !== void 0 ? _s : 'always'),
177
+ restoreCameraOnExit: (_t = xrOptions === null || xrOptions === void 0 ? void 0 : xrOptions.restoreCameraOnExit) !== null && _t !== void 0 ? _t : true,
175
178
  },
176
179
  input: {
177
180
  canvasPointerEvents,
178
181
  },
179
182
  features: {
180
- locomotion: (_u = (_t = options.features) === null || _t === void 0 ? void 0 : _t.locomotion) !== null && _u !== void 0 ? _u : false,
181
- grabbing: (_w = (_v = options.features) === null || _v === void 0 ? void 0 : _v.grabbing) !== null && _w !== void 0 ? _w : false,
182
- physics: (_y = (_x = options.features) === null || _x === void 0 ? void 0 : _x.physics) !== null && _y !== void 0 ? _y : false,
183
- sceneUnderstanding: (_0 = (_z = options.features) === null || _z === void 0 ? void 0 : _z.sceneUnderstanding) !== null && _0 !== void 0 ? _0 : false,
184
- environmentRaycast: (_2 = (_1 = options.features) === null || _1 === void 0 ? void 0 : _1.environmentRaycast) !== null && _2 !== void 0 ? _2 : false,
185
- camera: (_4 = (_3 = options.features) === null || _3 === void 0 ? void 0 : _3.camera) !== null && _4 !== void 0 ? _4 : false,
186
- spatialUI: (_6 = (_5 = options.features) === null || _5 === void 0 ? void 0 : _5.spatialUI) !== null && _6 !== void 0 ? _6 : true,
183
+ locomotion: (_v = (_u = options.features) === null || _u === void 0 ? void 0 : _u.locomotion) !== null && _v !== void 0 ? _v : false,
184
+ grabbing: (_x = (_w = options.features) === null || _w === void 0 ? void 0 : _w.grabbing) !== null && _x !== void 0 ? _x : false,
185
+ physics: (_z = (_y = options.features) === null || _y === void 0 ? void 0 : _y.physics) !== null && _z !== void 0 ? _z : false,
186
+ sceneUnderstanding: (_1 = (_0 = options.features) === null || _0 === void 0 ? void 0 : _0.sceneUnderstanding) !== null && _1 !== void 0 ? _1 : false,
187
+ environmentRaycast: (_3 = (_2 = options.features) === null || _2 === void 0 ? void 0 : _2.environmentRaycast) !== null && _3 !== void 0 ? _3 : false,
188
+ camera: (_5 = (_4 = options.features) === null || _4 === void 0 ? void 0 : _4.camera) !== null && _5 !== void 0 ? _5 : false,
189
+ spatialUI: (_7 = (_6 = options.features) === null || _6 === void 0 ? void 0 : _6.spatialUI) !== null && _7 !== void 0 ? _7 : true,
187
190
  },
188
191
  };
189
192
  }
@@ -333,6 +336,9 @@ function manageOfferFlow(world, mode) {
333
336
  };
334
337
  const resolvedType = await resolveReferenceSpaceType(session, refSpec.type, refSpec.required ? [] : refSpec.fallbackOrder);
335
338
  world.renderer.xr.setReferenceSpaceType(resolvedType);
339
+ if (opts.restoreCameraOnExit !== false) {
340
+ attachBrowserCameraRestore(world.camera, session);
341
+ }
336
342
  await world.renderer.xr.setSession(session);
337
343
  world.session = session;
338
344
  }
@@ -501,6 +507,8 @@ function registerFeatureSystems(world, config) {
501
507
  .registerComponent(ScreenSpace)
502
508
  .registerComponent(Follower)
503
509
  .registerSystem(PanelUISystem, {
510
+ // Keep UIKit document updates ahead of screen-space layout publishing.
511
+ priority: -3.8,
504
512
  configData: {
505
513
  ...(kitsObj ? { kits: kitsObj } : {}),
506
514
  ...(preferredColorScheme !== undefined
@@ -508,7 +516,11 @@ function registerFeatureSystems(world, config) {
508
516
  : {}),
509
517
  },
510
518
  })
511
- .registerSystem(ScreenSpaceUISystem)
519
+ .registerSystem(ScreenSpaceUISystem, {
520
+ // Publish camera-local UI descendants after PanelUISystem updates
521
+ // documents and before CanvasPointerSystem forwards DOM pointer events.
522
+ priority: -3.75,
523
+ })
512
524
  .registerSystem(FollowSystem);
513
525
  }
514
526
  }
@@ -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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"}
package/dist/init/xr.d.ts CHANGED
@@ -72,6 +72,16 @@ export type XROptions = {
72
72
  referenceSpace?: ReferenceSpaceSpec;
73
73
  /** Structured feature flags; avoids raw string arrays. */
74
74
  features?: XRFeatureOptions;
75
+ /**
76
+ * Auto-restore `world.camera` to its pre-XR local transform and
77
+ * projection when the session ends. Without this, `WebGLRenderer.xr`
78
+ * leaves the camera at the last head pose and the 2D fallback view is
79
+ * inside-the-head until the user re-applies a camera setup. Restore is
80
+ * deferred one rAF so `WebXRManager` finishes tearing down on the
81
+ * end-tick before the camera is overwritten.
82
+ * @defaultValue true
83
+ */
84
+ restoreCameraOnExit?: boolean;
75
85
  };
76
86
  /** Build `XRSessionInit` from structured feature flags. */
77
87
  export declare function buildSessionInit(opts: XROptions): XRSessionInit;
@@ -1 +1 @@
1
- {"version":3,"file":"xr.d.ts","sourceRoot":"","sources":["../../src/init/xr.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,gEAAgE;AAChE,oBAAY,WAAW;IACrB,WAAW,iBAAiB;IAC5B,WAAW,iBAAiB;CAC7B;AAED,uDAAuD;AACvD,oBAAY,kBAAkB;IAC5B,YAAY,kBAAkB;IAC9B,KAAK,UAAU;IACf,UAAU,gBAAgB;IAC1B,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE3D,6DAA6D;AAC7D,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP;IACE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,eAAe,GAAG,eAAe,CAAC;IAC1C,oCAAoC;IACpC,MAAM,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACxC,CAAC;AAEN,qEAAqE;AACrE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,WAAW,CAAC;CACzB,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB;IACE,kEAAkE;IAClE,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACtC,CAAC;AAEN,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG;IACtB,qEAAqE;IACrE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qDAAqD;IACrD,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAsBF,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CA8E/D;AAED,wBAAgB,sBAAsB,CACpC,IAAI,CAAC,EAAE,kBAAkB,GACxB,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAgB3D;AAiBD,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,kBAAkB,EAC7B,SAAS,EAAE,kBAAkB,EAAE,GAC9B,OAAO,CAAC,kBAAkB,CAAC,CAqB7B;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QA4ClE"}
1
+ {"version":3,"file":"xr.d.ts","sourceRoot":"","sources":["../../src/init/xr.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7C,gEAAgE;AAChE,oBAAY,WAAW;IACrB,WAAW,iBAAiB;IAC5B,WAAW,iBAAiB;CAC7B;AAED,uDAAuD;AACvD,oBAAY,kBAAkB;IAC5B,YAAY,kBAAkB;IAC9B,KAAK,UAAU;IACf,UAAU,gBAAgB;IAC1B,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE3D,6DAA6D;AAC7D,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP;IACE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,eAAe,GAAG,eAAe,CAAC;IAC1C,oCAAoC;IACpC,MAAM,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACxC,CAAC;AAEN,qEAAqE;AACrE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,WAAW,CAAC;CACzB,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB;IACE,kEAAkE;IAClE,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACtC,CAAC;AAEN,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG;IACtB,qEAAqE;IACrE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qDAAqD;IACrD,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAsBF,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CA8E/D;AAED,wBAAgB,sBAAsB,CACpC,IAAI,CAAC,EAAE,kBAAkB,GACxB,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAgB3D;AAkBD,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,kBAAkB,EAC7B,SAAS,EAAE,kBAAkB,EAAE,GAC9B,OAAO,CAAC,kBAAkB,CAAC,CAqB7B;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QA+ClE"}
package/dist/init/xr.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { attachBrowserCameraRestore } from './browser-camera.js';
2
+
1
3
  /**
2
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
3
5
  *
@@ -118,7 +120,7 @@ function normalizeReferenceSpec(spec) {
118
120
  };
119
121
  }
120
122
  function mergeXROptions(base, overrides) {
121
- var _a, _b, _c, _d, _e;
123
+ var _a, _b, _c, _d, _e, _f, _g;
122
124
  const b = base !== null && base !== void 0 ? base : {};
123
125
  const o = overrides !== null && overrides !== void 0 ? overrides : {};
124
126
  const mergedFeatures = { ...((_a = b.features) !== null && _a !== void 0 ? _a : {}), ...((_b = o.features) !== null && _b !== void 0 ? _b : {}) };
@@ -126,6 +128,7 @@ function mergeXROptions(base, overrides) {
126
128
  sessionMode: (_d = (_c = o.sessionMode) !== null && _c !== void 0 ? _c : b.sessionMode) !== null && _d !== void 0 ? _d : SessionMode.ImmersiveVR,
127
129
  referenceSpace: (_e = o.referenceSpace) !== null && _e !== void 0 ? _e : b.referenceSpace,
128
130
  features: Object.keys(mergedFeatures).length ? mergedFeatures : undefined,
131
+ restoreCameraOnExit: (_g = (_f = o.restoreCameraOnExit) !== null && _f !== void 0 ? _f : b.restoreCameraOnExit) !== null && _g !== void 0 ? _g : true,
129
132
  };
130
133
  return merged;
131
134
  }
@@ -171,6 +174,9 @@ function launchXR(world, options) {
171
174
  return null;
172
175
  };
173
176
  world.renderer.xr.setReferenceSpaceType(resolvedType);
177
+ if (merged.restoreCameraOnExit !== false) {
178
+ attachBrowserCameraRestore(world.camera, session);
179
+ }
174
180
  await world.renderer.xr.setSession(session);
175
181
  world.session = session;
176
182
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xr.js","sources":["../../src/init/xr.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xr.js","sources":["../../src/init/xr.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;AAKH;IACY;AAAZ,CAAA,UAAY,WAAW,EAAA;AACrB,IAAA,WAAA,CAAA,aAAA,CAAA,GAAA,cAA4B;AAC5B,IAAA,WAAA,CAAA,aAAA,CAAA,GAAA,cAA4B;AAC9B,CAAC,EAHW,WAAW,KAAX,WAAW,GAAA,EAAA,CAAA,CAAA;AAKvB;IACY;AAAZ,CAAA,UAAY,kBAAkB,EAAA;AAC5B,IAAA,kBAAA,CAAA,cAAA,CAAA,GAAA,eAA8B;AAC9B,IAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,aAA0B;AAC1B,IAAA,kBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACnB,CAAC,EANW,kBAAkB,KAAlB,kBAAkB,GAAA,EAAA,CAAA,CAAA;AAgF9B;AACA,MAAM,aAAa,GAAG,CAAC,aAAa,EAAE,eAAe,EAAE,QAAQ,CAAU;AAEzE;AACA,SAAS,aAAa,CAAC,IAAkB,EAAA;IACvC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK,EAAE;AACxC,QAAA,OAAO,SAAS;IAClB;AACA,IAAA,IAAI,IAAI,KAAK,IAAI,EAAE;AACjB,QAAA,OAAO,EAAE;IACX;IACA,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;AACtC;AAEA,SAAS,iBAAiB,CACxB,IAAkC,EAAA;AAElC,IAAA,OAAO,OAAO,IAAI,KAAK,QAAQ;AACjC;AAEA;AACM,SAAU,gBAAgB,CAAC,IAAe,EAAA;;IAC9C,MAAM,gBAAgB,GAAa,EAAE;;AAErC,IAAA,MAAM,gBAAgB,GAAa,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IAErE,MAAM,CAAC,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;AAE7B,IAAA,MAAM,GAAG,GAA2C;AAClD,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,OAAO,EAAE,UAAU;AACnB,QAAA,cAAc,EAAE,iBAAiB;AACjC,QAAA,aAAa,EAAE,gBAAgB;AAC/B,QAAA,eAAe,EAAE,kBAAkB;AACnC,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,SAAS,EAAE,WAAW;KACd;AAEV,IAAA,MAAM,IAAI,GAAG,CACX,GAA2B,EAC3B,UAA8C,KAC5C;QACF,IAAI,CAAC,UAAU,EAAE;YACf;QACF;AACA,QAAA,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;AACtB,QAAA,IAAI,UAAU,CAAC,QAAQ,EAAE;AACvB,YAAA,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B;aAAO;AACL,YAAA,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B;AACF,IAAA,CAAC;;IAGD,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACvD,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACrD,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;;AAG7C,IAAA,IAAI,CAAC,CAAC,YAAY,EAAE;QAClB,MAAM,UAAU,GAAG,aAAa,CAC9B,iBAAiB,CAAC,CAAC,CAAC,YAAY;cAC5B,EAAE,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ;AACrC,cAAE,CAAC,CAAC,YAAY,CACnB;AACD,QAAA,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC;IAClC;AAEA,IAAA,MAAM,WAAW,GAAkB;QACjC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACvD,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;KACxD;AAED,IAAA,IAAI,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE;AACrC,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC;AAC3B,cAAG,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK;cACtB,SAAS;AACb,QAAA,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC;AAC5B,cAAG,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM;cACvB,SAAS;;QAGX,WAGD,CAAC,YAAY,GAAG;AACf,YAAA,IAAI,KAAK,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC5C,YAAA,IAAI,MAAM,GAAG,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;SAChC;IACvB;AAEA,IAAA,OAAO,WAAW;AACpB;AAEM,SAAU,sBAAsB,CACpC,IAAyB,EAAA;;IAEzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACrC,OAAO;AACL,YAAA,IAAI,EAAE,CAAA,EAAA,GAAC,IAA2B,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,kBAAkB,CAAC,UAAU;AACnE,YAAA,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC;SACrE;IACH;IACA,OAAO;QACL,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,kBAAkB,CAAC,UAAU;AAChD,QAAA,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;AACzB,QAAA,aAAa,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI;AACnC,YAAA,kBAAkB,CAAC,KAAK;AACxB,YAAA,kBAAkB,CAAC,MAAM;AAC1B,SAAA;KACF;AACH;AAEA,SAAS,cAAc,CACrB,IAA2B,EAC3B,SAA8B,EAAA;;IAE9B,MAAM,CAAC,GAAG,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAJ,IAAI,GAAI,EAAE;IACpB,MAAM,CAAC,GAAG,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,MAAA,GAAT,SAAS,GAAI,EAAE;IACzB,MAAM,cAAc,GAAG,EAAE,IAAI,CAAA,EAAA,GAAA,CAAC,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE,CAAC,EAAE,IAAI,CAAA,EAAA,GAAA,CAAC,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE,CAAC,EAAE;AACvE,IAAA,MAAM,MAAM,GAAc;AACxB,QAAA,WAAW,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAC,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,WAAW,CAAC,WAAW;QACtE,cAAc,EAAE,MAAA,CAAC,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC,CAAC,cAAc;AACpD,QAAA,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,cAAc,GAAG,SAAS;QACzE,mBAAmB,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAC,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI;KAC5E;AACD,IAAA,OAAO,MAAM;AACf;AAEO,eAAe,yBAAyB,CAC7C,OAAkB,EAClB,SAA6B,EAC7B,SAA+B,EAAA;IAE/B,MAAM,UAAU,GAAyB,EAAE;IAC3C,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,EAAE;QACzC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;AAC3B,YAAA,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACpB;IACF;AAEA,IAAA,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;AAC7B,QAAA,IAAI;;AAEF,YAAA,MAAM,OAAO,CAAC,qBAAqB,CACjC,IAAuC,CACxC;AACD,YAAA,OAAO,IAAI;QACb;QAAE,OAAO,IAAI,EAAE;;QAEf;IACF;;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC;AAC3D;AAEA;;;;;;AAMG;AACG,SAAU,QAAQ,CAAC,KAAY,EAAE,OAA4B,EAAA;;IACjE,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC;IACxD,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,MAAM;IACxD,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,cAAc,CAAC;AAC7D,IAAA,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC;AAE/C,IAAA,MAAM,cAAc,GAAG,OAAO,OAAkB,KAAI;AAClD,QAAA,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAAC;AAC7C,QAAA,IAAI;YACF,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAClD,OAAO,EACP,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,CAC9C;;AAED,YAAA,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB,GAAG,YAAA;AACtC,gBAAA,OAAO,IAAI;AACb,YAAA,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,qBAAqB,CACrC,YAA+C,CAChD;AACD,YAAA,IAAI,MAAM,CAAC,mBAAmB,KAAK,KAAK,EAAE;AACxC,gBAAA,0BAA0B,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;YACnD;YACA,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;AAC3C,YAAA,KAAK,CAAC,OAAO,GAAG,OAAO;QACzB;QAAE,OAAO,GAAG,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC;AAC7D,YAAA,IAAI;AACF,gBAAA,MAAM,OAAO,CAAC,GAAG,EAAE;YACrB;YAAE,OAAA,EAAA,EAAM,EAAC;QACX;AACF,IAAA,CAAC;IAED,MAAM,YAAY,GAAG,MAAK;;QACxB,CAAA,EAAA,GAAA,KAAK,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC;AACvD,QAAA,KAAK,CAAC,OAAO,GAAG,SAAS;AAC3B,IAAA,CAAC;AAED,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAClB,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI;AAChC,QAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,SAAS,CAAC,EAAE,0CACR,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAG,WAAW,EAAE,cAAc,CAAA,CAC7C,IAAI,CAAC,cAAc,CAAC;IACzB;SAAO;AACL,QAAA,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC;IAC3C;AACF;;;;"}
@@ -4,7 +4,7 @@
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
- import { Types } from '../ecs/index.js';
7
+ import { Types } from '../ecs/component.js';
8
8
  declare const CanvasPointerSystem_base: import("elics").SystemConstructor<{
9
9
  /** Forward DOM pointer events from the renderer canvas into the Three scene. */
10
10
  enabled: {
@@ -16,7 +16,7 @@ declare const CanvasPointerSystem_base: import("elics").SystemConstructor<{
16
16
  type: Types.Boolean;
17
17
  default: false;
18
18
  };
19
- }, {}, import("../ecs/world.js").World, import("../ecs/system.js").System<{
19
+ }, {}, import("../index.js").World, import("../ecs/system.js").System<{
20
20
  /** Forward DOM pointer events from the renderer canvas into the Three scene. */
21
21
  enabled: {
22
22
  type: Types.Boolean;
@@ -30,8 +30,14 @@ declare const CanvasPointerSystem_base: import("elics").SystemConstructor<{
30
30
  }, {}>>;
31
31
  export declare class CanvasPointerSystem extends CanvasPointerSystem_base {
32
32
  private htmlHandler?;
33
+ private readonly canvasPointerRoot;
34
+ private readonly canvasPointerTraversalMarker;
35
+ private readonly canvasPointerDescendants;
33
36
  init(): void;
34
37
  update(): void;
38
+ private prepareCanvasPointerRoot;
39
+ private pushDescendants;
40
+ private clearCanvasPointerRoot;
35
41
  destroy(): void;
36
42
  }
37
43
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-pointer-system.d.ts","sourceRoot":"","sources":["../../src/input/canvas-pointer-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,EAAgB,MAAM,iBAAiB,CAAC;;IAKlD,gFAAgF;;;;;IAEhF,kFAAkF;;;;;;IAFlF,gFAAgF;;;;;IAEhF,kFAAkF;;;;;;AALtF,qBAAa,mBAAoB,SAAQ,wBAQxC;IACC,OAAO,CAAC,WAAW,CAAC,CAGlB;IAEF,IAAI,IAAI,IAAI;IAeZ,MAAM,IAAI,IAAI;IAUd,OAAO,IAAI,IAAI;CAKhB"}
1
+ {"version":3,"file":"canvas-pointer-system.d.ts","sourceRoot":"","sources":["../../src/input/canvas-pointer-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;;IAQxC,gFAAgF;;;;;IAEhF,kFAAkF;;;;;;IAFlF,gFAAgF;;;;;IAEhF,kFAAkF;;;;;;AALtF,qBAAa,mBAAoB,SAAQ,wBAQxC;IACC,OAAO,CAAC,WAAW,CAAC,CAGlB;IACF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAkB;IAC/D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAkB;IAE3D,IAAI,IAAI,IAAI;IAsBZ,MAAM,IAAI,IAAI;IAWd,OAAO,CAAC,wBAAwB;IAmBhC,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,sBAAsB;IAM9B,OAAO,IAAI,IAAI;CAOhB"}
@@ -1,9 +1,8 @@
1
1
  import { forwardHtmlEvents } from '@pmndrs/pointer-events';
2
- import { createSystem } from '../ecs/system.js';
3
- import '../ecs/world.js';
4
2
  import { Types } from 'elics';
5
- import '../ecs/entity.js';
6
- import '../ecs/component-registry.js';
3
+ import { createSystem } from '../ecs/system.js';
4
+ import '../runtime/three.js';
5
+ import { Object3D } from 'three';
7
6
 
8
7
  /**
9
8
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -17,13 +16,27 @@ class CanvasPointerSystem extends createSystem({}, {
17
16
  /** Continue forwarding pointer events while an immersive XR session is active. */
18
17
  activeDuringXR: { type: Types.Boolean, default: false },
19
18
  }) {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.canvasPointerRoot = new Object3D();
22
+ this.canvasPointerTraversalMarker = new Object3D();
23
+ this.canvasPointerDescendants = [];
24
+ }
20
25
  init() {
26
+ // @pmndrs/pointer-events returns early for childless objects before
27
+ // reading interactableDescendants, so keep this synthetic root traversable.
28
+ this.canvasPointerRoot.add(this.canvasPointerTraversalMarker);
21
29
  this.cleanupFuncs.push(this.config.enabled.subscribe((enabled) => {
22
30
  var _a;
23
31
  (_a = this.htmlHandler) === null || _a === void 0 ? void 0 : _a.destroy();
24
- this.htmlHandler = enabled
25
- ? forwardHtmlEvents(this.renderer.domElement, () => this.camera, this.scene)
26
- : undefined;
32
+ this.clearCanvasPointerRoot();
33
+ if (enabled) {
34
+ this.prepareCanvasPointerRoot();
35
+ this.htmlHandler = forwardHtmlEvents(this.renderer.domElement, () => this.camera, this.canvasPointerRoot);
36
+ }
37
+ else {
38
+ this.htmlHandler = undefined;
39
+ }
27
40
  }));
28
41
  }
29
42
  update() {
@@ -33,13 +46,43 @@ class CanvasPointerSystem extends createSystem({}, {
33
46
  if (this.world.session && !this.config.activeDuringXR.value) {
34
47
  return;
35
48
  }
49
+ this.prepareCanvasPointerRoot();
36
50
  this.htmlHandler.update();
37
51
  }
52
+ prepareCanvasPointerRoot() {
53
+ var _a;
54
+ const scene = this.scene;
55
+ const root = this.canvasPointerRoot;
56
+ const rayDescendants = (_a = scene.rayDescendants) !== null && _a !== void 0 ? _a : scene.interactableDescendants;
57
+ const screenSpaceDescendants = scene.screenSpaceDescendants;
58
+ this.canvasPointerDescendants.length = 0;
59
+ if (rayDescendants || screenSpaceDescendants) {
60
+ this.pushDescendants(rayDescendants);
61
+ this.pushDescendants(screenSpaceDescendants);
62
+ root.interactableDescendants = this.canvasPointerDescendants;
63
+ return;
64
+ }
65
+ this.canvasPointerDescendants.push(this.scene);
66
+ root.interactableDescendants = this.canvasPointerDescendants;
67
+ }
68
+ pushDescendants(descendants) {
69
+ if (!descendants) {
70
+ return;
71
+ }
72
+ this.canvasPointerDescendants.push(...descendants);
73
+ }
74
+ clearCanvasPointerRoot() {
75
+ const root = this.canvasPointerRoot;
76
+ root.interactableDescendants = undefined;
77
+ this.canvasPointerDescendants.length = 0;
78
+ }
38
79
  destroy() {
39
80
  var _a;
40
81
  super.destroy();
41
82
  (_a = this.htmlHandler) === null || _a === void 0 ? void 0 : _a.destroy();
42
83
  this.htmlHandler = undefined;
84
+ this.clearCanvasPointerRoot();
85
+ this.canvasPointerRoot.remove(this.canvasPointerTraversalMarker);
43
86
  }
44
87
  }
45
88
 
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-pointer-system.js","sources":["../../src/input/canvas-pointer-system.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAAA;;;;;AAKG;MAKU,mBAAoB,SAAQ,YAAY,CACnD,EAAE,EACF;;IAEE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;IAE/C,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;CACxD,CACF,CAAA;IAMC,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,KAAI;;AACxC,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,EAAE;YAC3B,IAAI,CAAC,WAAW,GAAG;AACjB,kBAAE,iBAAiB,CACf,IAAI,CAAC,QAAQ,CAAC,UAAU,EACxB,MAAM,IAAI,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK;kBAEZ,SAAS;QACf,CAAC,CAAC,CACH;IACH;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB;QACF;AACA,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE;YAC3D;QACF;AACA,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;IAC3B;IAEA,OAAO,GAAA;;QACL,KAAK,CAAC,OAAO,EAAE;AACf,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,EAAE;AAC3B,QAAA,IAAI,CAAC,WAAW,GAAG,SAAS;IAC9B;AACD;;;;"}
1
+ {"version":3,"file":"canvas-pointer-system.js","sources":["../../src/input/canvas-pointer-system.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAAA;;;;;AAKG;MASU,mBAAoB,SAAQ,YAAY,CACnD,EAAE,EACF;;IAEE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;;IAE/C,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;CACxD,CACF,CAAA;AARD,IAAA,WAAA,GAAA;;AAamB,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,QAAQ,EAAE;AAClC,QAAA,IAAA,CAAA,4BAA4B,GAAG,IAAI,QAAQ,EAAE;QAC7C,IAAA,CAAA,wBAAwB,GAAe,EAAE;IA0E5D;IAxEE,IAAI,GAAA;;;QAGF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC;AAC7D,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,KAAI;;AACxC,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,EAAE;YAC3B,IAAI,CAAC,sBAAsB,EAAE;YAC7B,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,wBAAwB,EAAE;gBAC/B,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAClC,IAAI,CAAC,QAAQ,CAAC,UAAU,EACxB,MAAM,IAAI,CAAC,MAAM,EACjB,IAAI,CAAC,iBAAiB,CACvB;YACH;iBAAO;AACL,gBAAA,IAAI,CAAC,WAAW,GAAG,SAAS;YAC9B;QACF,CAAC,CAAC,CACH;IACH;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB;QACF;AACA,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE;YAC3D;QACF;QACA,IAAI,CAAC,wBAAwB,EAAE;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;IAC3B;IAEQ,wBAAwB,GAAA;;AAC9B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAoD;AACvE,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAuD;QACzE,MAAM,cAAc,GAClB,CAAA,EAAA,GAAA,KAAK,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,KAAK,CAAC,uBAAuB;AACvD,QAAA,MAAM,sBAAsB,GAAG,KAAK,CAAC,sBAAsB;AAE3D,QAAA,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC;AACxC,QAAA,IAAI,cAAc,IAAI,sBAAsB,EAAE;AAC5C,YAAA,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC;AACpC,YAAA,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC;AAC5C,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,wBAAwB;YAC5D;QACF;QAEA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9C,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,wBAAwB;IAC9D;AAEQ,IAAA,eAAe,CAAC,WAAmC,EAAA;QACzD,IAAI,CAAC,WAAW,EAAE;YAChB;QACF;QACA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;IACpD;IAEQ,sBAAsB,GAAA;AAC5B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAuD;AACzE,QAAA,IAAI,CAAC,uBAAuB,GAAG,SAAS;AACxC,QAAA,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC;IAC1C;IAEA,OAAO,GAAA;;QACL,KAAK,CAAC,OAAO,EAAE;AACf,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,EAAE;AAC3B,QAAA,IAAI,CAAC,WAAW,GAAG,SAAS;QAC5B,IAAI,CAAC,sBAAsB,EAAE;QAC7B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC;IAClE;AACD;;;;"}
@@ -0,0 +1,15 @@
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 { Object3D } from './three.js';
8
+ export type ScenePointerDescendants = {
9
+ interactableDescendants?: Object3D[];
10
+ rayDescendants?: Object3D[];
11
+ touchDescendants?: Object3D[];
12
+ grabDescendants?: Object3D[];
13
+ screenSpaceDescendants?: Object3D[];
14
+ };
15
+ //# sourceMappingURL=scene-pointer-descendants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-pointer-descendants.d.ts","sourceRoot":"","sources":["../../src/runtime/scene-pointer-descendants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,uBAAuB,GAAG;IACpC,uBAAuB,CAAC,EAAE,QAAQ,EAAE,CAAC;IACrC,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC7B,sBAAsB,CAAC,EAAE,QAAQ,EAAE,CAAC;CACrC,CAAC"}
@@ -4,7 +4,7 @@
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
- import { Types } from '../ecs/index.js';
7
+ import { Types } from '../ecs/component.js';
8
8
  /**
9
9
  * CSS‑like screen‑space layout for a {@link PanelUI}.
10
10
  *
@@ -126,7 +126,7 @@ declare const ScreenSpaceUISystem_base: import("elics").SystemConstructor<import
126
126
  };
127
127
  }>)[];
128
128
  };
129
- }, import("../ecs/world.js").World, import("../ecs/system.js").System<import("elics").SystemSchema, {
129
+ }, import("../index.js").World, import("../ecs/system.js").System<import("elics").SystemSchema, {
130
130
  panels: {
131
131
  required: (import("elics").Component<{
132
132
  config: {
@@ -199,6 +199,7 @@ declare const ScreenSpaceUISystem_base: import("elics").SystemConstructor<import
199
199
  * @category UI
200
200
  */
201
201
  export declare class ScreenSpaceUISystem extends ScreenSpaceUISystem_base {
202
+ private screenSpaceDescendants;
202
203
  private layoutHelpers;
203
204
  private resized;
204
205
  /** Prepare hidden DOM helpers and resize listener. */
@@ -214,6 +215,7 @@ export declare class ScreenSpaceUISystem extends ScreenSpaceUISystem_base {
214
215
  private getComputedDimensionValues;
215
216
  /** Evaluate CSS absolute positioning and return `top`/`left` in pixels. */
216
217
  private getComputedPositionValues;
218
+ destroy(): void;
217
219
  }
218
220
  export {};
219
221
  //# sourceMappingURL=screenspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"screenspace.d.ts","sourceRoot":"","sources":["../../src/ui/screenspace.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAyC,MAAM,iBAAiB,CAAC;AAK/E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,WAAW;IAGpB,sEAAsE;;;;;IAEtE,qEAAqE;;;;;IAErE,iEAAiE;;;;;IAEjE,oEAAoE;;;;;IAEpE,kEAAkE;;;;;IAElE,mEAAmE;;;;;IAEnE,8DAA8D;;;;;EAIjE,CAAC;;;;;;;;;;;;;;;;;;;;;;YAhBE,sEAAsE;;;;;YAEtE,qEAAqE;;;;;YAErE,iEAAiE;;;;;YAEjE,oEAAoE;;;;;YAEpE,kEAAkE;;;;;YAElE,mEAAmE;;;;;YAEnE,8DAA8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAZ9D,sEAAsE;;;;;YAEtE,qEAAqE;;;;;YAErE,iEAAiE;;;;;YAEjE,oEAAoE;;;;;YAEpE,kEAAkE;;;;;YAElE,mEAAmE;;;;;YAEnE,8DAA8D;;;;;;;;AAKlE;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAoB,SAAQ,wBAEvC;IACA,OAAO,CAAC,aAAa,CAKnB;IACF,OAAO,CAAC,OAAO,CAAQ;IAEvB,sDAAsD;IACtD,IAAI;IAoBJ,kFAAkF;IAClF,MAAM,IAAI,IAAI;IA8Bd,uEAAuE;IACvE,OAAO,CAAC,eAAe;IAmEvB;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAgBlC,2EAA2E;IAC3E,OAAO,CAAC,yBAAyB;CAwBlC"}
1
+ {"version":3,"file":"screenspace.d.ts","sourceRoot":"","sources":["../../src/ui/screenspace.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAS7D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,WAAW;IAGpB,sEAAsE;;;;;IAEtE,qEAAqE;;;;;IAErE,iEAAiE;;;;;IAEjE,oEAAoE;;;;;IAEpE,kEAAkE;;;;;IAElE,mEAAmE;;;;;IAEnE,8DAA8D;;;;;EAIjE,CAAC;;;;;;;;;;;;;;;;;;;;;;YAhBE,sEAAsE;;;;;YAEtE,qEAAqE;;;;;YAErE,iEAAiE;;;;;YAEjE,oEAAoE;;;;;YAEpE,kEAAkE;;;;;YAElE,mEAAmE;;;;;YAEnE,8DAA8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAZ9D,sEAAsE;;;;;YAEtE,qEAAqE;;;;;YAErE,iEAAiE;;;;;YAEjE,oEAAoE;;;;;YAEpE,kEAAkE;;;;;YAElE,mEAAmE;;;;;YAEnE,8DAA8D;;;;;;;;AAKlE;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAoB,SAAQ,wBAEvC;IACA,OAAO,CAAC,sBAAsB,CAAkB;IAChD,OAAO,CAAC,aAAa,CAKnB;IACF,OAAO,CAAC,OAAO,CAAQ;IAEvB,sDAAsD;IACtD,IAAI;IAoBJ,kFAAkF;IAClF,MAAM,IAAI,IAAI;IA0Cd,uEAAuE;IACvE,OAAO,CAAC,eAAe;IAmEvB;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAgBlC,2EAA2E;IAC3E,OAAO,CAAC,yBAAyB;IAyBjC,OAAO,IAAI,IAAI;CAOhB"}
@@ -1,8 +1,5 @@
1
- import { createSystem } from '../ecs/system.js';
2
- import '../ecs/world.js';
3
1
  import { createComponent, Types } from 'elics';
4
- import '../ecs/entity.js';
5
- import '../ecs/component-registry.js';
2
+ import { createSystem } from '../ecs/system.js';
6
3
  import '../runtime/three.js';
7
4
  import { PanelUI, PanelDocument } from './ui.js';
8
5
  import { MathUtils } from 'three';
@@ -73,6 +70,7 @@ class ScreenSpaceUISystem extends createSystem({
73
70
  }) {
74
71
  constructor() {
75
72
  super(...arguments);
73
+ this.screenSpaceDescendants = [];
76
74
  this.layoutHelpers = {
77
75
  dimensionContainer: document.createElement('div'),
78
76
  positionContainer: document.createElement('div'),
@@ -97,6 +95,7 @@ class ScreenSpaceUISystem extends createSystem({
97
95
  }
98
96
  /** Move panels between world and screen space and recompute layout on changes. */
99
97
  update() {
98
+ this.screenSpaceDescendants.length = 0;
100
99
  this.queries.panels.entities.forEach((entity) => {
101
100
  const parent = entity.object3D;
102
101
  const document = PanelDocument.data.document[entity.index];
@@ -120,7 +119,15 @@ class ScreenSpaceUISystem extends createSystem({
120
119
  this.calculateLayout(entity);
121
120
  this.resized = false;
122
121
  }
122
+ if (document.parent === this.camera) {
123
+ this.screenSpaceDescendants.push(document);
124
+ }
123
125
  });
126
+ const scene = this.scene;
127
+ scene.screenSpaceDescendants =
128
+ this.screenSpaceDescendants.length > 0
129
+ ? this.screenSpaceDescendants
130
+ : undefined;
124
131
  }
125
132
  /** Compute pixel size/position and apply camera‑relative transform. */
126
133
  calculateLayout(entity) {
@@ -210,6 +217,11 @@ class ScreenSpaceUISystem extends createSystem({
210
217
  document.body.removeChild(container);
211
218
  return result;
212
219
  }
220
+ destroy() {
221
+ super.destroy();
222
+ this.scene.screenSpaceDescendants = undefined;
223
+ this.screenSpaceDescendants.length = 0;
224
+ }
213
225
  }
214
226
 
215
227
  export { ScreenSpace, ScreenSpaceUISystem };
@@ -1 +1 @@
1
- {"version":3,"file":"screenspace.js","sources":["../../src/ui/screenspace.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screenspace.js","sources":["../../src/ui/screenspace.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/dist/ui/ui.d.ts CHANGED
@@ -4,7 +4,7 @@
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
- import { Types } from '../ecs/index.js';
7
+ import { Types } from '../ecs/component.js';
8
8
  /**
9
9
  * Color scheme options for UI theming.
10
10
  * @category UI
@@ -134,7 +134,7 @@ declare const PanelUISystem_base: import("elics").SystemConstructor<{
134
134
  };
135
135
  }>)[];
136
136
  };
137
- }, import("../ecs/world.js").World, import("../ecs/system.js").System<{
137
+ }, import("../index.js").World, import("../ecs/system.js").System<{
138
138
  /** Additional pre-built UI component libraries */
139
139
  kits: {
140
140
  type: Types.Object;
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/ui/ui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,KAAK,EAAyC,MAAM,iBAAiB,CAAC;AAI/E;;;GAGG;AACH,eAAO,MAAM,eAAe;IAC1B,oDAAoD;;IAEpD,uBAAuB;;IAEvB,sBAAsB;;CAEd,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,WAAW,GACrB,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO;IAGhB,yBAAyB;;;;;IAEzB,2BAA2B;;;;;IAE3B,4BAA4B;;;;;EAI/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;EAMzB,CAAC;;IAiBE,kDAAkD;;;;;IAElD,6CAA6C;;;;;;;;YAxC7C,yBAAyB;;;;;YAEzB,2BAA2B;;;;;YAE3B,4BAA4B;;;;;;;;;;;;;;;YAJ5B,yBAAyB;;;;;YAEzB,2BAA2B;;;;;YAE3B,4BAA4B;;;;;;;;;;;;;IAkC5B,kDAAkD;;;;;IAElD,6CAA6C;;;;;;;;YAxC7C,yBAAyB;;;;;YAEzB,2BAA2B;;;;;YAE3B,4BAA4B;;;;;;;;;;;;;;;YAJ5B,yBAAyB;;;;;YAEzB,2BAA2B;;;;;YAE3B,4BAA4B;;;;;;;;;;;;;AAmBhC;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,kBAWlC;IACC,OAAO,CAAC,IAAI,CAAiB;IAE7B,sEAAsE;IACtE,IAAI,IAAI,IAAI;IA6BZ,8CAA8C;IAC9C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA8B5B;;;OAGG;YACW,SAAS;IA8CvB,oFAAoF;IACpF,OAAO,CAAC,YAAY;CAgBrB"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/ui/ui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAM7D;;;GAGG;AACH,eAAO,MAAM,eAAe;IAC1B,oDAAoD;;IAEpD,uBAAuB;;IAEvB,sBAAsB;;CAEd,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,WAAW,GACrB,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO;IAGhB,yBAAyB;;;;;IAEzB,2BAA2B;;;;;IAE3B,4BAA4B;;;;;EAI/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;EAMzB,CAAC;;IAiBE,kDAAkD;;;;;IAElD,6CAA6C;;;;;;;;YAxC7C,yBAAyB;;;;;YAEzB,2BAA2B;;;;;YAE3B,4BAA4B;;;;;;;;;;;;;;;YAJ5B,yBAAyB;;;;;YAEzB,2BAA2B;;;;;YAE3B,4BAA4B;;;;;;;;;;;;;IAkC5B,kDAAkD;;;;;IAElD,6CAA6C;;;;;;;;YAxC7C,yBAAyB;;;;;YAEzB,2BAA2B;;;;;YAE3B,4BAA4B;;;;;;;;;;;;;;;YAJ5B,yBAAyB;;;;;YAEzB,2BAA2B;;;;;YAE3B,4BAA4B;;;;;;;;;;;;;AAmBhC;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,kBAWlC;IACC,OAAO,CAAC,IAAI,CAAiB;IAE7B,sEAAsE;IACtE,IAAI,IAAI,IAAI;IA6BZ,8CAA8C;IAC9C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA8B5B;;;OAGG;YACW,SAAS;IA8CvB,oFAAoF;IACpF,OAAO,CAAC,YAAY;CAgBrB"}
package/dist/ui/ui.js CHANGED
@@ -1,10 +1,7 @@
1
1
  import { reversePainterSortStable, setPreferredColorScheme } from '@pmndrs/uikit';
2
2
  import { interpret } from '@pmndrs/uikitml';
3
- import { createSystem } from '../ecs/system.js';
4
- import '../ecs/world.js';
5
3
  import { createComponent, Types } from 'elics';
6
- import '../ecs/entity.js';
7
- import '../ecs/component-registry.js';
4
+ import { createSystem } from '../ecs/system.js';
8
5
  import '../runtime/three.js';
9
6
  import { UIKitDocument } from './document.js';
10
7
  import { Vector3 } from 'three';
package/dist/ui/ui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sources":["../../src/ui/ui.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sources":["../../src/ui/ui.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.4.0";
1
+ export declare const VERSION = "0.4.1";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,4 +1,4 @@
1
- const VERSION = "0.4.0";
1
+ const VERSION = "0.4.1";
2
2
 
3
3
  export { VERSION };
4
4
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iwsdk/core",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Javascript WebXR Runtime for Emulation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -30,9 +30,9 @@
30
30
  "elics": "^3.4.1",
31
31
  "three": "*",
32
32
  "three-mesh-bvh": "^0.9.1",
33
- "@iwsdk/glxf": "0.4.0",
34
- "@iwsdk/locomotor": "0.4.0",
35
- "@iwsdk/xr-input": "0.4.0"
33
+ "@iwsdk/glxf": "0.4.1",
34
+ "@iwsdk/xr-input": "0.4.1",
35
+ "@iwsdk/locomotor": "0.4.1"
36
36
  },
37
37
  "engines": {
38
38
  "node": ">=20.19.0 <21.0.0-0 || >=22.12.0 <23.0.0-0 || >=24.0.0"