@needle-tools/engine 3.2.4-alpha.2 → 3.2.5-alpha.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.
Files changed (125) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/needle-engine.js +19397 -19210
  3. package/dist/needle-engine.min.js +287 -287
  4. package/dist/needle-engine.umd.cjs +281 -281
  5. package/lib/engine/api.d.ts +2 -0
  6. package/lib/engine/api.js +2 -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/engine_rendererdata.d.ts +3 -3
  15. package/lib/engine/engine_rendererdata.js +8 -6
  16. package/lib/engine/engine_rendererdata.js.map +1 -1
  17. package/lib/engine-components/DragControls.js +1 -1
  18. package/lib/engine-components/DragControls.js.map +1 -1
  19. package/lib/engine-components/Duplicatable.js +1 -1
  20. package/lib/engine-components/Duplicatable.js.map +1 -1
  21. package/lib/engine-components/Light.js +2 -2
  22. package/lib/engine-components/Light.js.map +1 -1
  23. package/lib/engine-components/PlayerColor.js +1 -1
  24. package/lib/engine-components/PlayerColor.js.map +1 -1
  25. package/lib/engine-components/ShadowCatcher.d.ts +3 -1
  26. package/lib/engine-components/ShadowCatcher.js +14 -0
  27. package/lib/engine-components/ShadowCatcher.js.map +1 -1
  28. package/lib/engine-components/SpectatorCamera.js +2 -2
  29. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  30. package/lib/engine-components/SyncedCamera.js +2 -2
  31. package/lib/engine-components/SyncedCamera.js.map +1 -1
  32. package/lib/engine-components/api.d.ts +1 -0
  33. package/lib/engine-components/api.js +1 -0
  34. package/lib/engine-components/api.js.map +1 -1
  35. package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +1 -1
  36. package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +1 -1
  37. package/lib/engine-components/avatar/Avatar_Brain_LookAt.js.map +1 -1
  38. package/lib/engine-components/avatar/Avatar_MouthShapes.js +1 -1
  39. package/lib/engine-components/avatar/Avatar_MouthShapes.js.map +1 -1
  40. package/lib/engine-components/avatar/Avatar_MustacheShake.js +1 -1
  41. package/lib/engine-components/avatar/Avatar_MustacheShake.js.map +1 -1
  42. package/lib/engine-components/codegen/components.d.ts +20 -17
  43. package/lib/engine-components/codegen/components.js +20 -17
  44. package/lib/engine-components/codegen/components.js.map +1 -1
  45. package/lib/engine-components/export/usdz/USDZExporter.js +2 -2
  46. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  47. package/lib/engine-components/ui/EventSystem.js +2 -2
  48. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  49. package/lib/engine-components/ui/InputField.js +2 -1
  50. package/lib/engine-components/ui/InputField.js.map +1 -1
  51. package/lib/engine-components/{WebARCameraBackground.d.ts → webxr/WebARCameraBackground.d.ts} +2 -2
  52. package/lib/engine-components/{WebARCameraBackground.js → webxr/WebARCameraBackground.js} +4 -4
  53. package/lib/engine-components/webxr/WebARCameraBackground.js.map +1 -0
  54. package/lib/engine-components/{WebARSessionRoot.d.ts → webxr/WebARSessionRoot.d.ts} +1 -1
  55. package/lib/engine-components/{WebARSessionRoot.js → webxr/WebARSessionRoot.js} +3 -3
  56. package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -0
  57. package/lib/engine-components/{WebXR.d.ts → webxr/WebXR.d.ts} +2 -2
  58. package/lib/engine-components/{WebXR.js → webxr/WebXR.js} +12 -12
  59. package/lib/engine-components/webxr/WebXR.js.map +1 -0
  60. package/lib/engine-components/{WebXRAvatar.d.ts → webxr/WebXRAvatar.d.ts} +3 -3
  61. package/lib/engine-components/{WebXRAvatar.js → webxr/WebXRAvatar.js} +7 -7
  62. package/lib/engine-components/webxr/WebXRAvatar.js.map +1 -0
  63. package/lib/engine-components/{WebXRController.d.ts → webxr/WebXRController.d.ts} +2 -2
  64. package/lib/engine-components/{WebXRController.js → webxr/WebXRController.js} +12 -12
  65. package/lib/engine-components/webxr/WebXRController.js.map +1 -0
  66. package/lib/engine-components/{WebXRGrabRendering.d.ts → webxr/WebXRGrabRendering.d.ts} +3 -3
  67. package/lib/engine-components/{WebXRGrabRendering.js → webxr/WebXRGrabRendering.js} +4 -4
  68. package/lib/engine-components/webxr/WebXRGrabRendering.js.map +1 -0
  69. package/lib/engine-components/{WebXRImageTracking.d.ts → webxr/WebXRImageTracking.d.ts} +1 -1
  70. package/lib/engine-components/{WebXRImageTracking.js → webxr/WebXRImageTracking.js} +5 -4
  71. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -0
  72. package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +29 -0
  73. package/lib/engine-components/webxr/WebXRPlaneTracking.js +210 -0
  74. package/lib/engine-components/webxr/WebXRPlaneTracking.js.map +1 -0
  75. package/lib/engine-components/{WebXRRig.d.ts → webxr/WebXRRig.d.ts} +1 -1
  76. package/lib/engine-components/{WebXRRig.js → webxr/WebXRRig.js} +3 -3
  77. package/lib/engine-components/webxr/WebXRRig.js.map +1 -0
  78. package/lib/engine-components/{WebXRSync.d.ts → webxr/WebXRSync.d.ts} +3 -3
  79. package/lib/engine-components/{WebXRSync.js → webxr/WebXRSync.js} +8 -8
  80. package/lib/engine-components/webxr/WebXRSync.js.map +1 -0
  81. package/lib/engine-components/webxr/index.d.ts +3 -0
  82. package/lib/engine-components/webxr/index.js +4 -0
  83. package/lib/engine-components/webxr/index.js.map +1 -0
  84. package/lib/tsconfig.tsbuildinfo +1 -1
  85. package/package.json +1 -1
  86. package/src/engine/api.ts +2 -0
  87. package/src/engine/codegen/register_types.js +25 -19
  88. package/src/engine/engine_element_loading.ts +25 -10
  89. package/src/engine/engine_networking_auto.ts +1 -1
  90. package/src/engine/engine_rendererdata.ts +16 -14
  91. package/src/engine-components/DragControls.ts +1 -1
  92. package/src/engine-components/Duplicatable.ts +1 -1
  93. package/src/engine-components/Light.ts +2 -2
  94. package/src/engine-components/PlayerColor.ts +1 -1
  95. package/src/engine-components/ShadowCatcher.ts +15 -0
  96. package/src/engine-components/SpectatorCamera.ts +2 -2
  97. package/src/engine-components/SyncedCamera.ts +2 -2
  98. package/src/engine-components/api.ts +1 -0
  99. package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +1 -1
  100. package/src/engine-components/avatar/Avatar_MouthShapes.ts +1 -1
  101. package/src/engine-components/avatar/Avatar_MustacheShake.ts +1 -1
  102. package/src/engine-components/codegen/components.ts +20 -17
  103. package/src/engine-components/export/usdz/USDZExporter.ts +2 -2
  104. package/src/engine-components/ui/EventSystem.ts +2 -2
  105. package/src/engine-components/ui/InputField.ts +2 -1
  106. package/src/engine-components/{WebARCameraBackground.ts → webxr/WebARCameraBackground.ts} +4 -4
  107. package/src/engine-components/{WebARSessionRoot.ts → webxr/WebARSessionRoot.ts} +3 -3
  108. package/src/engine-components/{WebXR.ts → webxr/WebXR.ts} +15 -15
  109. package/src/engine-components/{WebXRAvatar.ts → webxr/WebXRAvatar.ts} +9 -9
  110. package/src/engine-components/{WebXRController.ts → webxr/WebXRController.ts} +13 -13
  111. package/src/engine-components/{WebXRGrabRendering.ts → webxr/WebXRGrabRendering.ts} +5 -5
  112. package/src/engine-components/{WebXRImageTracking.ts → webxr/WebXRImageTracking.ts} +5 -4
  113. package/src/engine-components/webxr/WebXRPlaneTracking.ts +254 -0
  114. package/src/engine-components/{WebXRRig.ts → webxr/WebXRRig.ts} +4 -4
  115. package/src/engine-components/{WebXRSync.ts → webxr/WebXRSync.ts} +8 -8
  116. package/src/engine-components/webxr/index.ts +3 -0
  117. package/lib/engine-components/WebARCameraBackground.js.map +0 -1
  118. package/lib/engine-components/WebARSessionRoot.js.map +0 -1
  119. package/lib/engine-components/WebXR.js.map +0 -1
  120. package/lib/engine-components/WebXRAvatar.js.map +0 -1
  121. package/lib/engine-components/WebXRController.js.map +0 -1
  122. package/lib/engine-components/WebXRGrabRendering.js.map +0 -1
  123. package/lib/engine-components/WebXRImageTracking.js.map +0 -1
  124. package/lib/engine-components/WebXRRig.js.map +0 -1
  125. package/lib/engine-components/WebXRSync.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebXRController.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRController.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { Behaviour } from "./Component";
1
+ import { Behaviour } from "../Component";
2
2
  import { Object3D, Vector3 } from "three";
3
- import { Context } from "../engine/engine_setup";
4
- import { IModel } from "../engine/engine_networking_types";
3
+ import { Context } from "../../engine/engine_setup";
4
+ import { IModel } from "../../engine/engine_networking_types";
5
5
  export declare class XRGrabModel implements IModel {
6
6
  guid: any;
7
7
  dontSave: boolean;
@@ -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,3 @@
1
+ export * from "./WebXR";
2
+ export * from "./WebXRPlaneTracking";
3
+ export * from "./WebXRController";
@@ -0,0 +1,4 @@
1
+ export * from "./WebXR";
2
+ export * from "./WebXRPlaneTracking";
3
+ export * from "./WebXRController";
4
+ //# 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;AACrC,cAAc,mBAAmB,CAAC"}