@vertexvis/viewer 0.17.0-canary.0 → 0.17.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.
Files changed (57) hide show
  1. package/dist/cjs/{config-a13f1b83.js → config-0612abb5.js} +1 -1
  2. package/dist/cjs/{entities-98b08d8a.js → entities-08c3d95d.js} +2 -2
  3. package/dist/cjs/index.cjs.js +4 -4
  4. package/dist/cjs/{mapper-d3855fc8.js → mapper-20d582d7.js} +1 -1
  5. package/dist/cjs/{scene-66c35e79.js → scene-607f7a3b.js} +1 -1
  6. package/dist/cjs/{streamAttributes-fae65aa7.js → streamAttributes-fb227393.js} +6 -2
  7. package/dist/cjs/vertex-scene-tree.cjs.entry.js +2 -2
  8. package/dist/cjs/vertex-viewer-dom-element_2.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-pin-group.cjs.entry.js +2 -2
  14. package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +1 -1
  15. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +1 -1
  16. package/dist/cjs/vertex-viewer.cjs.entry.js +7 -5
  17. package/dist/collection/components/viewer/viewer.js +5 -3
  18. package/dist/collection/lib/types/frame.js +8 -3
  19. package/dist/custom-elements/index.js +10 -4
  20. package/dist/esm/{config-5a3235d2.js → config-e62dc627.js} +1 -1
  21. package/dist/esm/{entities-f0128903.js → entities-12852e6b.js} +2 -2
  22. package/dist/esm/index.js +4 -4
  23. package/dist/esm/index.mjs +4 -4
  24. package/dist/esm/{mapper-36404f5d.js → mapper-30449823.js} +1 -1
  25. package/dist/esm/{scene-d23dff71.js → scene-7b286ab4.js} +1 -1
  26. package/dist/esm/{streamAttributes-7bd73748.js → streamAttributes-587dc733.js} +7 -3
  27. package/dist/esm/vertex-scene-tree.entry.js +2 -2
  28. package/dist/esm/vertex-viewer-dom-element_2.entry.js +1 -1
  29. package/dist/esm/vertex-viewer-measurement-details.entry.js +1 -1
  30. package/dist/esm/vertex-viewer-measurement-distance.entry.js +2 -2
  31. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +2 -2
  32. package/dist/esm/vertex-viewer-measurement-precise.entry.js +4 -4
  33. package/dist/esm/vertex-viewer-pin-group.entry.js +2 -2
  34. package/dist/esm/vertex-viewer-transform-widget.entry.js +1 -1
  35. package/dist/esm/vertex-viewer-view-cube.entry.js +1 -1
  36. package/dist/esm/vertex-viewer.entry.js +7 -5
  37. package/dist/types/lib/types/frame.d.ts +4 -1
  38. package/dist/viewer/index.esm.js +1 -1
  39. package/dist/viewer/{p-dde5650a.js → p-1dfa9f67.js} +1 -1
  40. package/dist/viewer/{p-5632192b.js → p-23c5b57f.js} +1 -1
  41. package/dist/viewer/{p-b4321377.entry.js → p-2d80eb6c.entry.js} +1 -1
  42. package/dist/viewer/{p-42f4c338.entry.js → p-326056d4.entry.js} +1 -1
  43. package/dist/viewer/{p-886fb3a9.entry.js → p-4dbab9c5.entry.js} +1 -1
  44. package/dist/viewer/{p-787c2987.js → p-646f0d36.js} +1 -1
  45. package/dist/viewer/p-67053b87.js +4 -0
  46. package/dist/viewer/{p-58b30f31.entry.js → p-70375f24.entry.js} +1 -1
  47. package/dist/viewer/{p-92a65d2c.entry.js → p-70396ef7.entry.js} +1 -1
  48. package/dist/viewer/{p-db8948a9.entry.js → p-82f93b4f.entry.js} +1 -1
  49. package/dist/viewer/{p-f4d8751e.entry.js → p-8f7346e5.entry.js} +1 -1
  50. package/dist/viewer/{p-ecd99a3e.entry.js → p-9013090d.entry.js} +1 -1
  51. package/dist/viewer/{p-42acbbaf.entry.js → p-a058fbec.entry.js} +1 -1
  52. package/dist/viewer/{p-d8c578a9.entry.js → p-c205b8e2.entry.js} +1 -1
  53. package/dist/viewer/{p-2c07b773.js → p-d6a878eb.js} +1 -1
  54. package/dist/viewer/viewer.esm.js +1 -1
  55. package/package.json +7 -7
  56. package/readme.md +4 -4
  57. package/dist/viewer/p-817743a4.js +0 -4
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const browser_esm = require('./browser.esm-5d246754.js');
7
- require('./streamAttributes-fae65aa7.js');
7
+ require('./streamAttributes-fb227393.js');
8
8
  require('./entities-9eb7e608.js');
