@iwsdk/core 0.5.3 → 1.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/README.md +22 -1
  2. package/dist/asset/asset-manager.d.ts.map +1 -1
  3. package/dist/asset/asset-manager.js +3 -2
  4. package/dist/asset/asset-manager.js.map +1 -1
  5. package/dist/camera/camera-system.d.ts +7 -3
  6. package/dist/camera/camera-system.d.ts.map +1 -1
  7. package/dist/camera/camera-system.js +81 -50
  8. package/dist/camera/camera-system.js.map +1 -1
  9. package/dist/camera/camera-utils.d.ts +5 -0
  10. package/dist/camera/camera-utils.d.ts.map +1 -1
  11. package/dist/camera/camera-utils.js +8 -1
  12. package/dist/camera/camera-utils.js.map +1 -1
  13. package/dist/depth/depth-sensing-system.d.ts +3 -0
  14. package/dist/depth/depth-sensing-system.d.ts.map +1 -1
  15. package/dist/depth/depth-sensing-system.js +55 -1
  16. package/dist/depth/depth-sensing-system.js.map +1 -1
  17. package/dist/ecs/world.d.ts +2 -0
  18. package/dist/ecs/world.d.ts.map +1 -1
  19. package/dist/ecs/world.js +4 -0
  20. package/dist/ecs/world.js.map +1 -1
  21. package/dist/grab/distance-grabbable.d.ts +5 -0
  22. package/dist/grab/distance-grabbable.d.ts.map +1 -1
  23. package/dist/grab/distance-grabbable.js +5 -0
  24. package/dist/grab/distance-grabbable.js.map +1 -1
  25. package/dist/grab/handles.d.ts +6 -0
  26. package/dist/grab/handles.d.ts.map +1 -1
  27. package/dist/grab/handles.js +46 -12
  28. package/dist/grab/handles.js.map +1 -1
  29. package/dist/grab/one-hand-grabbable.d.ts +5 -0
  30. package/dist/grab/one-hand-grabbable.d.ts.map +1 -1
  31. package/dist/grab/one-hand-grabbable.js +5 -0
  32. package/dist/grab/one-hand-grabbable.js.map +1 -1
  33. package/dist/grab/two-hands-grabbable.d.ts +5 -0
  34. package/dist/grab/two-hands-grabbable.d.ts.map +1 -1
  35. package/dist/grab/two-hands-grabbable.js +5 -0
  36. package/dist/grab/two-hands-grabbable.js.map +1 -1
  37. package/dist/index.js +7 -6
  38. package/dist/index.js.map +1 -1
  39. package/dist/init/index.d.ts +2 -2
  40. package/dist/init/index.d.ts.map +1 -1
  41. package/dist/init/session-grant.d.ts +34 -0
  42. package/dist/init/session-grant.d.ts.map +1 -0
  43. package/dist/init/session-grant.js +89 -0
  44. package/dist/init/session-grant.js.map +1 -0
  45. package/dist/init/world-initializer.d.ts +87 -4
  46. package/dist/init/world-initializer.d.ts.map +1 -1
  47. package/dist/init/world-initializer.js +48 -43
  48. package/dist/init/world-initializer.js.map +1 -1
  49. package/dist/init/xr.d.ts +19 -0
  50. package/dist/init/xr.d.ts.map +1 -1
  51. package/dist/init/xr.js +136 -41
  52. package/dist/init/xr.js.map +1 -1
  53. package/dist/input/canvas-pointer-system.d.ts +2 -0
  54. package/dist/input/canvas-pointer-system.d.ts.map +1 -1
  55. package/dist/input/canvas-pointer-system.js +33 -13
  56. package/dist/input/canvas-pointer-system.js.map +1 -1
  57. package/dist/input/input-system.d.ts.map +1 -1
  58. package/dist/input/input-system.js +5 -2
  59. package/dist/input/input-system.js.map +1 -1
  60. package/dist/layers/xr-cylinder-layer.d.ts +2 -1
  61. package/dist/layers/xr-cylinder-layer.d.ts.map +1 -1
  62. package/dist/layers/xr-cylinder-layer.js +2 -1
  63. package/dist/layers/xr-cylinder-layer.js.map +1 -1
  64. package/dist/layers/xr-layer-init.d.ts +19 -0
  65. package/dist/layers/xr-layer-init.d.ts.map +1 -0
  66. package/dist/layers/xr-layer-init.js +20 -0
  67. package/dist/layers/xr-layer-init.js.map +1 -0
  68. package/dist/layers/xr-layer-system.d.ts +41 -1
  69. package/dist/layers/xr-layer-system.d.ts.map +1 -1
  70. package/dist/layers/xr-layer-system.js +506 -132
  71. package/dist/layers/xr-layer-system.js.map +1 -1
  72. package/dist/layers/xr-layer-transform.d.ts +18 -0
  73. package/dist/layers/xr-layer-transform.d.ts.map +1 -0
  74. package/dist/layers/xr-layer-transform.js +115 -0
  75. package/dist/layers/xr-layer-transform.js.map +1 -0
  76. package/dist/layers/xr-quad-layer.d.ts +2 -1
  77. package/dist/layers/xr-quad-layer.d.ts.map +1 -1
  78. package/dist/layers/xr-quad-layer.js +2 -1
  79. package/dist/layers/xr-quad-layer.js.map +1 -1
  80. package/dist/level/level-component-applier.d.ts +2 -0
  81. package/dist/level/level-component-applier.d.ts.map +1 -1
  82. package/dist/level/level-component-applier.js +24 -5
  83. package/dist/level/level-component-applier.js.map +1 -1
  84. package/dist/mcp/ecs-debug-tools.d.ts +4 -1
  85. package/dist/mcp/ecs-debug-tools.d.ts.map +1 -1
  86. package/dist/mcp/ecs-debug-tools.js +113 -10
  87. package/dist/mcp/ecs-debug-tools.js.map +1 -1
  88. package/dist/mcp/index.d.ts +1 -0
  89. package/dist/mcp/index.d.ts.map +1 -1
  90. package/dist/mcp/mcp-runtime.d.ts +2 -0
  91. package/dist/mcp/mcp-runtime.d.ts.map +1 -1
  92. package/dist/mcp/mcp-runtime.js +41 -0
  93. package/dist/mcp/mcp-runtime.js.map +1 -1
  94. package/dist/mcp/ui-debug-tools.d.ts +56 -0
  95. package/dist/mcp/ui-debug-tools.d.ts.map +1 -0
  96. package/dist/mcp/ui-debug-tools.js +412 -0
  97. package/dist/mcp/ui-debug-tools.js.map +1 -0
  98. package/dist/physics/index.js +1 -1
  99. package/dist/physics/physics-runtime.d.ts +22 -0
  100. package/dist/physics/physics-runtime.d.ts.map +1 -0
  101. package/dist/physics/physics-runtime.js +423 -0
  102. package/dist/physics/physics-runtime.js.map +1 -0
  103. package/dist/physics/physics-system.d.ts +84 -108
  104. package/dist/physics/physics-system.d.ts.map +1 -1
  105. package/dist/physics/physics-system.js +686 -555
  106. package/dist/physics/physics-system.js.map +1 -1
  107. package/dist/physics/physics-transport.d.ts +20 -0
  108. package/dist/physics/physics-transport.d.ts.map +1 -0
  109. package/dist/physics/physics-transport.js +111 -0
  110. package/dist/physics/physics-transport.js.map +1 -0
  111. package/dist/physics/physics-worker-protocol.d.ts +144 -0
  112. package/dist/physics/physics-worker-protocol.d.ts.map +1 -0
  113. package/dist/physics/physics-worker-protocol.js +41 -0
  114. package/dist/physics/physics-worker-protocol.js.map +1 -0
  115. package/dist/physics/physics-worker-utils.d.ts +8 -0
  116. package/dist/physics/physics-worker-utils.d.ts.map +1 -0
  117. package/dist/physics/physics-worker-utils.js +12 -0
  118. package/dist/physics/physics-worker-utils.js.map +1 -0
  119. package/dist/physics/physics-worker.d.ts +8 -0
  120. package/dist/physics/physics-worker.d.ts.map +1 -0
  121. package/dist/physics/physics-worker.js +66 -0
  122. package/dist/physics/physics-worker.js.map +1 -0
  123. package/dist/project/normalize.js +7 -1
  124. package/dist/project/normalize.js.map +1 -1
  125. package/dist/project/types.d.ts +7 -1
  126. package/dist/project/types.d.ts.map +1 -1
  127. package/dist/project/validation.js +36 -2
  128. package/dist/project/validation.js.map +1 -1
  129. package/dist/scene-understanding/scene-understanding-system.d.ts +42 -6
  130. package/dist/scene-understanding/scene-understanding-system.d.ts.map +1 -1
  131. package/dist/scene-understanding/scene-understanding-system.js +391 -106
  132. package/dist/scene-understanding/scene-understanding-system.js.map +1 -1
  133. package/dist/schemas/iwsdk-project.v1.schema.json +20 -1
  134. package/dist/ui/follow.d.ts.map +1 -1
  135. package/dist/ui/follow.js +0 -1
  136. package/dist/ui/follow.js.map +1 -1
  137. package/dist/version.d.ts +1 -1
  138. package/dist/version.d.ts.map +1 -1
  139. package/dist/version.js +1 -1
  140. package/package.json +5 -5
