@vertexvis/viewer 0.13.2-canary.2 → 0.13.2-canary.3

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 (63) hide show
  1. package/dist/cjs/{config-91efd353.js → config-456c2705.js} +1 -1
  2. package/dist/cjs/{entities-0829b4a4.js → entities-2826a506.js} +2 -2
  3. package/dist/cjs/index.cjs.js +5 -4
  4. package/dist/cjs/{mapper-67af470b.js → mapper-a2fa685e.js} +1 -1
  5. package/dist/cjs/{scene-23535fc0.js → scene-6e122cdf.js} +5 -3
  6. package/dist/cjs/{streamAttributes-f13c1a96.js → streamAttributes-79246b42.js} +5 -2
  7. package/dist/cjs/vertex-scene-tree.cjs.entry.js +2 -2
  8. package/dist/cjs/vertex-viewer-dom-element_3.cjs.entry.js +1 -1
  9. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +1 -1
  10. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +2 -2
  11. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +2 -2
  12. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +4 -4
  13. package/dist/cjs/vertex-viewer-measurement-tool.cjs.entry.js +1 -1
  14. package/dist/cjs/vertex-viewer-measurements.cjs.entry.js +2 -2
  15. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +1 -1
  16. package/dist/cjs/vertex-viewer.cjs.entry.js +5 -4
  17. package/dist/collection/index.js +2 -2
  18. package/dist/collection/lib/interactions/interactionApiPerspective.js +3 -2
  19. package/dist/collection/lib/scenes/camera.js +5 -3
  20. package/dist/collection/lib/types/frameCamera.js +5 -3
  21. package/dist/custom-elements/index.js +11 -6
  22. package/dist/esm/{config-3a5d3ea3.js → config-5abb0e4c.js} +1 -1
  23. package/dist/esm/{entities-60dfd79d.js → entities-a3b33e84.js} +2 -2
  24. package/dist/esm/index.js +4 -4
  25. package/dist/esm/index.mjs +4 -4
  26. package/dist/esm/{mapper-adf23dc4.js → mapper-6f855d67.js} +1 -1
  27. package/dist/esm/{scene-2d8bdccc.js → scene-e783044f.js} +5 -3
  28. package/dist/esm/{streamAttributes-87a3605c.js → streamAttributes-2c9a360a.js} +6 -4
  29. package/dist/esm/vertex-scene-tree.entry.js +2 -2
  30. package/dist/esm/vertex-viewer-dom-element_3.entry.js +1 -1
  31. package/dist/esm/vertex-viewer-measurement-details.entry.js +1 -1
  32. package/dist/esm/vertex-viewer-measurement-distance.entry.js +2 -2
  33. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +2 -2
  34. package/dist/esm/vertex-viewer-measurement-precise.entry.js +4 -4
  35. package/dist/esm/vertex-viewer-measurement-tool.entry.js +1 -1
  36. package/dist/esm/vertex-viewer-measurements.entry.js +2 -2
  37. package/dist/esm/vertex-viewer-view-cube.entry.js +1 -1
  38. package/dist/esm/vertex-viewer.entry.js +5 -4
  39. package/dist/types/index.d.ts +1 -1
  40. package/dist/types/lib/scenes/camera.d.ts +1 -1
  41. package/dist/types/lib/types/frameCamera.d.ts +1 -1
  42. package/dist/viewer/index.esm.js +1 -1
  43. package/dist/viewer/{p-f359a9ac.entry.js → p-19c270c9.entry.js} +1 -1
  44. package/dist/viewer/{p-e4934f47.entry.js → p-1ce817b7.entry.js} +1 -1
  45. package/dist/viewer/{p-18ec4fed.js → p-22f177a9.js} +1 -1
  46. package/dist/viewer/{p-7c5bee8e.entry.js → p-313e3086.entry.js} +1 -1
  47. package/dist/viewer/{p-ee86bed2.entry.js → p-429a7bf0.entry.js} +1 -1
  48. package/dist/viewer/{p-de7eecce.entry.js → p-47309eba.entry.js} +1 -1
  49. package/dist/viewer/p-4cb7b022.js +4 -0
  50. package/dist/viewer/{p-1acd0e56.entry.js → p-514b69b1.entry.js} +1 -1
  51. package/dist/viewer/{p-ffde162f.entry.js → p-51bba269.entry.js} +1 -1
  52. package/dist/viewer/p-55bfb8ea.js +4 -0
  53. package/dist/viewer/p-8e6ed5ac.entry.js +4 -0
  54. package/dist/viewer/{p-b8bc15ec.js → p-8f36f92f.js} +1 -1
  55. package/dist/viewer/p-a7926934.entry.js +4 -0
  56. package/dist/viewer/{p-923b616f.entry.js → p-d576701f.entry.js} +1 -1
  57. package/dist/viewer/{p-6d9d3553.js → p-e2b2ef75.js} +1 -1
  58. package/dist/viewer/viewer.esm.js +1 -1
  59. package/package.json +7 -7
  60. package/dist/viewer/p-2e75198d.js +0 -4
  61. package/dist/viewer/p-61db972b.js +0 -4
  62. package/dist/viewer/p-b2d4c0cf.entry.js +0 -4
  63. package/dist/viewer/p-bc7f0ad6.entry.js +0 -4
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const browser_esm = require('./browser.esm-c51162f8.js');
7
- require('./streamAttributes-f13c1a96.js');
7
+ require('./streamAttributes-79246b42.js');
8
8
 
9
9
  const DEFAULT_ANIMATION_DURATION = 500;