9
9
 
10
10
  const DEFAULT_ANIMATION_DURATION = 500;
@@ -3,9 +3,9 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const mapper = require('./mapper-d3855fc8.js');
6
+ const mapper = require('./mapper-20d582d7.js');
7
7
  const wrappers_pb = require('./wrappers_pb-04573f90.js');
8
- const streamAttributes = require('./streamAttributes-fae65aa7.js');
8
+ const streamAttributes = require('./streamAttributes-fb227393.js');
9
9
  const browser_esm = require('./browser.esm-5d246754.js');
10
10
 
11
11
  function requestUnary(caller) {
@@ -5,15 +5,15 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const scene = require('./scene-66c35e79.js');
8
+ const scene = require('./scene-607f7a3b.js');
9
9
  const controller = require('./controller-3d59e8cd.js');
10
10
  const row = require('./row-3a1861d4.js');
11
11
  const cursors = require('./cursors-02a06ec9.js');
12
- const entities$1 = require('./entities-98b08d8a.js');
12
+ const entities$1 = require('./entities-08c3d95d.js');
13
13
  const model = require('./model-20a70d27.js');
14
14
  const overlays = require('./overlays-b03ec80b.js');
15
15
  const results = require('./results-178e89a3.js');
16
- const streamAttributes = require('./streamAttributes-fae65aa7.js');
16
+ const streamAttributes = require('./streamAttributes-fb227393.js');
17
17
  const entities = require('./entities-9eb7e608.js');
18
18
  const markup = require('./markup-4a2fc281.js');
19
19
  const viewport = require('./viewport-5ca619f7.js');
@@ -24,7 +24,7 @@ require('./errors-1b37642b.js');
24
24
  require('./bundle.esm-6e8027ac.js');
25
25
  require('./wrappers_pb-04573f90.js');
26
26
  require('./_commonjsHelpers-dcc4cf71.js');
27
- require('./mapper-d3855fc8.js');
27
+ require('./mapper-20d582d7.js');
28
28
 
29
29
 
30
30
 
@@ -6,7 +6,7 @@
6
6
  const _commonjsHelpers = require('./_commonjsHelpers-dcc4cf71.js');
7
7
  const wrappers_pb = require('./wrappers_pb-04573f90.js');
8
8
  const browser_esm = require('./browser.esm-5d246754.js');
9
- const streamAttributes = require('./streamAttributes-fae65aa7.js');
9
+ const streamAttributes = require('./streamAttributes-fb227393.js');
10
10
 
11
11
  var uuid_pb = _commonjsHelpers.createCommonjsModule(function (module, exports) {
12
12
  /**
@@ -6,7 +6,7 @@
6
6
  const browser_esm = require('./browser.esm-5d246754.js');
7
7
  const errors = require('./errors-1b37642b.js');
8
8
  const bundle_esm$1 = require('./bundle.esm-22b6f2d6.js');
9
- const streamAttributes = require('./streamAttributes-fae65aa7.js');
9
+ const streamAttributes = require('./streamAttributes-fb227393.js');
10
10
  require('./entities-9eb7e608.js');
11
11
  const bundle_esm = require('./bundle.esm-6e8027ac.js');
12
12
 
@@ -888,7 +888,7 @@ function constrainViewVector(viewVector, boundingSphere) {
888
888
  }
889
889
 
890
890
  class Frame {
891
- constructor(correlationIds, sequenceNumber, dimensions, image, scene, depthBufferBytes, featureMapBytes) {
891
+ constructor(correlationIds, sequenceNumber, dimensions, image, scene, depthBufferBytes, featureMapBytes, id = browser_esm.uuid.create()) {
892
892
  this.correlationIds = correlationIds;
893
893
  this.sequenceNumber = sequenceNumber;
894
894
  this.dimensions = dimensions;
@@ -896,6 +896,10 @@ class Frame {
896
896
  this.scene = scene;
897
897
  this.depthBufferBytes = depthBufferBytes;
898
898
  this.featureMapBytes = featureMapBytes;
899
+ this.id = id;
900
+ }
901
+ getId() {
902
+ return this.id;
899
903
  }
900
904
  async depthBuffer() {
901
905
  if (this.cachedDepthBuffer == null) {
@@ -924,7 +928,7 @@ class Frame {
924
928
  return FeatureMap.fromPng(png, this.image.imageAttr);
925
929
  }
926
930
  copy({ correlationIds, sequenceNumber, dimensions, image, scene, depthBufferBytes, featureMapBytes, }) {
927
- return new Frame(correlationIds !== null && correlationIds !== void 0 ? correlationIds : this.correlationIds, sequenceNumber !== null && sequenceNumber !== void 0 ? sequenceNumber : this.sequenceNumber, dimensions !== null && dimensions !== void 0 ? dimensions : this.dimensions, image !== null && image !== void 0 ? image : this.image, scene !== null && scene !== void 0 ? scene : this.scene, depthBufferBytes !== null && depthBufferBytes !== void 0 ? depthBufferBytes : this.depthBufferBytes, featureMapBytes !== null && featureMapBytes !== void 0 ? featureMapBytes : this.featureMapBytes);
931
+ return new Frame(correlationIds !== null && correlationIds !== void 0 ? correlationIds : this.correlationIds, sequenceNumber !== null && sequenceNumber !== void 0 ? sequenceNumber : this.sequenceNumber, dimensions !== null && dimensions !== void 0 ? dimensions : this.dimensions, image !== null && image !== void 0 ? image : this.image, scene !== null && scene !== void 0 ? scene : this.scene, depthBufferBytes !== null && depthBufferBytes !== void 0 ? depthBufferBytes : this.depthBufferBytes, featureMapBytes !== null && featureMapBytes !== void 0 ? featureMapBytes : this.featureMapBytes, this.id);
928
932
  }
929
933
  }
930
934
  class FrameImage {
@@ -8,14 +8,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
8
8
  const index = require('./index-70db349e.js');
9
9
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
10
10
  const controller = require('./controller-3d59e8cd.js');
11
- const config = require('./config-a13f1b83.js');
11
+ const config = require('./config-0612abb5.js');
12
12
  const dom = require('./dom-d162f898.js');
13
13
  const row = require('./row-3a1861d4.js');
14
14
  require('./wrappers_pb-04573f90.js');
15
15
  require('./_commonjsHelpers-dcc4cf71.js');
16
16
  require('./browser.esm-5d246754.js');
17
17
  require('./errors-1b37642b.js');
18
- require('./streamAttributes-fae65aa7.js');
18
+ require('./streamAttributes-fb227393.js');
19
19
  require('./bundle.esm-6e8027ac.js');
20
20
  require('./entities-9eb7e608.js');
21
21
 
@@ -8,7 +8,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
8
8
  const index = require('./index-70db349e.js');
9
9
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
10
10
  const browser_esm = require('./browser.esm-5d246754.js');
11
- require('./streamAttributes-fae65aa7.js');
11
+ require('./streamAttributes-fb227393.js');
12
12
  require('./entities-9eb7e608.js');
13
13
  const viewport = require('./viewport-5ca619f7.js');
14
14
  require('./bundle.esm-6e8027ac.js');
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-70db349e.js');
9
- const streamAttributes = require('./streamAttributes-fae65aa7.js');
9
+ const streamAttributes = require('./streamAttributes-fb227393.js');
10
10
  require('./entities-9eb7e608.js');
11
11
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
12
12
  const index$1 = require('./index-b9d13137.js');
@@ -9,9 +9,9 @@ const index = require('./index-70db349e.js');
9
9
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
10
10
  const cursors = require('./cursors-02a06ec9.js');
11
11
  const dom = require('./dom-8d90bfaf.js');
12
- require('./mapper-d3855fc8.js');
12
+ require('./mapper-20d582d7.js');
13
13
  require('./wrappers_pb-04573f90.js');
14
- const streamAttributes = require('./streamAttributes-fae65aa7.js');
14
+ const streamAttributes = require('./streamAttributes-fb227393.js');
15
15
  const model = require('./model-20a70d27.js');
16
16
  const overlays = require('./overlays-b03ec80b.js');
17
17
  const results = require('./results-178e89a3.js');
@@ -7,9 +7,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-70db349e.js');
9
9
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
10
- require('./mapper-d3855fc8.js');
10
+ require('./mapper-20d582d7.js');
11
11
  require('./wrappers_pb-04573f90.js');
12
- require('./streamAttributes-fae65aa7.js');
12
+ require('./streamAttributes-fb227393.js');
13
13
  const overlays = require('./overlays-b03ec80b.js');
14
14
  const utils = require('./utils-2c8e2aa3.js');
15
15
  require('./_commonjsHelpers-dcc4cf71.js');
@@ -6,11 +6,11 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-70db349e.js');
9
- const mapper = require('./mapper-d3855fc8.js');
9
+ const mapper = require('./mapper-20d582d7.js');
10
10
  const wrappers_pb = require('./wrappers_pb-04573f90.js');
11
- const config = require('./config-a13f1b83.js');
12
- const entities = require('./entities-98b08d8a.js');
13
- require('./streamAttributes-fae65aa7.js');
11
+ const config = require('./config-0612abb5.js');
12
+ const entities = require('./entities-08c3d95d.js');
13
+ require('./streamAttributes-fb227393.js');
14
14
  const model = require('./model-20a70d27.js');
15
15
  const overlays = require('./overlays-b03ec80b.js');
16
16
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
@@ -9,9 +9,9 @@ const index = require('./index-70db349e.js');
9
9
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
10
10
  require('./controller-3d59e8cd.js');
11
11
  require('./cursors-02a06ec9.js');
12
- require('./mapper-d3855fc8.js');
12
+ require('./mapper-20d582d7.js');
13
13
  require('./wrappers_pb-04573f90.js');
14
- require('./streamAttributes-fae65aa7.js');
14
+ require('./streamAttributes-fb227393.js');
15
15
  require('./entities-9eb7e608.js');
16
16
  const viewport = require('./viewport-5ca619f7.js');
17
17
  const model = require('./model-19fb560a.js');
@@ -11,7 +11,7 @@ const index$1 = require('./index-b9d13137.js');
11
11
  const stencil = require('./stencil-fc92b387.js');
12
12
  const browser_esm = require('./browser.esm-5d246754.js');
13
13
  const _commonjsHelpers = require('./_commonjsHelpers-dcc4cf71.js');
14
- require('./streamAttributes-fae65aa7.js');
14
+ require('./streamAttributes-fb227393.js');
15
15
  require('./entities-9eb7e608.js');
16
16
  const viewport = require('./viewport-5ca619f7.js');
17
17
  require('./bundle.esm-6e8027ac.js');
@@ -8,7 +8,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
8
8
  const index = require('./index-70db349e.js');
9
9
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
10
10
  const stencil = require('./stencil-fc92b387.js');
11
- const streamAttributes = require('./streamAttributes-fae65aa7.js');
11
+ const streamAttributes = require('./streamAttributes-fb227393.js');
12
12
  require('./entities-9eb7e608.js');
13
13
  const index$1 = require('./index-b9d13137.js');
14
14
  require('./bundle.esm-6e8027ac.js');
@@ -10,14 +10,14 @@ const bundle_esm = require('./bundle.esm-22b6f2d6.js');
10
10
  const bundle_esm$1 = require('./bundle.esm-6e8027ac.js');
11
11
  const browser_esm = require('./browser.esm-5d246754.js');
12
12
  const index$1 = require('./index-b9d13137.js');
13
- const config = require('./config-a13f1b83.js');
13
+ const config = require('./config-0612abb5.js');
14
14
  const cursors = require('./cursors-02a06ec9.js');
15
15
  const dom = require('./dom-8d90bfaf.js');
16
16
  const errors = require('./errors-1b37642b.js');
17
- const streamAttributes = require('./streamAttributes-fae65aa7.js');
17
+ const streamAttributes = require('./streamAttributes-fb227393.js');
18
18
  const entities = require('./entities-9eb7e608.js');
19
19
  const viewport = require('./viewport-5ca619f7.js');
20
- const scene = require('./scene-66c35e79.js');
20
+ const scene = require('./scene-607f7a3b.js');
21
21
  require('./_commonjsHelpers-dcc4cf71.js');
22
22
 
23
23
  /**
@@ -3074,6 +3074,7 @@ const Viewer = class {
3074
3074
  }
3075
3075
  }
3076
3076
  handleConnected(previous, state) {
3077
+ var _a;
3077
3078
  this.token = state.token.token;
3078
3079
  if (previous.type !== 'connected') {
3079
3080
  this.errorMessage = undefined;
@@ -3084,7 +3085,7 @@ const Viewer = class {
3084
3085
  });
3085
3086
  this.deviceIdChange.emit(state.deviceId);
3086
3087
  }
3087
- if (this.frame !== state.frame) {
3088
+ if (((_a = this.frame) === null || _a === void 0 ? void 0 : _a.getId()) !== state.frame.getId()) {
3088
3089
  this.updateFrame(state.frame);
3089
3090
  }
3090
3091
  this.updateDimensions(this.dimensions);
@@ -3108,10 +3109,11 @@ const Viewer = class {
3108
3109
  this.dimensionschange.emit(dimensions);
3109
3110
  }
3110
3111
  async updateFrame(frame) {
3112
+ var _a;
3111
3113
  const canvasDimensions = this.getCanvasDimensions();
3112
3114
  if (this.canvasElement != null &&
3113
3115
  canvasDimensions != null &&
3114
- this.frame !== frame) {
3116
+ ((_a = this.frame) === null || _a === void 0 ? void 0 : _a.getId()) !== frame.getId()) {
3115
3117
  const canvas = this.canvasElement.getContext('2d');
3116
3118
  if (canvas != null) {
3117
3119
  const previousFrame = this.frame;
@@ -577,6 +577,7 @@ export class Viewer {
577
577
  }
578
578
  }
579
579
  handleConnected(previous, state) {
580
+ var _a;
580
581
  this.token = state.token.token;
581
582
  if (previous.type !== 'connected') {
582
583
  this.errorMessage = undefined;
@@ -587,7 +588,7 @@ export class Viewer {
587
588
  });
588
589
  this.deviceIdChange.emit(state.deviceId);
589
590
  }
590
- if (this.frame !== state.frame) {
591
+ if (((_a = this.frame) === null || _a === void 0 ? void 0 : _a.getId()) !== state.frame.getId()) {
591
592
  this.updateFrame(state.frame);
592
593
  }
593
594
  this.updateDimensions(this.dimensions);
@@ -611,10 +612,11 @@ export class Viewer {
611
612
  this.dimensionschange.emit(dimensions);
612
613
  }
613
614
  async updateFrame(frame) {
615
+ var _a;
614
616
  const canvasDimensions = this.getCanvasDimensions();
615
617
  if (this.canvasElement != null &&
616
618
  canvasDimensions != null &&
617
- this.frame !== frame) {
619
+ ((_a = this.frame) === null || _a === void 0 ? void 0 : _a.getId()) !== frame.getId()) {
618
620
  const canvas = this.canvasElement.getContext('2d');
619
621
  if (canvas != null) {
620
622
  const previousFrame = this.frame;
@@ -2040,4 +2042,4 @@ function getRequiredProp(errorMsg, getter) {
2040
2042
  else
2041
2043
  throw new Error(errorMsg);
2042
2044
  }
2043
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld2VyL3ZpZXdlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsS0FBSyxFQUVMLENBQUMsRUFDRCxJQUFJLEVBQ0osTUFBTSxFQUNOLE1BQU0sRUFDTixJQUFJLEVBQ0osS0FBSyxFQUNMLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RSxPQUFPLEVBQXFCLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RSxPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFTcEMsT0FBTyxFQUFVLFdBQVcsRUFBaUIsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RSxPQUFPLEVBQVUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIseUJBQXlCLEdBQzFCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUNMLDBCQUEwQixFQUMxQix5QkFBeUIsR0FDMUIsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUlqRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1REFBdUQsQ0FB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUNGO0FBRUQsU0FBUyxlQUFlLENBQUksUUFBZ0IsRUFBRSxNQUEyQjtFQUN2RSxNQUFNLEtBQUssR0FBRyxNQUFNLEVBQUUsQ0FBQztFQUN2QixJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7SUFDakIsT0FBTyxLQUFLLENBQUM7R0FDZDs7SUFBTSxNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ25DLENBQUMifQ==
2045
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld2VyL3ZpZXdlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsS0FBSyxFQUVMLENBQUMsRUFDRCxJQUFJLEVBQ0osTUFBTSxFQUNOLE1BQU0sRUFDTixJQUFJLEVBQ0osS0FBSyxFQUNMLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RSxPQUFPLEVBQXFCLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RSxPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFTcEMsT0FBTyxFQUFVLFdBQVcsRUFBaUIsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RSxPQUFPLEVBQVUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIseUJBQXlCLEdBQzFCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUNMLDBCQUEwQixFQUMxQix5QkFBeUIsR0FDMUIsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUlqRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1REFBdUQsQ0FB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUNGO0FBRUQsU0FBUyxlQUFlLENBQUksUUFBZ0IsRUFBRSxNQUEyQjtFQUN2RSxNQUFNLEtBQUssR0FBRyxNQUFNLEVBQUUsQ0FBQztFQUN2QixJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7SUFDakIsT0FBTyxLQUFLLENBQUM7R0FDZDs7SUFBTSxNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ25DLENBQUMifQ==
@@ -1,4 +1,5 @@
1
1
  import { BoundingSphere, Line3, Matrix4, Plane, Vector3, } from '@vertexvis/geometry';
2
+ import { UUID } from '@vertexvis/utils';
2
3
  import { decodePng } from '../../workers/png-decoder-pool';
3
4
  import { constrainViewVector } from '../rendering/vectors';
4
5
  import * as ClippingPlanes from './clippingPlanes';
@@ -6,7 +7,7 @@ import { DepthBuffer } from './depthBuffer';
6
7
  import { FeatureMap } from './featureMap';
7
8
  import * as FrameCamera from './frameCamera';
8
9
  export class Frame {
9
- constructor(correlationIds, sequenceNumber, dimensions, image, scene, depthBufferBytes, featureMapBytes) {
10
+ constructor(correlationIds, sequenceNumber, dimensions, image, scene, depthBufferBytes, featureMapBytes, id = UUID.create()) {
10
11
  this.correlationIds = correlationIds;
11
12
  this.sequenceNumber = sequenceNumber;
12
13
  this.dimensions = dimensions;
@@ -14,6 +15,10 @@ export class Frame {
14
15
  this.scene = scene;
15
16
  this.depthBufferBytes = depthBufferBytes;
16
17
  this.featureMapBytes = featureMapBytes;
18
+ this.id = id;
19
+ }
20
+ getId() {
21
+ return this.id;
17
22
  }
18
23
  async depthBuffer() {
19
24
  if (this.cachedDepthBuffer == null) {
@@ -42,7 +47,7 @@ export class Frame {
42
47
  return FeatureMap.fromPng(png, this.image.imageAttr);
43
48
  }
44
49
  copy({ correlationIds, sequenceNumber, dimensions, image, scene, depthBufferBytes, featureMapBytes, }) {
45
- return new Frame(correlationIds !== null && correlationIds !== void 0 ? correlationIds : this.correlationIds, sequenceNumber !== null && sequenceNumber !== void 0 ? sequenceNumber : this.sequenceNumber, dimensions !== null && dimensions !== void 0 ? dimensions : this.dimensions, image !== null && image !== void 0 ? image : this.image, scene !== null && scene !== void 0 ? scene : this.scene, depthBufferBytes !== null && depthBufferBytes !== void 0 ? depthBufferBytes : this.depthBufferBytes, featureMapBytes !== null && featureMapBytes !== void 0 ? featureMapBytes : this.featureMapBytes);
50
+ return new Frame(correlationIds !== null && correlationIds !== void 0 ? correlationIds : this.correlationIds, sequenceNumber !== null && sequenceNumber !== void 0 ? sequenceNumber : this.sequenceNumber, dimensions !== null && dimensions !== void 0 ? dimensions : this.dimensions, image !== null && image !== void 0 ? image : this.image, scene !== null && scene !== void 0 ? scene : this.scene, depthBufferBytes !== null && depthBufferBytes !== void 0 ? depthBufferBytes : this.depthBufferBytes, featureMapBytes !== null && featureMapBytes !== void 0 ? featureMapBytes : this.featureMapBytes, this.id);
46
51
  }
47
52
  }
48
53
  export class FrameImage {
@@ -250,4 +255,4 @@ export class FrameOrthographicCamera extends FrameCameraBase {
250
255
  return this.cameraMatrices;
251
256
  }
252
257
  }
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzL2ZyYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxjQUFjLEVBRWQsS0FBSyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBRUwsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sS0FBSyxjQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sS0FBSyxXQUFXLE1BQU0sZUFBZSxDQUFDO0FBRzdDLE1BQU0sT0FBTyxLQUFLO0VBSWhCLFlBQ2tCLGNBQXdCLEVBQ3hCLGNBQXNCLEVBQ3RCLFVBQWlDLEVBQ2pDLEtBQWlCLEVBQ2pCLEtBQWlCLEVBQ2hCLGdCQUF3QyxFQUN4QyxlQUF1QztJQU54QyxtQkFBYyxHQUFkLGNBQWMsQ0FBVTtJQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBUTtJQUN0QixlQUFVLEdBQVYsVUFBVSxDQUF1QjtJQUNqQyxVQUFLLEdBQUwsS0FBSyxDQUFZO0lBQ2pCLFVBQUssR0FBTCxLQUFLLENBQVk7SUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtJQUN4QyxvQkFBZSxHQUFmLGVBQWUsQ0FBd0I7RUFDdkQsQ0FBQztFQUVHLEtBQUssQ0FBQyxXQUFXO0lBQ3RCLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksRUFBRTtNQUNsQyxJQUFJLENBQUMsaUJBQWlCO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJO1VBQzNCLENBQUMsQ0FBQyxJQUFJLENB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
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzL2ZyYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxjQUFjLEVBRWQsS0FBSyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBRUwsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEtBQUssY0FBYyxNQUFNLGtCQUFrQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEtBQUssV0FBVyxNQUFNLGVBQWUsQ0FBQztBQUc3QyxNQUFNLE9BQU8sS0FBSztFQUloQixZQUNrQixjQUF3QixFQUN4QixjQUFzQixFQUN0QixVQUFpQyxFQUNqQyxLQUFpQixFQUNqQixLQUFpQixFQUNoQixnQkFBd0MsRUFDeEMsZUFBdUMsRUFDdkMsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFO0lBUG5CLG1CQUFjLEdBQWQsY0FBYyxDQUFVO0lBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO0lBQ3RCLGVBQVUsR0FBVixVQUFVLENBQXVCO0lBQ2pDLFVBQUssR0FBTCxLQUFLLENBQVk7SUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO0lBQ3hDLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtJQUN2QyxPQUFFLEdBQUYsRUFBRSxDQUFnQjtFQUNsQyxDQUFDO0VBRUcsS0FBSztJQUNWLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztF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
@@ -64579,7 +64579,7 @@ function constrainViewVector(viewVector, boundingSphere) {
64579
64579
  }
64580
64580
 
64581
64581
  class Frame {
64582
- constructor(correlationIds, sequenceNumber, dimensions, image, scene, depthBufferBytes, featureMapBytes) {
64582
+ constructor(correlationIds, sequenceNumber, dimensions, image, scene, depthBufferBytes, featureMapBytes, id = uuid.create()) {
64583
64583
  this.correlationIds = correlationIds;
64584
64584
  this.sequenceNumber = sequenceNumber;
64585
64585
  this.dimensions = dimensions;
@@ -64587,6 +64587,10 @@ class Frame {
64587
64587
  this.scene = scene;
64588
64588
  this.depthBufferBytes = depthBufferBytes;
64589
64589
  this.featureMapBytes = featureMapBytes;
64590
+ this.id = id;
64591
+ }
64592
+ getId() {
64593
+ return this.id;
64590
64594
  }
64591
64595
  async depthBuffer() {
64592
64596
  if (this.cachedDepthBuffer == null) {
@@ -64615,7 +64619,7 @@ class Frame {
64615
64619
  return FeatureMap.fromPng(png, this.image.imageAttr);
64616
64620
  }
64617
64621
  copy({ correlationIds, sequenceNumber, dimensions, image, scene, depthBufferBytes, featureMapBytes, }) {
64618
- return new Frame(correlationIds !== null && correlationIds !== void 0 ? correlationIds : this.correlationIds, sequenceNumber !== null && sequenceNumber !== void 0 ? sequenceNumber : this.sequenceNumber, dimensions !== null && dimensions !== void 0 ? dimensions : this.dimensions, image !== null && image !== void 0 ? image : this.image, scene !== null && scene !== void 0 ? scene : this.scene, depthBufferBytes !== null && depthBufferBytes !== void 0 ? depthBufferBytes : this.depthBufferBytes, featureMapBytes !== null && featureMapBytes !== void 0 ? featureMapBytes : this.featureMapBytes);
64622
+ return new Frame(correlationIds !== null && correlationIds !== void 0 ? correlationIds : this.correlationIds, sequenceNumber !== null && sequenceNumber !== void 0 ? sequenceNumber : this.sequenceNumber, dimensions !== null && dimensions !== void 0 ? dimensions : this.dimensions, image !== null && image !== void 0 ? image : this.image, scene !== null && scene !== void 0 ? scene : this.scene, depthBufferBytes !== null && depthBufferBytes !== void 0 ? depthBufferBytes : this.depthBufferBytes, featureMapBytes !== null && featureMapBytes !== void 0 ? featureMapBytes : this.featureMapBytes, this.id);
64619
64623
  }
64620
64624
  }
64621
64625
  class FrameImage {
@@ -110627,6 +110631,7 @@ const Viewer = class extends HTMLElement$1 {
110627
110631
  }
110628
110632
  }
110629
110633
  handleConnected(previous, state) {
110634
+ var _a;
110630
110635
  this.token = state.token.token;
110631
110636
  if (previous.type !== 'connected') {
110632
110637
  this.errorMessage = undefined;
@@ -110637,7 +110642,7 @@ const Viewer = class extends HTMLElement$1 {
110637
110642
  });
110638
110643
  this.deviceIdChange.emit(state.deviceId);
110639
110644
  }
110640
- if (this.frame !== state.frame) {
110645
+ if (((_a = this.frame) === null || _a === void 0 ? void 0 : _a.getId()) !== state.frame.getId()) {
110641
110646
  this.updateFrame(state.frame);
110642
110647
  }
110643
110648
  this.updateDimensions(this.dimensions);
@@ -110661,10 +110666,11 @@ const Viewer = class extends HTMLElement$1 {
110661
110666
  this.dimensionschange.emit(dimensions);
110662
110667
  }
110663
110668
  async updateFrame(frame) {
110669
+ var _a;
110664
110670
  const canvasDimensions = this.getCanvasDimensions();
110665
110671
  if (this.canvasElement != null &&
110666
110672
  canvasDimensions != null &&
110667
- this.frame !== frame) {
110673
+ ((_a = this.frame) === null || _a === void 0 ? void 0 : _a.getId()) !== frame.getId()) {
110668
110674
  const canvas = this.canvasElement.getContext('2d');
110669
110675
  if (canvas != null) {
110670
110676
  const previousFrame = this.frame;
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  import { o as objects } from './browser.esm-07e7db8f.js';
5
- import './streamAttributes-7bd73748.js';
5
+ import './streamAttributes-587dc733.js';
6
6
  import './entities-ce81dd7f.js';
7
7
 
8
8
  const DEFAULT_ANIMATION_DURATION = 500;