iwer 0.0.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/build/iwer.js +4628 -0
- package/build/iwer.min.js +1 -0
- package/build/iwer.module.js +4591 -0
- package/build/iwer.module.min.js +1 -0
- package/lib/action/ActionPlayer.d.ts +75 -0
- package/lib/action/ActionPlayer.d.ts.map +1 -0
- package/lib/action/ActionPlayer.js +206 -0
- package/lib/action/ActionPlayer.js.map +1 -0
- package/lib/action/ActionRecorder.d.ts +59 -0
- package/lib/action/ActionRecorder.d.ts.map +1 -0
- package/lib/action/ActionRecorder.js +162 -0
- package/lib/action/ActionRecorder.js.map +1 -0
- package/lib/action/Capture.d.ts +3 -0
- package/lib/action/Capture.d.ts.map +1 -0
- package/lib/action/Capture.js +26907 -0
- package/lib/action/Capture.js.map +1 -0
- package/lib/device/XRController.d.ts +24 -0
- package/lib/device/XRController.d.ts.map +1 -0
- package/lib/device/XRController.js +82 -0
- package/lib/device/XRController.js.map +1 -0
- package/lib/device/XRDevice.d.ts +142 -0
- package/lib/device/XRDevice.d.ts.map +1 -0
- package/lib/device/XRDevice.js +370 -0
- package/lib/device/XRDevice.js.map +1 -0
- package/lib/device/XRHandInput.d.ts +44 -0
- package/lib/device/XRHandInput.d.ts.map +1 -0
- package/lib/device/XRHandInput.js +133 -0
- package/lib/device/XRHandInput.js.map +1 -0
- package/lib/device/XRTrackedInput.d.ts +22 -0
- package/lib/device/XRTrackedInput.d.ts.map +1 -0
- package/lib/device/XRTrackedInput.js +89 -0
- package/lib/device/XRTrackedInput.js.map +1 -0
- package/lib/device/configs/controller/meta.d.ts +6 -0
- package/lib/device/configs/controller/meta.d.ts.map +1 -0
- package/lib/device/configs/controller/meta.js +152 -0
- package/lib/device/configs/controller/meta.js.map +1 -0
- package/lib/device/configs/hand/pinch.d.ts +3 -0
- package/lib/device/configs/hand/pinch.d.ts.map +1 -0
- package/lib/device/configs/hand/pinch.js +237 -0
- package/lib/device/configs/hand/pinch.js.map +1 -0
- package/lib/device/configs/hand/point.d.ts +3 -0
- package/lib/device/configs/hand/point.d.ts.map +1 -0
- package/lib/device/configs/hand/point.js +236 -0
- package/lib/device/configs/hand/point.js.map +1 -0
- package/lib/device/configs/hand/relaxed.d.ts +3 -0
- package/lib/device/configs/hand/relaxed.d.ts.map +1 -0
- package/lib/device/configs/hand/relaxed.js +236 -0
- package/lib/device/configs/hand/relaxed.js.map +1 -0
- package/lib/device/configs/headset/meta.d.ts +6 -0
- package/lib/device/configs/headset/meta.d.ts.map +1 -0
- package/lib/device/configs/headset/meta.js +99 -0
- package/lib/device/configs/headset/meta.js.map +1 -0
- package/lib/device/controllers.d.ts +31 -0
- package/lib/device/controllers.d.ts.map +1 -0
- package/lib/device/controllers.js +8 -0
- package/lib/device/controllers.js.map +1 -0
- package/lib/events/XRInputSourceEvent.d.ts +16 -0
- package/lib/events/XRInputSourceEvent.d.ts.map +1 -0
- package/lib/events/XRInputSourceEvent.js +14 -0
- package/lib/events/XRInputSourceEvent.js.map +1 -0
- package/lib/events/XRInputSourcesChangeEvent.d.ts +18 -0
- package/lib/events/XRInputSourcesChangeEvent.d.ts.map +1 -0
- package/lib/events/XRInputSourcesChangeEvent.js +18 -0
- package/lib/events/XRInputSourcesChangeEvent.js.map +1 -0
- package/lib/events/XRReferenceSpaceEvent.d.ts +16 -0
- package/lib/events/XRReferenceSpaceEvent.d.ts.map +1 -0
- package/lib/events/XRReferenceSpaceEvent.js +11 -0
- package/lib/events/XRReferenceSpaceEvent.js.map +1 -0
- package/lib/events/XRSessionEvent.d.ts +13 -0
- package/lib/events/XRSessionEvent.d.ts.map +1 -0
- package/lib/events/XRSessionEvent.js +10 -0
- package/lib/events/XRSessionEvent.js.map +1 -0
- package/lib/frameloop/XRFrame.d.ts +28 -0
- package/lib/frameloop/XRFrame.d.ts.map +1 -0
- package/lib/frameloop/XRFrame.js +117 -0
- package/lib/frameloop/XRFrame.js.map +1 -0
- package/lib/gamepad/Gamepad.d.ts +72 -0
- package/lib/gamepad/Gamepad.d.ts.map +1 -0
- package/lib/gamepad/Gamepad.js +126 -0
- package/lib/gamepad/Gamepad.js.map +1 -0
- package/lib/index.d.ts +24 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +36 -0
- package/lib/index.js.map +1 -0
- package/lib/initialization/XRSystem.d.ts +13 -0
- package/lib/initialization/XRSystem.d.ts.map +1 -0
- package/lib/initialization/XRSystem.js +65 -0
- package/lib/initialization/XRSystem.js.map +1 -0
- package/lib/input/XRHand.d.ts +31 -0
- package/lib/input/XRHand.d.ts.map +1 -0
- package/lib/input/XRHand.js +31 -0
- package/lib/input/XRHand.js.map +1 -0
- package/lib/input/XRInputSource.d.ts +37 -0
- package/lib/input/XRInputSource.d.ts.map +1 -0
- package/lib/input/XRInputSource.js +51 -0
- package/lib/input/XRInputSource.js.map +1 -0
- package/lib/input/XRInputSourceArray.d.ts +11 -0
- package/lib/input/XRInputSourceArray.d.ts.map +1 -0
- package/lib/input/XRInputSourceArray.js +17 -0
- package/lib/input/XRInputSourceArray.js.map +1 -0
- package/lib/layers/XRWebGLLayer.d.ts +31 -0
- package/lib/layers/XRWebGLLayer.d.ts.map +1 -0
- package/lib/layers/XRWebGLLayer.js +67 -0
- package/lib/layers/XRWebGLLayer.js.map +1 -0
- package/lib/pose/XRJointPose.d.ts +11 -0
- package/lib/pose/XRJointPose.d.ts.map +1 -0
- package/lib/pose/XRJointPose.js +12 -0
- package/lib/pose/XRJointPose.js.map +1 -0
- package/lib/pose/XRPose.d.ts +16 -0
- package/lib/pose/XRPose.d.ts.map +1 -0
- package/lib/pose/XRPose.js +24 -0
- package/lib/pose/XRPose.js.map +1 -0
- package/lib/pose/XRViewerPose.d.ts +12 -0
- package/lib/pose/XRViewerPose.d.ts.map +1 -0
- package/lib/pose/XRViewerPose.js +14 -0
- package/lib/pose/XRViewerPose.js.map +1 -0
- package/lib/primitives/XRRigidTransform.d.ts +17 -0
- package/lib/primitives/XRRigidTransform.d.ts.map +1 -0
- package/lib/primitives/XRRigidTransform.js +54 -0
- package/lib/primitives/XRRigidTransform.js.map +1 -0
- package/lib/session/XRRenderState.d.ts +22 -0
- package/lib/session/XRRenderState.d.ts.map +1 -0
- package/lib/session/XRRenderState.js +26 -0
- package/lib/session/XRRenderState.js.map +1 -0
- package/lib/session/XRSession.d.ts +103 -0
- package/lib/session/XRSession.d.ts.map +1 -0
- package/lib/session/XRSession.js +459 -0
- package/lib/session/XRSession.js.map +1 -0
- package/lib/spaces/XRJointSpace.d.ts +13 -0
- package/lib/spaces/XRJointSpace.d.ts.map +1 -0
- package/lib/spaces/XRJointSpace.js +12 -0
- package/lib/spaces/XRJointSpace.js.map +1 -0
- package/lib/spaces/XRReferenceSpace.d.ts +22 -0
- package/lib/spaces/XRReferenceSpace.d.ts.map +1 -0
- package/lib/spaces/XRReferenceSpace.js +42 -0
- package/lib/spaces/XRReferenceSpace.js.map +1 -0
- package/lib/spaces/XRSpace.d.ts +20 -0
- package/lib/spaces/XRSpace.d.ts.map +1 -0
- package/lib/spaces/XRSpace.js +45 -0
- package/lib/spaces/XRSpace.js.map +1 -0
- package/lib/utils/DOMPointReadOnly.d.ts +17 -0
- package/lib/utils/DOMPointReadOnly.d.ts.map +1 -0
- package/lib/utils/DOMPointReadOnly.js +26 -0
- package/lib/utils/DOMPointReadOnly.js.map +1 -0
- package/lib/utils/Math.d.ts +49 -0
- package/lib/utils/Math.d.ts.map +1 -0
- package/lib/utils/Math.js +129 -0
- package/lib/utils/Math.js.map +1 -0
- package/lib/version.d.ts +2 -0
- package/lib/version.d.ts.map +1 -0
- package/lib/version.js +2 -0
- package/lib/version.js.map +1 -0
- package/lib/views/XRView.d.ts +25 -0
- package/lib/views/XRView.d.ts.map +1 -0
- package/lib/views/XRView.js +39 -0
- package/lib/views/XRView.js.map +1 -0
- package/lib/views/XRViewport.d.ts +15 -0
- package/lib/views/XRViewport.d.ts.map +1 -0
- package/lib/views/XRViewport.js +19 -0
- package/lib/views/XRViewport.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { mat4, vec3 } from 'gl-matrix';
|
|
2
|
+
export const PRIVATE = Symbol('@immersive-web-emulation-runtime/xr-space');
|
|
3
|
+
export class XRSpace extends EventTarget {
|
|
4
|
+
constructor(parentSpace, offsetMatrix) {
|
|
5
|
+
super();
|
|
6
|
+
this[PRIVATE] = {
|
|
7
|
+
parentSpace,
|
|
8
|
+
offsetMatrix: offsetMatrix ? mat4.clone(offsetMatrix) : mat4.create(),
|
|
9
|
+
emulated: true,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export class GlobalSpace extends XRSpace {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(undefined, mat4.create()); // GlobalSpace has no parent
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class XRSpaceUtils {
|
|
19
|
+
// Update the position component of the offsetMatrix of a given XRSpace
|
|
20
|
+
static updateOffsetPosition(space, position) {
|
|
21
|
+
const offsetMatrix = space[PRIVATE].offsetMatrix;
|
|
22
|
+
mat4.fromTranslation(offsetMatrix, position);
|
|
23
|
+
}
|
|
24
|
+
// Update the rotation component of the offsetMatrix of a given XRSpace using a quaternion
|
|
25
|
+
static updateOffsetQuaternion(space, quaternion) {
|
|
26
|
+
const offsetMatrix = space[PRIVATE].offsetMatrix;
|
|
27
|
+
const translation = vec3.create();
|
|
28
|
+
mat4.getTranslation(translation, offsetMatrix);
|
|
29
|
+
mat4.fromRotationTranslation(offsetMatrix, quaternion, translation);
|
|
30
|
+
}
|
|
31
|
+
// Update the offsetMatrix of a given XRSpace directly
|
|
32
|
+
static updateOffsetMatrix(space, matrix) {
|
|
33
|
+
const offsetMatrix = space[PRIVATE].offsetMatrix;
|
|
34
|
+
mat4.copy(offsetMatrix, matrix);
|
|
35
|
+
}
|
|
36
|
+
// Calculate the global offset matrix for a given XRSpace
|
|
37
|
+
static calculateGlobalOffsetMatrix(space, globalOffset = mat4.create()) {
|
|
38
|
+
const parentOffset = space[PRIVATE].parentSpace
|
|
39
|
+
? XRSpaceUtils.calculateGlobalOffsetMatrix(space[PRIVATE].parentSpace)
|
|
40
|
+
: mat4.create(); // Identity matrix for GlobalSpace
|
|
41
|
+
mat4.multiply(globalOffset, parentOffset, space[PRIVATE].offsetMatrix);
|
|
42
|
+
return globalOffset;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=XRSpace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XRSpace.js","sourceRoot":"","sources":["../../src/spaces/XRSpace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAQ,IAAI,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,2CAA2C,CAAC,CAAC;AAE3E,MAAM,OAAO,OAAQ,SAAQ,WAAW;IAOvC,YAAY,WAAqB,EAAE,YAAmB;QACrD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,CAAC,GAAG;YACf,WAAW;YACX,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;YACrE,QAAQ,EAAE,IAAI;SACd,CAAC;IACH,CAAC;CACD;AAED,MAAM,OAAO,WAAY,SAAQ,OAAO;IACvC;QACC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,4BAA4B;IAC9D,CAAC;CACD;AAED,MAAM,OAAO,YAAY;IACxB,uEAAuE;IACvE,MAAM,CAAC,oBAAoB,CAAC,KAAc,EAAE,QAAc;QACzD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,0FAA0F;IAC1F,MAAM,CAAC,sBAAsB,CAAC,KAAc,EAAE,UAAgB;QAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC/C,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;IAED,sDAAsD;IACtD,MAAM,CAAC,kBAAkB,CAAC,KAAc,EAAE,MAAY;QACrD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,yDAAyD;IACzD,MAAM,CAAC,2BAA2B,CACjC,KAAc,EACd,eAAqB,IAAI,CAAC,MAAM,EAAE;QAElC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW;YAC9C,CAAC,CAAC,YAAY,CAAC,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC;YACtE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,kCAAkC;QAEpD,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC;QACvE,OAAO,YAAY,CAAC;IACrB,CAAC;CACD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare class PolyfillDOMPointReadOnly {
|
|
2
|
+
readonly x: number;
|
|
3
|
+
readonly y: number;
|
|
4
|
+
readonly z: number;
|
|
5
|
+
readonly w: number;
|
|
6
|
+
constructor(x?: number, y?: number, z?: number, w?: number);
|
|
7
|
+
static fromPoint(other: DOMPointInit): PolyfillDOMPointReadOnly;
|
|
8
|
+
matrixTransform(_matrix: DOMMatrixReadOnly): DOMPointReadOnly;
|
|
9
|
+
toJSON(): any;
|
|
10
|
+
}
|
|
11
|
+
export declare const DOMPointReadOnly: typeof PolyfillDOMPointReadOnly | {
|
|
12
|
+
new (x?: number | undefined, y?: number | undefined, z?: number | undefined, w?: number | undefined): DOMPointReadOnly;
|
|
13
|
+
prototype: DOMPointReadOnly;
|
|
14
|
+
fromPoint(other?: DOMPointInit | undefined): DOMPointReadOnly;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=DOMPointReadOnly.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DOMPointReadOnly.d.ts","sourceRoot":"","sources":["../../src/utils/DOMPointReadOnly.ts"],"names":[],"mappings":"AAAA,cAAM,wBAAwB;IAC7B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;gBAEP,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI;IAQtC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,wBAAwB;IAI/D,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB;IAM7D,MAAM,IAAI,GAAG;CAKb;AAED,eAAO,MAAM,gBAAgB;;;;CAGD,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
class PolyfillDOMPointReadOnly {
|
|
2
|
+
constructor(x = 0, y = 0, z = 0, w = 1) {
|
|
3
|
+
this.x = x;
|
|
4
|
+
this.y = y;
|
|
5
|
+
this.z = z;
|
|
6
|
+
this.w = w;
|
|
7
|
+
Object.freeze(this);
|
|
8
|
+
}
|
|
9
|
+
static fromPoint(other) {
|
|
10
|
+
return new PolyfillDOMPointReadOnly(other.x, other.y, other.z, other.w);
|
|
11
|
+
}
|
|
12
|
+
matrixTransform(_matrix) {
|
|
13
|
+
// Implement matrix transformation logic here
|
|
14
|
+
// This is a placeholder implementation
|
|
15
|
+
return new PolyfillDOMPointReadOnly();
|
|
16
|
+
}
|
|
17
|
+
toJSON() {
|
|
18
|
+
// Implement toJSON logic here
|
|
19
|
+
// This is a placeholder implementation
|
|
20
|
+
return { x: this.x, y: this.y, z: this.z, w: this.w };
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export const DOMPointReadOnly = typeof globalThis.DOMPointReadOnly !== 'undefined'
|
|
24
|
+
? globalThis.DOMPointReadOnly
|
|
25
|
+
: PolyfillDOMPointReadOnly;
|
|
26
|
+
//# sourceMappingURL=DOMPointReadOnly.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DOMPointReadOnly.js","sourceRoot":"","sources":["../../src/utils/DOMPointReadOnly.ts"],"names":[],"mappings":"AAAA,MAAM,wBAAwB;IAM7B,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QACrC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAAmB;QACnC,OAAO,IAAI,wBAAwB,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,eAAe,CAAC,OAA0B;QACzC,6CAA6C;QAC7C,uCAAuC;QACvC,OAAO,IAAI,wBAAwB,EAAE,CAAC;IACvC,CAAC;IAED,MAAM;QACL,8BAA8B;QAC9B,uCAAuC;QACvC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;CACD;AAED,MAAM,CAAC,MAAM,gBAAgB,GAC5B,OAAO,UAAU,CAAC,gBAAgB,KAAK,WAAW;IACjD,CAAC,CAAC,UAAU,CAAC,gBAAgB;IAC7B,CAAC,CAAC,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { quat } from 'gl-matrix';
|
|
2
|
+
import { vec3 } from 'gl-matrix';
|
|
3
|
+
/**
|
|
4
|
+
* Wrapper class for gl-matrix vec3
|
|
5
|
+
* Minimal interoperable interface to Vector3 in Three.js and Babylon.js
|
|
6
|
+
*/
|
|
7
|
+
export declare class Vector3 {
|
|
8
|
+
vec3: vec3;
|
|
9
|
+
private tempVec3;
|
|
10
|
+
constructor(x?: number, y?: number, z?: number);
|
|
11
|
+
get x(): number;
|
|
12
|
+
set x(value: number);
|
|
13
|
+
get y(): number;
|
|
14
|
+
set y(value: number);
|
|
15
|
+
get z(): number;
|
|
16
|
+
set z(value: number);
|
|
17
|
+
set(x: number, y: number, z: number): this;
|
|
18
|
+
clone(): Vector3;
|
|
19
|
+
copy(v: Vector3): this;
|
|
20
|
+
round(): this;
|
|
21
|
+
normalize(): this;
|
|
22
|
+
add(v: Vector3): this;
|
|
23
|
+
applyQuaternion(q: Quaternion): this;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Wrapper class for gl-matrix quat4
|
|
27
|
+
* Minimal interoperable interface to Vector3 in Three.js and Babylon.js
|
|
28
|
+
*/
|
|
29
|
+
export declare class Quaternion {
|
|
30
|
+
quat: quat;
|
|
31
|
+
private tempQuat;
|
|
32
|
+
constructor(x?: number, y?: number, z?: number, w?: number);
|
|
33
|
+
get x(): number;
|
|
34
|
+
set x(value: number);
|
|
35
|
+
get y(): number;
|
|
36
|
+
set y(value: number);
|
|
37
|
+
get z(): number;
|
|
38
|
+
set z(value: number);
|
|
39
|
+
get w(): number;
|
|
40
|
+
set w(value: number);
|
|
41
|
+
set(x: number, y: number, z: number, w: number): this;
|
|
42
|
+
clone(): Quaternion;
|
|
43
|
+
copy(q: Quaternion): this;
|
|
44
|
+
normalize(): this;
|
|
45
|
+
invert(): this;
|
|
46
|
+
multiply(q: Quaternion): this;
|
|
47
|
+
setFromAxisAngle(axis: Vector3, angle: number): this;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=Math.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Math.d.ts","sourceRoot":"","sources":["../../src/utils/Math.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;GAGG;AACH,qBAAa,OAAO;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,CAAC,QAAQ,CAAO;gBAEX,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU;IAKvD,IAAI,CAAC,IAIQ,MAAM,CAFlB;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,IAAI,CAAC,IAIQ,MAAM,CAFlB;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,IAAI,CAAC,IAIQ,MAAM,CAFlB;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAK1C,KAAK,IAAI,OAAO;IAIhB,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAOtB,KAAK,IAAI,IAAI;IAOb,SAAS,IAAI,IAAI;IAMjB,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAMrB,eAAe,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;CAKpC;AAED;;;GAGG;AACH,qBAAa,UAAU;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,CAAC,QAAQ,CAAO;gBAEX,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU;IAKtE,IAAI,CAAC,IAIQ,MAAM,CAFlB;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,IAAI,CAAC,IAIQ,MAAM,CAFlB;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,IAAI,CAAC,IAIQ,MAAM,CAFlB;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,IAAI,CAAC,IAIQ,MAAM,CAFlB;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAKrD,KAAK,IAAI,UAAU;IAInB,IAAI,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAKzB,SAAS,IAAI,IAAI;IAMjB,MAAM,IAAI,IAAI;IAMd,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAM7B,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAIpD"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { quat } from 'gl-matrix';
|
|
2
|
+
import { vec3 } from 'gl-matrix';
|
|
3
|
+
/**
|
|
4
|
+
* Wrapper class for gl-matrix vec3
|
|
5
|
+
* Minimal interoperable interface to Vector3 in Three.js and Babylon.js
|
|
6
|
+
*/
|
|
7
|
+
export class Vector3 {
|
|
8
|
+
constructor(x = 0, y = 0, z = 0) {
|
|
9
|
+
this.vec3 = vec3.fromValues(x, y, z);
|
|
10
|
+
this.tempVec3 = vec3.create();
|
|
11
|
+
}
|
|
12
|
+
get x() {
|
|
13
|
+
return this.vec3[0];
|
|
14
|
+
}
|
|
15
|
+
set x(value) {
|
|
16
|
+
this.vec3[0] = value;
|
|
17
|
+
}
|
|
18
|
+
get y() {
|
|
19
|
+
return this.vec3[1];
|
|
20
|
+
}
|
|
21
|
+
set y(value) {
|
|
22
|
+
this.vec3[1] = value;
|
|
23
|
+
}
|
|
24
|
+
get z() {
|
|
25
|
+
return this.vec3[2];
|
|
26
|
+
}
|
|
27
|
+
set z(value) {
|
|
28
|
+
this.vec3[2] = value;
|
|
29
|
+
}
|
|
30
|
+
set(x, y, z) {
|
|
31
|
+
vec3.set(this.vec3, x, y, z);
|
|
32
|
+
return this;
|
|
33
|
+
}
|
|
34
|
+
clone() {
|
|
35
|
+
return new Vector3(this.x, this.y, this.z);
|
|
36
|
+
}
|
|
37
|
+
copy(v) {
|
|
38
|
+
this.x = v.x;
|
|
39
|
+
this.y = v.y;
|
|
40
|
+
this.z = v.z;
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
round() {
|
|
44
|
+
this.x = Math.round(this.x);
|
|
45
|
+
this.y = Math.round(this.y);
|
|
46
|
+
this.z = Math.round(this.z);
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
normalize() {
|
|
50
|
+
vec3.copy(this.tempVec3, this.vec3);
|
|
51
|
+
vec3.normalize(this.vec3, this.tempVec3);
|
|
52
|
+
return this;
|
|
53
|
+
}
|
|
54
|
+
add(v) {
|
|
55
|
+
vec3.copy(this.tempVec3, this.vec3);
|
|
56
|
+
vec3.add(this.vec3, this.tempVec3, v.vec3);
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
applyQuaternion(q) {
|
|
60
|
+
vec3.copy(this.tempVec3, this.vec3);
|
|
61
|
+
vec3.transformQuat(this.vec3, this.tempVec3, q.quat);
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Wrapper class for gl-matrix quat4
|
|
67
|
+
* Minimal interoperable interface to Vector3 in Three.js and Babylon.js
|
|
68
|
+
*/
|
|
69
|
+
export class Quaternion {
|
|
70
|
+
constructor(x = 0, y = 0, z = 0, w = 1) {
|
|
71
|
+
this.quat = quat.fromValues(x, y, z, w);
|
|
72
|
+
this.tempQuat = quat.create();
|
|
73
|
+
}
|
|
74
|
+
get x() {
|
|
75
|
+
return this.quat[0];
|
|
76
|
+
}
|
|
77
|
+
set x(value) {
|
|
78
|
+
this.quat[0] = value;
|
|
79
|
+
}
|
|
80
|
+
get y() {
|
|
81
|
+
return this.quat[1];
|
|
82
|
+
}
|
|
83
|
+
set y(value) {
|
|
84
|
+
this.quat[1] = value;
|
|
85
|
+
}
|
|
86
|
+
get z() {
|
|
87
|
+
return this.quat[2];
|
|
88
|
+
}
|
|
89
|
+
set z(value) {
|
|
90
|
+
this.quat[2] = value;
|
|
91
|
+
}
|
|
92
|
+
get w() {
|
|
93
|
+
return this.quat[3];
|
|
94
|
+
}
|
|
95
|
+
set w(value) {
|
|
96
|
+
this.quat[3] = value;
|
|
97
|
+
}
|
|
98
|
+
set(x, y, z, w) {
|
|
99
|
+
quat.set(this.quat, x, y, z, w);
|
|
100
|
+
return this;
|
|
101
|
+
}
|
|
102
|
+
clone() {
|
|
103
|
+
return new Quaternion(this.x, this.y, this.z, this.w);
|
|
104
|
+
}
|
|
105
|
+
copy(q) {
|
|
106
|
+
quat.set(this.quat, q.x, q.y, q.z, q.w);
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
normalize() {
|
|
110
|
+
quat.copy(this.tempQuat, this.quat);
|
|
111
|
+
quat.normalize(this.quat, this.tempQuat);
|
|
112
|
+
return this;
|
|
113
|
+
}
|
|
114
|
+
invert() {
|
|
115
|
+
quat.copy(this.tempQuat, this.quat);
|
|
116
|
+
quat.conjugate(this.quat, this.tempQuat);
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
119
|
+
multiply(q) {
|
|
120
|
+
quat.copy(this.tempQuat, this.quat);
|
|
121
|
+
quat.multiply(this.quat, this.tempQuat, q.quat);
|
|
122
|
+
return this;
|
|
123
|
+
}
|
|
124
|
+
setFromAxisAngle(axis, angle) {
|
|
125
|
+
quat.setAxisAngle(this.quat, axis.vec3, angle);
|
|
126
|
+
return this;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=Math.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Math.js","sourceRoot":"","sources":["../../src/utils/Math.ts"],"names":[],"mappings":"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"}
|
package/lib/version.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
package/lib/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { XRRigidTransform } from '../primitives/XRRigidTransform';
|
|
2
|
+
import { XRSession } from '../session/XRSession';
|
|
3
|
+
export declare const PRIVATE: unique symbol;
|
|
4
|
+
export declare enum XREye {
|
|
5
|
+
None = "none",
|
|
6
|
+
Left = "left",
|
|
7
|
+
Right = "right"
|
|
8
|
+
}
|
|
9
|
+
export declare class XRView {
|
|
10
|
+
[PRIVATE]: {
|
|
11
|
+
eye: XREye;
|
|
12
|
+
projectionMatrix: Float32Array;
|
|
13
|
+
transform: XRRigidTransform;
|
|
14
|
+
recommendedViewportScale: number | null;
|
|
15
|
+
requestedViewportScale: number;
|
|
16
|
+
session: XRSession;
|
|
17
|
+
};
|
|
18
|
+
constructor(eye: XREye, projectionMatrix: Float32Array, transform: XRRigidTransform, session: XRSession);
|
|
19
|
+
get eye(): XREye;
|
|
20
|
+
get projectionMatrix(): Float32Array;
|
|
21
|
+
get transform(): XRRigidTransform;
|
|
22
|
+
get recommendedViewportScale(): number | null;
|
|
23
|
+
requestViewportScale(scale: number | null): void;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=XRView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XRView.d.ts","sourceRoot":"","sources":["../../src/views/XRView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,eAAO,MAAM,OAAO,eAAqD,CAAC;AAE1E,oBAAY,KAAK;IAChB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CACf;AAED,qBAAa,MAAM;IAClB,CAAC,OAAO,CAAC,EAAE;QACV,GAAG,EAAE,KAAK,CAAC;QACX,gBAAgB,EAAE,YAAY,CAAC;QAC/B,SAAS,EAAE,gBAAgB,CAAC;QAC5B,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;QACxC,sBAAsB,EAAE,MAAM,CAAC;QAC/B,OAAO,EAAE,SAAS,CAAC;KACnB,CAAC;gBAGD,GAAG,EAAE,KAAK,EACV,gBAAgB,EAAE,YAAY,EAC9B,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,SAAS;IAYnB,IAAI,GAAG,IAAI,KAAK,CAEf;IAED,IAAI,gBAAgB,IAAI,YAAY,CAEnC;IAED,IAAI,SAAS,IAAI,gBAAgB,CAEhC;IAED,IAAI,wBAAwB,IAAI,MAAM,GAAG,IAAI,CAE5C;IAED,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;CAOhD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export const PRIVATE = Symbol('@immersive-web-emulation-runtime/xr-view');
|
|
2
|
+
export var XREye;
|
|
3
|
+
(function (XREye) {
|
|
4
|
+
XREye["None"] = "none";
|
|
5
|
+
XREye["Left"] = "left";
|
|
6
|
+
XREye["Right"] = "right";
|
|
7
|
+
})(XREye || (XREye = {}));
|
|
8
|
+
export class XRView {
|
|
9
|
+
constructor(eye, projectionMatrix, transform, session) {
|
|
10
|
+
this[PRIVATE] = {
|
|
11
|
+
eye,
|
|
12
|
+
projectionMatrix,
|
|
13
|
+
transform,
|
|
14
|
+
recommendedViewportScale: null,
|
|
15
|
+
requestedViewportScale: 1.0,
|
|
16
|
+
session,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
get eye() {
|
|
20
|
+
return this[PRIVATE].eye;
|
|
21
|
+
}
|
|
22
|
+
get projectionMatrix() {
|
|
23
|
+
return this[PRIVATE].projectionMatrix;
|
|
24
|
+
}
|
|
25
|
+
get transform() {
|
|
26
|
+
return this[PRIVATE].transform;
|
|
27
|
+
}
|
|
28
|
+
get recommendedViewportScale() {
|
|
29
|
+
return this[PRIVATE].recommendedViewportScale;
|
|
30
|
+
}
|
|
31
|
+
requestViewportScale(scale) {
|
|
32
|
+
if (scale === null || scale <= 0 || scale > 1) {
|
|
33
|
+
console.warn('Invalid scale value. Scale must be > 0 and <= 1.');
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
this[PRIVATE].requestedViewportScale = scale;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=XRView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XRView.js","sourceRoot":"","sources":["../../src/views/XRView.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,0CAA0C,CAAC,CAAC;AAE1E,MAAM,CAAN,IAAY,KAIX;AAJD,WAAY,KAAK;IAChB,sBAAa,CAAA;IACb,sBAAa,CAAA;IACb,wBAAe,CAAA;AAChB,CAAC,EAJW,KAAK,KAAL,KAAK,QAIhB;AAED,MAAM,OAAO,MAAM;IAUlB,YACC,GAAU,EACV,gBAA8B,EAC9B,SAA2B,EAC3B,OAAkB;QAElB,IAAI,CAAC,OAAO,CAAC,GAAG;YACf,GAAG;YACH,gBAAgB;YAChB,SAAS;YACT,wBAAwB,EAAE,IAAI;YAC9B,sBAAsB,EAAE,GAAG;YAC3B,OAAO;SACP,CAAC;IACH,CAAC;IAED,IAAI,GAAG;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;IAC1B,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC;IACvC,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;IAChC,CAAC;IAED,IAAI,wBAAwB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,wBAAwB,CAAC;IAC/C,CAAC;IAED,oBAAoB,CAAC,KAAoB;QACxC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;YAC9C,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACjE,OAAO;SACP;QACD,IAAI,CAAC,OAAO,CAAC,CAAC,sBAAsB,GAAG,KAAK,CAAC;IAC9C,CAAC;CACD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const PRIVATE: unique symbol;
|
|
2
|
+
export declare class XRViewport {
|
|
3
|
+
[PRIVATE]: {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
};
|
|
9
|
+
constructor(x: number, y: number, width: number, height: number);
|
|
10
|
+
get x(): number;
|
|
11
|
+
get y(): number;
|
|
12
|
+
get width(): number;
|
|
13
|
+
get height(): number;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=XRViewport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XRViewport.d.ts","sourceRoot":"","sources":["../../src/views/XRViewport.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,eAAyD,CAAC;AAE9E,qBAAa,UAAU;IACtB,CAAC,OAAO,CAAC,EAAE;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;gBAEU,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAI/D,IAAI,CAAC,IAAI,MAAM,CAEd;IAED,IAAI,CAAC,IAAI,MAAM,CAEd;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;CACD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const PRIVATE = Symbol('@immersive-web-emulation-runtime/xr-viewport');
|
|
2
|
+
export class XRViewport {
|
|
3
|
+
constructor(x, y, width, height) {
|
|
4
|
+
this[PRIVATE] = { x, y, width, height };
|
|
5
|
+
}
|
|
6
|
+
get x() {
|
|
7
|
+
return this[PRIVATE].x;
|
|
8
|
+
}
|
|
9
|
+
get y() {
|
|
10
|
+
return this[PRIVATE].y;
|
|
11
|
+
}
|
|
12
|
+
get width() {
|
|
13
|
+
return this[PRIVATE].width;
|
|
14
|
+
}
|
|
15
|
+
get height() {
|
|
16
|
+
return this[PRIVATE].height;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=XRViewport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XRViewport.js","sourceRoot":"","sources":["../../src/views/XRViewport.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,8CAA8C,CAAC,CAAC;AAE9E,MAAM,OAAO,UAAU;IAQtB,YAAY,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;QAC9D,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC7B,CAAC;CACD"}
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "iwer",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Javascript WebXR Runtime for Emulation",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "lib/index.js",
|
|
7
|
+
"types": "lib/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"build",
|
|
10
|
+
"lib"
|
|
11
|
+
],
|
|
12
|
+
"scripts": {
|
|
13
|
+
"prebuild": "node -p \"'export const VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
|
|
14
|
+
"build": "tsc && rollup -c",
|
|
15
|
+
"doc": "typedoc",
|
|
16
|
+
"lint": "eslint 'src/**/*.{js,ts,tsx}' --fix",
|
|
17
|
+
"format": "prettier --write ./src/**/*",
|
|
18
|
+
"test": "jest",
|
|
19
|
+
"prepublishOnly": "npm run build",
|
|
20
|
+
"docs:dev": "vitepress dev docs",
|
|
21
|
+
"docs:build": "vitepress build docs",
|
|
22
|
+
"docs:preview": "vitepress preview docs"
|
|
23
|
+
},
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "git+https://github.com/meta-quest/immersive-web-emulation-runtime.git"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [],
|
|
29
|
+
"author": "Felix Zhang <fe1ix@meta.com>",
|
|
30
|
+
"license": "MIT",
|
|
31
|
+
"bugs": {
|
|
32
|
+
"url": "https://github.com/meta-quest/immersive-web-emulation-runtime/issues"
|
|
33
|
+
},
|
|
34
|
+
"homepage": "https://github.com/meta-quest/immersive-web-emulation-runtime#readme",
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@rollup/plugin-commonjs": "^25.0.7",
|
|
37
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
38
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
39
|
+
"@types/gl-matrix": "^3.2.0",
|
|
40
|
+
"@types/jest": "^29.5.11",
|
|
41
|
+
"@types/node": "^18.7.13",
|
|
42
|
+
"@types/three": "^0.149.0",
|
|
43
|
+
"@types/uuid": "^9.0.8",
|
|
44
|
+
"@types/webxr": "^0.5.8",
|
|
45
|
+
"@typescript-eslint/eslint-plugin": "^5.55.0",
|
|
46
|
+
"@typescript-eslint/parser": "^5.55.0",
|
|
47
|
+
"eslint": "^8.36.0",
|
|
48
|
+
"eslint-config-prettier": "^8.10.0",
|
|
49
|
+
"eslint-plugin-prettier": "^5.0.1",
|
|
50
|
+
"jest": "^29.7.0",
|
|
51
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
52
|
+
"prettier": "^3.0.3",
|
|
53
|
+
"renamer": "^4.0.0",
|
|
54
|
+
"rimraf": "^5.0.5",
|
|
55
|
+
"rollup": "^2.79.1",
|
|
56
|
+
"ts-jest": "^29.1.1",
|
|
57
|
+
"typescript": "^4.9.5",
|
|
58
|
+
"vitepress": "1.0.1"
|
|
59
|
+
},
|
|
60
|
+
"dependencies": {
|
|
61
|
+
"gl-matrix": "^3.4.3"
|
|
62
|
+
}
|
|
63
|
+
}
|