@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
@@ -5,7 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { Entity, Types } from '.././index.js';
8
- import { Vector3, Quaternion } from '../runtime/three.js';
8
+ import { Quaternion, Vector3 } from '../runtime/three.js';
9
+ export { getCapsuleAxisEndpoints } from './physics-worker-protocol.js';
9
10
  type Vector3Input = Vector3 | readonly [number, number, number];
10
11
  type QuaternionInput = Quaternion | readonly [number, number, number, number];
11
12
  /** Pose passed to {@link PhysicsSystem.setBodyTransform}. */
@@ -22,12 +23,23 @@ export interface PhysicsBodyTransformOptions {
22
23
  */
23
24
  resetVelocity?: boolean;
24
25
  }
25
- export declare function getCapsuleAxisEndpoints(radius: number, totalHeight: number): [[number, number, number], [number, number, number]] | null;
26
26
  declare const PhysicsSystem_base: import("elics").SystemConstructor<{
27
27
  gravity: {
28
28
  type: Types.Vec3;
29
29
  default: [number, number, number];
30
30
  };
31
+ useWorker: {
32
+ type: Types.Boolean;
33
+ default: true;
34
+ };
35
+ updateFrequency: {
36
+ type: Types.Float32;
37
+ default: number;
38
+ };
39
+ interpolation: {
40
+ type: Types.Boolean;
41
+ default: true;
42
+ };
31
43
  }, {
32
44
  physicsEntities: {
33
45
  required: (import("elics").Component<{
@@ -472,6 +484,18 @@ declare const PhysicsSystem_base: import("elics").SystemConstructor<{
472
484
  type: Types.Vec3;
473
485
  default: [number, number, number];
474
486
  };
487
+ useWorker: {
488
+ type: Types.Boolean;
489
+ default: true;
490
+ };
491
+ updateFrequency: {
492
+ type: Types.Float32;
493
+ default: number;
494
+ };
495
+ interpolation: {
496
+ type: Types.Boolean;
497
+ default: true;
498
+ };
475
499
  }, {
476
500
  physicsEntities: {
477
501
  required: (import("elics").Component<{
@@ -913,127 +937,79 @@ declare const PhysicsSystem_base: import("elics").SystemConstructor<{
913
937
  };
914
938
  }>>;
915
939
  /**
916
- * Manages physics simulation using the Havok physics engine.
940
+ * Manages a Havok simulation on either a dedicated worker or the main thread.
917
941
  *
918
- * @remarks
919
- * - Initializes Havok physics engine and creates a physics world with gravity.
920
- * - Supports automatic physics shapes creation based on entity geometry when {@link PhysicsShapeType.Auto} is used.
921
- * - Supports multiple collision shapes: Sphere, Box, Cylinder, ConvexHull, and TriMesh.
922
- * - Synchronizes physics body transforms with Three.js Object3D positions and rotations using {@link PhysicsBody}.
923
- * - Handles physics manipulations like applying forces and setting velocities in {@link PhysicsManipulation}.
924
- * - Automatically cleans up physics resources when entities are removed.
925
- *
926
- * @example Basic physics setup
927
- * ```ts
928
- * // Add to your world to enable physics
929
- * world.addSystem(PhysicsSystem)
942
+ * Per-frame commands and poses travel through a pair of transferable
943
+ * ArrayBuffers.
944
+ * Both execution modes use the same binary protocol and shared Havok runtime.
945
+ * Worker mode alternates ownership of transferable ArrayBuffers, avoiding both
946
+ * structured-clone copies and SharedArrayBuffer's cross-origin-isolation
947
+ * requirement. Shape creation/removal uses infrequent control messages.
930
948
  *
931
- * // Create a dynamic box that falls due to gravity
932
- * const box = world.createTransformEntity(boxMesh)
933
- * box.addComponent(PhysicsShape, {
934
- * shape: PhysicsShapeType.Box,
935
- * dimensions: [1, 1, 1]
936
- * })
937
- * box.addComponent(PhysicsBody, { state: PhysicsState.Dynamic })
938
- * ```
949
+ * @remarks
950
+ * - Supports Sphere, Box, Cylinder, Capsule, ConvexHull, TriMesh, and Auto shapes.
951
+ * - Synchronizes dynamic body poses and velocities back to ECS entities.
952
+ * - Sends grab targets, impulses, velocity edits, damping, and gravity changes through one transport contract.
953
+ * - Automatically releases bodies and shapes when entities are removed.
939
954
  *
940
955
  * @category Physics
941
- * @see {@link PhysicsBody}
942
- * @see {@link PhysicsShape}
943
- * @see {@link PhysicsManipulation}
944
956
  */
945
957
  export declare class PhysicsSystem extends PhysicsSystem_base {
946
- private havok?;
947
- private havokWorld?;
948
- private bodyBuffer?;
949
- private scaleBuffer;
950
- private matrixBuffer;
958
+ private transport?;
959
+ private transportReady;
960
+ private nextBodyHandle;
961
+ private nextSequence;
962
+ private bodyEntities;
963
+ private bodySnapshots;
964
+ private bodyResultSequenceFloors;
965
+ private failedBodyEntities;
966
+ private pendingCommands;
967
+ private commandPool;
968
+ private freeExchangeBuffers;
969
+ private completedExchanges;
970
+ private inFlightExchangeCount;
971
+ private stepAccumulator;
972
+ private pendingDebugStepDelta?;
973
+ private debugFlushWaiters;
974
+ init(): void;
951
975
  /**
952
- * Cached Float32Array view over the entire Havok heap, reused across frames
953
- * and bodies. Recreated only when the underlying ArrayBuffer changes (the
954
- * WASM heap can grow and detach the old buffer), so per-body transform reads
955
- * don't allocate a fresh typed-array view every frame.
956
- */
957
- private heapFloatView?;
958
- /** Float32 view over the current Havok heap buffer (see {@link heapFloatView}). */
959
- private getHeapFloatView;
960
- init(): Promise<void>;
961
- /**
962
- * Teleport an existing Havok body to `pose`.
963
- *
964
- * @remarks
965
- * No-ops until the entity has a live {@link PhysicsBody}. The pose is pushed
966
- * directly to Havok and mirrored onto `entity.object3D` immediately so callers
967
- * do not need to wait for the next physics tick before reading the reset
968
- * transform. Linear and angular velocity are cleared by default, which is the
969
- * expected behavior for reset/home-position flows.
970
- *
971
- * @example Reset a fallen prop to its home pose
972
- * ```ts
973
- * const physics = world.getSystem(PhysicsSystem);
974
- * physics.setBodyTransform(prop, {
975
- * position: homePosition,
976
- * quaternion: homeQuaternion,
977
- * });
978
- * ```
976
+ * Teleport an existing physics body and mirror the pose immediately on its
977
+ * Object3D. The runtime consumes the command on the next available exchange.
979
978
  */
980
979
  setBodyTransform(entity: Entity, pose: PhysicsBodyTransformPose, options?: PhysicsBodyTransformOptions): void;
981
- /**
982
- * Reset a body's gravityFactor / linearDamping / angularDamping to the engine
983
- * default when its field returns to the default value. The entity then drops
984
- * out of the override set, so {@link syncReactiveOverrides} no longer visits
985
- * it — this is the one place that restores the default. The `hasComponent`
986
- * guard distinguishes the value-returned-to-default case from the other
987
- * disqualify cause (PhysicsBody/PhysicsShape removal), where the body is being
988
- * released and must not be written to.
989
- */
990
- private subscribeReactiveOverrides;
991
980
  update(delta: number): void;
992
- private createBody;
981
+ /** Prepare one exact-delta physics tick for an ECS debugger step. */
982
+ prepareDebugFrame(delta: number): void;
993
983
  /**
994
- * Push post-creation gravityFactor / linearDamping / angularDamping edits to
995
- * Havok. Only overridden bodies are visited (see the value-predicate queries
996
- * in the system definition); each sync diffs the component value against the
997
- * last-pushed shadow, so a body whose field is unchanged this frame costs only
998
- * a typed-array compare.
984
+ * Wait until all submitted physics work is reflected in ECS transforms.
985
+ * Used by debugger pause/step so worker and inline execution expose the same
986
+ * settled state at command boundaries.
999
987
  */
988
+ flushDebugFrame(): Promise<void>;
989
+ private handleTransportMessage;
990
+ private handleTransportFailure;
991
+ private waitForDebugWork;
992
+ private resolveDebugFlushWaiters;
993
+ private applyCompletedExchange;
994
+ private applyExchangeBuffer;
995
+ private renderInterpolatedTransforms;
996
+ private syncSnapshotToObject;
997
+ private getStepInterval;
998
+ private sendExchange;
999
+ private trySendPendingDebugStep;
1000
+ private writeCommand;
1001
+ private getPendingCommand;
1002
+ private releasePendingCommands;
1003
+ private discardPendingCommand;
1004
+ private ensureBody;
1005
+ private serializeShape;
1006
+ private removeBody;
1007
+ private setEngineHandles;
1008
+ private subscribeReactiveOverrides;
1000
1009
  private syncReactiveOverrides;
1001
- /**
1002
- * Sync the entity's current {@link PhysicsBody.gravityFactor} onto its Havok
1003
- * body. Diffs the component value against `_engineGravityFactor` (the last
1004
- * value pushed) rather than reading back from Havok, so an unchanged body
1005
- * costs only a typed-array compare — no WASM call and no allocation. The Havok
1006
- * write and shadow update happen only on an actual change. No-op until the body
1007
- * exists. See {@link gravityOverrides}.
1008
- */
1009
1010
  private syncGravityFactor;
1010
- /**
1011
- * Sync the entity's current {@link PhysicsBody.linearDamping} onto its Havok
1012
- * body. Diffs against `_engineLinearDamping` (the last value pushed) rather
1013
- * than reading back from Havok, so an unchanged body costs only a typed-array
1014
- * compare — no WASM call and no allocation. The Havok write and shadow update
1015
- * happen only on an actual change. No-op until the body exists.
1016
- * See {@link linearDampingOverrides}.
1017
- */
1018
1011
  private syncLinearDamping;
1019
- /**
1020
- * Sync the entity's current {@link PhysicsBody.angularDamping} onto its Havok
1021
- * body. Diffs against `_engineAngularDamping` (the last value pushed) rather
1022
- * than reading back from Havok, so an unchanged body costs only a typed-array
1023
- * compare — no WASM call and no allocation. The Havok write and shadow update
1024
- * happen only on an actual change. No-op until the body exists.
1025
- * See {@link angularDampingOverrides}.
1026
- */
1027
1012
  private syncAngularDamping;
1028
- private createHavokShapes;
1029
- private createBallShape;
1030
- private createBoxShape;
1031
- private createCylinderShape;
1032
- private createCapsuleShape;
1033
- private createConvexHullShape;
1034
- private createTriMeshShape;
1035
- private getVertices;
1036
- private getIndices;
1013
+ private queueManipulations;
1037
1014
  }
1038
- export {};
1039
1015
  //# sourceMappingURL=physics-system.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"physics-system.d.ts","sourceRoot":"","sources":["../../src/physics/physics-system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"physics-system.d.ts","sourceRoot":"","sources":["../../src/physics/physics-system.ts"],"names":[],"mappings":"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"}