@needle-tools/engine 3.2.4-alpha.2 → 3.2.5-alpha

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 (121) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/needle-engine.js +18982 -18841
  3. package/dist/needle-engine.min.js +281 -281
  4. package/dist/needle-engine.umd.cjs +275 -275
  5. package/lib/engine/api.d.ts +1 -0
  6. package/lib/engine/api.js +1 -0
  7. package/lib/engine/api.js.map +1 -1
  8. package/lib/engine/codegen/register_types.js +23 -17
  9. package/lib/engine/codegen/register_types.js.map +1 -1
  10. package/lib/engine/engine_element_loading.js +14 -3
  11. package/lib/engine/engine_element_loading.js.map +1 -1
  12. package/lib/engine/engine_networking_auto.js +1 -1
  13. package/lib/engine/engine_networking_auto.js.map +1 -1
  14. package/lib/engine-components/DragControls.js +1 -1
  15. package/lib/engine-components/DragControls.js.map +1 -1
  16. package/lib/engine-components/Duplicatable.js +1 -1
  17. package/lib/engine-components/Duplicatable.js.map +1 -1
  18. package/lib/engine-components/Light.js +2 -2
  19. package/lib/engine-components/Light.js.map +1 -1
  20. package/lib/engine-components/PlayerColor.js +1 -1
  21. package/lib/engine-components/PlayerColor.js.map +1 -1
  22. package/lib/engine-components/ShadowCatcher.d.ts +3 -1
  23. package/lib/engine-components/ShadowCatcher.js +14 -0
  24. package/lib/engine-components/ShadowCatcher.js.map +1 -1
  25. package/lib/engine-components/SpectatorCamera.js +2 -2
  26. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  27. package/lib/engine-components/SyncedCamera.js +2 -2
  28. package/lib/engine-components/SyncedCamera.js.map +1 -1
  29. package/lib/engine-components/api.d.ts +1 -0
  30. package/lib/engine-components/api.js +1 -0
  31. package/lib/engine-components/api.js.map +1 -1
  32. package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +1 -1
  33. package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +1 -1
  34. package/lib/engine-components/avatar/Avatar_Brain_LookAt.js.map +1 -1
  35. package/lib/engine-components/avatar/Avatar_MouthShapes.js +1 -1
  36. package/lib/engine-components/avatar/Avatar_MouthShapes.js.map +1 -1
  37. package/lib/engine-components/avatar/Avatar_MustacheShake.js +1 -1
  38. package/lib/engine-components/avatar/Avatar_MustacheShake.js.map +1 -1
  39. package/lib/engine-components/codegen/components.d.ts +20 -17
  40. package/lib/engine-components/codegen/components.js +20 -17
  41. package/lib/engine-components/codegen/components.js.map +1 -1
  42. package/lib/engine-components/export/usdz/USDZExporter.js +2 -2
  43. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  44. package/lib/engine-components/ui/EventSystem.js +2 -2
  45. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  46. package/lib/engine-components/ui/InputField.js +2 -1
  47. package/lib/engine-components/ui/InputField.js.map +1 -1
  48. package/lib/engine-components/{WebARCameraBackground.d.ts → webxr/WebARCameraBackground.d.ts} +2 -2
  49. package/lib/engine-components/{WebARCameraBackground.js → webxr/WebARCameraBackground.js} +4 -4
  50. package/lib/engine-components/webxr/WebARCameraBackground.js.map +1 -0
  51. package/lib/engine-components/{WebARSessionRoot.d.ts → webxr/WebARSessionRoot.d.ts} +1 -1
  52. package/lib/engine-components/{WebARSessionRoot.js → webxr/WebARSessionRoot.js} +3 -3
  53. package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -0
  54. package/lib/engine-components/{WebXR.d.ts → webxr/WebXR.d.ts} +2 -2
  55. package/lib/engine-components/{WebXR.js → webxr/WebXR.js} +12 -12
  56. package/lib/engine-components/webxr/WebXR.js.map +1 -0
  57. package/lib/engine-components/{WebXRAvatar.d.ts → webxr/WebXRAvatar.d.ts} +3 -3
  58. package/lib/engine-components/{WebXRAvatar.js → webxr/WebXRAvatar.js} +7 -7
  59. package/lib/engine-components/webxr/WebXRAvatar.js.map +1 -0
  60. package/lib/engine-components/{WebXRController.d.ts → webxr/WebXRController.d.ts} +2 -2
  61. package/lib/engine-components/{WebXRController.js → webxr/WebXRController.js} +12 -12
  62. package/lib/engine-components/webxr/WebXRController.js.map +1 -0
  63. package/lib/engine-components/{WebXRGrabRendering.d.ts → webxr/WebXRGrabRendering.d.ts} +3 -3
  64. package/lib/engine-components/{WebXRGrabRendering.js → webxr/WebXRGrabRendering.js} +4 -4
  65. package/lib/engine-components/webxr/WebXRGrabRendering.js.map +1 -0
  66. package/lib/engine-components/{WebXRImageTracking.d.ts → webxr/WebXRImageTracking.d.ts} +1 -1
  67. package/lib/engine-components/{WebXRImageTracking.js → webxr/WebXRImageTracking.js} +5 -4
  68. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -0
  69. package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +29 -0
  70. package/lib/engine-components/webxr/WebXRPlaneTracking.js +210 -0
  71. package/lib/engine-components/webxr/WebXRPlaneTracking.js.map +1 -0
  72. package/lib/engine-components/{WebXRRig.d.ts → webxr/WebXRRig.d.ts} +1 -1
  73. package/lib/engine-components/{WebXRRig.js → webxr/WebXRRig.js} +3 -3
  74. package/lib/engine-components/webxr/WebXRRig.js.map +1 -0
  75. package/lib/engine-components/{WebXRSync.d.ts → webxr/WebXRSync.d.ts} +3 -3
  76. package/lib/engine-components/{WebXRSync.js → webxr/WebXRSync.js} +8 -8
  77. package/lib/engine-components/webxr/WebXRSync.js.map +1 -0
  78. package/lib/engine-components/webxr/index.d.ts +2 -0
  79. package/lib/engine-components/webxr/index.js +3 -0
  80. package/lib/engine-components/webxr/index.js.map +1 -0
  81. package/lib/tsconfig.tsbuildinfo +1 -1
  82. package/package.json +1 -1
  83. package/src/engine/api.ts +1 -0
  84. package/src/engine/codegen/register_types.js +25 -19
  85. package/src/engine/engine_element_loading.ts +25 -10
  86. package/src/engine/engine_networking_auto.ts +1 -1
  87. package/src/engine-components/DragControls.ts +1 -1
  88. package/src/engine-components/Duplicatable.ts +1 -1
  89. package/src/engine-components/Light.ts +2 -2
  90. package/src/engine-components/PlayerColor.ts +1 -1
  91. package/src/engine-components/ShadowCatcher.ts +15 -0
  92. package/src/engine-components/SpectatorCamera.ts +2 -2
  93. package/src/engine-components/SyncedCamera.ts +2 -2
  94. package/src/engine-components/api.ts +1 -0
  95. package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +1 -1
  96. package/src/engine-components/avatar/Avatar_MouthShapes.ts +1 -1
  97. package/src/engine-components/avatar/Avatar_MustacheShake.ts +1 -1
  98. package/src/engine-components/codegen/components.ts +20 -17
  99. package/src/engine-components/export/usdz/USDZExporter.ts +2 -2
  100. package/src/engine-components/ui/EventSystem.ts +2 -2
  101. package/src/engine-components/ui/InputField.ts +2 -1
  102. package/src/engine-components/{WebARCameraBackground.ts → webxr/WebARCameraBackground.ts} +4 -4
  103. package/src/engine-components/{WebARSessionRoot.ts → webxr/WebARSessionRoot.ts} +3 -3
  104. package/src/engine-components/{WebXR.ts → webxr/WebXR.ts} +15 -15
  105. package/src/engine-components/{WebXRAvatar.ts → webxr/WebXRAvatar.ts} +9 -9
  106. package/src/engine-components/{WebXRController.ts → webxr/WebXRController.ts} +13 -13
  107. package/src/engine-components/{WebXRGrabRendering.ts → webxr/WebXRGrabRendering.ts} +5 -5
  108. package/src/engine-components/{WebXRImageTracking.ts → webxr/WebXRImageTracking.ts} +5 -4
  109. package/src/engine-components/webxr/WebXRPlaneTracking.ts +254 -0
  110. package/src/engine-components/{WebXRRig.ts → webxr/WebXRRig.ts} +4 -4
  111. package/src/engine-components/{WebXRSync.ts → webxr/WebXRSync.ts} +8 -8
  112. package/src/engine-components/webxr/index.ts +2 -0
  113. package/lib/engine-components/WebARCameraBackground.js.map +0 -1
  114. package/lib/engine-components/WebARSessionRoot.js.map +0 -1
  115. package/lib/engine-components/WebXR.js.map +0 -1
  116. package/lib/engine-components/WebXRAvatar.js.map +0 -1
  117. package/lib/engine-components/WebXRController.js.map +0 -1
  118. package/lib/engine-components/WebXRGrabRendering.js.map +0 -1
  119. package/lib/engine-components/WebXRImageTracking.js.map +0 -1
  120. package/lib/engine-components/WebXRRig.js.map +0 -1
  121. package/lib/engine-components/WebXRSync.js.map +0 -1
