@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
@@ -214,7 +214,8 @@ declare const XRLayerSystem_base: import("elics").SystemConstructor<import("elic
214
214
  * For each entity with an {@link XRQuadLayer} or {@link XRCylinderLayer}
215
215
  * component, the system:
216
216
  * - Creates a mesh (plane or cylinder) as a child of the entity's object3D
217
- * - Renders layer content each frame via the component's `renderCallback`
217
+ * - Renders layer content via the component's `renderCallback` while its
218
+ * render surface is visible and active
218
219
  * - In XR sessions with layer support, creates native XR composition layers
219
220
  * and switches the mesh to a punch-through material that makes the
220
221
  * projection layer transparent where the content layer appears
@@ -224,14 +225,45 @@ declare const XRLayerSystem_base: import("elics").SystemConstructor<import("elic
224
225
  */
225
226
  export declare class XRLayerSystem extends XRLayerSystem_base {
226
227
  private sessionUsesLayers;
228
+ private sessionLayerInitializationPending;
229
+ private unsupportedLayerStates;
230
+ private pendingNativeLayerRemovals;
231
+ private retiredLayers;
232
+ private layerVisibility;
233
+ private layerConfigurations;
227
234
  init(): void;
228
235
  update(): void;
229
236
  private setupLayer;
230
237
  private teardownLayer;
231
238
  private handleSessionStart;
232
239
  private handleSessionEnd;
240
+ /**
241
+ * Enable composition layers once the projection layer is active.
242
+ *
243
+ * super-three queues its projection-layer render state before dispatching
244
+ * `sessionstart`, so `renderState.layers` can legitimately be empty during
245
+ * that event. Keep rendering the mesh fallback and retry on subsequent
246
+ * frames instead of permanently classifying the session as unsupported.
247
+ */
248
+ private tryInitializeSessionLayers;
233
249
  private activateNativeLayer;
234
250
  private deactivateNativeLayer;
251
+ /**
252
+ * Switch from the internal fallback texture only after the compositor layer
253
+ * is active. This avoids punching a transparent hole while
254
+ * updateRenderState() is still pending.
255
+ */
256
+ private useNativeSurface;
257
+ /** Restore a fresh internal target after an external XR texture was bound. */
258
+ private useFallbackSurface;
259
+ private disposeLayerResources;
260
+ private disposeRetiredLayers;
261
+ /**
262
+ * Keep removed layers alive until the queued render state no longer
263
+ * references them. While removal is pending, clear their native textures so
264
+ * the compositor cannot present stale content from the detached entity.
265
+ */
266
+ private renderRetiredLayers;
235
267
  /**
236
268
  * Rebuild the session's render state layers array.
237
269
  * Keeps the projection layer at index 0, then appends content layers.
@@ -243,6 +275,14 @@ export declare class XRLayerSystem extends XRLayerSystem_base {
243
275
  * avoiding per-frame XRRigidTransform allocations for static layers.
244
276
  */
245
277
  private syncLayerTransform;
278
+ private requestNativeLayerRemoval;
279
+ private restorePendingNativeLayer;
280
+ private readLayerConfiguration;
281
+ private syncLayerGeometry;
282
+ private createFallbackGeometry;
283
+ private shouldRetryNativeLayer;
284
+ private hasLayerShapeChanged;
285
+ private rememberUnsupportedLayer;
246
286
  private createRenderTarget;
247
287
  }
248
288
  //# sourceMappingURL=xr-layer-system.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xr-layer-system.d.ts","sourceRoot":"","sources":["../../src/layers/xr-layer-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+BH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBnD;;;;;;;;;;;;;GAaG;AACH,qBAAa,aAAc,SAAQ,kBAIjC;IACA,OAAO,CAAC,iBAAiB,CAAS;IAElC,IAAI;IA6BJ,MAAM;IAWN,OAAO,CAAC,UAAU;IAwElB,OAAO,CAAC,aAAa;IAkCrB,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,mBAAmB;IAmF3B,OAAO,CAAC,qBAAqB;IAqC7B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,YAAY;IAiEpB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,kBAAkB;CAwB3B"}
1
+ {"version":3,"file":"xr-layer-system.d.ts","sourceRoot":"","sources":["../../src/layers/xr-layer-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwCH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DnD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAc,SAAQ,kBAIjC;IACA,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,iCAAiC,CAAS;IAClD,OAAO,CAAC,sBAAsB,CAA4C;IAC1E,OAAO,CAAC,0BAA0B,CAAqB;IACvD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,mBAAmB,CAA8B;IAEzD,IAAI;IA0CJ,MAAM;IAiBN,OAAO,CAAC,UAAU;IA+ClB,OAAO,CAAC,aAAa;IA8CrB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,gBAAgB;IAYxB;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IA2BlC,OAAO,CAAC,mBAAmB;IAmF3B,OAAO,CAAC,qBAAqB;IAgB7B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA0BxB,8EAA8E;IAC9E,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,oBAAoB;IAO5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAoD3B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAqC3B,OAAO,CAAC,YAAY;IAiIpB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAgF1B,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,sBAAsB;IA2C9B,OAAO,CAAC,oBAAoB;IAgE5B,OAAO,CAAC,wBAAwB;IAehC,OAAO,CAAC,kBAAkB;CAwB3B"}