@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.
- package/dist/asset/asset-manager.d.ts +20 -3
- package/dist/asset/asset-manager.d.ts.map +1 -1
- package/dist/asset/asset-manager.js +19 -4
- package/dist/asset/asset-manager.js.map +1 -1
- package/dist/asset/loaders/gltf-loader.d.ts +35 -3
- package/dist/asset/loaders/gltf-loader.d.ts.map +1 -1
- package/dist/asset/loaders/gltf-loader.js +38 -4
- package/dist/asset/loaders/gltf-loader.js.map +1 -1
- package/dist/init/browser-camera.d.ts +44 -0
- package/dist/init/browser-camera.d.ts.map +1 -0
- package/dist/init/browser-camera.js +58 -0
- package/dist/init/browser-camera.js.map +1 -0
- package/dist/init/world-initializer.d.ts.map +1 -1
- package/dist/init/world-initializer.js +21 -9
- package/dist/init/world-initializer.js.map +1 -1
- package/dist/init/xr.d.ts +10 -0
- package/dist/init/xr.d.ts.map +1 -1
- package/dist/init/xr.js +7 -1
- package/dist/init/xr.js.map +1 -1
- package/dist/input/canvas-pointer-system.d.ts +8 -2
- package/dist/input/canvas-pointer-system.d.ts.map +1 -1
- package/dist/input/canvas-pointer-system.js +50 -7
- package/dist/input/canvas-pointer-system.js.map +1 -1
- package/dist/runtime/scene-pointer-descendants.d.ts +15 -0
- package/dist/runtime/scene-pointer-descendants.d.ts.map +1 -0
- package/dist/ui/screenspace.d.ts +4 -2
- package/dist/ui/screenspace.d.ts.map +1 -1
- package/dist/ui/screenspace.js +16 -4
- package/dist/ui/screenspace.js.map +1 -1
- package/dist/ui/ui.d.ts +2 -2
- package/dist/ui/ui.d.ts.map +1 -1
- package/dist/ui/ui.js +1 -4
- package/dist/ui/ui.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- 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
|
-
/**
|
|
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
|
-
/**
|
|
70
|
-
|
|
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;
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
132
|
-
|
|
133
|
-
|
|
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":";;;;;;;;AAAA;;;;;AAKG;
|
|
1
|
+
{"version":3,"file":"asset-manager.js","sources":["../../src/asset/asset-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
/**
|
|
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
|
-
/**
|
|
31
|
-
|
|
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;
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
73
|
-
|
|
74
|
-
|
|
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":"
|
|
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":"AAAA;;;;;GAKG;AAIH,OAAO,EAAgB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAE,KAAK,EAAmB,MAAM,iBAAiB,CAAC;AAazD,OAAO,EACL,yBAAyB,EAO1B,MAAM,mBAAmB,CAAC;AAU3B,OAAO,EACL,KAAK,yBAAyB,EAE9B,aAAa,EACd,MAAM,wBAAwB,CAAC;AAsBhC,OAAO,EAOL,WAAW,EACZ,MAAM,gBAAgB,CAAC;
|
|
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: (
|
|
181
|
-
grabbing: (
|
|
182
|
-
physics: (
|
|
183
|
-
sceneUnderstanding: (
|
|
184
|
-
environmentRaycast: (
|
|
185
|
-
camera: (
|
|
186
|
-
spatialUI: (
|
|
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;
|
package/dist/init/xr.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
}
|
package/dist/init/xr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xr.js","sources":["../../src/init/xr.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;
|
|
1
|
+
{"version":3,"file":"xr.js","sources":["../../src/init/xr.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -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/
|
|
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("../
|
|
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;
|
|
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/
|
|
6
|
-
import '../
|
|
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.
|
|
25
|
-
|
|
26
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"canvas-pointer-system.js","sources":["../../src/input/canvas-pointer-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
package/dist/ui/screenspace.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/
|
|
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("../
|
|
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,
|
|
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"}
|
package/dist/ui/screenspace.js
CHANGED
|
@@ -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/
|
|
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":"
|
|
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/
|
|
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("../
|
|
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;
|
package/dist/ui/ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/ui/ui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,KAAK,
|
|
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/
|
|
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":"
|
|
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.
|
|
1
|
+
export declare const VERSION = "0.4.1";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iwsdk/core",
|
|
3
|
-
"version": "0.4.
|
|
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.
|
|
34
|
-
"@iwsdk/
|
|
35
|
-
"@iwsdk/
|
|
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"
|