@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.
- package/README.md +22 -1
- package/dist/asset/asset-manager.d.ts.map +1 -1
- package/dist/asset/asset-manager.js +3 -2
- package/dist/asset/asset-manager.js.map +1 -1
- package/dist/camera/camera-system.d.ts +7 -3
- package/dist/camera/camera-system.d.ts.map +1 -1
- package/dist/camera/camera-system.js +81 -50
- package/dist/camera/camera-system.js.map +1 -1
- package/dist/camera/camera-utils.d.ts +5 -0
- package/dist/camera/camera-utils.d.ts.map +1 -1
- package/dist/camera/camera-utils.js +8 -1
- package/dist/camera/camera-utils.js.map +1 -1
- package/dist/depth/depth-sensing-system.d.ts +3 -0
- package/dist/depth/depth-sensing-system.d.ts.map +1 -1
- package/dist/depth/depth-sensing-system.js +55 -1
- package/dist/depth/depth-sensing-system.js.map +1 -1
- package/dist/ecs/world.d.ts +2 -0
- package/dist/ecs/world.d.ts.map +1 -1
- package/dist/ecs/world.js +4 -0
- package/dist/ecs/world.js.map +1 -1
- package/dist/grab/distance-grabbable.d.ts +5 -0
- package/dist/grab/distance-grabbable.d.ts.map +1 -1
- package/dist/grab/distance-grabbable.js +5 -0
- package/dist/grab/distance-grabbable.js.map +1 -1
- package/dist/grab/handles.d.ts +6 -0
- package/dist/grab/handles.d.ts.map +1 -1
- package/dist/grab/handles.js +46 -12
- package/dist/grab/handles.js.map +1 -1
- package/dist/grab/one-hand-grabbable.d.ts +5 -0
- package/dist/grab/one-hand-grabbable.d.ts.map +1 -1
- package/dist/grab/one-hand-grabbable.js +5 -0
- package/dist/grab/one-hand-grabbable.js.map +1 -1
- package/dist/grab/two-hands-grabbable.d.ts +5 -0
- package/dist/grab/two-hands-grabbable.d.ts.map +1 -1
- package/dist/grab/two-hands-grabbable.js +5 -0
- package/dist/grab/two-hands-grabbable.js.map +1 -1
- package/dist/index.js +7 -6
- package/dist/index.js.map +1 -1
- package/dist/init/index.d.ts +2 -2
- package/dist/init/index.d.ts.map +1 -1
- package/dist/init/session-grant.d.ts +34 -0
- package/dist/init/session-grant.d.ts.map +1 -0
- package/dist/init/session-grant.js +89 -0
- package/dist/init/session-grant.js.map +1 -0
- package/dist/init/world-initializer.d.ts +87 -4
- package/dist/init/world-initializer.d.ts.map +1 -1
- package/dist/init/world-initializer.js +48 -43
- package/dist/init/world-initializer.js.map +1 -1
- package/dist/init/xr.d.ts +19 -0
- package/dist/init/xr.d.ts.map +1 -1
- package/dist/init/xr.js +136 -41
- package/dist/init/xr.js.map +1 -1
- package/dist/input/canvas-pointer-system.d.ts +2 -0
- package/dist/input/canvas-pointer-system.d.ts.map +1 -1
- package/dist/input/canvas-pointer-system.js +33 -13
- package/dist/input/canvas-pointer-system.js.map +1 -1
- package/dist/input/input-system.d.ts.map +1 -1
- package/dist/input/input-system.js +5 -2
- package/dist/input/input-system.js.map +1 -1
- package/dist/layers/xr-cylinder-layer.d.ts +2 -1
- package/dist/layers/xr-cylinder-layer.d.ts.map +1 -1
- package/dist/layers/xr-cylinder-layer.js +2 -1
- package/dist/layers/xr-cylinder-layer.js.map +1 -1
- package/dist/layers/xr-layer-init.d.ts +19 -0
- package/dist/layers/xr-layer-init.d.ts.map +1 -0
- package/dist/layers/xr-layer-init.js +20 -0
- package/dist/layers/xr-layer-init.js.map +1 -0
- package/dist/layers/xr-layer-system.d.ts +41 -1
- package/dist/layers/xr-layer-system.d.ts.map +1 -1
- package/dist/layers/xr-layer-system.js +506 -132
- package/dist/layers/xr-layer-system.js.map +1 -1
- package/dist/layers/xr-layer-transform.d.ts +18 -0
- package/dist/layers/xr-layer-transform.d.ts.map +1 -0
- package/dist/layers/xr-layer-transform.js +115 -0
- package/dist/layers/xr-layer-transform.js.map +1 -0
- package/dist/layers/xr-quad-layer.d.ts +2 -1
- package/dist/layers/xr-quad-layer.d.ts.map +1 -1
- package/dist/layers/xr-quad-layer.js +2 -1
- package/dist/layers/xr-quad-layer.js.map +1 -1
- package/dist/level/level-component-applier.d.ts +2 -0
- package/dist/level/level-component-applier.d.ts.map +1 -1
- package/dist/level/level-component-applier.js +24 -5
- package/dist/level/level-component-applier.js.map +1 -1
- package/dist/mcp/ecs-debug-tools.d.ts +4 -1
- package/dist/mcp/ecs-debug-tools.d.ts.map +1 -1
- package/dist/mcp/ecs-debug-tools.js +113 -10
- package/dist/mcp/ecs-debug-tools.js.map +1 -1
- package/dist/mcp/index.d.ts +1 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/mcp-runtime.d.ts +2 -0
- package/dist/mcp/mcp-runtime.d.ts.map +1 -1
- package/dist/mcp/mcp-runtime.js +41 -0
- package/dist/mcp/mcp-runtime.js.map +1 -1
- package/dist/mcp/ui-debug-tools.d.ts +56 -0
- package/dist/mcp/ui-debug-tools.d.ts.map +1 -0
- package/dist/mcp/ui-debug-tools.js +412 -0
- package/dist/mcp/ui-debug-tools.js.map +1 -0
- package/dist/physics/index.js +1 -1
- package/dist/physics/physics-runtime.d.ts +22 -0
- package/dist/physics/physics-runtime.d.ts.map +1 -0
- package/dist/physics/physics-runtime.js +423 -0
- package/dist/physics/physics-runtime.js.map +1 -0
- package/dist/physics/physics-system.d.ts +84 -108
- package/dist/physics/physics-system.d.ts.map +1 -1
- package/dist/physics/physics-system.js +686 -555
- package/dist/physics/physics-system.js.map +1 -1
- package/dist/physics/physics-transport.d.ts +20 -0
- package/dist/physics/physics-transport.d.ts.map +1 -0
- package/dist/physics/physics-transport.js +111 -0
- package/dist/physics/physics-transport.js.map +1 -0
- package/dist/physics/physics-worker-protocol.d.ts +144 -0
- package/dist/physics/physics-worker-protocol.d.ts.map +1 -0
- package/dist/physics/physics-worker-protocol.js +41 -0
- package/dist/physics/physics-worker-protocol.js.map +1 -0
- package/dist/physics/physics-worker-utils.d.ts +8 -0
- package/dist/physics/physics-worker-utils.d.ts.map +1 -0
- package/dist/physics/physics-worker-utils.js +12 -0
- package/dist/physics/physics-worker-utils.js.map +1 -0
- package/dist/physics/physics-worker.d.ts +8 -0
- package/dist/physics/physics-worker.d.ts.map +1 -0
- package/dist/physics/physics-worker.js +66 -0
- package/dist/physics/physics-worker.js.map +1 -0
- package/dist/project/normalize.js +7 -1
- package/dist/project/normalize.js.map +1 -1
- package/dist/project/types.d.ts +7 -1
- package/dist/project/types.d.ts.map +1 -1
- package/dist/project/validation.js +36 -2
- package/dist/project/validation.js.map +1 -1
- package/dist/scene-understanding/scene-understanding-system.d.ts +42 -6
- package/dist/scene-understanding/scene-understanding-system.d.ts.map +1 -1
- package/dist/scene-understanding/scene-understanding-system.js +391 -106
- package/dist/scene-understanding/scene-understanding-system.js.map +1 -1
- package/dist/schemas/iwsdk-project.v1.schema.json +20 -1
- package/dist/ui/follow.d.ts.map +1 -1
- package/dist/ui/follow.js +0 -1
- package/dist/ui/follow.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- 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 {
|
|
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
|
|
940
|
+
* Manages a Havok simulation on either a dedicated worker or the main thread.
|
|
917
941
|
*
|
|
918
|
-
*
|
|
919
|
-
*
|
|
920
|
-
*
|
|
921
|
-
*
|
|
922
|
-
* -
|
|
923
|
-
*
|
|
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
|
-
*
|
|
932
|
-
*
|
|
933
|
-
*
|
|
934
|
-
*
|
|
935
|
-
*
|
|
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
|
|
947
|
-
private
|
|
948
|
-
private
|
|
949
|
-
private
|
|
950
|
-
private
|
|
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
|
-
*
|
|
953
|
-
*
|
|
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
|
-
|
|
981
|
+
/** Prepare one exact-delta physics tick for an ECS debugger step. */
|
|
982
|
+
prepareDebugFrame(delta: number): void;
|
|
993
983
|
/**
|
|
994
|
-
*
|
|
995
|
-
*
|
|
996
|
-
*
|
|
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
|
|
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":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"physics-system.d.ts","sourceRoot":"","sources":["../../src/physics/physics-system.ts"],"names":[],"mappings":"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"}
|