package/dist/index.js CHANGED
@@ -46,14 +46,14 @@ export { IBLGradient } from './environment/ibl-gradient.js';
46
46
  export { EnvironmentSystem } from './environment/environment-system.js';
47
47
  export { LevelSystem, applySceneHeroCamera } from './level/level-system.js';
48
48
  export { LevelTag } from './level/level-tag.js';
49
- export { LEVEL_COMPONENT_PREFIX, LevelComponentApplier } from './level/level-component-applier.js';
49
+ export { LEVEL_COMPONENT_PREFIX, LevelComponentApplier, resetLevelComponentWarningStateForTests } from './level/level-component-applier.js';
50
50
  export { SceneJSONImporter, activateScenePlayerAttachments, createSceneEntityReferenceResolver } from './level/level-scene-json-importer.js';
51
51
  export { SceneMaterialPool, createSceneMaterial, disposeStandaloneSceneMaterial } from './level/level-scene-material.js';
52
52
  export { applySceneEnvironment, captureSceneEnvironment, restoreSceneEnvironment } from './level/level-scene-environment.js';
53
53
  export { applySceneTransform, createSceneContentObject, disposeLoweredSceneNodes, disposeSceneObjectResources, lowerSceneDocumentObjects, lowerSceneNodeObject, resolveSceneDocumentForLowering } from './level/level-scene-object.js';
54
54
  export { createSceneGeometry, createScenePrimitiveObject, disposeScenePrimitiveObject } from './level/level-scene-primitive.js';
55
55
  export { LevelRoot } from './level/level-root.js';