10
10
  const defaultAnimationConfig = {
@@ -3,9 +3,9 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const mapper = require('./mapper-67af470b.js');
6
+ const mapper = require('./mapper-a2fa685e.js');
7
7
  const grpcWebClient_umd = require('./grpc-web-client.umd-60a79aae.js');
8
- const streamAttributes = require('./streamAttributes-f13c1a96.js');
8
+ const streamAttributes = require('./streamAttributes-79246b42.js');
9
9
  const browser_esm = require('./browser.esm-c51162f8.js');
10
10
 
11
11
  function requestUnary(caller) {
@@ -5,18 +5,18 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const scene = require('./scene-23535fc0.js');
8
+ const scene = require('./scene-6e122cdf.js');
9
9
  const cursors = require('./cursors-14827f58.js');
10
- const entities = require('./entities-0829b4a4.js');
10
+ const entities = require('./entities-2826a506.js');
11
11
  const model = require('./model-78241d4f.js');
12
12
  const overlays = require('./overlays-06786e52.js');
13
13
  const results = require('./results-7a694238.js');
14
- const streamAttributes = require('./streamAttributes-f13c1a96.js');
14
+ const streamAttributes = require('./streamAttributes-79246b42.js');
15
15
  const markup = require('./markup-835f2e83.js');
16
16
  const viewport = require('./viewport-052809c7.js');
17
17
  require('./browser.esm-c51162f8.js');
18
18
  require('./bundle.esm-1b8b1f36.js');
19
- require('./mapper-67af470b.js');
19
+ require('./mapper-a2fa685e.js');
20
20
  require('./_commonjsHelpers-537d719a.js');
21
21
  require('./grpc-web-client.umd-60a79aae.js');
22
22
 
@@ -43,6 +43,7 @@ Object.defineProperty(exports, 'EntityType', {
43
43
  return streamAttributes.EntityType;
44
44
  }
45
45
  });
46
+ exports.FrameCameraBase = streamAttributes.FrameCameraBase;
46
47
  exports.ReceivedFrame = streamAttributes.Frame;
47
48
  exports.ReceivedFrameImage = streamAttributes.FrameImage;
48
49
  exports.ReceivedFrameScene = streamAttributes.FrameScene;
@@ -6,7 +6,7 @@
6
6
  const _commonjsHelpers = require('./_commonjsHelpers-537d719a.js');
7
7
  const grpcWebClient_umd = require('./grpc-web-client.umd-60a79aae.js');
8
8
  const browser_esm = require('./browser.esm-c51162f8.js');
9
- const streamAttributes = require('./streamAttributes-f13c1a96.js');
9
+ const streamAttributes = require('./streamAttributes-79246b42.js');
10
10
 
11
11
  var uuid_pb = _commonjsHelpers.createCommonjsModule(function (module, exports) {
12
12
  /**
@@ -5,7 +5,7 @@
5
5
 
6
6
  const browser_esm = require('./browser.esm-c51162f8.js');
7
7
  const bundle_esm = require('./bundle.esm-1b8b1f36.js');
8
- const streamAttributes = require('./streamAttributes-f13c1a96.js');
8
+ const streamAttributes = require('./streamAttributes-79246b42.js');
9
9
 
10
10
  const defaultColor = {
11
11
  opacity: 100,
@@ -764,13 +764,15 @@ class PerspectiveCamera extends Camera {
764
764
  });
765
765
  }
766
766
  fitToBoundingBox(boundingBox) {
767
- return super.fitCameraToBoundingBox(boundingBox, this.fovY, this.viewVector);
767
+ var _a;
768
+ return super.fitCameraToBoundingBox(boundingBox, (_a = this.fovY) !== null && _a !== void 0 ? _a : 45, this.viewVector);
768
769
  }
769
770
  update(camera) {
770
771
  return new PerspectiveCamera(this.stream, this.aspect, Object.assign(Object.assign({}, this.perspectiveData), camera), this.boundingBox, this.decodeFrame, this.flyToOptions);
771
772
  }
772
773
  toFrameCamera() {
773
- return new streamAttributes.FramePerspectiveCamera(this.position, this.lookAt, this.up, this.near, this.far, this.aspectRatio, this.fovY);
774
+ var _a;
775
+ return new streamAttributes.FramePerspectiveCamera(this.position, this.lookAt, this.up, this.near, this.far, this.aspectRatio, (_a = this.fovY) !== null && _a !== void 0 ? _a : 45);
774
776
  }
775
777
  get viewVector() {
776
778
  return bundle_esm.vector3.subtract(this.lookAt, this.position);
@@ -36418,7 +36418,8 @@ class Token {
36418
36418
  }
36419
36419
 
36420
36420
  function isPerspectiveFrameCamera(camera) {
36421
- return camera.position != null;
36421
+ return (camera.position != null &&
36422
+ camera.fovHeight == null);
36422
36423
  }
36423
36424
  function isOrthographicFrameCamera(camera) {
36424
36425
  const asOrtho = camera;
@@ -36433,6 +36434,7 @@ function withPositionAndViewVector(camera) {
36433
36434
  }
36434
36435
  }
36435
36436
  function toOrthographic(data) {
36437
+ var _a;
36436
36438
  const viewVector = bundle_esm.vector3.subtract(data.lookAt, data.position);
36437
36439
  return {
36438
36440
  viewVector,
@@ -36440,7 +36442,7 @@ function toOrthographic(data) {
36440
36442
  lookAt: data.lookAt,
36441
36443
  fovHeight: 2 *
36442
36444
  bundle_esm.vector3.magnitude(viewVector) *
36443
- Math.tan(bundle_esm.angle.toRadians(data.fovY / 2.0)),
36445
+ Math.tan(bundle_esm.angle.toRadians((_a = data.fovY) !== null && _a !== void 0 ? _a : 45 / 2.0)),
36444
36446
  };
36445
36447
  }
36446
36448
  function toPerspective(data, fovY = 45) {
@@ -71615,6 +71617,7 @@ exports.AreaUnits = AreaUnits;
71615
71617
  exports.DepthBuffer = DepthBuffer;
71616
71618
  exports.DistanceUnits = DistanceUnits;
71617
71619
  exports.Frame = Frame;
71620
+ exports.FrameCameraBase = FrameCameraBase;
71618
71621
  exports.FrameImage = FrameImage;
71619
71622
  exports.FrameOrthographicCamera = FrameOrthographicCamera;
71620
71623
  exports.FramePerspectiveCamera = FramePerspectiveCamera;
@@ -9,10 +9,10 @@ const index = require('./index-e100709a.js');
9
9
  const bundle_esm = require('./bundle.esm-1b8b1f36.js');
10
10
  const _commonjsHelpers = require('./_commonjsHelpers-537d719a.js');
11
11
  const grpcWebClient_umd = require('./grpc-web-client.umd-60a79aae.js');
12
- const config = require('./config-91efd353.js');
12
+ const config = require('./config-456c2705.js');
13
13
  const browser_esm = require('./browser.esm-c51162f8.js');
14
14
  const dom = require('./dom-d162f898.js');
15
- require('./streamAttributes-f13c1a96.js');
15
+ require('./streamAttributes-79246b42.js');
16
16
 
17
17
  window.requestIdleCallback =
18
18
  window.requestIdleCallback ||
@@ -7,7 +7,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-e100709a.js');
9
9
  const bundle_esm = require('./bundle.esm-1b8b1f36.js');
10
- require('./streamAttributes-f13c1a96.js');
10
+ require('./streamAttributes-79246b42.js');
11
11
  const viewport = require('./viewport-052809c7.js');
12
12
  require('./browser.esm-c51162f8.js');
13
13
  require('./_commonjsHelpers-537d719a.js');
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-e100709a.js');
9
- const streamAttributes = require('./streamAttributes-f13c1a96.js');
9
+ const streamAttributes = require('./streamAttributes-79246b42.js');
10
10
  const bundle_esm = require('./bundle.esm-1b8b1f36.js');
11
11
  const index$1 = require('./index-3bc6bac0.js');
12
12
  require('./browser.esm-c51162f8.js');
@@ -10,9 +10,9 @@ const bundle_esm = require('./bundle.esm-1b8b1f36.js');
10
10
  const constants = require('./constants-be2deb55.js');
11
11
  const cursors = require('./cursors-14827f58.js');
12
12
  const dom = require('./dom-c697cf99.js');
13
- require('./mapper-67af470b.js');
13
+ require('./mapper-a2fa685e.js');
14
14
  require('./grpc-web-client.umd-60a79aae.js');
15
- const streamAttributes = require('./streamAttributes-f13c1a96.js');
15
+ const streamAttributes = require('./streamAttributes-79246b42.js');
16
16
  const model = require('./model-78241d4f.js');
17
17
  const overlays = require('./overlays-06786e52.js');
18
18
  const results = require('./results-7a694238.js');
@@ -7,9 +7,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-e100709a.js');
9
9
  const bundle_esm = require('./bundle.esm-1b8b1f36.js');
10
- require('./mapper-67af470b.js');
10
+ require('./mapper-a2fa685e.js');
11
11
  require('./grpc-web-client.umd-60a79aae.js');
12
- require('./streamAttributes-f13c1a96.js');
12
+ require('./streamAttributes-79246b42.js');
13
13
  const overlays = require('./overlays-06786e52.js');
14
14
  const utils = require('./utils-5cc32a26.js');
15
15
  require('./_commonjsHelpers-537d719a.js');
@@ -6,11 +6,11 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-e100709a.js');
9
- const mapper = require('./mapper-67af470b.js');
9
+ const mapper = require('./mapper-a2fa685e.js');
10
10
  const grpcWebClient_umd = require('./grpc-web-client.umd-60a79aae.js');
11
- const config = require('./config-91efd353.js');
12
- const entities = require('./entities-0829b4a4.js');
13
- const streamAttributes = require('./streamAttributes-f13c1a96.js');
11
+ const config = require('./config-456c2705.js');
12
+ const entities = require('./entities-2826a506.js');
13
+ const streamAttributes = require('./streamAttributes-79246b42.js');
14
14
  const model = require('./model-78241d4f.js');
15
15
  const overlays = require('./overlays-06786e52.js');
16
16
  const bundle_esm = require('./bundle.esm-1b8b1f36.js');
@@ -8,7 +8,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
8
8
  const index = require('./index-e100709a.js');
9
9
  const constants = require('./constants-be2deb55.js');
10
10
  const templates = require('./templates-e57b3741.js');
11
- require('./streamAttributes-f13c1a96.js');
11
+ require('./streamAttributes-79246b42.js');
12
12
  const measurement = require('./measurement-8e0ce89a.js');
13
13
  const utils = require('./utils-5cc32a26.js');
14
14
  require('./bundle.esm-1b8b1f36.js');
@@ -7,9 +7,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-e100709a.js');
9
9
  const constants = require('./constants-be2deb55.js');
10
- require('./mapper-67af470b.js');
10
+ require('./mapper-a2fa685e.js');
11
11
  require('./grpc-web-client.umd-60a79aae.js');
12
- require('./streamAttributes-f13c1a96.js');
12
+ require('./streamAttributes-79246b42.js');
13
13
  const model = require('./model-78241d4f.js');
14
14
  const results = require('./results-7a694238.js');
15
15
  const templates = require('./templates-e57b3741.js');
@@ -8,7 +8,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
8
8
  const index = require('./index-e100709a.js');
9
9
  const bundle_esm = require('./bundle.esm-1b8b1f36.js');
10
10
  const stencil = require('./stencil-a664cd10.js');
11
- const streamAttributes = require('./streamAttributes-f13c1a96.js');
11
+ const streamAttributes = require('./streamAttributes-79246b42.js');
12
12
  const index$1 = require('./index-3bc6bac0.js');
13
13
  require('./browser.esm-c51162f8.js');
14
14
  require('./_commonjsHelpers-537d719a.js');
@@ -7,13 +7,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-e100709a.js');
9
9
  const bundle_esm = require('./bundle.esm-1b8b1f36.js');
10
- const streamAttributes = require('./streamAttributes-f13c1a96.js');
10
+ const streamAttributes = require('./streamAttributes-79246b42.js');
11
11
  const browser_esm = require('./browser.esm-c51162f8.js');
12
12
  const index$1 = require('./index-3bc6bac0.js');
13
- const config = require('./config-91efd353.js');
13
+ const config = require('./config-456c2705.js');
14
14
  const cursors = require('./cursors-14827f58.js');
15
15
  const dom = require('./dom-c697cf99.js');
16
- const scene = require('./scene-23535fc0.js');
16
+ const scene = require('./scene-6e122cdf.js');
17
17
  const viewport = require('./viewport-052809c7.js');
18
18
  require('./_commonjsHelpers-537d719a.js');
19
19
 
@@ -734,10 +734,11 @@ class InteractionApiPerspective extends InteractionApi {
734
734
  */
735
735
  async panCameraByDelta(delta) {
736
736
  return this.transformCamera(({ camera, viewport }) => {
737
+ var _a;
737
738
  const vv = camera.viewVector;
738
739
  const u = bundle_esm.vector3.normalize(camera.up);
739
740
  const v = bundle_esm.vector3.normalize(vv);
740
- const d = bundle_esm.vector3.magnitude(vv) * Math.tan(camera.fovY);
741
+ const d = bundle_esm.vector3.magnitude(vv) * Math.tan((_a = camera.fovY) !== null && _a !== void 0 ? _a : 45);
741
742
  const epsilonX = (delta.x * d) / viewport.width;
742
743
  const epsilonY = (delta.y / viewport.width) * d;
743
744
  const xvec = bundle_esm.vector3.cross(u, v);
@@ -10,7 +10,7 @@ export * from './lib/interactions/interactionHandler';
10
10
  export * from './lib/interactions/keyInteraction';
11
11
  export * from './lib/measurement';
12
12
  export { Scene } from './lib/scenes';
13
- export { EntityType, LoadableResource, Frame as ReceivedFrame, FrameImage as ReceivedFrameImage, FrameScene as ReceivedFrameScene, FrameOrthographicCamera as ReceivedOrthographicCamera, FramePerspectiveCamera as ReceivedPerspectiveCamera, SynchronizedClock, Viewport, } from './lib/types';
13
+ export { EntityType, FrameCameraBase, LoadableResource, Frame as ReceivedFrame, FrameImage as ReceivedFrameImage, FrameScene as ReceivedFrameScene, FrameOrthographicCamera as ReceivedOrthographicCamera, FramePerspectiveCamera as ReceivedPerspectiveCamera, SynchronizedClock, Viewport, } from './lib/types';
14
14
  export * from './lib/types/markup';
15
15
  export * from './lib/types/measurementUnits';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxPQUFPLEtBQUssYUFBYSxNQUFNLDRCQUE0QixDQUFDO0FBRTVELE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQztBQUV6QixjQUFjLGNBQWMsQ0FBQztBQUU3QixjQUFjLGVBQWUsQ0FBQztBQUU5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckMsT0FBTyxFQUNMLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsS0FBSyxJQUFJLGFBQWEsRUFDdEIsVUFBVSxJQUFJLGtCQUFrQixFQUNoQyxVQUFVLElBQUksa0JBQWtCLEVBQ2hDLHVCQUF1QixJQUFJLDBCQUEwQixFQUNyRCxzQkFBc0IsSUFBSSx5QkFBeUIsRUFDbkQsaUJBQWlCLEVBQ2pCLFFBQVEsR0FDVCxNQUFNLGFBQWEsQ0FBQztBQUNyQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsOEJBQThCLENBQUMifQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxPQUFPLEtBQUssYUFBYSxNQUFNLDRCQUE0QixDQUFDO0FBRTVELE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQztBQUV6QixjQUFjLGNBQWMsQ0FBQztBQUU3QixjQUFjLGVBQWUsQ0FBQztBQUU5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckMsT0FBTyxFQUNMLFVBQVUsRUFDVixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLEtBQUssSUFBSSxhQUFhLEVBQ3RCLFVBQVUsSUFBSSxrQkFBa0IsRUFDaEMsVUFBVSxJQUFJLGtCQUFrQixFQUNoQyx1QkFBdUIsSUFBSSwwQkFBMEIsRUFDckQsc0JBQXNCLElBQUkseUJBQXlCLEVBQ25ELGlCQUFpQixFQUNqQixRQUFRLEdBQ1QsTUFBTSxhQUFhLENBQUM7QUFDckIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDhCQUE4QixDQUFDIn0=
@@ -13,10 +13,11 @@ export class InteractionApiPerspective extends InteractionApi {
13
13
  */
14
14
  async panCameraByDelta(delta) {
15
15
  return this.transformCamera(({ camera, viewport }) => {
16
+ var _a;
16
17
  const vv = camera.viewVector;
17
18
  const u = Vector3.normalize(camera.up);
18
19
  const v = Vector3.normalize(vv);
19
- const d = Vector3.magnitude(vv) * Math.tan(camera.fovY);
20
+ const d = Vector3.magnitude(vv) * Math.tan((_a = camera.fovY) !== null && _a !== void 0 ? _a : 45);
20
21
  const epsilonX = (delta.x * d) / viewport.width;
21
22
  const epsilonY = (delta.y / viewport.width) * d;
22
23
  const xvec = Vector3.cross(u, v);
@@ -47,4 +48,4 @@ export class InteractionApiPerspective extends InteractionApi {
47
48
  }
48
49
  }
49
50
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25BcGlQZXJzcGVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaW50ZXJhY3Rpb25zL2ludGVyYWN0aW9uQXBpUGVyc3BlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFTLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBT3JELE9BQU8sRUFFTCxjQUFjLEdBR2YsTUFBTSxrQkFBa0IsQ0FBQztBQUcxQixNQUFNLE9BQU8seUJBQTBCLFNBQVEsY0FBYztFQUMzRCxZQUNFLE1BQWlCLEVBQ2pCLE9BQXNCLEVBQ3RCLFNBQW9DLEVBQ3BDLFFBQXVCLEVBQ3ZCLFFBQXlDLEVBQ3pDLFdBQTJCLEVBQzNCLFVBQXlDLEVBQ3pDLGdCQUErQyxFQUMvQyxnQkFBK0MsRUFDL0MseUJBQTZDLEVBQzdDLDBCQUE4QztJQUU5QyxLQUFLLENBQ0gsTUFBTSxFQUNOLE9BQU8sRUFDUCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFFBQVEsRUFDUixXQUFXLEVBQ1gsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLDBCQUEwQixDQUMzQixDQUFDO0VBQ0osQ0FBQztFQUVEOzs7Ozs7S0FNRztFQUNJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFrQjtJQUM5QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO01BQ25ELE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7TUFFN0IsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7TUFDdkMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztNQUVoQyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO01BQ3hELE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO01BQ2hELE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO01BRWhELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO01BQ2pDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO01BRXBDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQ3hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUM3QixPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FDOUIsQ0FBQztNQUVGLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDLENBQUMsQ0FBQztFQUNMLENBQUM7RUFFTSxLQUFLLENBQUMsZUFBZSxDQUMxQixDQUFxQzs7SUFFckMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUU7TUFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO01BQzlCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztNQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7TUFDOUIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxXQUFXLEVBQUUsQ0FBQSxDQUFDO01BRS9DLElBQUksQ0FBQyxhQUFhO1FBQ2hCLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxJQUFJLFFBQVEsSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLElBQUk7VUFDN0QsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNBLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBa0M7WUFDL0MsUUFBUTtZQUNSLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ3BCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ2hDLEtBQUs7WUFDTCxXQUFXO1dBQ1osQ0FBQztVQUNKLENBQUMsQ0FBQyxTQUFTLENBQUM7TUFFaEIsTUFBTSxDQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsTUFBTSxFQUFFLENBQUEsQ0FBQztLQUNwQztFQUNILENBQUM7Q0FDRiJ9
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25BcGlQZXJzcGVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaW50ZXJhY3Rpb25zL2ludGVyYWN0aW9uQXBpUGVyc3BlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFTLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBT3JELE9BQU8sRUFFTCxjQUFjLEdBR2YsTUFBTSxrQkFBa0IsQ0FBQztBQUcxQixNQUFNLE9BQU8seUJBQTBCLFNBQVEsY0FBYztFQUMzRCxZQUNFLE1BQWlCLEVBQ2pCLE9BQXNCLEVBQ3RCLFNBQW9DLEVBQ3BDLFFBQXVCLEVBQ3ZCLFFBQXlDLEVBQ3pDLFdBQTJCLEVBQzNCLFVBQXlDLEVBQ3pDLGdCQUErQyxFQUMvQyxnQkFBK0MsRUFDL0MseUJBQTZDLEVBQzdDLDBCQUE4QztJQUU5QyxLQUFLLENBQ0gsTUFBTSxFQUNOLE9BQU8sRUFDUCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFFBQVEsRUFDUixXQUFXLEVBQ1gsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLDBCQUEwQixDQUMzQixDQUFDO0VBQ0osQ0FBQztFQUVEOzs7Ozs7S0FNRztFQUNJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFrQjtJQUM5QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOztNQUNuRCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO01BRTdCLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO01BQ3ZDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7TUFFaEMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQUEsTUFBTSxDQUFDLElBQUksbUNBQUksRUFBRSxDQUFDLENBQUM7TUFDOUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7TUFDaEQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7TUFFaEQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7TUFDakMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7TUFFcEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FDeEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQzdCLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUM5QixDQUFDO01BRUYsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQyxDQUFDO0VBQ0wsQ0FBQztFQUVNLEtBQUssQ0FBQyxlQUFlLENBQzFCLENBQXFDOztJQUVyQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTtNQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7TUFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO01BQ3BDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztNQUM5QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFdBQVcsRUFBRSxDQUFBLENBQUM7TUFFL0MsSUFBSSxDQUFDLGFBQWE7UUFDaEIsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksSUFBSTtVQUM3RCxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ0EsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFrQztZQUMvQyxRQUFRO1lBQ1IsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDcEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDaEMsS0FBSztZQUNMLFdBQVc7V0FDWixDQUFDO1VBQ0osQ0FBQyxDQUFDLFNBQVMsQ0FBQztNQUVoQixNQUFNLENBQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxNQUFNLEVBQUUsQ0FBQSxDQUFDO0tBQ3BDO0VBQ0gsQ0FBQztDQUNGIn0=
@@ -226,13 +226,15 @@ export class PerspectiveCamera extends Camera {
226
226
  });
227
227
  }
228
228
  fitToBoundingBox(boundingBox) {
229
- return super.fitCameraToBoundingBox(boundingBox, this.fovY, this.viewVector);
229
+ var _a;
230
+ return super.fitCameraToBoundingBox(boundingBox, (_a = this.fovY) !== null && _a !== void 0 ? _a : 45, this.viewVector);
230
231
  }
231
232
  update(camera) {
232
233
  return new PerspectiveCamera(this.stream, this.aspect, Object.assign(Object.assign({}, this.perspectiveData), camera), this.boundingBox, this.decodeFrame, this.flyToOptions);
233
234
  }
234
235
  toFrameCamera() {
235
- return new FramePerspectiveCamera(this.position, this.lookAt, this.up, this.near, this.far, this.aspectRatio, this.fovY);
236
+ var _a;
237
+ return new FramePerspectiveCamera(this.position, this.lookAt, this.up, this.near, this.far, this.aspectRatio, (_a = this.fovY) !== null && _a !== void 0 ? _a : 45);
236
238
  }
237
239
  get viewVector() {
238
240
  return Vector3.subtract(this.lookAt, this.position);
@@ -370,4 +372,4 @@ export class OrthographicCamera extends Camera {
370
372
  return new OrthographicCamera(this.stream, this.aspect, this.orthographicData, this.boundingBox, this.decodeFrame, flyToOptions);
371
373
  }
372
374
  }
373
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zY2VuZXMvY2FtZXJhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFFTCxjQUFjLEVBRWQsV0FBVyxFQUVYLHVCQUF1QixFQUN2QixzQkFBc0IsR0FFdkIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9DLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDO0FBTXRDLE1BQU0sT0FBTyxxQkFBcUI7RUFDaEMsWUFBMkIsWUFBaUM7SUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO0VBQUcsQ0FBQztFQUV6RCxLQUFLO0lBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0VBQzNCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxhQUFhO0VBR2pCLFVBQVUsQ0FBQyxFQUFVO0lBQzFCLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQztNQUMvQixLQUFLLEVBQUU7UUFDTCxJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUsRUFBRTtPQUNUO0tBQ0YsQ0FBQyxDQUFDO0VBQ0wsQ0FBQztFQUVNLGNBQWMsQ0FBQyxFQUFVO0lBQzlCLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQztNQUMvQixLQUFLLEVBQUU7UUFDTCxJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUsRUFBRTtPQUNUO0tBQ0YsQ0FBQyxDQUFDO0VBQ0wsQ0FBQztFQUVNLFVBQVUsQ0FBQyxNQUErQjtJQUMvQyxPQUFPLElBQUkscUJBQXFCLENBQUM7TUFDL0IsS0FBSyxFQUFFO1FBQ0wsSUFBSSxFQUFFLFFBQVE7UUFDZCxJQUFJLEVBQUUsTUFBTTtPQUNiO0tBQ0YsQ0FBQyxDQUFDO0VBQ0wsQ0FBQztFQUVNLGVBQWUsQ0FDcEIsV0FBb0M7SUFFcEMsT0FBTyxJQUFJLHFCQUFxQixDQUFDO01BQy9CLEtBQUssRUFBRTtRQUNMLElBQUksRUFBRSxjQUFjO1FBQ3BCLElBQUksRUFBRSxXQUFXO09BQ2xCO0tBQ0YsQ0FBQyxDQUFDO0VBQ0wsQ0FBQztFQUVNLEtBQUs7SUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7RUFDM0IsQ0FBQztDQUNGO0FBU0Q7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFnQixNQUFNO0VBQzFCLFlBQ1ksTUFBaUIsRUFDakIsTUFBYyxFQUNoQixJQUE2QixFQUMzQixXQUFvQyxFQUNwQyxXQUF5QixFQUN6QixZQUFpQztJQUxqQyxXQUFNLEdBQU4sTUFBTSxDQUFXO0lBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBeUI7SUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO0lBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFjO0lBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtFQUMxQyxDQUFDO0VBRU0sc0JBQXNCLENBQzlCLFdBQW9DLEVBQ3BDLFdBQW1CLEVBQ25CLFVBQTJCO0lBRTNCLE1BQU0sTUFBTSxHQUNWLEdBQUc7TUFDSCxPQUFPLENBQUMsU0FBUyxDQUNmLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQ25FLENBQUM7SUFFSiwyRUFBMkU7SUFDM0UsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLENBQUM7SUFFakQsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtNQUNyQixNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztLQUN2QjtJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUVwRSxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRWhELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7RUFDN0QsQ0FBQztFQUVEOzs7OztLQUtHO0VBQ0ksaUNBQWlDLENBQ3RDLFdBQXFDO0lBRXJDLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEdBQUcseUJBQXlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXRFLE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FDMUMsV0FBVyxhQUFYLFdBQVcsY0FBWCxXQUFXLEdBQUksSUFBSSxDQUFDLFdBQVcsQ0FDaEMsQ0FBQztJQUNGLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFckUsT0FBTyxDQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQ3hFLENBQUM7RUFDSixDQUFDO0VBRUQ7Ozs7OztLQU1HO0VBQ0ksS0FBSyxDQUNWLGFBQTBFO0lBRTFFLElBQUksT0FBTyxhQUFhLEtBQUssVUFBVSxFQUFFO01BQ3ZDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQztPQUMxQyxDQUFDLENBQUM7S0FDSjtTQUFNO01BQ0wsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQzVCLGFBQWEsQ0FBQyxJQUFJLGFBQWEsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQzNDLENBQUM7S0FDSDtFQUNILENBQUM7RUFFTSxPQUFPO0lBQ1osT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0VBQ2pELENBQUM7RUFFRDs7O0tBR0c7RUFDSSxLQUFLLENBQUMsTUFBTSxDQUNqQixhQUFtQzs7SUFFbkMsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksSUFBSSxhQUFhLElBQUksSUFBSSxFQUFFO01BQ3RELElBQUksQ0FBQyxZQUFZLEdBQUc7UUFDbEIsS0FBSyxFQUFFO1VBQ0wsSUFBSSxFQUFFLFFBQVE7VUFDZCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEI7T0FDRixDQUFDO0tBQ0g7SUFFRCxJQUFJO01BQ0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO01BQzdCLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUU7UUFDN0IsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQ2pDLE1BQU0sRUFDTixJQUFJLENBQUMsWUFBWSxFQUNqQixhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsU0FBUyxDQUN6QixDQUFDO1FBQ0YsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFN0QsT0FBTyxJQUFJLGtCQUFrQixDQUMzQixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxXQUFXLEVBQ2hCO1VBQ0UsYUFBYSxFQUFFLE1BQU07VUFDckIsV0FBVyxFQUFFLENBQUEsTUFBQSxNQUFBLGFBQWEsQ0FBQyxLQUFLLDBDQUFFLFdBQVcsMENBQUUsR0FBRyxLQUFJLFNBQVM7U0FDaEUsRUFDRCxDQUFBLE1BQUEsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLFNBQVMsMENBQUUsWUFBWSxLQUFJLElBQUk7VUFDNUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLHFCQUFxQjtVQUM5RCxDQUFDLENBQUMsU0FBUyxDQUNkLENBQUM7T0FDSDtXQUFNO1FBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7VUFDeEIsTUFBTSxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztVQUN6QyxrQkFBa0IsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7U0FDdEMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtVQUMzRCxhQUFhLEVBQUUsTUFBTTtTQUN0QixDQUFDLENBQUM7T0FDSjtLQUNGO0lBQUMsT0FBTyxDQUFDLEVBQUU7TUFDVixPQUFPLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUMsQ0FBQyxDQUFDO01BQ2xELE1BQU0sQ0FBQyxDQUFDO0tBQ1Q7RUFDSCxDQUFDO0VBRUQ7Ozs7O0tBS0c7RUFDSSxnQkFBZ0IsQ0FDckIsY0FBc0IsRUFDdEIsSUFBcUI7SUFFckIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0VBQzlFLENBQUM7RUFFRDs7Ozs7O0tBTUc7RUFDSSxZQUFZLENBQUMsWUFBMEI7SUFDNUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO01BQ2pCLFFBQVEsRUFBRSxZQUFZLENBQUMsUUFBUTtNQUMvQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRTtNQUN4QixFQUFFLEVBQUUsWUFBWSxDQUFDLEVBQUU7S0FDcEIsQ0FBQyxDQUFDO0VBQ0wsQ0FBQztFQUVPLGNBQWMsQ0FBQyxPQUFvQjtJQUN6QyxJQUFJLE9BQU8sQ0FBQyxXQUFXLElBQUksSUFBSSxFQUFFO01BQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7S0FDNUQ7U0FBTSxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFO01BQ2pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7S0FDakQ7U0FBTSxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFO01BQ2pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7S0FDbkQ7U0FBTSxJQUFJLE9BQU8sQ0FBQyxjQUFjLElBQUksSUFBSSxFQUFFO01BQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7S0FDM0Q7U0FBTTtNQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztLQUM3RDtFQUNILENBQUM7RUFFUyxxQkFBcUIsQ0FDN0IsTUFBK0I7SUFFL0IsT0FBTyxjQUFjLENBQUMsOEJBQThCLENBQ2xELElBQUksQ0FBQyxXQUFXLEVBQ2hCLE1BQU0sQ0FDUCxDQUFDO0VBQ0osQ0FBQztDQXlERjtBQUVELE1BQU0sT0FBTyxpQkFDWCxTQUFRLE1BQU07RUFHZCxZQUNFLE1BQWlCLEVBQ2pCLE1BQWMsRUFDTixlQUFtRCxFQUMzRCxXQUFvQyxFQUNwQyxXQUF5QixFQUN6QixZQUFpQztJQUVqQyxLQUFLLENBQ0gsTUFBTSxFQUNOLE1BQU0sRUFDTixlQUFlLEVBQ2YsV0FBVyxFQUNYLFdBQVcsRUFDWCxZQUFZLENBQ2IsQ0FBQztJQVpNLG9CQUFlLEdBQWYsZUFBZSxDQUFvQztFQWE3RCxDQUFDO0VBRUQ7Ozs7O0tBS0c7RUFDSSxNQUFNLENBQUMsS0FBc0I7SUFDbEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO01BQ2pCLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO01BQzNDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO0tBQ3hDLENBQUMsQ0FBQztFQUNMLENBQUM7RUFFTSx1QkFBdUIsQ0FDNUIsY0FBc0IsRUFDdEIsS0FBc0IsRUFDdEIsSUFBcUI7SUFFckIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO01BQ2pCLFFBQVEsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUMvQixjQUFjLEVBQ2QsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLEVBQ0osS0FBSyxDQUNOO01BQ0QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztNQUN6RSxFQUFFLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FDekIsY0FBYyxFQUNkLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxFQUNKLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FDakI7S0FDRixDQUFDLENBQUM7RUFDTCxDQUFDO0VBRU0sZ0JBQWdCLENBQUMsV0FBb0M7SUFDMUQsT0FBTyxLQUFLLENBQUMsc0JBQXNCLENBQ2pDLFdBQVcsRUFDWCxJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7RUFDSixDQUFDO0VBRU0sTUFBTSxDQUFDLE1BQXdDO0lBQ3BELE9BQU8sSUFBSSxpQkFBaUIsQ0FDMUIsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsTUFBTSxrQ0FDTixJQUFJLENBQUMsZUFBZSxHQUFLLE1BQU0sR0FDcEMsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FDbEIsQ0FBQztFQUNKLENBQUM7RUFFTSxhQUFhO0lBQ2xCLE9BQU8sSUFBSSxzQkFBc0IsQ0FDL0IsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsR0FBRyxFQUNSLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxJQUFJLENBQ1YsQ0FBQztFQUNKLENBQUM7RUFFRCxJQUFXLFVBQVU7SUFDbkIsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0VBQ3RELENBQUM7RUFFRDs7S0FFRztFQUNILElBQVcsUUFBUTtJQUNqQix5QkFBWSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRztFQUM5QyxDQUFDO0VBRUQ7O0tBRUc7RUFDSCxJQUFXLEVBQUU7SUFDWCx5QkFBWSxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRztFQUN4QyxDQUFDO0VBRUQ7O0tBRUc7RUFDSCxJQUFXLE1BQU07SUFDZix5QkFBWSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRztFQUM1QyxDQUFDO0VBRUQ7O0tBRUc7RUFDSCxJQUFXLElBQUk7SUFDYixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO0VBQ25DLENBQUM7RUFFRDs7S0FFRztFQUNILElBQVcsV0FBVztJQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7RUFDckIsQ0FBQztFQUVEOztLQUVHO0VBQ0gsSUFBVyxJQUFJO0lBQ2IsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEUsT0FBTyxJQUFJLENBQUM7RUFDZCxDQUFDO0VBRUQ7O0tBRUc7RUFDSCxJQUFXLEdBQUc7SUFDWixNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRSxPQUFPLEdBQUcsQ0FBQztFQUNiLENBQUM7RUFFUyxrQkFBa0IsQ0FDMUIsWUFBaUM7SUFFakMsT0FBTyxJQUFJLGlCQUFpQixDQUMxQixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLFdBQVcsRUFDaEIsWUFBWSxDQUNiLENBQUM7RUFDSixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sa0JBQ1gsU0FBUSxNQUFNO0VBR2QsWUFDRSxNQUFpQixFQUNqQixNQUFjLEVBQ04sZ0JBQXFELEVBQzdELFdBQW9DLEVBQ3BDLFdBQXlCLEVBQ3pCLFlBQWlDO0lBRWpDLEtBQUssQ0FDSCxNQUFNLEVBQ04sTUFBTSxFQUNOLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsV0FBVyxFQUNYLFlBQVksQ0FDYixDQUFDO0lBWk0scUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQztFQWEvRCxDQUFDO0VBRUQ7Ozs7O0tBS0c7RUFDSSxNQUFNLENBQUMsS0FBc0I7SUFDbEMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRXRELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztNQUNqQixVQUFVLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FDMUIsYUFBYSxFQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FDbEM7TUFDRCxNQUFNLEVBQUUsYUFBYTtLQUN0QixDQUFDLENBQUM7RUFDTCxDQUFDO0VBRU0sdUJBQXVCLENBQzVCLGNBQXNCLEVBQ3RCLEtBQXNCLEVBQ3RCLElBQXFCO0lBRXJCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQ3ZDLGNBQWMsRUFDZCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksRUFDSixLQUFLLENBQ04sQ0FBQztJQUNGLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQ25DLGNBQWMsRUFDZCxJQUFJLENBQUMsRUFBRSxFQUNQLElBQUksRUFDSixPQUFPLENBQUMsTUFBTSxFQUFFLENBQ2pCLENBQUM7SUFDRixNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUNwQyxPQUFPLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsRUFDbkUsU0FBUyxDQUNWLENBQUM7SUFFRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7TUFDakIsVUFBVSxFQUFFLGFBQWE7TUFDekIsTUFBTSxFQUFFLFNBQVM7TUFDakIsRUFBRSxFQUFFLEtBQUs7S0FDVixDQUFDLENBQUM7RUFDTCxDQUFDO0VBRU0sZ0JBQWdCLENBQUMsV0FBb0M7SUFDMUQsT0FBTyxLQUFLLENBQUMsc0JBQXNCLENBQ2pDLFdBQVcsRUFDWCxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7RUFDSixDQUFDO0VBRU0sTUFBTSxDQUFDLE1BQXdDO0lBQ3BELE9BQU8sSUFBSSxrQkFBa0IsQ0FDM0IsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsTUFBTSxrQ0FDTixJQUFJLENBQUMsZ0JBQWdCLEdBQUssTUFBTSxHQUNyQyxJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsWUFBWSxDQUNsQixDQUFDO0VBQ0osQ0FBQztFQUVNLGFBQWE7SUFDbEIsT0FBTyxJQUFJLHVCQUF1QixDQUNoQyxJQUFJLENBQUMsVUFBVSxFQUNmLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLEVBQUUsRUFDUCxJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FDZixDQUFDO0VBQ0osQ0FBQztFQUVELElBQVcsVUFBVTtJQUNuQix5QkFBWSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFHO0VBQ2pELENBQUM7RUFFRCxJQUFXLFFBQVE7SUFDakIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztFQUNuRSxDQUFDO0VBRUQ7O0tBRUc7RUFDSCxJQUFXLEVBQUU7SUFDWCx5QkFBWSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUFHO0VBQ3pDLENBQUM7RUFFRDs7S0FFRztFQUNILElBQVcsTUFBTTtJQUNmLHlCQUFZLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUc7RUFDN0MsQ0FBQztFQUVEOztLQUVHO0VBQ0gsSUFBVyxTQUFTO0lBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztFQUN6QyxDQUFDO0VBRUQ7O0tBRUc7RUFDSCxJQUFXLFdBQVc7SUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0VBQ3JCLENBQUM7RUFFRDs7S0FFRztFQUNILElBQVcsSUFBSTtJQUNiLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkUsT0FBTyxJQUFJLENBQUM7RUFDZCxDQUFDO0VBRUQ7O0tBRUc7RUFDSCxJQUFXLEdBQUc7SUFDWixNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xFLE9BQU8sR0FBRyxDQUFDO0VBQ2IsQ0FBQztFQUVTLGtCQUFrQixDQUMxQixZQUFpQztJQUVqQyxPQUFPLElBQUksa0JBQWtCLENBQzNCLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsZ0JBQWdCLEVBQ3JCLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxXQUFXLEVBQ2hCLFlBQVksQ0FDYixDQUFDO0VBQ0osQ0FBQztDQUNGIn0=
375
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zY2VuZXMvY2FtZXJhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFFTCxjQUFjLEVBRWQsV0FBVyxFQUVYLHVCQUF1QixFQUN2QixzQkFBc0IsR0FFdkIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9DLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDO0FBTXRDLE1BQU0sT0FBTyxxQkFBcUI7RUFDaEMsWUFBMkIsWUFBaUM7SUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO0VBQUcsQ0FBQztFQUV6RCxLQUFLO0lBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0VBQzNCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxhQUFhO0VBR2pCLFVBQVUsQ0FBQyxFQUFVO0lBQzFCLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQztNQUMvQixLQUFLLEVBQUU7UUFDTCxJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUsRUFBRTtPQUNUO0tBQ0YsQ0FBQyxDQUFDO0VBQ0wsQ0FBQztFQUVNLGNBQWMsQ0FBQyxFQUFVO0lBQzlCLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQztNQUMvQixLQUFLLEVBQUU7UUFDTCxJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUsRUFBRTtP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
@@ -1,6 +1,7 @@
1
1
  import { Angle, Vector3 } from '@vertexvis/geometry';
2
2
  export function isPerspectiveFrameCamera(camera) {
3
- return camera.position != null;
3
+ return (camera.position != null &&
4
+ camera.fovHeight == null);
4
5
  }
5
6
  export function isOrthographicFrameCamera(camera) {
6
7
  const asOrtho = camera;
@@ -33,6 +34,7 @@ export function createOrthographic(data = {}) {
33
34
  };
34
35
  }
35
36
  export function toOrthographic(data) {
37
+ var _a;
36
38
  const viewVector = Vector3.subtract(data.lookAt, data.position);
37
39
  return {
38
40
  viewVector,
@@ -40,7 +42,7 @@ export function toOrthographic(data) {
40
42
  lookAt: data.lookAt,
41
43
  fovHeight: 2 *
42
44
  Vector3.magnitude(viewVector) *
43
- Math.tan(Angle.toRadians(data.fovY / 2.0)),
45
+ Math.tan(Angle.toRadians((_a = data.fovY) !== null && _a !== void 0 ? _a : 45 / 2.0)),
44
46
  };
45
47
  }
46
48
  export function toPerspective(data, fovY = 45) {
@@ -81,4 +83,4 @@ export function toProtobuf(camera) {
81
83
  return Object.assign({}, camera);
82
84
  }
83
85
  }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVDYW1lcmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzL2ZyYW1lQ2FtZXJhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFrQnJELE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsTUFBNEI7RUFFNUIsT0FBUSxNQUFpQyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7QUFDN0QsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsTUFBNEI7RUFFNUIsTUFBTSxPQUFPLEdBQUcsTUFBaUMsQ0FBQztFQUNsRCxPQUFPLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDO0FBQ2pFLENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQUMsTUFBbUI7RUFJM0QsSUFBSSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsRUFBRTtJQUNyQyx1Q0FDSyxNQUFNLEtBQ1QsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUN2RTtHQUNIO09BQU07SUFDTCx1Q0FDSyxNQUFNLEtBQ1QsVUFBVSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQzVEO0dBQ0g7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixPQUF3QyxFQUFFOztFQUUxQyxPQUFPO0lBQ0wsUUFBUSxFQUFFLE1BQUEsSUFBSSxDQUFDLFFBQVEsbUNBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtJQUM1QyxNQUFNLEVBQUUsTUFBQSxJQUFJLENBQUMsTUFBTSxtQ0FBSSxPQUFPLENBQUMsTUFBTSxFQUFFO0lBQ3ZDLEVBQUUsRUFBRSxNQUFBLElBQUksQ0FBQyxFQUFFLG1DQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUU7SUFDM0IsSUFBSSxFQUFFLE1BQUEsSUFBSSxDQUFDLElBQUksbUNBQUksRUFBRTtHQUN0QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsT0FBeUMsRUFBRTs7RUFFM0MsT0FBTztJQUNMLFVBQVUsRUFBRSxNQUFBLElBQUksQ0FBQyxVQUFVLG1DQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7SUFDN0MsTUFBTSxFQUFFLE1BQUEsSUFBSSxDQUFDLE1BQU0sbUNBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtJQUN2QyxFQUFFLEVBQUUsTUFBQSxJQUFJLENBQUMsRUFBRSxtQ0FBSSxPQUFPLENBQUMsRUFBRSxFQUFFO0lBQzNCLFNBQVMsRUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLG1DQUFJLEdBQUc7R0FDakMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUM1QixJQUE0QjtFQUU1QixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0VBRWhFLE9BQU87SUFDTCxVQUFVO0lBQ1YsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO0lBQ1gsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO0lBQ25CLFNBQVMsRUFDUCxDQUFDO01BQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7TUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7R0FDN0MsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUMzQixJQUE2QixFQUM3QixJQUFJLEdBQUcsRUFBRTtFQUVULE1BQU0saUJBQWlCLEdBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDN0QsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztFQUM3RCxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztFQUU3RCxPQUFPO0lBQ0wsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQ25CLElBQUksQ0FBQyxNQUFNLEVBQ1gsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDL0Q7SUFDRCxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7SUFDWCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07SUFDbkIsSUFBSTtHQUNMLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsTUFBNEI7RUFFNUIsSUFBSSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsRUFBRTtJQUNyQyxPQUFPO01BQ0wsWUFBWSxFQUFFO1FBQ1osVUFBVSxvQkFBTyxNQUFNLENBQUMsVUFBVSxDQUFFO1FBQ3BDLE1BQU0sb0JBQU8sTUFBTSxDQUFDLE1BQU0sQ0FBRTtRQUM1QixFQUFFLG9CQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUU7UUFDcEIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO09BQzVCO0tBQ0YsQ0FBQztHQUNIO09BQU0sSUFBSSx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtJQUMzQyxPQUFPO01BQ0wsV0FBVyxFQUFFO1FBQ1gsUUFBUSxvQkFBTyxNQUFNLENBQUMsUUFBUSxDQUFFO1FBQ2hDLE1BQU0sb0JBQU8sTUFBTSxDQUFDLE1BQU0sQ0FBRTtRQUM1QixFQUFFLG9CQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUU7T0FDckI7TUFDRCxRQUFRLG9CQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUU7TUFDaEMsTUFBTSxvQkFBTyxNQUFNLENBQUMsTUFBTSxDQUFFO01BQzVCLEVBQUUsb0JBQU8sTUFBTSxDQUFDLEVBQUUsQ0FBRTtLQUNyQixDQUFDO0dBQ0g7T0FBTTtJQUNMLHlCQUNLLE1BQU0sRUFDVDtHQUNIO0FBQ0gsQ0FBQyJ9
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVDYW1lcmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzL2ZyYW1lQ2FtZXJhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFrQnJELE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsTUFBNEI7RUFFNUIsT0FBTyxDQUNKLE1BQWlDLENBQUMsUUFBUSxJQUFJLElBQUk7SUFDbEQsTUFBa0MsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUN0RCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsTUFBNEI7RUFFNUIsTUFBTSxPQUFPLEdBQUcsTUFBaUMsQ0FBQztFQUNsRCxPQUFPLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDO0FBQ2pFLENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQUMsTUFBbUI7RUFJM0QsSUFBSSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsRUFBRTtJQUNyQyx1Q0FDSyxNQUFNLEtBQ1QsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUN2RTtHQUNIO09BQU07SUFDTCx1Q0FDSyxNQUFNLEtBQ1QsVUFBVSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQzVEO0dBQ0g7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixPQUF3QyxFQUFFOztFQUUxQyxPQUFPO0lBQ0wsUUFBUSxFQUFFLE1BQUEsSUFBSSxDQUFDLFFBQVEsbUNBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtJQUM1QyxNQUFNLEVB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
@@ -53694,7 +53694,8 @@ const defaultAnimationConfig = {
53694
53694
  };
53695
53695
 
53696
53696
  function isPerspectiveFrameCamera(camera) {
53697
- return camera.position != null;
53697
+ return (camera.position != null &&
53698
+ camera.fovHeight == null);
53698
53699
  }
53699
53700
  function isOrthographicFrameCamera(camera) {
53700
53701
  const asOrtho = camera;
@@ -53709,6 +53710,7 @@ function withPositionAndViewVector(camera) {
53709
53710
  }
53710
53711
  }
53711
53712
  function toOrthographic(data) {
53713
+ var _a;
53712
53714
  const viewVector = vector3.subtract(data.lookAt, data.position);
53713
53715
  return {
53714
53716
  viewVector,
@@ -53716,7 +53718,7 @@ function toOrthographic(data) {
53716
53718
  lookAt: data.lookAt,
53717
53719
  fovHeight: 2 *
53718
53720
  vector3.magnitude(viewVector) *
53719
- Math.tan(angle.toRadians(data.fovY / 2.0)),
53721
+ Math.tan(angle.toRadians((_a = data.fovY) !== null && _a !== void 0 ? _a : 45 / 2.0)),
53720
53722
  };
53721
53723
  }
53722
53724
  function toPerspective(data, fovY = 45) {
@@ -90359,13 +90361,15 @@ class PerspectiveCamera extends Camera {
90359
90361
  });
90360
90362
  }
90361
90363
  fitToBoundingBox(boundingBox) {
90362
- return super.fitCameraToBoundingBox(boundingBox, this.fovY, this.viewVector);
90364
+ var _a;
90365
+ return super.fitCameraToBoundingBox(boundingBox, (_a = this.fovY) !== null && _a !== void 0 ? _a : 45, this.viewVector);
90363
90366
  }
90364
90367
  update(camera) {
90365
90368
  return new PerspectiveCamera(this.stream, this.aspect, Object.assign(Object.assign({}, this.perspectiveData), camera), this.boundingBox, this.decodeFrame, this.flyToOptions);
90366
90369
  }
90367
90370
  toFrameCamera() {
90368
- return new FramePerspectiveCamera(this.position, this.lookAt, this.up, this.near, this.far, this.aspectRatio, this.fovY);
90371
+ var _a;
90372
+ return new FramePerspectiveCamera(this.position, this.lookAt, this.up, this.near, this.far, this.aspectRatio, (_a = this.fovY) !== null && _a !== void 0 ? _a : 45);
90369
90373
  }
90370
90374
  get viewVector() {
90371
90375
  return vector3.subtract(this.lookAt, this.position);
@@ -100714,10 +100718,11 @@ class InteractionApiPerspective extends InteractionApi {
100714
100718
  */
100715
100719
  async panCameraByDelta(delta) {
100716
100720
  return this.transformCamera(({ camera, viewport }) => {
100721
+ var _a;
100717
100722
  const vv = camera.viewVector;
100718
100723
  const u = vector3.normalize(camera.up);
100719
100724
  const v = vector3.normalize(vv);
100720
- const d = vector3.magnitude(vv) * Math.tan(camera.fovY);
100725
+ const d = vector3.magnitude(vv) * Math.tan((_a = camera.fovY) !== null && _a !== void 0 ? _a : 45);
100721
100726
  const epsilonX = (delta.x * d) / viewport.width;
100722
100727
  const epsilonY = (delta.y / viewport.width) * d;
100723
100728
  const xvec = vector3.cross(u, v);
@@ -107763,4 +107768,4 @@ const defineCustomElements = (opts) => {
107763
107768
  }
107764
107769
  };
107765
107770
 
107766
- export { AngleUnits, AreaUnits, ArrowMarkup, CircleMarkup, colorMaterial as ColorMaterial, CursorManager, DistanceUnits, EntityType, FreeformMarkup, loadableResource as LoadableResource, MeasurementController, MeasurementEntity, MeasurementModel, MeasurementOverlayManager, Frame as ReceivedFrame, FrameImage as ReceivedFrameImage, FrameScene as ReceivedFrameScene, FrameOrthographicCamera as ReceivedOrthographicCamera, FramePerspectiveCamera as ReceivedPerspectiveCamera, Scene, SynchronizedClock, VertexSceneTree, VertexSceneTreeSearch, VertexSceneTreeTableCell, VertexSceneTreeTableColumn, VertexSceneTreeTableHeader, VertexSceneTreeTableLayout, VertexSceneTreeTableResizeDivider, VertexSceneTreeToolbar, VertexSceneTreeToolbarGroup, VertexViewer, VertexViewerButton, VertexViewerDefaultToolbar, VertexViewerDomElement, VertexViewerDomGroup, VertexViewerDomRenderer, VertexViewerIcon, VertexViewerLayer, VertexViewerMarkup, VertexViewerMarkupArrow, VertexViewerMarkupCircle, VertexViewerMarkupFreeform, VertexViewerMarkupTool, VertexViewerMeasurementDetails, VertexViewerMeasurementDistance, VertexViewerMeasurementLine, VertexViewerMeasurementOverlays, VertexViewerMeasurementPrecise, VertexViewerMeasurementTool, VertexViewerMeasurements, VertexViewerToolbar, VertexViewerToolbarGroup, VertexViewerViewCube, Viewport, __awaiter as _, __generator as a, __spreadArray as b, createCommonjsModule as c, defineCustomElements, makeMinimumDistanceResult, measurementCursor, measurementWithArrowCursor };
107771
+ export { AngleUnits, AreaUnits, ArrowMarkup, CircleMarkup, colorMaterial as ColorMaterial, CursorManager, DistanceUnits, EntityType, FrameCameraBase, FreeformMarkup, loadableResource as LoadableResource, MeasurementController, MeasurementEntity, MeasurementModel, MeasurementOverlayManager, Frame as ReceivedFrame, FrameImage as ReceivedFrameImage, FrameScene as ReceivedFrameScene, FrameOrthographicCamera as ReceivedOrthographicCamera, FramePerspectiveCamera as ReceivedPerspectiveCamera, Scene, SynchronizedClock, VertexSceneTree, VertexSceneTreeSearch, VertexSceneTreeTableCell, VertexSceneTreeTableColumn, VertexSceneTreeTableHeader, VertexSceneTreeTableLayout, VertexSceneTreeTableResizeDivider, VertexSceneTreeToolbar, VertexSceneTreeToolbarGroup, VertexViewer, VertexViewerButton, VertexViewerDefaultToolbar, VertexViewerDomElement, VertexViewerDomGroup, VertexViewerDomRenderer, VertexViewerIcon, VertexViewerLayer, VertexViewerMarkup, VertexViewerMarkupArrow, VertexViewerMarkupCircle, VertexViewerMarkupFreeform, VertexViewerMarkupTool, VertexViewerMeasurementDetails, VertexViewerMeasurementDistance, VertexViewerMeasurementLine, VertexViewerMeasurementOverlays, VertexViewerMeasurementPrecise, VertexViewerMeasurementTool, VertexViewerMeasurements, VertexViewerToolbar, VertexViewerToolbarGroup, VertexViewerViewCube, Viewport, __awaiter as _, __generator as a, __spreadArray as b, createCommonjsModule as c, defineCustomElements, makeMinimumDistanceResult, measurementCursor, measurementWithArrowCursor };
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  import { o as objects } from './browser.esm-48f051a3.js';
5
- import './streamAttributes-87a3605c.js';
5
+ import './streamAttributes-2c9a360a.js';
6
6
 
7
7
  const DEFAULT_ANIMATION_DURATION = 500;
8
8
  const defaultAnimationConfig = {
@@ -1,9 +1,9 @@
1
1
  /**!
2
2
  * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import { m as mapMeasureResponseOrThrow, s as scene_view_api_pb, a as model_entity_pb, g as geometry_pb } from './mapper-adf23dc4.js';
4
+ import { m as mapMeasureResponseOrThrow, s as scene_view_api_pb, a as model_entity_pb, g as geometry_pb } from './mapper-6f855d67.js';
5
5
  import { g as grpcWebClient_umd, w as wrappers_pb } from './grpc-web-client.umd-5982b7b0.js';
6
- import { h as fromPbVector3f, v as vertexvis } from './streamAttributes-87a3605c.js';
6
+ import { i as fromPbVector3f, v as vertexvis } from './streamAttributes-2c9a360a.js';
7
7
  import { m as mapper } from './browser.esm-48f051a3.js';
8
8
 
9
9
  function requestUnary(caller) {
package/dist/esm/index.js CHANGED
@@ -1,17 +1,17 @@
1
1
  /**!
2
2
  * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
3
  */
4
- export { c as ColorMaterial, l as LoadableResource, S as Scene, a as SynchronizedClock } from './scene-2d8bdccc.js';
4
+ export { c as ColorMaterial, l as LoadableResource, S as Scene, a as SynchronizedClock } from './scene-e783044f.js';
5
5
  export { C as CursorManager, m as measurementCursor, a as measurementWithArrowCursor } from './cursors-45f23dfe.js';
6
- export { M as MeasurementController, a as MeasurementEntity } from './entities-60dfd79d.js';
6
+ export { M as MeasurementController, a as MeasurementEntity } from './entities-a3b33e84.js';
7
7
  export { M as MeasurementModel } from './model-4982c15d.js';
8
8
  export { M as MeasurementOverlayManager } from './overlays-1783a61a.js';
9
9
  export { m as makeMinimumDistanceResult } from './results-93d45acc.js';
10
- export { A as AngleUnits, e as AreaUnits, D as DistanceUnits, E as EntityType, F as ReceivedFrame, a as ReceivedFrameImage, b as ReceivedFrameScene, c as ReceivedOrthographicCamera, d as ReceivedPerspectiveCamera } from './streamAttributes-87a3605c.js';
10
+ export { A as AngleUnits, f as AreaUnits, D as DistanceUnits, E as EntityType, F as FrameCameraBase, a as ReceivedFrame, b as ReceivedFrameImage, c as ReceivedFrameScene, d as ReceivedOrthographicCamera, e as ReceivedPerspectiveCamera } from './streamAttributes-2c9a360a.js';
11
11
  export { A as ArrowMarkup, C as CircleMarkup, F as FreeformMarkup } from './markup-accb6b5c.js';
12
12
  export { V as Viewport } from './viewport-6d4c0af0.js';
13
13
  import './browser.esm-48f051a3.js';
14
14
  import './bundle.esm-df3a8a42.js';
15
- import './mapper-adf23dc4.js';
15
+ import './mapper-6f855d67.js';
16
16
  import './_commonjsHelpers-9943807e.js';
17
17
  import './grpc-web-client.umd-5982b7b0.js';
@@ -1,17 +1,17 @@
1
1
  /**!
2
2
  * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
3
  */
4
- export { c as ColorMaterial, l as LoadableResource, S as Scene, a as SynchronizedClock } from './scene-2d8bdccc.js';
4
+ export { c as ColorMaterial, l as LoadableResource, S as Scene, a as SynchronizedClock } from './scene-e783044f.js';
5
5
  export { C as CursorManager, m as measurementCursor, a as measurementWithArrowCursor } from './cursors-45f23dfe.js';
6
- export { M as MeasurementController, a as MeasurementEntity } from './entities-60dfd79d.js';
6
+ export { M as MeasurementController, a as MeasurementEntity } from './entities-a3b33e84.js';
7
7
  export { M as MeasurementModel } from './model-4982c15d.js';
8
8
  export { M as MeasurementOverlayManager } from './overlays-1783a61a.js';
9
9
  export { m as makeMinimumDistanceResult } from './results-93d45acc.js';
10
- export { A as AngleUnits, e as AreaUnits, D as DistanceUnits, E as EntityType, F as ReceivedFrame, a as ReceivedFrameImage, b as ReceivedFrameScene, c as ReceivedOrthographicCamera, d as ReceivedPerspectiveCamera } from './streamAttributes-87a3605c.js';
10
+ export { A as AngleUnits, f as AreaUnits, D as DistanceUnits, E as EntityType, F as FrameCameraBase, a as ReceivedFrame, b as ReceivedFrameImage, c as ReceivedFrameScene, d as ReceivedOrthographicCamera, e as ReceivedPerspectiveCamera } from './streamAttributes-2c9a360a.js';
11
11
  export { A as ArrowMarkup, C as CircleMarkup, F as FreeformMarkup } from './markup-accb6b5c.js';
12
12
  export { V as Viewport } from './viewport-6d4c0af0.js';
13
13
  import './browser.esm-48f051a3.js';
14
14
  import './bundle.esm-df3a8a42.js';
15
- import './mapper-adf23dc4.js';
15
+ import './mapper-6f855d67.js';
16
16
  import './_commonjsHelpers-9943807e.js';
17
17
  import './grpc-web-client.umd-5982b7b0.js';
@@ -4,7 +4,7 @@
4
4
  import { c as createCommonjsModule } from './_commonjsHelpers-9943807e.js';
5
5
  import { a as googleProtobuf, w as wrappers_pb } from './grpc-web-client.umd-5982b7b0.js';
6
6
  import { m as mapper } from './browser.esm-48f051a3.js';
7
- import { i as fromPbPlane, h as fromPbVector3f } from './streamAttributes-87a3605c.js';
7
+ import { j as fromPbPlane, i as fromPbVector3f } from './streamAttributes-2c9a360a.js';
8
8
 
9
9
  var uuid_pb = createCommonjsModule(function (module, exports) {
10
10
  /**