@galacean/engine-xr 1.3.24 → 1.4.0-alpha.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/dist/browser.js CHANGED
@@ -5,17 +5,18 @@
5
5
  })(this, (function (exports, engine) { 'use strict';
6
6
 
7
7
  function _is_native_reflect_construct() {
8
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
9
- if (Reflect.construct.sham) return false;
10
- if (typeof Proxy === "function") return true;
11
-
8
+ // Since Reflect.construct can't be properly polyfilled, some
9
+ // implementations (e.g. core-js@2) don't set the correct internal slots.
10
+ // Those polyfills don't allow us to subclass built-ins, so we need to
11
+ // use our fallback implementation.
12
12
  try {
13
- Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
14
-
15
- return true;
16
- } catch (e) {
17
- return false;
18
- }
13
+ // If the internal slots aren't set, this throws an error similar to
14
+ // TypeError: this is not a Boolean object.
15
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
16
+ } catch (_) {}
17
+ return (_is_native_reflect_construct = function() {
18
+ return !!result;
19
+ })();
19
20
  }
20
21
 
21
22
  function _set_prototype_of(o, p) {
@@ -82,28 +83,28 @@
82
83
 
83
84
  /**
84
85
  * Enumerates some input devices that can be tracked.(including status, posture and other information)
85
- */ exports.XRTrackedInputDevice = void 0;
86
- (function(XRTrackedInputDevice) {
87
- XRTrackedInputDevice[XRTrackedInputDevice[/** Controller */ "Controller"] = 0] = "Controller";
88
- XRTrackedInputDevice[XRTrackedInputDevice[/** Left controller */ "LeftController"] = 1] = "LeftController";
89
- XRTrackedInputDevice[XRTrackedInputDevice[/** Right controller */ "RightController"] = 2] = "RightController";
90
- XRTrackedInputDevice[XRTrackedInputDevice[/** Camera */ "Camera"] = 3] = "Camera";
91
- XRTrackedInputDevice[XRTrackedInputDevice[/** Left camera */ "LeftCamera"] = 4] = "LeftCamera";
92
- XRTrackedInputDevice[XRTrackedInputDevice[/** Right camera */ "RightCamera"] = 5] = "RightCamera";
93
- XRTrackedInputDevice[XRTrackedInputDevice[/** Head */ "LeftHand"] = 6] = "LeftHand";
94
- XRTrackedInputDevice[XRTrackedInputDevice[/** Right hand */ "RightHand"] = 7] = "RightHand";
95
- })(exports.XRTrackedInputDevice || (exports.XRTrackedInputDevice = {}));
86
+ */ var XRTrackedInputDevice = /*#__PURE__*/ function(XRTrackedInputDevice) {
87
+ /** Controller */ XRTrackedInputDevice[XRTrackedInputDevice["Controller"] = 0] = "Controller";
88
+ /** Left controller */ XRTrackedInputDevice[XRTrackedInputDevice["LeftController"] = 1] = "LeftController";
89
+ /** Right controller */ XRTrackedInputDevice[XRTrackedInputDevice["RightController"] = 2] = "RightController";
90
+ /** Camera */ XRTrackedInputDevice[XRTrackedInputDevice["Camera"] = 3] = "Camera";
91
+ /** Left camera */ XRTrackedInputDevice[XRTrackedInputDevice["LeftCamera"] = 4] = "LeftCamera";
92
+ /** Right camera */ XRTrackedInputDevice[XRTrackedInputDevice["RightCamera"] = 5] = "RightCamera";
93
+ /** Head */ XRTrackedInputDevice[XRTrackedInputDevice["LeftHand"] = 6] = "LeftHand";
94
+ /** Right hand */ XRTrackedInputDevice[XRTrackedInputDevice["RightHand"] = 7] = "RightHand";
95
+ return XRTrackedInputDevice;
96
+ }({});
96
97
 
97
98
  /**
98
99
  * The state of an XRSession.
99
- */ exports.XRSessionState = void 0;
100
- (function(XRSessionState) {
101
- XRSessionState[XRSessionState[/** Not initialized. */ "None"] = 0] = "None";
102
- XRSessionState[XRSessionState[/** Initializing session. */ "Initializing"] = 1] = "Initializing";
103
- XRSessionState[XRSessionState[/** Initialized but not started. */ "Initialized"] = 2] = "Initialized";
104
- XRSessionState[XRSessionState[/** Running. */ "Running"] = 3] = "Running";
105
- XRSessionState[XRSessionState[/** Paused. */ "Paused"] = 4] = "Paused";
106
- })(exports.XRSessionState || (exports.XRSessionState = {}));
100
+ */ var XRSessionState = /*#__PURE__*/ function(XRSessionState) {
101
+ /** Not initialized. */ XRSessionState[XRSessionState["None"] = 0] = "None";
102
+ /** Initializing session. */ XRSessionState[XRSessionState["Initializing"] = 1] = "Initializing";
103
+ /** Initialized but not started. */ XRSessionState[XRSessionState["Initialized"] = 2] = "Initialized";
104
+ /** Running. */ XRSessionState[XRSessionState["Running"] = 3] = "Running";
105
+ /** Paused. */ XRSessionState[XRSessionState["Paused"] = 4] = "Paused";
106
+ return XRSessionState;
107
+ }({});
107
108
 
108
109
  /**
109
110
  * The manager of XR camera.
@@ -124,15 +125,15 @@
124
125
  // @ts-ignore
125
126
  preCamera && (preCamera._cameraType = engine.CameraType.Normal);
126
127
  switch(type){
127
- case exports.XRTrackedInputDevice.Camera:
128
+ case XRTrackedInputDevice.Camera:
128
129
  // @ts-ignore
129
130
  camera._cameraType = engine.CameraType.XRCenterCamera;
130
131
  break;
131
- case exports.XRTrackedInputDevice.LeftCamera:
132
+ case XRTrackedInputDevice.LeftCamera:
132
133
  // @ts-ignore
133
134
  camera._cameraType = engine.CameraType.XRLeftCamera;
134
135
  break;
135
- case exports.XRTrackedInputDevice.RightCamera:
136
+ case XRTrackedInputDevice.RightCamera:
136
137
  // @ts-ignore
137
138
  camera._cameraType = engine.CameraType.XRRightCamera;
138
139
  break;
@@ -187,7 +188,7 @@
187
188
  * @internal
188
189
  */ _proto._getIgnoreClearFlags = function _getIgnoreClearFlags(cameraType) {
189
190
  if (cameraType === engine.CameraType.XRCenterCamera) {
190
- if (this._xrManager.sessionManager.state === exports.XRSessionState.Running) {
191
+ if (this._xrManager.sessionManager.state === XRSessionState.Running) {
191
192
  return engine.CameraClearFlags.Color;
192
193
  } else {
193
194
  return engine.CameraClearFlags.None;
@@ -236,28 +237,25 @@
236
237
 
237
238
  /**
238
239
  * Enum for XR tracking state.
239
- */ exports.XRTrackingState = void 0;
240
- (function(XRTrackingState) {
241
- XRTrackingState[XRTrackingState[/** Not tracking */ "NotTracking"] = 0] = "NotTracking";
242
- XRTrackingState[XRTrackingState[/** Tracking */ "Tracking"] = 1] = "Tracking";
243
- XRTrackingState[XRTrackingState[/** Lost track */ "TrackingLost"] = 2] = "TrackingLost";
244
- })(exports.XRTrackingState || (exports.XRTrackingState = {}));
240
+ */ var XRTrackingState = /*#__PURE__*/ function(XRTrackingState) {
241
+ /** Not tracking */ XRTrackingState[XRTrackingState["NotTracking"] = 0] = "NotTracking";
242
+ /** Tracking */ XRTrackingState[XRTrackingState["Tracking"] = 1] = "Tracking";
243
+ /** Lost track */ XRTrackingState[XRTrackingState["TrackingLost"] = 2] = "TrackingLost";
244
+ return XRTrackingState;
245
+ }({});
245
246
 
246
247
  var XRInput = function XRInput(type) {
247
248
  this.type = type;
248
- this./** The tracking state of xr input. */ trackingState = exports.XRTrackingState.NotTracking;
249
+ this./** The tracking state of xr input. */ trackingState = XRTrackingState.NotTracking;
249
250
  };
250
251
 
251
252
  /**
252
253
  * The XR camera.
253
- */ var XRCamera = /*#__PURE__*/ function(XRInput1) {
254
- _inherits(XRCamera, XRInput1);
254
+ */ var XRCamera = /*#__PURE__*/ function(XRInput) {
255
+ _inherits(XRCamera, XRInput);
255
256
  function XRCamera() {
256
257
  var _this;
257
- _this = XRInput1.apply(this, arguments) || this;
258
- /** The pose of the camera in XR space. */ _this.pose = new XRPose();
259
- /** The viewport of the camera. */ _this.viewport = new engine.Rect();
260
- /** The projection matrix of the camera. */ _this.projectionMatrix = new engine.Matrix();
258
+ _this = XRInput.apply(this, arguments) || this, /** The pose of the camera in XR space. */ _this.pose = new XRPose(), /** The viewport of the camera. */ _this.viewport = new engine.Rect(), /** The projection matrix of the camera. */ _this.projectionMatrix = new engine.Matrix();
261
259
  return _this;
262
260
  }
263
261
  return XRCamera;
@@ -265,29 +263,24 @@
265
263
 
266
264
  /**
267
265
  * Enum for XR input button.
268
- */ exports.XRInputButton = void 0;
269
- (function(XRInputButton) {
270
- XRInputButton[XRInputButton[/** None */ "None"] = 0x0] = "None";
271
- XRInputButton[XRInputButton[/** Select */ "Select"] = 0x1] = "Select";
272
- XRInputButton[XRInputButton[/** Select */ "Trigger"] = 0x1] = "Trigger";
273
- XRInputButton[XRInputButton[/** Squeeze */ "Squeeze"] = 0x2] = "Squeeze";
274
- XRInputButton[XRInputButton[/** TouchPad */ "TouchPad"] = 0x4] = "TouchPad";
275
- XRInputButton[XRInputButton[/** A */ "AButton"] = 0x8] = "AButton";
276
- XRInputButton[XRInputButton[/** B */ "BButton"] = 0x10] = "BButton";
277
- })(exports.XRInputButton || (exports.XRInputButton = {}));
266
+ */ var XRInputButton = /*#__PURE__*/ function(XRInputButton) {
267
+ /** None */ XRInputButton[XRInputButton["None"] = 0] = "None";
268
+ /** Select */ XRInputButton[XRInputButton["Select"] = 1] = "Select";
269
+ /** Select */ XRInputButton[XRInputButton["Trigger"] = 1] = "Trigger";
270
+ /** Squeeze */ XRInputButton[XRInputButton["Squeeze"] = 2] = "Squeeze";
271
+ /** TouchPad */ XRInputButton[XRInputButton["TouchPad"] = 4] = "TouchPad";
272
+ /** A */ XRInputButton[XRInputButton["AButton"] = 8] = "AButton";
273
+ /** B */ XRInputButton[XRInputButton["BButton"] = 16] = "BButton";
274
+ return XRInputButton;
275
+ }({});
278
276
 
279
277
  /**
280
278
  * The XR controller.
281
- */ var XRController = /*#__PURE__*/ function(XRInput1) {
282
- _inherits(XRController, XRInput1);
279
+ */ var XRController = /*#__PURE__*/ function(XRInput) {
280
+ _inherits(XRController, XRInput);
283
281
  function XRController() {
284
282
  var _this;
285
- _this = XRInput1.apply(this, arguments) || this;
286
- /** The grip space pose of the controller in XR space. */ _this.gripPose = new XRPose();
287
- /** The target ray space pose of the controller in XR space. */ _this.targetRayPose = new XRPose();
288
- /** The currently pressed buttons of this controller. */ _this.pressedButtons = exports.XRInputButton.None;
289
- /** Record button lifted. */ _this.down = exports.XRInputButton.None;
290
- /** Record button pressed. */ _this.up = exports.XRInputButton.None;
283
+ _this = XRInput.apply(this, arguments) || this, /** The grip space pose of the controller in XR space. */ _this.gripPose = new XRPose(), /** The target ray space pose of the controller in XR space. */ _this.targetRayPose = new XRPose(), /** The currently pressed buttons of this controller. */ _this.pressedButtons = XRInputButton.None, /** Record button lifted. */ _this.down = XRInputButton.None, /** Record button pressed. */ _this.up = XRInputButton.None;
291
284
  return _this;
292
285
  }
293
286
  var _proto = XRController.prototype;
@@ -316,22 +309,22 @@
316
309
  return XRController;
317
310
  }(XRInput);
318
311
 
319
- exports.XRInputEventType = void 0;
320
- (function(XRInputEventType) {
312
+ var XRInputEventType = /*#__PURE__*/ function(XRInputEventType) {
321
313
  XRInputEventType[XRInputEventType["SelectStart"] = 0] = "SelectStart";
322
314
  XRInputEventType[XRInputEventType["Select"] = 1] = "Select";
323
315
  XRInputEventType[XRInputEventType["SelectEnd"] = 2] = "SelectEnd";
324
316
  XRInputEventType[XRInputEventType["SqueezeStart"] = 3] = "SqueezeStart";
325
317
  XRInputEventType[XRInputEventType["Squeeze"] = 4] = "Squeeze";
326
318
  XRInputEventType[XRInputEventType["SqueezeEnd"] = 5] = "SqueezeEnd";
327
- })(exports.XRInputEventType || (exports.XRInputEventType = {}));
319
+ return XRInputEventType;
320
+ }({});
328
321
 
329
- exports.XRTargetRayMode = void 0;
330
- (function(XRTargetRayMode) {
322
+ var XRTargetRayMode = /*#__PURE__*/ function(XRTargetRayMode) {
331
323
  XRTargetRayMode[XRTargetRayMode["Gaze"] = 0] = "Gaze";
332
324
  XRTargetRayMode[XRTargetRayMode["TrackedPointer"] = 1] = "TrackedPointer";
333
325
  XRTargetRayMode[XRTargetRayMode["Screen"] = 2] = "Screen";
334
- })(exports.XRTargetRayMode || (exports.XRTargetRayMode = {}));
326
+ return XRTargetRayMode;
327
+ }({});
335
328
 
336
329
  /**
337
330
  * The manager of XR input.
@@ -349,19 +342,19 @@
349
342
  var _this = this, trackedDevices = _this._trackedDevices, controllers = _this._controllers, cameras = _this._cameras;
350
343
  for(var i = 0; i < 6; i++){
351
344
  switch(i){
352
- case exports.XRTrackedInputDevice.Camera:
353
- case exports.XRTrackedInputDevice.LeftCamera:
354
- case exports.XRTrackedInputDevice.RightCamera:
345
+ case XRTrackedInputDevice.Camera:
346
+ case XRTrackedInputDevice.LeftCamera:
347
+ case XRTrackedInputDevice.RightCamera:
355
348
  cameras.push(trackedDevices[i] = new XRCamera(i));
356
349
  break;
357
- case exports.XRTrackedInputDevice.Controller:
358
- case exports.XRTrackedInputDevice.LeftController:
359
- case exports.XRTrackedInputDevice.RightController:
350
+ case XRTrackedInputDevice.Controller:
351
+ case XRTrackedInputDevice.LeftController:
352
+ case XRTrackedInputDevice.RightController:
360
353
  controllers.push(trackedDevices[i] = new XRController(i));
361
354
  break;
362
355
  }
363
356
  }
364
- this._statusSnapshot.fill(exports.XRTrackingState.NotTracking, 0, trackedDevices.length);
357
+ this._statusSnapshot.fill(XRTrackingState.NotTracking, 0, trackedDevices.length);
365
358
  }
366
359
  var _proto = XRInputManager.prototype;
367
360
  /**
@@ -410,12 +403,12 @@
410
403
  var input = trackedDevices[i2];
411
404
  if (!input) continue;
412
405
  var nowState = input.trackingState;
413
- if (statusSnapshot[i2] === exports.XRTrackingState.Tracking) {
414
- if (nowState !== exports.XRTrackingState.Tracking) {
406
+ if (statusSnapshot[i2] === XRTrackingState.Tracking) {
407
+ if (nowState !== XRTrackingState.Tracking) {
415
408
  removed.push(input);
416
409
  }
417
410
  } else {
418
- if (nowState === exports.XRTrackingState.Tracking) {
411
+ if (nowState === XRTrackingState.Tracking) {
419
412
  added.push(input);
420
413
  }
421
414
  }
@@ -440,27 +433,27 @@
440
433
  _proto._handleEvent = function _handleEvent(event) {
441
434
  var input = this._trackedDevices[event.input];
442
435
  switch(event.targetRayMode){
443
- case exports.XRTargetRayMode.TrackedPointer:
436
+ case XRTargetRayMode.TrackedPointer:
444
437
  switch(event.type){
445
- case exports.XRInputEventType.SelectStart:
446
- input.down |= exports.XRInputButton.Select;
447
- input.pressedButtons |= exports.XRInputButton.Select;
438
+ case XRInputEventType.SelectStart:
439
+ input.down |= XRInputButton.Select;
440
+ input.pressedButtons |= XRInputButton.Select;
448
441
  break;
449
- case exports.XRInputEventType.SelectEnd:
450
- input.up |= exports.XRInputButton.Select;
451
- input.pressedButtons &= ~exports.XRInputButton.Select;
442
+ case XRInputEventType.SelectEnd:
443
+ input.up |= XRInputButton.Select;
444
+ input.pressedButtons &= ~XRInputButton.Select;
452
445
  break;
453
- case exports.XRInputEventType.SqueezeStart:
454
- input.down |= exports.XRInputButton.Squeeze;
455
- input.pressedButtons |= exports.XRInputButton.Squeeze;
446
+ case XRInputEventType.SqueezeStart:
447
+ input.down |= XRInputButton.Squeeze;
448
+ input.pressedButtons |= XRInputButton.Squeeze;
456
449
  break;
457
- case exports.XRInputEventType.SqueezeEnd:
458
- input.up |= exports.XRInputButton.Squeeze;
459
- input.pressedButtons &= ~exports.XRInputButton.Squeeze;
450
+ case XRInputEventType.SqueezeEnd:
451
+ input.up |= XRInputButton.Squeeze;
452
+ input.pressedButtons &= ~XRInputButton.Squeeze;
460
453
  break;
461
454
  }
462
455
  break;
463
- case exports.XRTargetRayMode.Screen:
456
+ case XRTargetRayMode.Screen:
464
457
  var _this = this, engine = _this._engine;
465
458
  // @ts-ignore
466
459
  var target = engine.inputManager._pointerManager._target;
@@ -471,13 +464,13 @@
471
464
  var clientY = clientHeight * (event.y + 1) * 0.5;
472
465
  // @ts-ignore
473
466
  switch(event.type){
474
- case exports.XRInputEventType.SelectStart:
467
+ case XRInputEventType.SelectStart:
475
468
  target.dispatchEvent(this._makeUpPointerEvent("pointerdown", event.id, clientX, clientY));
476
469
  break;
477
- case exports.XRInputEventType.Select:
470
+ case XRInputEventType.Select:
478
471
  target.dispatchEvent(this._makeUpPointerEvent("pointermove", event.id, clientX, clientY));
479
472
  break;
480
- case exports.XRInputEventType.SelectEnd:
473
+ case XRInputEventType.SelectEnd:
481
474
  target.dispatchEvent(this._makeUpPointerEvent("pointerup", event.id, clientX, clientY));
482
475
  target.dispatchEvent(this._makeUpPointerEvent("pointerleave", event.id, clientX, clientY));
483
476
  break;
@@ -516,12 +509,12 @@
516
509
 
517
510
  /**
518
511
  * The type of XR session.
519
- */ exports.XRSessionMode = void 0;
520
- (function(XRSessionMode) {
512
+ */ var XRSessionMode = /*#__PURE__*/ function(XRSessionMode) {
521
513
  XRSessionMode[XRSessionMode["None"] = 0] = "None";
522
514
  XRSessionMode[XRSessionMode["AR"] = 1] = "AR";
523
515
  XRSessionMode[XRSessionMode["VR"] = 2] = "VR";
524
- })(exports.XRSessionMode || (exports.XRSessionMode = {}));
516
+ return XRSessionMode;
517
+ }({});
525
518
 
526
519
  /**
527
520
  * XRSessionManager manages the life cycle of XR sessions.
@@ -529,8 +522,8 @@
529
522
  function XRSessionManager(_xrManager, _engine) {
530
523
  this._xrManager = _xrManager;
531
524
  this._engine = _engine;
532
- this._mode = exports.XRSessionMode.None;
533
- this._state = exports.XRSessionState.None;
525
+ this._mode = XRSessionMode.None;
526
+ this._state = XRSessionState.None;
534
527
  this._listeners = new engine.SafeLoopArray();
535
528
  // @ts-ignore
536
529
  this._rhi = _engine._hardwareRenderer;
@@ -554,7 +547,7 @@
554
547
  throw new Error("Without session to run.");
555
548
  }
556
549
  platformSession.start();
557
- this._setState(exports.XRSessionState.Running);
550
+ this._setState(XRSessionState.Running);
558
551
  this._xrManager._onSessionStart();
559
552
  if (!engine.isPaused) {
560
553
  engine.pause();
@@ -568,13 +561,13 @@
568
561
  if (!platformSession) {
569
562
  throw new Error("Without session to stop.");
570
563
  }
571
- if (this._state !== exports.XRSessionState.Running) {
564
+ if (this._state !== XRSessionState.Running) {
572
565
  throw new Error("Session is not running.");
573
566
  }
574
567
  rhi._mainFrameBuffer = null;
575
568
  rhi._mainFrameWidth = rhi._mainFrameHeight = 0;
576
569
  platformSession.stop();
577
- this._setState(exports.XRSessionState.Paused);
570
+ this._setState(XRSessionState.Paused);
578
571
  this._xrManager._onSessionStop();
579
572
  if (!engine.isPaused) {
580
573
  engine.pause();
@@ -622,7 +615,7 @@
622
615
  xrManager._platformDevice.requestSession(_this._rhi, mode, platformFeatures).then(function(platformSession) {
623
616
  _this._mode = mode;
624
617
  _this._platformSession = platformSession;
625
- _this._setState(exports.XRSessionState.Initialized);
618
+ _this._setState(XRSessionState.Initialized);
626
619
  platformSession.setSessionExitCallBack(_this._onSessionExit);
627
620
  platformSession.addEventListener();
628
621
  xrManager._onSessionInit();
@@ -641,7 +634,7 @@
641
634
  /**
642
635
  * @internal
643
636
  */ _proto._getRequestAnimationFrame = function _getRequestAnimationFrame() {
644
- if (this._state === exports.XRSessionState.Running) {
637
+ if (this._state === XRSessionState.Running) {
645
638
  return this._platformSession.requestAnimationFrame;
646
639
  } else {
647
640
  return this._raf;
@@ -650,7 +643,7 @@
650
643
  /**
651
644
  * @internal
652
645
  */ _proto._getCancelAnimationFrame = function _getCancelAnimationFrame() {
653
- if (this._state === exports.XRSessionState.Running) {
646
+ if (this._state === XRSessionState.Running) {
654
647
  return this._platformSession.cancelAnimationFrame;
655
648
  } else {
656
649
  return this._caf;
@@ -671,7 +664,7 @@
671
664
  rhi._mainFrameWidth = rhi._mainFrameHeight = 0;
672
665
  platformSession.removeEventListener();
673
666
  this._platformSession = null;
674
- this._setState(exports.XRSessionState.None);
667
+ this._setState(XRSessionState.None);
675
668
  this._xrManager._onSessionExit();
676
669
  if (!engine.isPaused) {
677
670
  engine.pause();
@@ -725,10 +718,10 @@
725
718
 
726
719
  /**
727
720
  * @internal
728
- */ var XRManagerExtended = /*#__PURE__*/ function(XRManager1) {
729
- _inherits(XRManagerExtended, XRManager1);
721
+ */ var XRManagerExtended = /*#__PURE__*/ function(XRManager) {
722
+ _inherits(XRManagerExtended, XRManager);
730
723
  function XRManagerExtended() {
731
- return XRManager1.apply(this, arguments);
724
+ return XRManager.apply(this, arguments) || this;
732
725
  }
733
726
  var _proto = XRManagerExtended.prototype;
734
727
  _proto.isSupportedFeature = function isSupportedFeature(feature) {
@@ -748,7 +741,9 @@
748
741
  for(var i = 0, n = features.length; i < n; i++){
749
742
  if (_instanceof(features[i], type)) throw new Error("The feature has been added");
750
743
  }
751
- var feature = _construct(type, [].concat(this, args));
744
+ var feature = _construct(type, [].concat([
745
+ this
746
+ ], args));
752
747
  features.push(feature);
753
748
  return feature;
754
749
  };
@@ -762,8 +757,8 @@
762
757
  }
763
758
  };
764
759
  _proto.enterXR = function enterXR(sessionMode, autoRun) {
765
- if (autoRun === void 0) autoRun = true;
766
760
  var _this = this;
761
+ if (autoRun === void 0) autoRun = true;
767
762
  var sessionManager = this.sessionManager;
768
763
  if (sessionManager._platformSession) {
769
764
  throw new Error("Please exit XR immersive mode first.");
@@ -774,7 +769,7 @@
774
769
  return new Promise(function(resolve, reject) {
775
770
  // 1. Check if this xr mode is supported
776
771
  sessionManager.isSupportedMode(sessionMode).then(function() {
777
- sessionManager._setState(exports.XRSessionState.Initializing);
772
+ sessionManager._setState(XRSessionState.Initializing);
778
773
  // 2. Initialize session
779
774
  sessionManager._initialize(sessionMode, _this.features).then(function() {
780
775
  autoRun && sessionManager.run();
@@ -800,7 +795,7 @@
800
795
  };
801
796
  _proto._update = function _update() {
802
797
  var sessionManager = this.sessionManager;
803
- if (sessionManager.state !== exports.XRSessionState.Running) return;
798
+ if (sessionManager.state !== XRSessionState.Running) return;
804
799
  sessionManager._onUpdate();
805
800
  this.inputManager._onUpdate();
806
801
  this.cameraManager._onUpdate();
@@ -895,9 +890,7 @@
895
890
  ]);
896
891
  return XRManagerExtended;
897
892
  }(engine.XRManager);
898
- (function() {
899
- /** @internal */ XRManagerExtended._featureMap = new Map();
900
- })();
893
+ /** @internal */ XRManagerExtended._featureMap = new Map();
901
894
  /**
902
895
  * @internal
903
896
  */ function registerXRFeature(type) {
@@ -928,7 +921,9 @@
928
921
  this._xrManager = _xrManager;
929
922
  this._type = _type;
930
923
  this._enabled = true;
931
- this._platformFeature = (_xrManager__platformDevice = _xrManager._platformDevice).createPlatformFeature.apply(_xrManager__platformDevice, [].concat(_type, args));
924
+ this._platformFeature = (_xrManager__platformDevice = _xrManager._platformDevice).createPlatformFeature.apply(_xrManager__platformDevice, [].concat([
925
+ _type
926
+ ], args));
932
927
  this._onEnable();
933
928
  }
934
929
  var _proto = XRFeature.prototype;
@@ -975,38 +970,31 @@
975
970
  return XRFeature;
976
971
  }();
977
972
 
978
- exports.XRFeatureType = void 0;
979
- (function(XRFeatureType) {
973
+ var XRFeatureType = /*#__PURE__*/ function(XRFeatureType) {
980
974
  XRFeatureType[XRFeatureType["AnchorTracking"] = 0] = "AnchorTracking";
981
975
  XRFeatureType[XRFeatureType["ImageTracking"] = 1] = "ImageTracking";
982
976
  XRFeatureType[XRFeatureType["PlaneTracking"] = 2] = "PlaneTracking";
983
977
  XRFeatureType[XRFeatureType["HitTest"] = 3] = "HitTest";
984
- })(exports.XRFeatureType || (exports.XRFeatureType = {}));
978
+ return XRFeatureType;
979
+ }({});
985
980
 
986
- exports.XRRequestTrackingState = void 0;
987
- (function(XRRequestTrackingState) {
981
+ var XRRequestTrackingState = /*#__PURE__*/ function(XRRequestTrackingState) {
988
982
  XRRequestTrackingState[XRRequestTrackingState["None"] = 0] = "None";
989
983
  XRRequestTrackingState[XRRequestTrackingState["Submitted"] = 1] = "Submitted";
990
984
  XRRequestTrackingState[XRRequestTrackingState["Resolved"] = 2] = "Resolved";
991
985
  XRRequestTrackingState[XRRequestTrackingState["Rejected"] = 3] = "Rejected";
992
986
  XRRequestTrackingState[XRRequestTrackingState["Destroyed"] = 4] = "Destroyed";
993
987
  XRRequestTrackingState[XRRequestTrackingState["WaitingDestroy"] = 5] = "WaitingDestroy";
994
- })(exports.XRRequestTrackingState || (exports.XRRequestTrackingState = {}));
988
+ return XRRequestTrackingState;
989
+ }({});
995
990
 
996
991
  /**
997
992
  * The base class of XR trackable manager.
998
- */ var XRTrackableFeature = /*#__PURE__*/ function(XRFeature1) {
999
- _inherits(XRTrackableFeature, XRFeature1);
993
+ */ var XRTrackableFeature = /*#__PURE__*/ function(XRFeature) {
994
+ _inherits(XRTrackableFeature, XRFeature);
1000
995
  function XRTrackableFeature() {
1001
996
  var _this;
1002
- _this = XRFeature1.apply(this, arguments) || this;
1003
- _this._requestTrackings = [];
1004
- _this._tracked = [];
1005
- _this._added = [];
1006
- _this._updated = [];
1007
- _this._removed = [];
1008
- _this._statusSnapshot = {};
1009
- _this._listeners = new engine.SafeLoopArray();
997
+ _this = XRFeature.apply(this, arguments) || this, _this._requestTrackings = [], _this._tracked = [], _this._added = [], _this._updated = [], _this._removed = [], _this._statusSnapshot = {}, _this._listeners = new engine.SafeLoopArray();
1010
998
  return _this;
1011
999
  }
1012
1000
  var _proto = XRTrackableFeature.prototype;
@@ -1041,33 +1029,33 @@
1041
1029
  for(var i = 0, n = requestTrackings.length; i < n; i++){
1042
1030
  var requestTracking = requestTrackings[i];
1043
1031
  switch(requestTracking.state){
1044
- case exports.XRRequestTrackingState.Destroyed:
1032
+ case XRRequestTrackingState.Destroyed:
1045
1033
  var destroyedTracked = requestTracking.tracked;
1046
1034
  for(var j = 0, n1 = destroyedTracked.length; j < n1; j++){
1047
1035
  var tracked = destroyedTracked[j];
1048
1036
  var trackId = tracked.id;
1049
- if (statusSnapshot[trackId] === exports.XRTrackingState.Tracking) {
1037
+ if (statusSnapshot[trackId] === XRTrackingState.Tracking) {
1050
1038
  removed.push(tracked);
1051
1039
  allTracked.splice(allTracked.indexOf(tracked), 1);
1052
1040
  }
1053
- statusSnapshot[trackId] = exports.XRTrackingState.NotTracking;
1041
+ statusSnapshot[trackId] = XRTrackingState.NotTracking;
1054
1042
  }
1055
1043
  break;
1056
- case exports.XRRequestTrackingState.Resolved:
1044
+ case XRRequestTrackingState.Resolved:
1057
1045
  var tracked1 = requestTracking.tracked;
1058
1046
  for(var j1 = 0, n2 = tracked1.length; j1 < n2; j1++){
1059
1047
  var trackedObject = tracked1[j1];
1060
1048
  var trackId1 = trackedObject.id;
1061
- if (trackedObject.state === exports.XRTrackingState.Tracking) {
1062
- if (statusSnapshot[trackId1] === exports.XRTrackingState.Tracking) {
1049
+ if (trackedObject.state === XRTrackingState.Tracking) {
1050
+ if (statusSnapshot[trackId1] === XRTrackingState.Tracking) {
1063
1051
  updated.push(trackedObject);
1064
1052
  } else {
1065
1053
  added.push(trackedObject);
1066
- statusSnapshot[trackId1] = exports.XRTrackingState.Tracking;
1054
+ statusSnapshot[trackId1] = XRTrackingState.Tracking;
1067
1055
  allTracked.push(trackedObject);
1068
1056
  }
1069
1057
  } else {
1070
- if (statusSnapshot[trackId1] === exports.XRTrackingState.Tracking) {
1058
+ if (statusSnapshot[trackId1] === XRTrackingState.Tracking) {
1071
1059
  removed.push(trackedObject);
1072
1060
  allTracked.splice(allTracked.indexOf(trackedObject), 1);
1073
1061
  }
@@ -1078,7 +1066,7 @@
1078
1066
  }
1079
1067
  }
1080
1068
  for(var i1 = requestTrackings.length - 1; i1 >= 0; i1--){
1081
- requestTrackings[i1].state === exports.XRRequestTrackingState.Destroyed && requestTrackings.splice(i1, 1);
1069
+ requestTrackings[i1].state === XRRequestTrackingState.Destroyed && requestTrackings.splice(i1, 1);
1082
1070
  }
1083
1071
  if (added.length > 0 || updated.length > 0 || removed.length > 0) {
1084
1072
  var listeners = this._listeners.getLoopArray();
@@ -1101,7 +1089,7 @@
1101
1089
  _proto._addRequestTracking = function _addRequestTracking(requestTracking) {
1102
1090
  var _this = this, platformFeature = _this._platformFeature;
1103
1091
  if (this._xrManager.sessionManager._platformSession && !platformFeature.canModifyRequestTrackingAfterInit) {
1104
- throw new Error(exports.XRFeatureType[this._type] + " request tracking cannot be modified after initialization.");
1092
+ throw new Error(XRFeatureType[this._type] + " request tracking cannot be modified after initialization.");
1105
1093
  }
1106
1094
  this._requestTrackings.push(requestTracking);
1107
1095
  platformFeature.onAddRequestTracking(requestTracking);
@@ -1109,14 +1097,14 @@
1109
1097
  _proto._removeRequestTracking = function _removeRequestTracking(requestTracking) {
1110
1098
  var _this = this, platformFeature = _this._platformFeature;
1111
1099
  if (this._xrManager.sessionManager._platformSession && !platformFeature.canModifyRequestTrackingAfterInit) {
1112
- throw new Error(exports.XRFeatureType[this._type] + " request tracking cannot be modified after initialization.");
1100
+ throw new Error(XRFeatureType[this._type] + " request tracking cannot be modified after initialization.");
1113
1101
  }
1114
1102
  platformFeature.onDelRequestTracking(requestTracking);
1115
1103
  };
1116
1104
  _proto._removeAllRequestTrackings = function _removeAllRequestTrackings() {
1117
1105
  var _this = this, platformFeature = _this._platformFeature;
1118
1106
  if (this._xrManager.sessionManager._platformSession && !platformFeature.canModifyRequestTrackingAfterInit) {
1119
- throw new Error(exports.XRFeatureType[this._type] + " request tracking cannot be modified after initialization.");
1107
+ throw new Error(XRFeatureType[this._type] + " request tracking cannot be modified after initialization.");
1120
1108
  }
1121
1109
  var _this1 = this, requestTrackings = _this1._requestTrackings;
1122
1110
  for(var i = 0, n = requestTrackings.length; i < n; i++){
@@ -1125,25 +1113,23 @@
1125
1113
  };
1126
1114
  return XRTrackableFeature;
1127
1115
  }(XRFeature);
1128
- (function() {
1129
- XRTrackableFeature._uuid = 0;
1130
- })();
1116
+ XRTrackableFeature._uuid = 0;
1131
1117
 
1132
1118
  /**
1133
1119
  * The base class of XR tracked object.
1134
1120
  */ var XRTracked = function XRTracked() {
1135
1121
  /** The pose of the trackable in XR space. */ this.pose = new XRPose();
1136
- /** The tracking state of the trackable. */ this.state = exports.XRTrackingState.NotTracking;
1122
+ /** The tracking state of the trackable. */ this.state = XRTrackingState.NotTracking;
1137
1123
  };
1138
1124
 
1139
1125
  /**
1140
1126
  * Enum for the types of hit test that can be performed.
1141
1127
  * Note: currently only supports plane.
1142
- */ exports.TrackableType = void 0;
1143
- (function(TrackableType) {
1144
- TrackableType[TrackableType[/** Tracked plane. */ "Plane"] = 0x1] = "Plane";
1145
- TrackableType[TrackableType[/** All tracked objects. */ "All"] = 0x1] = "All";
1146
- })(exports.TrackableType || (exports.TrackableType = {}));
1128
+ */ var TrackableType = /*#__PURE__*/ function(TrackableType) {
1129
+ /** Tracked plane. */ TrackableType[TrackableType["Plane"] = 1] = "Plane";
1130
+ /** All tracked objects. */ TrackableType[TrackableType["All"] = 1] = "All";
1131
+ return TrackableType;
1132
+ }({});
1147
1133
 
1148
1134
  /**
1149
1135
  * XR hit result.
@@ -1182,29 +1168,28 @@
1182
1168
 
1183
1169
  /**
1184
1170
  * Enumerates modes of plane in XR.
1185
- */ exports.XRPlaneMode = void 0;
1186
- (function(XRPlaneMode) {
1187
- XRPlaneMode[XRPlaneMode[/** None. */ "None"] = 0] = "None";
1188
- XRPlaneMode[XRPlaneMode[/** Horizontal */ "Horizontal"] = 1] = "Horizontal";
1189
- XRPlaneMode[XRPlaneMode[/** Vertical */ "Vertical"] = 2] = "Vertical";
1190
- XRPlaneMode[XRPlaneMode[/** Includes horizontal and vertical. */ "EveryThing"] = 3] = "EveryThing";
1191
- })(exports.XRPlaneMode || (exports.XRPlaneMode = {}));
1171
+ */ var XRPlaneMode = /*#__PURE__*/ function(XRPlaneMode) {
1172
+ /** None. */ XRPlaneMode[XRPlaneMode["None"] = 0] = "None";
1173
+ /** Horizontal */ XRPlaneMode[XRPlaneMode["Horizontal"] = 1] = "Horizontal";
1174
+ /** Vertical */ XRPlaneMode[XRPlaneMode["Vertical"] = 2] = "Vertical";
1175
+ /** Includes horizontal and vertical. */ XRPlaneMode[XRPlaneMode["EveryThing"] = 3] = "EveryThing";
1176
+ return XRPlaneMode;
1177
+ }({});
1192
1178
 
1193
1179
  /**
1194
1180
  * @internal
1195
1181
  */ var XRRequestTracking = function XRRequestTracking() {
1196
- /** The status of the current request tracking. */ this.state = exports.XRRequestTrackingState.None;
1182
+ /** The status of the current request tracking. */ this.state = XRRequestTrackingState.None;
1197
1183
  /** Tracked instances, make up from the tracking data returned by Session. */ this.tracked = [];
1198
1184
  };
1199
1185
 
1200
1186
  /**
1201
1187
  * The request plane in XR space.
1202
- */ var XRRequestPlane = /*#__PURE__*/ function(XRRequestTracking1) {
1203
- _inherits(XRRequestPlane, XRRequestTracking1);
1188
+ */ var XRRequestPlane = /*#__PURE__*/ function(XRRequestTracking) {
1189
+ _inherits(XRRequestPlane, XRRequestTracking);
1204
1190
  function XRRequestPlane(detectionMode) {
1205
1191
  var _this;
1206
- _this = XRRequestTracking1.call(this) || this;
1207
- _this.detectionMode = detectionMode;
1192
+ _this = XRRequestTracking.call(this) || this, _this.detectionMode = detectionMode;
1208
1193
  return _this;
1209
1194
  }
1210
1195
  return XRRequestPlane;
@@ -1212,16 +1197,14 @@
1212
1197
 
1213
1198
  /**
1214
1199
  * The tracked plane in XR space.
1215
- */ var XRTrackedPlane = /*#__PURE__*/ function(XRTracked1) {
1216
- _inherits(XRTrackedPlane, XRTracked1);
1200
+ */ var XRTrackedPlane = /*#__PURE__*/ function(XRTracked) {
1201
+ _inherits(XRTrackedPlane, XRTracked);
1217
1202
  function XRTrackedPlane() {
1218
1203
  var _this;
1219
- _this = XRTracked1.apply(this, arguments) || this;
1220
- /** The points that make up this plane.
1204
+ _this = XRTracked.apply(this, arguments) || this, /** The points that make up this plane.
1221
1205
  * Note: These points are in the plane coordinate system,
1222
1206
  * and their Y coordinates are all zero.
1223
- */ _this.polygon = [];
1224
- /**
1207
+ */ _this.polygon = [], /**
1225
1208
  * Whether this frame changes the attributes of the plane.
1226
1209
  * Note: Includes `polygon` but no `pose`.
1227
1210
  */ _this.attributesDirty = false;
@@ -1233,9 +1216,9 @@
1233
1216
  exports.XRPlaneTracking = /*#__PURE__*/ function(XRTrackableFeature1) {
1234
1217
  _inherits(XRPlaneTracking, XRTrackableFeature1);
1235
1218
  function XRPlaneTracking(xrManager, detectionMode) {
1236
- if (detectionMode === void 0) detectionMode = exports.XRPlaneMode.EveryThing;
1219
+ if (detectionMode === void 0) detectionMode = XRPlaneMode.EveryThing;
1237
1220
  var _this;
1238
- _this = XRTrackableFeature1.call(this, xrManager, exports.XRFeatureType.PlaneTracking, detectionMode) || this;
1221
+ _this = XRTrackableFeature1.call(this, xrManager, XRFeatureType.PlaneTracking, detectionMode) || this;
1239
1222
  _this._addRequestTracking(new XRRequestPlane(detectionMode));
1240
1223
  return _this;
1241
1224
  }
@@ -1266,23 +1249,14 @@
1266
1249
  return XRPlaneTracking;
1267
1250
  }(XRTrackableFeature);
1268
1251
  exports.XRPlaneTracking = __decorate([
1269
- registerXRFeature(exports.XRFeatureType.PlaneTracking)
1252
+ registerXRFeature(XRFeatureType.PlaneTracking)
1270
1253
  ], exports.XRPlaneTracking);
1271
1254
 
1272
- exports.XRHitTest = /*#__PURE__*/ function(XRFeature1) {
1273
- _inherits(XRHitTest, XRFeature1);
1255
+ exports.XRHitTest = /*#__PURE__*/ function(XRFeature) {
1256
+ _inherits(XRHitTest, XRFeature);
1274
1257
  function XRHitTest(xrManager) {
1275
1258
  var _this;
1276
- _this = XRFeature1.call(this, xrManager, exports.XRFeatureType.HitTest) || this;
1277
- _this._tempRay = new engine.Ray();
1278
- _this._tempPlane = new engine.Plane();
1279
- _this._tempVec2 = new engine.Vector2();
1280
- _this._tempVec30 = new engine.Vector3();
1281
- _this._tempVec31 = new engine.Vector3();
1282
- _this._tempVec32 = new engine.Vector3();
1283
- _this._tempVec33 = new engine.Vector3();
1284
- _this._tempVec34 = new engine.Vector3();
1285
- _this._tempVec35 = new engine.Vector3();
1259
+ _this = XRFeature.call(this, xrManager, XRFeatureType.HitTest) || this, _this._tempRay = new engine.Ray(), _this._tempPlane = new engine.Plane(), _this._tempVec2 = new engine.Vector2(), _this._tempVec30 = new engine.Vector3(), _this._tempVec31 = new engine.Vector3(), _this._tempVec32 = new engine.Vector3(), _this._tempVec33 = new engine.Vector3(), _this._tempVec34 = new engine.Vector3(), _this._tempVec35 = new engine.Vector3();
1286
1260
  return _this;
1287
1261
  }
1288
1262
  var _proto = XRHitTest.prototype;
@@ -1293,7 +1267,7 @@
1293
1267
  * @returns The hit result
1294
1268
  */ _proto.hitTest = function hitTest(ray, type) {
1295
1269
  var result = [];
1296
- if (type & exports.TrackableType.Plane) {
1270
+ if (type & TrackableType.Plane) {
1297
1271
  this._hitTestPlane(ray, result);
1298
1272
  }
1299
1273
  return result;
@@ -1306,10 +1280,10 @@
1306
1280
  * @returns The hit result
1307
1281
  */ _proto.screenHitTest = function screenHitTest(x, y, type) {
1308
1282
  var _this = this, xrManager = _this._xrManager;
1309
- if (xrManager.sessionManager.mode !== exports.XRSessionMode.AR) {
1283
+ if (xrManager.sessionManager.mode !== XRSessionMode.AR) {
1310
1284
  throw new Error("Only AR mode supports using screen ray hit test.");
1311
1285
  }
1312
- var _xrManager_inputManager_getTrackedDevice = xrManager.inputManager.getTrackedDevice(exports.XRTrackedInputDevice.Camera), camera = _xrManager_inputManager_getTrackedDevice._camera;
1286
+ var _xrManager_inputManager_getTrackedDevice = xrManager.inputManager.getTrackedDevice(XRTrackedInputDevice.Camera), camera = _xrManager_inputManager_getTrackedDevice._camera;
1313
1287
  if (!camera) {
1314
1288
  throw new Error("No camera available.");
1315
1289
  }
@@ -1339,7 +1313,7 @@
1339
1313
  hitResult.normal.copyFrom(normal);
1340
1314
  hitResult.distance = distance;
1341
1315
  hitResult.trackedObject = trackedPlane;
1342
- hitResult.trackableType = exports.TrackableType.Plane;
1316
+ hitResult.trackableType = TrackableType.Plane;
1343
1317
  result.push(hitResult);
1344
1318
  }
1345
1319
  }
@@ -1375,28 +1349,26 @@
1375
1349
  return XRHitTest;
1376
1350
  }(XRFeature);
1377
1351
  exports.XRHitTest = __decorate([
1378
- registerXRFeature(exports.XRFeatureType.HitTest)
1352
+ registerXRFeature(XRFeatureType.HitTest)
1379
1353
  ], exports.XRHitTest);
1380
1354
 
1381
1355
  /**
1382
1356
  * The anchor in XR space.
1383
- */ var XRAnchor = /*#__PURE__*/ function(XRTracked1) {
1384
- _inherits(XRAnchor, XRTracked1);
1357
+ */ var XRAnchor = /*#__PURE__*/ function(XRTracked) {
1358
+ _inherits(XRAnchor, XRTracked);
1385
1359
  function XRAnchor() {
1386
- return XRTracked1.apply(this, arguments);
1360
+ return XRTracked.apply(this, arguments) || this;
1387
1361
  }
1388
1362
  return XRAnchor;
1389
1363
  }(XRTracked);
1390
1364
 
1391
1365
  /**
1392
1366
  * The request anchor in XR space.
1393
- */ var XRRequestAnchor = /*#__PURE__*/ function(XRRequestTracking1) {
1394
- _inherits(XRRequestAnchor, XRRequestTracking1);
1367
+ */ var XRRequestAnchor = /*#__PURE__*/ function(XRRequestTracking) {
1368
+ _inherits(XRRequestAnchor, XRRequestTracking);
1395
1369
  function XRRequestAnchor(position, rotation) {
1396
1370
  var _this;
1397
- _this = XRRequestTracking1.call(this) || this;
1398
- _this.position = position;
1399
- _this.rotation = rotation;
1371
+ _this = XRRequestTracking.call(this) || this, _this.position = position, _this.rotation = rotation;
1400
1372
  return _this;
1401
1373
  }
1402
1374
  return XRRequestAnchor;
@@ -1406,8 +1378,7 @@
1406
1378
  _inherits(XRAnchorTracking, XRTrackableFeature1);
1407
1379
  function XRAnchorTracking(xrManager) {
1408
1380
  var _this;
1409
- _this = XRTrackableFeature1.call(this, xrManager, exports.XRFeatureType.AnchorTracking) || this;
1410
- _this._anchors = [];
1381
+ _this = XRTrackableFeature1.call(this, xrManager, XRFeatureType.AnchorTracking) || this, _this._anchors = [];
1411
1382
  return _this;
1412
1383
  }
1413
1384
  var _proto = XRAnchorTracking.prototype;
@@ -1477,17 +1448,16 @@
1477
1448
  return XRAnchorTracking;
1478
1449
  }(XRTrackableFeature);
1479
1450
  exports.XRAnchorTracking = __decorate([
1480
- registerXRFeature(exports.XRFeatureType.AnchorTracking)
1451
+ registerXRFeature(XRFeatureType.AnchorTracking)
1481
1452
  ], exports.XRAnchorTracking);
1482
1453
 
1483
1454
  /**
1484
1455
  * The request image in XR space.
1485
- */ var XRRequestImage = /*#__PURE__*/ function(XRRequestTracking1) {
1486
- _inherits(XRRequestImage, XRRequestTracking1);
1456
+ */ var XRRequestImage = /*#__PURE__*/ function(XRRequestTracking) {
1457
+ _inherits(XRRequestImage, XRRequestTracking);
1487
1458
  function XRRequestImage(image) {
1488
1459
  var _this;
1489
- _this = XRRequestTracking1.call(this) || this;
1490
- _this.image = image;
1460
+ _this = XRRequestTracking.call(this) || this, _this.image = image;
1491
1461
  return _this;
1492
1462
  }
1493
1463
  return XRRequestImage;
@@ -1495,10 +1465,10 @@
1495
1465
 
1496
1466
  /**
1497
1467
  * A tracked image in XR space.
1498
- */ var XRTrackedImage = /*#__PURE__*/ function(XRTracked1) {
1499
- _inherits(XRTrackedImage, XRTracked1);
1468
+ */ var XRTrackedImage = /*#__PURE__*/ function(XRTracked) {
1469
+ _inherits(XRTrackedImage, XRTracked);
1500
1470
  function XRTrackedImage() {
1501
- return XRTracked1.apply(this, arguments);
1471
+ return XRTracked.apply(this, arguments) || this;
1502
1472
  }
1503
1473
  return XRTrackedImage;
1504
1474
  }(XRTracked);
@@ -1507,7 +1477,7 @@
1507
1477
  _inherits(XRImageTracking, XRTrackableFeature1);
1508
1478
  function XRImageTracking(xrManager, trackingImages) {
1509
1479
  var _this;
1510
- _this = XRTrackableFeature1.call(this, xrManager, exports.XRFeatureType.ImageTracking, trackingImages) || this;
1480
+ _this = XRTrackableFeature1.call(this, xrManager, XRFeatureType.ImageTracking, trackingImages) || this;
1511
1481
  _this._trackingImages = trackingImages;
1512
1482
  var imageLength = trackingImages ? trackingImages.length : 0;
1513
1483
  if (imageLength > 0) {
@@ -1546,7 +1516,7 @@
1546
1516
  return XRImageTracking;
1547
1517
  }(XRTrackableFeature);
1548
1518
  exports.XRImageTracking = __decorate([
1549
- registerXRFeature(exports.XRFeatureType.ImageTracking)
1519
+ registerXRFeature(XRFeatureType.ImageTracking)
1550
1520
  ], exports.XRImageTracking);
1551
1521
 
1552
1522
  /**
@@ -1591,10 +1561,10 @@
1591
1561
  return _extends.apply(this, arguments);
1592
1562
  }
1593
1563
 
1594
- exports.XRReferenceImageLoader = /*#__PURE__*/ function(Loader1) {
1595
- _inherits(XRReferenceImageLoader, Loader1);
1564
+ exports.XRReferenceImageLoader = /*#__PURE__*/ function(Loader) {
1565
+ _inherits(XRReferenceImageLoader, Loader);
1596
1566
  function XRReferenceImageLoader() {
1597
- return Loader1.apply(this, arguments);
1567
+ return Loader.apply(this, arguments) || this;
1598
1568
  }
1599
1569
  var _proto = XRReferenceImageLoader.prototype;
1600
1570
  _proto.load = function load(item, resourceManager) {
@@ -1615,20 +1585,31 @@
1615
1585
  engine.resourceLoader("XRReferenceImage", [])
1616
1586
  ], exports.XRReferenceImageLoader);
1617
1587
 
1588
+ exports.TrackableType = TrackableType;
1618
1589
  exports.XRAnchor = XRAnchor;
1619
1590
  exports.XRCamera = XRCamera;
1620
1591
  exports.XRCameraManager = XRCameraManager;
1621
1592
  exports.XRController = XRController;
1622
1593
  exports.XRFeature = XRFeature;
1594
+ exports.XRFeatureType = XRFeatureType;
1623
1595
  exports.XRHitResult = XRHitResult;
1596
+ exports.XRInputButton = XRInputButton;
1597
+ exports.XRInputEventType = XRInputEventType;
1624
1598
  exports.XRInputManager = XRInputManager;
1599
+ exports.XRPlaneMode = XRPlaneMode;
1625
1600
  exports.XRPose = XRPose;
1626
1601
  exports.XRReferenceImage = XRReferenceImage;
1602
+ exports.XRRequestTrackingState = XRRequestTrackingState;
1627
1603
  exports.XRSessionManager = XRSessionManager;
1604
+ exports.XRSessionMode = XRSessionMode;
1605
+ exports.XRSessionState = XRSessionState;
1606
+ exports.XRTargetRayMode = XRTargetRayMode;
1628
1607
  exports.XRTrackableFeature = XRTrackableFeature;
1629
1608
  exports.XRTracked = XRTracked;
1630
1609
  exports.XRTrackedImage = XRTrackedImage;
1610
+ exports.XRTrackedInputDevice = XRTrackedInputDevice;
1631
1611
  exports.XRTrackedPlane = XRTrackedPlane;
1612
+ exports.XRTrackingState = XRTrackingState;
1632
1613
 
1633
1614
  Object.defineProperty(exports, '__esModule', { value: true });
1634
1615