56
- export { SceneUnderstandingSystem, findExtremeVertices } from './scene-understanding/scene-understanding-system.js';
56
+ export { SceneUnderstandingSystem, findAxisAlignedBounds, findExtremeVertices } from './scene-understanding/scene-understanding-system.js';
57
57
  export { XRAnchor } from './scene-understanding/anchor.js';
58
58
  export { XRPlane } from './scene-understanding/plane.js';
59
59
  export { XRMesh } from './scene-understanding/mesh.js';
@@ -63,7 +63,7 @@ export { AudioSource, DistanceModel, InstanceStealPolicy, PlaybackMode } from '.
63
63
  export { AudioSystem } from './audio/audio-system.js';
64
64
  export { AudioUtils } from './audio/audio-utils.js';
65
65
  export { AudioPool } from './audio/audio-pool.js';
66
- export { PhysicsSystem, getCapsuleAxisEndpoints } from './physics/physics-system.js';
66
+ export { PhysicsSystem } from './physics/physics-system.js';
67
67
  export { DEFAULT_ANGULAR_DAMPING, DEFAULT_GRAVITY_FACTOR, DEFAULT_LINEAR_DAMPING, PhysicsBody, PhysicsState } from './physics/physicsBody.js';
68
68
  export { PhysicsManipulation } from './physics/physicsManipulation.js';
69
69
  export { DEFAULT_DENSITY, DEFAULT_FRICTION, DEFAULT_RESTITUTION, PhysicsShape, PhysicsShapeType } from './physics/physicsShape.js';
@@ -77,13 +77,15 @@ export { DepthSensingSystem } from './depth/depth-sensing-system.js';
77
77
  export { XRQuadLayer } from './layers/xr-quad-layer.js';
78
78
  export { XRCylinderLayer } from './layers/xr-cylinder-layer.js';
79
79
  export { XRLayerSystem } from './layers/xr-layer-system.js';
80
+ export { LightBinding } from './lighting/light-binding.js';
81
+ export { AmbientLightComponent, DirectionalLightComponent, HemisphereLightComponent, IWSDK_LIGHT_COMPONENTS, LightShadowMapSize, PointLightComponent, RectAreaLightComponent, SpotLightComponent } from './lighting/light-components.js';
82
+ export { LightSystem, lightSpecFromComponentValue, readLightSpec } from './lighting/light-system.js';
80
83
  export { MCPRuntime } from './mcp/mcp-runtime.js';
81
84
  export * from '@iwsdk/xr-input';
82
85
  export * from '@iwsdk/locomotor';
83
86
  import * as uikit from '@pmndrs/uikit';
84
87
  export { uikit as UIKit };
85
88
  export { Signal, batch, computed, effect, signal, untracked } from '@preact/signals-core';
86
- export { AmbientLightComponent, DirectionalLightComponent, HemisphereLightComponent, IWSDK_LIGHT_COMPONENTS, LightShadowMapSize, PointLightComponent, RectAreaLightComponent, SpotLightComponent } from './lighting/light-components.js';
87
89
  export { AssetLoadTimeoutError, DEFAULT_ASSET_LOAD_TIMEOUT_MS } from './asset/loaders/cached-asset-load.js';
88
90
  export { ColorSchemeType, PanelDocument, PanelUI } from './ui/panel-components.js';
89
91
  export { DEFAULT_MAX_MODEL_PAYLOAD_BYTES, DEFAULT_MAX_TOTAL_MODEL_PAYLOAD_BYTES, GLTFPayloadLimitError } from './asset/loaders/gltf-loader.js';
@@ -92,8 +94,6 @@ export { FollowBehavior, Follower } from './ui/follow-component.js';
92
94
  export { GrabSystem } from './grab/grab-system.js';
93
95
  export { Grabbed } from './grab/grabbed.js';
94
96
  export { IWSDK_PROJECT_MANIFEST_VERSION } from './project/types.js';
95
- export { LightBinding } from './lighting/light-binding.js';
96
- export { LightSystem, lightSpecFromComponentValue, readLightSpec } from './lighting/light-system.js';
97
97
  export { LocomotionEnvironment } from './locomotion/locomotion-environment.js';
98
98
  export { MAX_SCENE_PATTERN_INSTANCES, deriveSceneInstanceNodeId, deriveScenePatternNodeId, generateScenePatternTransforms } from '@iwsdk/scene-composition';
99
99
  export { MovementMode } from './grab/handles.js';
@@ -105,6 +105,7 @@ export { Transform } from './transform/transform-component.js';
105
105
  export { TwoHandsGrabbable } from './grab/two-hands-grabbable.js';
106
106
  export { Visibility } from './visibility/visibility-component.js';
107
107
  export { XRLayerState } from './layers/xr-layer-state.js';
108
+ export { getCapsuleAxisEndpoints } from './physics/physics-worker-protocol.js';
108
109
  export { normalizeProjectDevOptions, normalizeProjectModuleSourcePath, normalizeProjectWorldOptions, projectRegexSpecToRegExp } from './project/normalize.js';
109
110
 
