@iwsdk/core 0.3.2 → 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/camera/camera-system.d.ts +2 -1
- package/dist/camera/camera-system.d.ts.map +1 -1
- package/dist/camera/camera-system.js +6 -6
- package/dist/camera/camera-system.js.map +1 -1
- package/dist/depth/depth-sensing-system.d.ts +2 -0
- package/dist/depth/depth-sensing-system.d.ts.map +1 -1
- package/dist/depth/depth-sensing-system.js +18 -16
- package/dist/depth/depth-sensing-system.js.map +1 -1
- package/dist/ecs/system.d.ts +5 -2
- package/dist/ecs/system.d.ts.map +1 -1
- package/dist/ecs/system.js +2 -0
- package/dist/ecs/system.js.map +1 -1
- package/dist/ecs/world.d.ts +26 -4
- package/dist/ecs/world.d.ts.map +1 -1
- package/dist/ecs/world.js +2 -2
- package/dist/ecs/world.js.map +1 -1
- package/dist/environment-raycast/environment-raycast.js +2 -2
- package/dist/environment-raycast/environment-raycast.js.map +1 -1
- package/dist/grab/grab-system.d.ts.map +1 -1
- package/dist/grab/grab-system.js +7 -7
- package/dist/grab/grab-system.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.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/player-camera.d.ts +9 -0
- package/dist/init/player-camera.d.ts.map +1 -0
- package/dist/init/player-camera.js +14 -0
- package/dist/init/player-camera.js.map +1 -0
- package/dist/init/world-initializer.d.ts +30 -4
- package/dist/init/world-initializer.d.ts.map +1 -1
- package/dist/init/world-initializer.js +135 -33
- 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 +8 -1
- package/dist/init/xr.js.map +1 -1
- package/dist/input/canvas-pointer-system.d.ts +44 -0
- package/dist/input/canvas-pointer-system.d.ts.map +1 -0
- package/dist/input/canvas-pointer-system.js +90 -0
- package/dist/input/canvas-pointer-system.js.map +1 -0
- package/dist/input/index.d.ts +5 -0
- package/dist/input/index.d.ts.map +1 -1
- package/dist/input/input-actions.d.ts +139 -0
- package/dist/input/input-actions.d.ts.map +1 -0
- package/dist/input/input-actions.js +357 -0
- package/dist/input/input-actions.js.map +1 -0
- package/dist/input/input-manager.d.ts +56 -0
- package/dist/input/input-manager.d.ts.map +1 -0
- package/dist/input/input-manager.js +89 -0
- package/dist/input/input-manager.js.map +1 -0
- package/dist/input/input-system.d.ts +149 -137
- package/dist/input/input-system.d.ts.map +1 -1
- package/dist/input/input-system.js +30 -66
- package/dist/input/input-system.js.map +1 -1
- package/dist/input/stateful-browser-gamepad.d.ts +40 -0
- package/dist/input/stateful-browser-gamepad.d.ts.map +1 -0
- package/dist/input/stateful-browser-gamepad.js +139 -0
- package/dist/input/stateful-browser-gamepad.js.map +1 -0
- package/dist/input/stateful-keyboard.d.ts +23 -0
- package/dist/input/stateful-keyboard.d.ts.map +1 -0
- package/dist/input/stateful-keyboard.js +63 -0
- package/dist/input/stateful-keyboard.js.map +1 -0
- package/dist/layers/index.d.ts +10 -0
- package/dist/layers/index.d.ts.map +1 -0
- package/dist/layers/xr-cylinder-layer.d.ts +62 -0
- package/dist/layers/xr-cylinder-layer.d.ts.map +1 -0
- package/dist/layers/xr-cylinder-layer.js +48 -0
- package/dist/layers/xr-cylinder-layer.js.map +1 -0
- package/dist/layers/xr-layer-system.d.ts +296 -0
- package/dist/layers/xr-layer-system.d.ts.map +1 -0
- package/dist/layers/xr-layer-system.js +378 -0
- package/dist/layers/xr-layer-system.js.map +1 -0
- package/dist/layers/xr-quad-layer.d.ts +57 -0
- package/dist/layers/xr-quad-layer.d.ts.map +1 -0
- package/dist/layers/xr-quad-layer.js +46 -0
- package/dist/layers/xr-quad-layer.js.map +1 -0
- package/dist/locomotion/index.d.ts +1 -0
- package/dist/locomotion/index.d.ts.map +1 -1
- package/dist/locomotion/locomotion-input-provider.d.ts +39 -0
- package/dist/locomotion/locomotion-input-provider.d.ts.map +1 -0
- package/dist/locomotion/locomotion-input-provider.js +109 -0
- package/dist/locomotion/locomotion-input-provider.js.map +1 -0
- package/dist/locomotion/locomotion.d.ts +11 -11
- package/dist/locomotion/locomotion.d.ts.map +1 -1
- package/dist/locomotion/locomotion.js +10 -10
- package/dist/locomotion/locomotion.js.map +1 -1
- package/dist/locomotion/slide.d.ts +12 -12
- package/dist/locomotion/slide.d.ts.map +1 -1
- package/dist/locomotion/slide.js +11 -15
- package/dist/locomotion/slide.js.map +1 -1
- package/dist/locomotion/teleport.d.ts +11 -1
- package/dist/locomotion/teleport.d.ts.map +1 -1
- package/dist/locomotion/teleport.js +10 -30
- package/dist/locomotion/teleport.js.map +1 -1
- package/dist/locomotion/turn.d.ts +11 -0
- package/dist/locomotion/turn.d.ts.map +1 -1
- package/dist/locomotion/turn.js +14 -25
- package/dist/locomotion/turn.js.map +1 -1
- package/dist/mcp/ecs-debug-tools.d.ts.map +1 -1
- package/dist/mcp/ecs-debug-tools.js +20 -13
- package/dist/mcp/ecs-debug-tools.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 +7 -20
- package/dist/ui/ui.d.ts.map +1 -1
- package/dist/ui/ui.js +6 -29
- package/dist/ui/ui.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -5
|
@@ -21,7 +21,13 @@ import { EnvironmentRaycastSystem } from '../environment-raycast/environment-ray
|
|
|
21
21
|
import { EnvironmentRaycastTarget } from '../environment-raycast/raycast-target.js';
|
|
22
22
|
import '../grab/index.js';
|
|
23
23
|
import { InputSystem } from '../input/input-system.js';
|
|
24
|
+
import { InputManager } from '../input/input-manager.js';
|
|
25
|
+
import '../input/stateful-browser-gamepad.js';
|
|
26
|
+
import { CanvasPointerSystem } from '../input/canvas-pointer-system.js';
|
|
24
27
|
import { RayInteractable, PokeInteractable, Hovered, Pressed } from '../input/state-tags.js';
|
|
28
|
+
import { XRQuadLayer } from '../layers/xr-quad-layer.js';
|
|
29
|
+
import { XRCylinderLayer } from '../layers/xr-cylinder-layer.js';
|
|
30
|
+
import { XRLayerState, XRLayerSystem } from '../layers/xr-layer-system.js';
|
|
25
31
|
import { LevelSystem } from '../level/level-system.js';
|
|
26
32
|
import { LevelTag } from '../level/level-tag.js';
|
|
27
33
|
import '@iwsdk/glxf';
|
|
@@ -47,6 +53,8 @@ import { XRMesh } from '../scene-understanding/mesh.js';
|
|
|
47
53
|
import { Transform, TransformSystem } from '../transform/transform.js';
|
|
48
54
|
import '../transform/transform-utils.js';
|
|
49
55
|
import { Visibility, VisibilitySystem } from '../visibility/visibility.js';
|
|
56
|
+
import { attachBrowserCameraRestore } from './browser-camera.js';
|
|
57
|
+
import { attachCameraToPlayer } from './player-camera.js';
|
|
50
58
|
import { ReferenceSpaceType, SessionMode, buildSessionInit, normalizeReferenceSpec, resolveReferenceSpaceType } from './xr.js';
|
|
51
59
|
import { GrabSystem } from '../grab/grab-system.js';
|
|
52
60
|
|
|
@@ -84,12 +92,13 @@ function initializeWorld(container, options = {}) {
|
|
|
84
92
|
const { camera, renderer, scene } = setupRendering(container, config);
|
|
85
93
|
assignRenderingToWorld(world, camera, renderer, scene);
|
|
86
94
|
// Setup input management
|
|
87
|
-
setupInputManagement(world);
|
|
95
|
+
setupInputManagement(world, config.input);
|
|
88
96
|
// Store XR defaults for later explicit launch/offer calls
|
|
89
97
|
world.xrDefaults = {
|
|
90
98
|
sessionMode: config.xr.sessionMode,
|
|
91
99
|
referenceSpace: config.xr.referenceSpace,
|
|
92
100
|
features: config.xr.features,
|
|
101
|
+
restoreCameraOnExit: config.xr.restoreCameraOnExit,
|
|
93
102
|
};
|
|
94
103
|
// Register core systems (LevelSystem receives defaultLighting)
|
|
95
104
|
registerCoreSystems(world, config);
|
|
@@ -145,27 +154,39 @@ function createWorldInstance() {
|
|
|
145
154
|
* Extract and normalize configuration options
|
|
146
155
|
*/
|
|
147
156
|
function extractConfiguration(options) {
|
|
148
|
-
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;
|
|
158
|
+
const xrOptions = options.xr === false ? undefined : options.xr;
|
|
159
|
+
const spatialUI = (_a = options.features) === null || _a === void 0 ? void 0 : _a.spatialUI;
|
|
160
|
+
const legacyForwardHtmlEvents = typeof spatialUI === 'object' && spatialUI
|
|
161
|
+
? spatialUI.forwardHtmlEvents
|
|
162
|
+
: undefined;
|
|
163
|
+
const canvasPointerEvents = (_c = (_b = options.input) === null || _b === void 0 ? void 0 : _b.canvasPointerEvents) !== null && _c !== void 0 ? _c : legacyForwardHtmlEvents;
|
|
149
164
|
return {
|
|
150
|
-
cameraFov: (
|
|
151
|
-
cameraNear: (
|
|
152
|
-
cameraFar: (
|
|
153
|
-
|
|
154
|
-
|
|
165
|
+
cameraFov: (_e = (_d = options.render) === null || _d === void 0 ? void 0 : _d.fov) !== null && _e !== void 0 ? _e : 50,
|
|
166
|
+
cameraNear: (_g = (_f = options.render) === null || _f === void 0 ? void 0 : _f.near) !== null && _g !== void 0 ? _g : 0.1,
|
|
167
|
+
cameraFar: (_j = (_h = options.render) === null || _h === void 0 ? void 0 : _h.far) !== null && _j !== void 0 ? _j : 200,
|
|
168
|
+
cameraPose: (_k = options.render) === null || _k === void 0 ? void 0 : _k.camera,
|
|
169
|
+
defaultLighting: (_m = (_l = options.render) === null || _l === void 0 ? void 0 : _l.defaultLighting) !== null && _m !== void 0 ? _m : true,
|
|
170
|
+
stencil: (_p = (_o = options.render) === null || _o === void 0 ? void 0 : _o.stencil) !== null && _p !== void 0 ? _p : false,
|
|
155
171
|
xr: {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
172
|
+
enabled: options.xr !== false,
|
|
173
|
+
sessionMode: (_q = xrOptions === null || xrOptions === void 0 ? void 0 : xrOptions.sessionMode) !== null && _q !== void 0 ? _q : SessionMode.ImmersiveVR,
|
|
174
|
+
referenceSpace: (_r = xrOptions === null || xrOptions === void 0 ? void 0 : xrOptions.referenceSpace) !== null && _r !== void 0 ? _r : ReferenceSpaceType.LocalFloor,
|
|
175
|
+
features: xrOptions === null || xrOptions === void 0 ? void 0 : xrOptions.features,
|
|
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,
|
|
178
|
+
},
|
|
179
|
+
input: {
|
|
180
|
+
canvasPointerEvents,
|
|
160
181
|
},
|
|
161
182
|
features: {
|
|
162
|
-
locomotion: (
|
|
163
|
-
grabbing: (
|
|
164
|
-
physics: (
|
|
165
|
-
sceneUnderstanding: (
|
|
166
|
-
environmentRaycast: (
|
|
167
|
-
camera: (
|
|
168
|
-
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,
|
|
169
190
|
},
|
|
170
191
|
};
|
|
171
192
|
}
|
|
@@ -176,10 +197,13 @@ function setupRendering(sceneContainer, config) {
|
|
|
176
197
|
// Camera Setup
|
|
177
198
|
const camera = new PerspectiveCamera(config.cameraFov, window.innerWidth / window.innerHeight, config.cameraNear, config.cameraFar);
|
|
178
199
|
camera.position.set(0, 1.7, 0);
|
|
200
|
+
if (config.cameraPose) {
|
|
201
|
+
applyCameraPose(camera, config.cameraPose);
|
|
202
|
+
}
|
|
179
203
|
// Renderer Setup
|
|
180
204
|
const renderer = new WebGLRenderer({
|
|
181
205
|
antialias: true,
|
|
182
|
-
alpha: config.xr.sessionMode === SessionMode.ImmersiveAR,
|
|
206
|
+
alpha: config.xr.enabled && config.xr.sessionMode === SessionMode.ImmersiveAR,
|
|
183
207
|
// @ts-ignore
|
|
184
208
|
multiviewStereo: true,
|
|
185
209
|
stencil: config.stencil,
|
|
@@ -187,12 +211,26 @@ function setupRendering(sceneContainer, config) {
|
|
|
187
211
|
renderer.setPixelRatio(window.devicePixelRatio);
|
|
188
212
|
renderer.setSize(window.innerWidth, window.innerHeight);
|
|
189
213
|
renderer.outputColorSpace = SRGBColorSpace;
|
|
190
|
-
renderer.xr.enabled =
|
|
214
|
+
renderer.xr.enabled = config.xr.enabled;
|
|
191
215
|
sceneContainer.appendChild(renderer.domElement);
|
|
192
216
|
// Scene Setup
|
|
193
217
|
const scene = new Scene();
|
|
194
218
|
return { camera, renderer, scene };
|
|
195
219
|
}
|
|
220
|
+
function applyCameraPose(camera, pose) {
|
|
221
|
+
if (pose.position) {
|
|
222
|
+
camera.position.fromArray(pose.position);
|
|
223
|
+
}
|
|
224
|
+
if (pose.rotation) {
|
|
225
|
+
camera.rotation.fromArray(pose.rotation);
|
|
226
|
+
}
|
|
227
|
+
if (pose.quaternion) {
|
|
228
|
+
camera.quaternion.fromArray(pose.quaternion);
|
|
229
|
+
}
|
|
230
|
+
if (pose.lookAt) {
|
|
231
|
+
camera.lookAt(...pose.lookAt);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
196
234
|
/**
|
|
197
235
|
* Assign rendering components to world instance
|
|
198
236
|
*/
|
|
@@ -217,17 +255,55 @@ function assignRenderingToWorld(world, camera, renderer, scene) {
|
|
|
217
255
|
/**
|
|
218
256
|
* Setup XR input management
|
|
219
257
|
*/
|
|
220
|
-
function setupInputManagement(world) {
|
|
221
|
-
const
|
|
258
|
+
function setupInputManagement(world, config) {
|
|
259
|
+
const xrInputManager = new XRInputManager({
|
|
222
260
|
camera: world.camera,
|
|
223
261
|
scene: world.scene,
|
|
224
262
|
assetLoader: AssetManager,
|
|
225
263
|
});
|
|
226
|
-
world.scene.add(
|
|
227
|
-
|
|
228
|
-
world.player =
|
|
229
|
-
world.input =
|
|
230
|
-
|
|
264
|
+
world.scene.add(xrInputManager.xrOrigin);
|
|
265
|
+
attachCameraToPlayer(xrInputManager.xrOrigin, world.camera);
|
|
266
|
+
world.player = xrInputManager.xrOrigin;
|
|
267
|
+
world.input = new InputManager(xrInputManager, {
|
|
268
|
+
canvasPointerEvents: config.canvasPointerEvents,
|
|
269
|
+
});
|
|
270
|
+
const xrOrigin = xrInputManager.xrOrigin;
|
|
271
|
+
const playerEntity = world.createTransformEntity(xrOrigin, {
|
|
272
|
+
parent: world.sceneEntity,
|
|
273
|
+
persistent: true,
|
|
274
|
+
});
|
|
275
|
+
world.cameraEntity = world.createTransformEntity(world.camera, {
|
|
276
|
+
parent: playerEntity,
|
|
277
|
+
persistent: true,
|
|
278
|
+
});
|
|
279
|
+
const headEntity = world.createTransformEntity(xrOrigin.head, {
|
|
280
|
+
parent: playerEntity,
|
|
281
|
+
persistent: true,
|
|
282
|
+
});
|
|
283
|
+
const rayLeftEntity = world.createTransformEntity(xrOrigin.raySpaces.left, {
|
|
284
|
+
parent: playerEntity,
|
|
285
|
+
persistent: true,
|
|
286
|
+
});
|
|
287
|
+
const rayRightEntity = world.createTransformEntity(xrOrigin.raySpaces.right, {
|
|
288
|
+
parent: playerEntity,
|
|
289
|
+
persistent: true,
|
|
290
|
+
});
|
|
291
|
+
const gripLeftEntity = world.createTransformEntity(xrOrigin.gripSpaces.left, {
|
|
292
|
+
parent: playerEntity,
|
|
293
|
+
persistent: true,
|
|
294
|
+
});
|
|
295
|
+
const gripRightEntity = world.createTransformEntity(xrOrigin.gripSpaces.right, { parent: playerEntity, persistent: true });
|
|
296
|
+
const indexTipLeftEntity = world.createTransformEntity(xrOrigin.indexTipSpaces.left, { parent: playerEntity, persistent: true });
|
|
297
|
+
const indexTipRightEntity = world.createTransformEntity(xrOrigin.indexTipSpaces.right, { parent: playerEntity, persistent: true });
|
|
298
|
+
world.playerEntity = playerEntity;
|
|
299
|
+
world.playerHeadEntity = headEntity;
|
|
300
|
+
world.playerSpaceEntities = {
|
|
301
|
+
head: headEntity,
|
|
302
|
+
raySpaces: { left: rayLeftEntity, right: rayRightEntity },
|
|
303
|
+
gripSpaces: { left: gripLeftEntity, right: gripRightEntity },
|
|
304
|
+
indexTipSpaces: { left: indexTipLeftEntity, right: indexTipRightEntity },
|
|
305
|
+
};
|
|
306
|
+
return xrInputManager;
|
|
231
307
|
}
|
|
232
308
|
/**
|
|
233
309
|
* Manage offering XR sessions according to the configured offer policy.
|
|
@@ -260,6 +336,9 @@ function manageOfferFlow(world, mode) {
|
|
|
260
336
|
};
|
|
261
337
|
const resolvedType = await resolveReferenceSpaceType(session, refSpec.type, refSpec.required ? [] : refSpec.fallbackOrder);
|
|
262
338
|
world.renderer.xr.setReferenceSpaceType(resolvedType);
|
|
339
|
+
if (opts.restoreCameraOnExit !== false) {
|
|
340
|
+
attachBrowserCameraRestore(world.camera, session);
|
|
341
|
+
}
|
|
263
342
|
await world.renderer.xr.setSession(session);
|
|
264
343
|
world.session = session;
|
|
265
344
|
}
|
|
@@ -322,6 +401,7 @@ function registerAdditionalSystems(world) {
|
|
|
322
401
|
world.registerComponent(AudioSource).registerSystem(AudioSystem);
|
|
323
402
|
}
|
|
324
403
|
function registerFeatureSystems(world, config) {
|
|
404
|
+
var _a;
|
|
325
405
|
const locomotion = config.features.locomotion;
|
|
326
406
|
const locomotionEnabled = !!locomotion;
|
|
327
407
|
const grabbing = config.features.grabbing;
|
|
@@ -341,6 +421,7 @@ function registerFeatureSystems(world, config) {
|
|
|
341
421
|
comfortAssist: locomotion.comfortAssistLevel,
|
|
342
422
|
turningMethod: locomotion.turningMethod,
|
|
343
423
|
enableJumping: locomotion.enableJumping,
|
|
424
|
+
browserControls: locomotion.browserControls,
|
|
344
425
|
}).filter(([, v]) => v !== undefined))
|
|
345
426
|
: undefined;
|
|
346
427
|
world.registerSystem(LocomotionSystem, {
|
|
@@ -348,7 +429,18 @@ function registerFeatureSystems(world, config) {
|
|
|
348
429
|
configData: locOpts,
|
|
349
430
|
});
|
|
350
431
|
}
|
|
351
|
-
world.registerSystem(InputSystem, {
|
|
432
|
+
world.registerSystem(InputSystem, {
|
|
433
|
+
priority: -4,
|
|
434
|
+
configData: {
|
|
435
|
+
maintainScenePointers: world.input.canvasPointerEvents.enabled,
|
|
436
|
+
},
|
|
437
|
+
});
|
|
438
|
+
if (world.input.canvasPointerEvents.enabled) {
|
|
439
|
+
world.registerSystem(CanvasPointerSystem, {
|
|
440
|
+
priority: -3.5,
|
|
441
|
+
configData: world.input.canvasPointerEvents,
|
|
442
|
+
});
|
|
443
|
+
}
|
|
352
444
|
if (grabbingEnabled) {
|
|
353
445
|
const grabOpts = typeof grabbing === 'object' && grabbing
|
|
354
446
|
? Object.fromEntries(Object.entries({
|
|
@@ -393,11 +485,16 @@ function registerFeatureSystems(world, config) {
|
|
|
393
485
|
if (cameraEnabled) {
|
|
394
486
|
world.registerComponent(CameraSource).registerSystem(CameraSystem);
|
|
395
487
|
}
|
|
488
|
+
// WebXR composition layers (quad/cylinder)
|
|
489
|
+
if (config.xr.enabled && ((_a = config.xr.features) === null || _a === void 0 ? void 0 : _a.layers)) {
|
|
490
|
+
world
|
|
491
|
+
.registerComponent(XRQuadLayer)
|
|
492
|
+
.registerComponent(XRCylinderLayer)
|
|
493
|
+
.registerComponent(XRLayerState)
|
|
494
|
+
.registerSystem(XRLayerSystem, { priority: 1 });
|
|
495
|
+
}
|
|
396
496
|
// Spatial UI systems (Panel, ScreenSpace, Follow)
|
|
397
497
|
if (spatialUIEnabled) {
|
|
398
|
-
const forwardHtmlEvents = typeof spatialUI === 'object' && spatialUI
|
|
399
|
-
? spatialUI.forwardHtmlEvents
|
|
400
|
-
: undefined;
|
|
401
498
|
const kitsVal = typeof spatialUI === 'object' && spatialUI ? spatialUI.kits : undefined;
|
|
402
499
|
const kitsObj = Array.isArray(kitsVal)
|
|
403
500
|
? Object.assign({}, ...kitsVal)
|
|
@@ -410,15 +507,20 @@ function registerFeatureSystems(world, config) {
|
|
|
410
507
|
.registerComponent(ScreenSpace)
|
|
411
508
|
.registerComponent(Follower)
|
|
412
509
|
.registerSystem(PanelUISystem, {
|
|
510
|
+
// Keep UIKit document updates ahead of screen-space layout publishing.
|
|
511
|
+
priority: -3.8,
|
|
413
512
|
configData: {
|
|
414
|
-
...(forwardHtmlEvents !== undefined ? { forwardHtmlEvents } : {}),
|
|
415
513
|
...(kitsObj ? { kits: kitsObj } : {}),
|
|
416
514
|
...(preferredColorScheme !== undefined
|
|
417
515
|
? { preferredColorScheme }
|
|
418
516
|
: {}),
|
|
419
517
|
},
|
|
420
518
|
})
|
|
421
|
-
.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
|
+
})
|
|
422
524
|
.registerSystem(FollowSystem);
|
|
423
525
|
}
|
|
424
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
|
}
|
|
@@ -188,6 +194,7 @@ function launchXR(world, options) {
|
|
|
188
194
|
world.session = undefined;
|
|
189
195
|
};
|
|
190
196
|
if (!world.session) {
|
|
197
|
+
world.renderer.xr.enabled = true;
|
|
191
198
|
(_b = (_a = navigator.xr) === null || _a === void 0 ? void 0 : _a.requestSession) === null || _b === void 0 ? void 0 : _b.call(_a, sessionMode, sessionOptions).then(onSessionStart);
|
|
192
199
|
}
|
|
193
200
|
else {
|
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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"}
|
|
@@ -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 { Types } from '../ecs/component.js';
|
|
8
|
+
declare const CanvasPointerSystem_base: import("elics").SystemConstructor<{
|
|
9
|
+
/** Forward DOM pointer events from the renderer canvas into the Three scene. */
|
|
10
|
+
enabled: {
|
|
11
|
+
type: Types.Boolean;
|
|
12
|
+
default: true;
|
|
13
|
+
};
|
|
14
|
+
/** Continue forwarding pointer events while an immersive XR session is active. */
|
|
15
|
+
activeDuringXR: {
|
|
16
|
+
type: Types.Boolean;
|
|
17
|
+
default: false;
|
|
18
|
+
};
|
|
19
|
+
}, {}, import("../index.js").World, import("../ecs/system.js").System<{
|
|
20
|
+
/** Forward DOM pointer events from the renderer canvas into the Three scene. */
|
|
21
|
+
enabled: {
|
|
22
|
+
type: Types.Boolean;
|
|
23
|
+
default: true;
|
|
24
|
+
};
|
|
25
|
+
/** Continue forwarding pointer events while an immersive XR session is active. */
|
|
26
|
+
activeDuringXR: {
|
|
27
|
+
type: Types.Boolean;
|
|
28
|
+
default: false;
|
|
29
|
+
};
|
|
30
|
+
}, {}>>;
|
|
31
|
+
export declare class CanvasPointerSystem extends CanvasPointerSystem_base {
|
|
32
|
+
private htmlHandler?;
|
|
33
|
+
private readonly canvasPointerRoot;
|
|
34
|
+
private readonly canvasPointerTraversalMarker;
|
|
35
|
+
private readonly canvasPointerDescendants;
|
|
36
|
+
init(): void;
|
|
37
|
+
update(): void;
|
|
38
|
+
private prepareCanvasPointerRoot;
|
|
39
|
+
private pushDescendants;
|
|
40
|
+
private clearCanvasPointerRoot;
|
|
41
|
+
destroy(): void;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=canvas-pointer-system.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { forwardHtmlEvents } from '@pmndrs/pointer-events';
|
|
2
|
+
import { Types } from 'elics';
|
|
3
|
+
import { createSystem } from '../ecs/system.js';
|
|
4
|
+
import '../runtime/three.js';
|
|
5
|
+
import { Object3D } from 'three';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
9
|
+
*
|
|
10
|
+
* This source code is licensed under the MIT license found in the
|
|
11
|
+
* LICENSE file in the root directory of this source tree.
|
|
12
|
+
*/
|
|
13
|
+
class CanvasPointerSystem extends createSystem({}, {
|
|
14
|
+
/** Forward DOM pointer events from the renderer canvas into the Three scene. */
|
|
15
|
+
enabled: { type: Types.Boolean, default: true },
|
|
16
|
+
/** Continue forwarding pointer events while an immersive XR session is active. */
|
|
17
|
+
activeDuringXR: { type: Types.Boolean, default: false },
|
|
18
|
+
}) {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(...arguments);
|
|
21
|
+
this.canvasPointerRoot = new Object3D();
|
|
22
|
+
this.canvasPointerTraversalMarker = new Object3D();
|
|
23
|
+
this.canvasPointerDescendants = [];
|
|
24
|
+
}
|
|
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);
|
|
29
|
+
this.cleanupFuncs.push(this.config.enabled.subscribe((enabled) => {
|
|
30
|
+
var _a;
|
|
31
|
+
(_a = this.htmlHandler) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
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
|
+
}
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
update() {
|
|
43
|
+
if (!this.htmlHandler) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (this.world.session && !this.config.activeDuringXR.value) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
this.prepareCanvasPointerRoot();
|
|
50
|
+
this.htmlHandler.update();
|
|
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
|
+
}
|
|
79
|
+
destroy() {
|
|
80
|
+
var _a;
|
|
81
|
+
super.destroy();
|
|
82
|
+
(_a = this.htmlHandler) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
83
|
+
this.htmlHandler = undefined;
|
|
84
|
+
this.clearCanvasPointerRoot();
|
|
85
|
+
this.canvasPointerRoot.remove(this.canvasPointerTraversalMarker);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export { CanvasPointerSystem };
|
|
90
|
+
//# sourceMappingURL=canvas-pointer-system.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canvas-pointer-system.js","sources":["../../src/input/canvas-pointer-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/input/index.d.ts
CHANGED
|
@@ -5,5 +5,10 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
export * from './input-system.js';
|
|
8
|
+
export * from './input-manager.js';
|
|
9
|
+
export * from './input-actions.js';
|
|
10
|
+
export * from './canvas-pointer-system.js';
|
|
11
|
+
export * from './stateful-keyboard.js';
|
|
12
|
+
export * from './stateful-browser-gamepad.js';
|
|
8
13
|
export * from './state-tags.js';
|
|
9
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/input/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/input/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC"}
|