@@ -1,9 +1,9 @@
1
- import { getWorldPosition, setWorldPosition } from "../engine/engine_three_utils";
2
- import { Behaviour, GameObject } from "./Component";
1
+ import { getWorldPosition, setWorldPosition } from "../../engine/engine_three_utils";
2
+ import { Behaviour, GameObject } from "../Component";
3
3
  import { AttachedObject, AttachedObjectEvents } from "./WebXRController";
4
4
  import { Vector3 } from "three";
5
- import { PlayerColor } from "./PlayerColor";
6
- import { SendQueue } from "../engine/engine_networking_types";
5
+ import { PlayerColor } from "../PlayerColor";
6
+ import { SendQueue } from "../../engine/engine_networking_types";
7
7
  var XRGrabEvent;
8
8
  (function (XRGrabEvent) {
9
9
  XRGrabEvent["StartOrUpdate"] = "xr-grab-visual-start-or-update";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebXRGrabRendering.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRGrabRendering.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="webxr" />
2
- import { Behaviour } from "./Component";
2
+ import { Behaviour } from "../Component";
3
3
  import { Object3D, Quaternion, Vector3 } from "three";
4
4
  export declare class WebXRTrackedImage {
5
5
  get url(): string;
@@ -5,10 +5,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { WebXR } from "./WebXR";
8
- import { serializable } from "../engine/engine_serialization";
9
- import { Behaviour } from "./Component";
8
+ import { serializable } from "../../engine/engine_serialization";
9
+ import { Behaviour } from "../Component";
10
10
  import { Quaternion, Vector3 } from "three";
11
- import { CircularBuffer, getParam } from "../engine/engine_utils";
11
+ import { CircularBuffer, getParam } from "../../engine/engine_utils";
12
12
  // https://github.com/immersive-web/marker-tracking/blob/main/explainer.md
13
13
  const debug = getParam("debugimagetracking");
14
14
  const _scaleTemp = new Vector3();
@@ -114,7 +114,8 @@ export class WebXRImageTracking extends Behaviour {
114
114
  onModifyAROptions = (event) => {
115
115
  const options = event.detail;
116
116
  const features = options.optionalFeatures || [];
117
- features.push("image-tracking");
117
+ if (!features.includes("image-tracking"))
118
+ features.push("image-tracking");
118
119
  options.optionalFeatures = features;
119
120
  options.trackedImages = [];
120
121
  for (const trackedImage of this.trackedImages) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebXRImageTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRImageTracking.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /// <reference types="webxr" />
2
+ import { BufferGeometry, Group, Mesh, Object3D } from "three";
3
+ import { MeshCollider } from "../Collider";
4
+ import { Behaviour } from "../Component";
5
+ import { Vec3 } from "../../engine/engine_types";
6
+ export declare type XRPlaneContext = {
7
+ id: number;
8
+ xrPlane: XRPlane;
9
+ timestamp: number;
10
+ mesh?: Mesh | Group;
11
+ collider?: MeshCollider;
12
+ };
13
+ export declare type WebXRPlaneTrackingEvent = {
14
+ type: "plane-added" | "plane-updated" | "plane-removed";
15
+ context: XRPlaneContext;
16
+ };
17
+ export declare class WebXRPlaneTracking extends Behaviour {
18
+ /** Optional: if assigned it will be instantiated per tracked plane */
19
+ planeTemplate?: Object3D;
20
+ get trackedPlanes(): IterableIterator<XRPlaneContext>;
21
+ onEnable(): void;
22
+ onDisable(): void;
23
+ private onModifyAROptions;
24
+ private onXRUpdate;
25
+ private _planeId;
26
+ private readonly _allPlanes;
27
+ private processPlanes;
28
+ createGeometry(polygon: Vec3[]): BufferGeometry;
29
+ }
@@ -0,0 +1,210 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { BufferAttribute, BufferGeometry, Group, Mesh, Object3D, Vector3 } from "three";
8
+ import { MeshCollider } from "../Collider";
9
+ import { Behaviour, GameObject } from "../Component";
10
+ import { WebXR, WebXREvent } from "./WebXR";
11
+ import { serializable } from "../../engine/engine_serialization";
12
+ import { disposeObjectResources } from "../../engine/engine_assetdatabase";
13
+ import { getParam } from "../../engine/engine_utils";
14
+ const debug = getParam("debugplanetracking");
15
+ export class WebXRPlaneTracking extends Behaviour {
16
+ /** Optional: if assigned it will be instantiated per tracked plane */
17
+ planeTemplate;
18
+ get trackedPlanes() { return this._allPlanes.values(); }
19
+ onEnable() {
20
+ WebXR.addEventListener(WebXREvent.XRUpdate, this.onXRUpdate);
21
+ WebXR.addEventListener("modify-ar-options", this.onModifyAROptions);
22
+ }
23
+ onDisable() {
24
+ WebXR.removeEventListener(WebXREvent.XRUpdate, this.onXRUpdate);
25
+ WebXR.removeEventListener("modify-ar-options", this.onModifyAROptions);
26
+ }
27
+ onModifyAROptions = (event) => {
28
+ const options = event.detail;
29
+ const features = options.optionalFeatures || [];
30
+ if (!features.includes("plane-detection"))
31
+ features.push("plane-detection");
32
+ options.optionalFeatures = features;
33
+ };
34
+ onXRUpdate = (evt) => {
35
+ this.processPlanes(evt.rig, evt.frame);
36
+ };
37
+ _planeId = 1;
38
+ _allPlanes = new Map();
39
+ processPlanes(rig, frame) {
40
+ const renderer = this.context.renderer;
41
+ // parenting tracked planes to the XR rig ensures that they synced with the real-world user data;
42
+ // otherwise they would "swim away" when the user rotates / moves / teleports and so on.
43
+ // There may be cases where we want that! E.g. a user walks around on their own table in castle builder
44
+ if (!rig)
45
+ return;
46
+ // If we dont have the detectedPlanes field this means the user didnt add the option
47
+ if (frame.detectedPlanes === undefined)
48
+ return;
49
+ const referenceSpace = renderer.xr.getReferenceSpace();
50
+ if (!referenceSpace)
51
+ return;
52
+ for (const plane of this._allPlanes.keys()) {
53
+ if (!frame.detectedPlanes.has(plane)) {
54
+ const planeContext = this._allPlanes.get(plane);
55
+ // plane was removed
56
+ this._allPlanes.delete(plane);
57
+ if (debug)
58
+ console.log("Plane no longer tracked, id=" + planeContext.id);
59
+ if (planeContext.mesh)
60
+ rig?.remove(planeContext.mesh);
61
+ const evt = new CustomEvent("plane-tracking", {
62
+ detail: {
63
+ type: "plane-removed",
64
+ context: planeContext
65
+ }
66
+ });
67
+ this.dispatchEvent(evt);
68
+ }
69
+ }
70
+ for (const plane of frame.detectedPlanes) {
71
+ const planePose = frame.getPose(plane.planeSpace, referenceSpace);
72
+ let planeMesh;
73
+ // If the plane already existed just update it
74
+ if (this._allPlanes.has(plane)) {
75
+ const planeContext = this._allPlanes.get(plane);
76
+ planeMesh = planeContext.mesh;
77
+ if (planeContext.timestamp < plane.lastChangedTime) {
78
+ planeContext.timestamp = plane.lastChangedTime;
79
+ // Update the mesh geometry
80
+ if (planeContext.mesh) {
81
+ const geometry = this.createGeometry(plane.polygon);
82
+ if (planeContext.mesh instanceof Mesh) {
83
+ planeContext.mesh.geometry.dispose();
84
+ planeContext.mesh.geometry = geometry;
85
+ }
86
+ else if (planeContext.mesh instanceof Group) {
87
+ for (const ch of planeContext.mesh.children) {
88
+ if (ch instanceof Mesh) {
89
+ ch.geometry.dispose();
90
+ ch.geometry = geometry;
91
+ }
92
+ }
93
+ }
94
+ // Update the mesh collider if it exists
95
+ if (planeContext.collider) {
96
+ planeContext.collider.sharedMesh = planeContext.mesh;
97
+ planeContext.collider.convex = true;
98
+ planeContext.collider.onDisable();
99
+ planeContext.collider.onEnable();
100
+ }
101
+ }
102
+ const evt = new CustomEvent("plane-tracking", {
103
+ detail: {
104
+ type: "plane-updated",
105
+ context: planeContext
106
+ }
107
+ });
108
+ this.dispatchEvent(evt);
109
+ }
110
+ }
111
+ // Otherwise we create a new plane instance
112
+ else {
113
+ // if we don't have any template assigned we just use a simple mesh object
114
+ if (!this.planeTemplate) {
115
+ this.planeTemplate = new Mesh();
116
+ }
117
+ if (this.planeTemplate) {
118
+ // Create instance
119
+ const newPlane = GameObject.instantiate(this.planeTemplate);
120
+ planeMesh = newPlane;
121
+ if (newPlane instanceof Mesh) {
122
+ disposeObjectResources(newPlane.geometry);
123
+ newPlane.geometry = this.createGeometry(plane.polygon);
124
+ }
125
+ const mc = newPlane.getComponent(MeshCollider);
126
+ if (mc) {
127
+ mc.sharedMesh = newPlane;
128
+ mc.convex = true;
129
+ mc.onDisable();
130
+ mc.onEnable();
131
+ }
132
+ // doesn't seem to work as MeshCollider doesn't have a clear way to refresh itself
133
+ // after the geometry has changed
134
+ // newPlane.getComponent(MeshCollider)!.sharedMesh = newPlane as unknown as Mesh;
135
+ newPlane.matrixAutoUpdate = false;
136
+ newPlane.matrixWorldNeedsUpdate = true; // force update of rendering settings and so on
137
+ rig.add(newPlane);
138
+ const planeContext = {
139
+ id: this._planeId++,
140
+ xrPlane: plane,
141
+ timestamp: plane.lastChangedTime,
142
+ mesh: newPlane,
143
+ collider: mc
144
+ };
145
+ this._allPlanes.set(plane, planeContext);
146
+ if (debug)
147
+ console.log("New plane detected, id=" + planeContext.id);
148
+ try {
149
+ const evt = new CustomEvent("plane-tracking", {
150
+ detail: {
151
+ type: "plane-added",
152
+ context: planeContext
153
+ }
154
+ });
155
+ this.dispatchEvent(evt);
156
+ }
157
+ catch (e) {
158
+ console.error(e);
159
+ }
160
+ }
161
+ }
162
+ if (planeMesh) {
163
+ if (planePose) {
164
+ planeMesh.visible = true;
165
+ planeMesh.matrix.fromArray(planePose.transform.matrix);
166
+ }
167
+ else {
168
+ planeMesh.visible = false;
169
+ }
170
+ }
171
+ }
172
+ ;
173
+ }
174
+ createGeometry(polygon) {
175
+ const geometry = new BufferGeometry();
176
+ const vertices = [];
177
+ const uvs = [];
178
+ polygon.forEach(point => {
179
+ vertices.push(point.x, point.y, point.z);
180
+ uvs.push(point.x, point.z);
181
+ });
182
+ // get the normal of the plane by using the cross product of B-A and C-A
183
+ const a = new Vector3(vertices[0], vertices[1], vertices[2]);
184
+ const b = new Vector3(vertices[3], vertices[4], vertices[5]);
185
+ const c = new Vector3(vertices[6], vertices[7], vertices[8]);
186
+ const ab = new Vector3();
187
+ const ac = new Vector3();
188
+ ab.subVectors(b, a);
189
+ ac.subVectors(c, a);
190
+ ab.cross(ac);
191
+ ab.normalize();
192
+ const normals = [];
193
+ for (let i = 0; i < vertices.length / 3; i++) {
194
+ normals.push(ab.x, ab.y, ab.z);
195
+ }
196
+ const indices = [];
197
+ for (let i = 2; i < polygon.length; ++i) {
198
+ indices.push(0, i - 1, i);
199
+ }
200
+ geometry.setAttribute('position', new BufferAttribute(new Float32Array(vertices), 3));
201
+ geometry.setAttribute('uv', new BufferAttribute(new Float32Array(uvs), 2));
202
+ geometry.setAttribute('normal', new BufferAttribute(new Float32Array(normals), 3));
203
+ geometry.setIndex(indices);
204
+ return geometry;
205
+ }
206
+ }
207
+ __decorate([
208
+ serializable(Object3D)
209
+ ], WebXRPlaneTracking.prototype, "planeTemplate", void 0);
210
+ //# sourceMappingURL=WebXRPlaneTracking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebXRPlaneTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRPlaneTracking.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Behaviour } from "./Component";
1
+ import { Behaviour } from "../Component";
2
2
  export declare class XRRig extends Behaviour {
3
3
  awake(): void;
4
4
  }
@@ -1,7 +1,7 @@
1
1
  import { Object3D } from "three";
2
- import { getParam } from "../engine/engine_utils";
3
- import { Behaviour } from "./Component";
4
- import { BoxGizmo } from "./Gizmos";
2
+ import { getParam } from "../../engine/engine_utils";
3
+ import { Behaviour } from "../Component";
4
+ import { BoxGizmo } from "../Gizmos";
5
5
  const debug = getParam("debugrig");
6
6
  export class XRRig extends Behaviour {
7
7
  awake() {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebXRRig.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRRig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAc,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;AAEnC,MAAM,OAAO,KAAM,SAAQ,SAAS;IAChC,KAAK;QACD,qCAAqC;QACrC,+BAA+B;QAC/B,IAAI,KAAK,EAAE;YACP,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAiB,CAAC;YAC/C,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,KAAK;gBACL,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;SAC7B;IACL,CAAC;CACJ"}
@@ -1,9 +1,9 @@
1
- import { Behaviour } from "./Component";
2
- import { NetworkConnection } from "../engine/engine_networking";
1
+ import { Behaviour } from "../Component";
2
+ import { NetworkConnection } from "../../engine/engine_networking";
3
3
  import { WebXR } from "./WebXR";
4
4
  import { Group, Quaternion, Vector3, Vector4 } from "three";
5
5
  import { Builder } from "flatbuffers";
6
- import { VrUserStateBuffer } from "../engine-schemes/vr-user-state-buffer";
6
+ import { VrUserStateBuffer } from "../../engine-schemes/vr-user-state-buffer";
7
7
  export declare class VRUserState {
8
8
  guid: string;
9
9
  time: number;
@@ -1,14 +1,14 @@
1
- import { Behaviour, GameObject } from "./Component";
2
- import { RoomEvents, OwnershipModel } from "../engine/engine_networking";
1
+ import { Behaviour, GameObject } from "../Component";
2
+ import { RoomEvents, OwnershipModel } from "../../engine/engine_networking";
3
3
  import { WebXR, WebXREvent } from "./WebXR";
4
4
  import { Quaternion, Vector3, Vector4 } from "three";
5
- import { getParam } from "../engine/engine_utils";
6
- import { Voip } from "./Voip";
5
+ import { getParam } from "../../engine/engine_utils";
6
+ import { Voip } from "../Voip";
7
7
  import { Builder, Long } from "flatbuffers";
8
- import { VrUserStateBuffer } from "../engine-schemes/vr-user-state-buffer";
9
- import { Vec3 } from "../engine-schemes/vec3";
10
- import { registerType } from "../engine-schemes/schemes";
11
- import { Vec4 } from "../engine-schemes/vec4";
8
+ import { VrUserStateBuffer } from "../../engine-schemes/vr-user-state-buffer";
9
+ import { Vec3 } from "../../engine-schemes/vec3";
10
+ import { registerType } from "../../engine-schemes/schemes";
11
+ import { Vec4 } from "../../engine-schemes/vec4";
12
12
  import { WebXRAvatar } from "./WebXRAvatar";
13
13
  // for debug GUI
14
14
  // import { GUI } from "three/examples/jsm/libs/lil-gui.module.min.js";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebXRSync.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRSync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./WebXR";
2
+ export * from "./WebXRPlaneTracking";
@@ -0,0 +1,3 @@
1
+ export * from "./WebXR";
2
+ export * from "./WebXRPlaneTracking";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC"}