110
111
  /**
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["EliCSVersion"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AA6CH,OAAO,CAAC,GAAG,CAAC,CAAA;;;;;;;;;qBASS,OAAO;YAChB,QAAQ;SACXA,SAAY,CAAA,CAAE,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["EliCSVersion"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AA6CH,OAAO,CAAC,GAAG,CAAC,CAAA;;;;;;;;;qBASS,OAAO;YAChB,QAAQ;SACXA,SAAY,CAAA,CAAE,CAAC;;;;"}
@@ -4,6 +4,6 @@
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
- export * from './xr.js';
8
- export * from './world-initializer.js';
7
+ export { ReferenceSpaceType, SessionMode, buildSessionInit, launchXR, normalizeReferenceSpec, resolveReferenceSpaceType, type DepthSensingFlag, type FeatureFlag, type ReferenceSpaceSpec, type XRFeatureOptions, type XROptions, } from './xr.js';
8
+ export { initializeWorld, type WorldOptions } from './world-initializer.js';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,sBAAsB,EACtB,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,SAAS,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,34 @@
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
+ type SessionGrantCallback = () => void;
8
+ type SessionGrantSubscriptionOptions = {
9
+ persistent?: boolean;
10
+ };
11
+ /**
12
+ * Start recording native sessiongranted events before asynchronous world
13
+ * initialization begins. Calling this more than once for the same XRSystem is
14
+ * a no-op.
15
+ *
16
+ * @internal
17
+ */
18
+ export declare function armSessionGrantCapture(): void;
19
+ /** Arm capture synchronously when world options request grant-driven launch. */
20
+ export declare function armSessionGrantCaptureForOptions(xr: false | {
21
+ launchOnSessionGranted?: boolean;
22
+ } | undefined): void;
23
+ /**
24
+ * Consume a recently captured grant, or subscribe to a future grant. One-shot
25
+ * subscriptions run at most once. Persistent subscriptions remain armed so a
26
+ * world can re-enter XR after a failed request or an ended session.
27
+ *
28
+ * @internal
29
+ */
30
+ export declare function onSessionGrant(callback: SessionGrantCallback, options?: SessionGrantSubscriptionOptions): () => void;
31
+ /** Reset module state for isolated tests. @internal */
32
+ export declare function resetSessionGrantCaptureForTests(): void;
33
+ export {};
34
+ //# sourceMappingURL=session-grant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-grant.d.ts","sourceRoot":"","sources":["../../src/init/session-grant.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,KAAK,oBAAoB,GAAG,MAAM,IAAI,CAAC;AAEvC,KAAK,+BAA+B,GAAG;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAyCF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAQ7C;AAED,gFAAgF;AAChF,wBAAgB,gCAAgC,CAC9C,EAAE,EAAE,KAAK,GAAG;IAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,GAC3D,IAAI,CAIN;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,+BAAoC,GAC5C,MAAM,IAAI,CAeZ;AAED,uDAAuD;AACvD,wBAAgB,gCAAgC,IAAI,IAAI,CAMvD"}
@@ -0,0 +1,89 @@
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
+ const SESSION_GRANT_TTL_MS = 30000;
8
+ let armedXRSystem;
9
+ let pendingGrantAt;
10
+ const subscribers = new Set();
11
+ const persistentSubscribers = new Set();
12
+ function now() {
13
+ return Date.now();
14
+ }
15
+ function hasFreshPendingGrant() {
16
+ if (pendingGrantAt == null) {
17
+ return false;
18
+ }
19
+ if (now() - pendingGrantAt <= SESSION_GRANT_TTL_MS) {
20
+ return true;
21
+ }
22
+ pendingGrantAt = undefined;
23
+ return false;
24
+ }
25
+ function handleSessionGranted() {
26
+ pendingGrantAt = now();
27
+ if (subscribers.size === 0 && persistentSubscribers.size === 0) {
28
+ return;
29
+ }
30
+ const pendingSubscribers = [...subscribers];
31
+ const recurringSubscribers = [...persistentSubscribers];
32
+ subscribers.clear();
33
+ pendingGrantAt = undefined;
34
+ for (const subscriber of [...pendingSubscribers, ...recurringSubscribers]) {
35
+ try {
36
+ subscriber();
37
+ }
38
+ catch (error) {
39
+ console.error('[XR] sessiongranted subscriber failed:', error);
40
+ }
41
+ }
42
+ }
43
+ /**
44
+ * Start recording native sessiongranted events before asynchronous world
45
+ * initialization begins. Calling this more than once for the same XRSystem is
46
+ * a no-op.
47
+ *
48
+ * @internal
49
+ */
50
+ function armSessionGrantCapture() {
51
+ var _a;
52
+ const xr = (_a = globalThis.navigator) === null || _a === void 0 ? void 0 : _a.xr;
53
+ if (xr == null || xr === armedXRSystem) {
54
+ return;
55
+ }
56
+ armedXRSystem === null || armedXRSystem === void 0 ? void 0 : armedXRSystem.removeEventListener('sessiongranted', handleSessionGranted);
57
+ armedXRSystem = xr;
58
+ xr.addEventListener('sessiongranted', handleSessionGranted);
59
+ }
60
+ /** Arm capture synchronously when world options request grant-driven launch. */
61
+ function armSessionGrantCaptureForOptions(xr) {
62
+ if (xr !== false && (xr === null || xr === void 0 ? void 0 : xr.launchOnSessionGranted) === true) {
63
+ armSessionGrantCapture();
64
+ }
65
+ }
66
+ /**
67
+ * Consume a recently captured grant, or subscribe to a future grant. One-shot
68
+ * subscriptions run at most once. Persistent subscriptions remain armed so a
69
+ * world can re-enter XR after a failed request or an ended session.
70
+ *
71
+ * @internal
72
+ */
73
+ function onSessionGrant(callback, options = {}) {
74
+ const target = options.persistent ? persistentSubscribers : subscribers;
75
+ target.add(callback);
76
+ if (hasFreshPendingGrant()) {
77
+ pendingGrantAt = undefined;
78
+ if (!options.persistent) {
79
+ target.delete(callback);
80
+ }
81
+ callback();
82
+ }
83
+ return () => {
84
+ target.delete(callback);
85
+ };
86
+ }
87
+
88
+ export { armSessionGrantCapture, armSessionGrantCaptureForOptions, onSessionGrant };
89
+ //# sourceMappingURL=session-grant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-grant.js","sources":["../../src/init/session-grant.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;AAEH,MAAM,oBAAoB,GAAG,KAAM;AAQnC,IAAI,aAAmC;AACvC,IAAI,cAAkC;AACtC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAwB;AACnD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAwB;AAE7D,SAAS,GAAG,GAAA;AACV,IAAA,OAAO,IAAI,CAAC,GAAG,EAAE;AACnB;AAEA,SAAS,oBAAoB,GAAA;AAC3B,IAAA,IAAI,cAAc,IAAI,IAAI,EAAE;AAC1B,QAAA,OAAO,KAAK;IACd;AACA,IAAA,IAAI,GAAG,EAAE,GAAG,cAAc,IAAI,oBAAoB,EAAE;AAClD,QAAA,OAAO,IAAI;IACb;IACA,cAAc,GAAG,SAAS;AAC1B,IAAA,OAAO,KAAK;AACd;AAEA,SAAS,oBAAoB,GAAA;IAC3B,cAAc,GAAG,GAAG,EAAE;AACtB,IAAA,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,qBAAqB,CAAC,IAAI,KAAK,CAAC,EAAE;QAC9D;IACF;AAEA,IAAA,MAAM,kBAAkB,GAAG,CAAC,GAAG,WAAW,CAAC;AAC3C,IAAA,MAAM,oBAAoB,GAAG,CAAC,GAAG,qBAAqB,CAAC;IACvD,WAAW,CAAC,KAAK,EAAE;IACnB,cAAc,GAAG,SAAS;IAC1B,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,kBAAkB,EAAE,GAAG,oBAAoB,CAAC,EAAE;AACzE,QAAA,IAAI;AACF,YAAA,UAAU,EAAE;QACd;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC;QAChE;IACF;AACF;AAEA;;;;;;AAMG;SACa,sBAAsB,GAAA;;IACpC,MAAM,EAAE,GAAG,CAAA,EAAA,GAAA,UAAU,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,EAAE;IACnC,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,aAAa,EAAE;QACtC;IACF;IACA,aAAa,KAAA,IAAA,IAAb,aAAa,KAAA,MAAA,GAAA,MAAA,GAAb,aAAa,CAAE,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IAC1E,aAAa,GAAG,EAAE;AAClB,IAAA,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;AAC7D;AAEA;AACM,SAAU,gCAAgC,CAC9C,EAA4D,EAAA;AAE5D,IAAA,IAAI,EAAE,KAAK,KAAK,IAAI,CAAA,EAAE,KAAA,IAAA,IAAF,EAAE,KAAA,MAAA,GAAA,MAAA,GAAF,EAAE,CAAE,sBAAsB,MAAK,IAAI,EAAE;AACvD,QAAA,sBAAsB,EAAE;IAC1B;AACF;AAEA;;;;;;AAMG;SACa,cAAc,CAC5B,QAA8B,EAC9B,UAA2C,EAAE,EAAA;AAE7C,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,qBAAqB,GAAG,WAAW;AACvE,IAAA,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAEpB,IAAI,oBAAoB,EAAE,EAAE;QAC1B,cAAc,GAAG,SAAS;AAC1B,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACvB,YAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACzB;AACA,QAAA,QAAQ,EAAE;IACZ;AAEA,IAAA,OAAO,MAAK;AACV,QAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;AACzB,IAAA,CAAC;AACH;;;;"}
@@ -10,7 +10,7 @@ import { World } from '../ecs/world.js';
10
10
  import { CanvasPointerEventsOption } from '../input/index.js';
11
11
  import { type BrowserLocomotionControls, TurningMethod } from '../locomotion/index.js';
12
12
  import { ColorScheme, UIKitMLComponentSet, UIKitMLKit } from '../ui/index.js';
13
- import { XROptions } from './xr.js';
13
+ import { SessionMode, XROptions } from './xr.js';
14
14
  /** Options for {@link initializeWorld} / {@link World.create}.
15
15
  *
16
16
  * @category Runtime
@@ -26,7 +26,11 @@ export type WorldOptions = {
26
26
  level?: {
27
27
  url?: string;
28
28
  } | string;
29
- /** XR session options and offer behavior. Set to `false` for browser-only worlds. */
29
+ /**
30
+ * XR session options and offer behavior. Set to `false` for browser-only
31
+ * worlds. Set `launchOnSessionGranted` to handle immersive browser entry
32
+ * that grants a session before or after asynchronous world initialization.
33
+ */
30
34
  xr?: false | (XROptions & {
31
35
  offer?: 'none' | 'once' | 'always';
32
36
  });
@@ -80,8 +84,15 @@ export type WorldOptions = {
80
84
  grabbing?: boolean | {
81
85
  useHandPinchForGrab?: boolean;
82
86
  };
83
- /** Physics simulation (Havok). @defaultValue false */
84
- physics?: boolean;
87
+ /** Physics simulation (Havok). Boolean or config. @defaultValue false */
88
+ physics?: boolean | {
89
+ /** Run the physics engine in a Web Worker. @defaultValue true */
90
+ useWorker?: boolean;
91
+ /** Fixed simulation rate in updates per second (maximum 240). @defaultValue 60 */
92
+ updateFrequency?: number;
93
+ /** Smooth render transforms between physics snapshots. @defaultValue true */
94
+ interpolation?: boolean;
95
+ };
85
96
  /** Scene Understanding (planes/meshes/anchors). Boolean or config. @defaultValue false */
86
97
  sceneUnderstanding?: boolean | {
87
98
  showWireFrame?: boolean;
@@ -121,4 +132,76 @@ export type WorldOptions = {
121
132
  * This function powers {@link World.create}. Prefer using that static helper.
122
133
  */
123
134
  export declare function initializeWorld(container: HTMLElement, options?: WorldOptions): Promise<World>;
135
+ /**
136
+ * Extract and normalize configuration options
137
+ */
138
+ /** @internal Exported for focused policy tests; not part of the package barrel. */
139
+ export declare function extractConfiguration(options: WorldOptions): {
140
+ readonly cameraFov: number;
141
+ readonly cameraNear: number;
142
+ readonly cameraFar: number;
143
+ readonly cameraPose: {
144
+ position?: [number, number, number];
145
+ rotation?: [number, number, number];
146
+ quaternion?: [number, number, number, number];
147
+ lookAt?: [number, number, number];
148
+ } | undefined;
149
+ readonly stencil: boolean;
150
+ readonly xr: {
151
+ readonly enabled: boolean;
152
+ readonly sessionMode: SessionMode;
153
+ readonly referenceSpace: import("./xr.js").ReferenceSpaceSpec;
154
+ readonly features: import("./xr.js").XRFeatureOptions | undefined;
155
+ readonly offer: "none" | "once" | "always";
156
+ readonly restoreCameraOnExit: boolean;
157
+ readonly launchOnSessionGranted: boolean;
158
+ };
159
+ readonly input: {
160
+ readonly canvasPointerEvents: CanvasPointerEventsOption | undefined;
161
+ };
162
+ readonly features: {
163
+ readonly locomotion: boolean | {
164
+ useWorker?: boolean;
165
+ initialPlayerPosition?: [number, number, number];
166
+ comfortAssistLevel?: number;
167
+ turningMethod?: TurningMethod;
168
+ /** Whether jumping is enabled. @defaultValue true */
169
+ enableJumping?: boolean;
170
+ /**
171
+ * Opt into browser-first locomotion bindings such as WASD, Space,
172
+ * and standard browser gamepad movement. Camera ownership remains
173
+ * app-controlled: rotate `world.camera` yourself for pointer-lock,
174
+ * orbit, touch-look, or follow cameras. Locomotion moves
175
+ * `world.player` along the camera's forward direction.
176
+ * @defaultValue false
177
+ */
178
+ browserControls?: BrowserLocomotionControls;
179
+ };
180
+ readonly grabbing: boolean | {
181
+ useHandPinchForGrab?: boolean;
182
+ };
183
+ readonly physics: boolean | {
184
+ /** Run the physics engine in a Web Worker. @defaultValue true */
185
+ useWorker?: boolean;
186
+ /** Fixed simulation rate in updates per second (maximum 240). @defaultValue 60 */
187
+ updateFrequency?: number;
188
+ /** Smooth render transforms between physics snapshots. @defaultValue true */
189
+ interpolation?: boolean;
190
+ };
191
+ readonly sceneUnderstanding: boolean | {
192
+ showWireFrame?: boolean;
193
+ };
194
+ readonly environmentRaycast: boolean;
195
+ readonly camera: boolean;
196
+ readonly spatialUI: boolean | {
197
+ /** @deprecated Use `input.canvasPointerEvents` instead. */
198
+ forwardHtmlEvents?: boolean;
199
+ /** Built-in UIKitML component collection. @defaultValue 'horizon' */
200
+ kit?: UIKitMLKit;
201
+ /** Additional application-defined UIKitML component definitions. */
202
+ componentSets?: UIKitMLComponentSet[];
203
+ preferredColorScheme?: ColorScheme;
204
+ };
205
+ };
206
+ };
124
207
  //# sourceMappingURL=world-initializer.d.ts.map
@@ -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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"}
@@ -40,6 +40,9 @@ import { FollowSystem } from '../ui/follow.js';
40
40
  import { ScreenSpaceUISystem } from '../ui/screenspace.js';
41
41
  import 'three/examples/jsm/geometries/RoundedBoxGeometry.js';
42
42
  import { LevelRoot } from '../level/level-root.js';
43
+ import '../lighting/light-binding.js';
44
+ import { AmbientLightComponent, HemisphereLightComponent, DirectionalLightComponent, PointLightComponent, SpotLightComponent, RectAreaLightComponent } from '../lighting/light-components.js';
45
+ import { LightSystem } from '../lighting/light-system.js';
43
46
  import '../locomotion/slide.js';
44
47
  import '../locomotion/teleport.js';
45
48
  import '../locomotion/turn.js';
@@ -52,13 +55,11 @@ import { XRMesh } from '../scene-understanding/mesh.js';
52
55
  import { TransformSystem } from '../transform/transform.js';
53
56
  import '../transform/transform-utils.js';
54
57
  import { VisibilitySystem } from '../visibility/visibility.js';
55
- import { attachBrowserCameraRestore } from './browser-camera.js';
56
58
  import { attachCameraToPlayer } from './player-camera.js';
57
- import { ReferenceSpaceType, SessionMode, buildSessionInit, normalizeReferenceSpec, resolveReferenceSpaceType } from './xr.js';
59
+ import { armSessionGrantCaptureForOptions, onSessionGrant } from './session-grant.js';
60
+ import { ReferenceSpaceType, SessionMode, buildSessionInit, adoptXRSession } from './xr.js';
58
61
  import { Transform } from '../transform/transform-component.js';
59
62
  import { Visibility } from '../visibility/visibility-component.js';
60
- import { AmbientLightComponent, HemisphereLightComponent, DirectionalLightComponent, PointLightComponent, SpotLightComponent, RectAreaLightComponent } from '../lighting/light-components.js';
61
- import { LightSystem } from '../lighting/light-system.js';
62
63
  import { GrabSystem } from '../grab/grab-system.js';
63
64
  import { PanelUI } from '../ui/panel-components.js';
64
65
  import { ScreenSpace } from '../ui/screenspace-component.js';
@@ -91,6 +92,9 @@ import { XRLayerState } from '../layers/xr-layer-state.js';
91
92
  */
92
93
  async function initializeWorld(container, options = {}) {
93
94
  var _a, _b;
95
+ // This public entry point can be called without World.create(). Capture a
96
+ // browser-delivered grant before any asynchronous initialization can yield.
97
+ armSessionGrantCaptureForOptions(options.xr);
94
98
  // Create and configure world instance
95
99
  const world = createWorldInstance();
96
100
  registerApplicationComponents(world, options.components);
@@ -109,6 +113,7 @@ async function initializeWorld(container, options = {}) {
109
113
  referenceSpace: config.xr.referenceSpace,
110
114
  features: config.xr.features,
111
115
  restoreCameraOnExit: config.xr.restoreCameraOnExit,
116
+ launchOnSessionGranted: config.xr.launchOnSessionGranted,
112
117
  };
113
118
  world.xrEnabled = config.xr.enabled;
114
119
  // Register core systems
@@ -143,6 +148,14 @@ async function initializeWorld(container, options = {}) {
143
148
  else {
144
149
  await w.loadLevel();
145
150
  }
151
+ if (config.xr.launchOnSessionGranted) {
152
+ const unsubscribe = onSessionGrant(() => {
153
+ if (w.xrEnabled && w.session == null && !w.sessionRequestPending) {
154
+ w.launchXR();
155
+ }
156
+ }, { persistent: true });
157
+ w.addCleanup(unsubscribe);
158
+ }
146
159
  if (config.xr.offer && config.xr.offer !== 'none') {
147
160
  manageOfferFlow(w, config.xr.offer);
148
161
  }
@@ -176,8 +189,9 @@ function registerApplicationComponents(world, components) {
176
189
  /**
177
190
  * Extract and normalize configuration options
178
191
  */
192
+ /** @internal Exported for focused policy tests; not part of the package barrel. */
179
193
  function extractConfiguration(options) {
180
- 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;
194
+ 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;
181
195
  const xrOptions = options.xr === false ? undefined : options.xr;
182
196
  const spatialUI = (_a = options.features) === null || _a === void 0 ? void 0 : _a.spatialUI;
183
197
  const legacyForwardHtmlEvents = typeof spatialUI === 'object' && spatialUI
@@ -195,20 +209,23 @@ function extractConfiguration(options) {
195
209
  sessionMode: (_o = xrOptions === null || xrOptions === void 0 ? void 0 : xrOptions.sessionMode) !== null && _o !== void 0 ? _o : SessionMode.ImmersiveVR,
196
210
  referenceSpace: (_p = xrOptions === null || xrOptions === void 0 ? void 0 : xrOptions.referenceSpace) !== null && _p !== void 0 ? _p : ReferenceSpaceType.LocalFloor,
197
211
  features: xrOptions === null || xrOptions === void 0 ? void 0 : xrOptions.features,
198
- offer: options.xr === false ? 'none' : ((_q = xrOptions === null || xrOptions === void 0 ? void 0 : xrOptions.offer) !== null && _q !== void 0 ? _q : 'always'),
212
+ offer: options.xr === false || (xrOptions === null || xrOptions === void 0 ? void 0 : xrOptions.launchOnSessionGranted) === true
213
+ ? 'none'
214
+ : ((_q = xrOptions === null || xrOptions === void 0 ? void 0 : xrOptions.offer) !== null && _q !== void 0 ? _q : 'always'),
199
215
  restoreCameraOnExit: (_r = xrOptions === null || xrOptions === void 0 ? void 0 : xrOptions.restoreCameraOnExit) !== null && _r !== void 0 ? _r : true,
216
+ launchOnSessionGranted: (_s = xrOptions === null || xrOptions === void 0 ? void 0 : xrOptions.launchOnSessionGranted) !== null && _s !== void 0 ? _s : false,
200
217
  },
201
218
  input: {
202
219
  canvasPointerEvents,
203
220
  },
204
221
  features: {
205
- locomotion: (_t = (_s = options.features) === null || _s === void 0 ? void 0 : _s.locomotion) !== null && _t !== void 0 ? _t : false,
206
- grabbing: (_v = (_u = options.features) === null || _u === void 0 ? void 0 : _u.grabbing) !== null && _v !== void 0 ? _v : false,
207
- physics: (_x = (_w = options.features) === null || _w === void 0 ? void 0 : _w.physics) !== null && _x !== void 0 ? _x : false,
208
- sceneUnderstanding: (_z = (_y = options.features) === null || _y === void 0 ? void 0 : _y.sceneUnderstanding) !== null && _z !== void 0 ? _z : false,
209
- environmentRaycast: (_1 = (_0 = options.features) === null || _0 === void 0 ? void 0 : _0.environmentRaycast) !== null && _1 !== void 0 ? _1 : false,
210
- camera: (_3 = (_2 = options.features) === null || _2 === void 0 ? void 0 : _2.camera) !== null && _3 !== void 0 ? _3 : false,
211
- spatialUI: (_5 = (_4 = options.features) === null || _4 === void 0 ? void 0 : _4.spatialUI) !== null && _5 !== void 0 ? _5 : true,
222
+ locomotion: (_u = (_t = options.features) === null || _t === void 0 ? void 0 : _t.locomotion) !== null && _u !== void 0 ? _u : false,
223
+ grabbing: (_w = (_v = options.features) === null || _v === void 0 ? void 0 : _v.grabbing) !== null && _w !== void 0 ? _w : false,
224
+ physics: (_y = (_x = options.features) === null || _x === void 0 ? void 0 : _x.physics) !== null && _y !== void 0 ? _y : false,
225
+ sceneUnderstanding: (_0 = (_z = options.features) === null || _z === void 0 ? void 0 : _z.sceneUnderstanding) !== null && _0 !== void 0 ? _0 : false,
226
+ environmentRaycast: (_2 = (_1 = options.features) === null || _1 === void 0 ? void 0 : _1.environmentRaycast) !== null && _2 !== void 0 ? _2 : false,
227
+ camera: (_4 = (_3 = options.features) === null || _3 === void 0 ? void 0 : _3.camera) !== null && _4 !== void 0 ? _4 : false,
228
+ spatialUI: (_6 = (_5 = options.features) === null || _5 === void 0 ? void 0 : _5.spatialUI) !== null && _6 !== void 0 ? _6 : true,
212
229
  },
213
230
  };
214
231
  }
@@ -347,40 +364,17 @@ function manageOfferFlow(world, mode) {
347
364
  if (!session) {
348
365
  return;
349
366
  }
350
- const refSpec = normalizeReferenceSpec(opts.referenceSpace);
351
- session.addEventListener('end', onEnd);
352
- try {
353
- // disable built-in occlusion
354
- world.renderer.xr.getDepthSensingMesh = function () {
355
- return null;
356
- };
357
- const resolvedType = await resolveReferenceSpaceType(session, refSpec.type, refSpec.required ? [] : refSpec.fallbackOrder);
358
- world.renderer.xr.setReferenceSpaceType(resolvedType);
359
- if (opts.restoreCameraOnExit !== false) {
360
- attachBrowserCameraRestore(world.camera, session);
361
- }
362
- await world.renderer.xr.setSession(session);
363
- world.session = session;
364
- }
365
- catch (err) {
366
- console.error('[XR] Failed to acquire reference space:', err);
367
- try {
368
- await session.end();
369
- }
370
- catch (_e) { }
371
- }
367
+ await adoptXRSession(world, session, opts, onEnd);
372
368
  }
373
369
  finally {
374
370
  offering = false;
375
371
  }
376
372
  };
377
373
  const onEnd = () => {
378
- var _a;
379
- (_a = world.session) === null || _a === void 0 ? void 0 : _a.removeEventListener('end', onEnd);
380
- world.session = undefined;
381
374
  if (mode === 'always') {
382
- // re-offer after session ends
383
- offer();
375
+ // Adoption can end before offer() clears its single-flight guard. Start
376
+ // the replacement offer in the next task so that path can recover too.
377
+ setTimeout(() => void offer(), 0);
384
378
  }
385
379
  };
386
380
  // initial offer once world is ready
@@ -432,7 +426,8 @@ async function registerFeatureSystems(world, config) {
432
426
  const locomotionEnabled = !!locomotion;
433
427
  const grabbing = config.features.grabbing;
434
428
  const grabbingEnabled = !!grabbing;
435
- const physicsEnabled = !!config.features.physics;
429
+ const physics = config.features.physics;
430
+ const physicsEnabled = !!physics;
436
431
  const sceneUnderstanding = config.features.sceneUnderstanding;
437
432
  const sceneUnderstandingEnabled = !!sceneUnderstanding;
438
433
  const environmentRaycastEnabled = !!config.features.environmentRaycast;
@@ -480,11 +475,21 @@ async function registerFeatureSystems(world, config) {
480
475
  // stays out of the static module graph for non-physics projects.
481
476
  if (physicsEnabled) {
482
477
  const { PhysicsBody, PhysicsManipulation, PhysicsShape, PhysicsSystem } = await import('../physics/index.js');
478
+ const physicsOpts = typeof physics === 'object' && physics
479
+ ? Object.fromEntries(Object.entries({
480
+ useWorker: physics.useWorker,
481
+ updateFrequency: physics.updateFrequency,
482
+ interpolation: physics.interpolation,
483
+ }).filter(([, value]) => value !== undefined))
484
+ : undefined;
483
485
  world
484
486
  .registerComponent(PhysicsBody)
485
487
  .registerComponent(PhysicsShape)
486
488
  .registerComponent(PhysicsManipulation)
487
- .registerSystem(PhysicsSystem, { priority: -2 });
489
+ .registerSystem(PhysicsSystem, {
490
+ priority: -2,
491
+ configData: physicsOpts,
492
+ });
488
493
  }
489
494
  // Scene Understanding updates plane/mesh/anchor debug after input/physics
490
495
  if (sceneUnderstandingEnabled) {
@@ -641,5 +646,5 @@ function setupMCPRuntime(world) {
641
646
  }
642
647
  }
643
648
 
644
- export { initializeWorld };
649
+ export { extractConfiguration, initializeWorld };
645
650
  //# sourceMappingURL=world-initializer.js.map
@@ -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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"}