@vertexvis/viewer 0.15.0 → 0.15.1-canary.10

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 (133) hide show
  1. package/dist/cjs/{browser.esm-0bcdc581.js → browser.esm-5d246754.js} +192 -84
  2. package/dist/cjs/{config-0e32ebee.js → config-aec561b9.js} +2 -2
  3. package/dist/cjs/{cursors-f5d3c9a6.js → cursors-85d403e9.js} +1 -1
  4. package/dist/cjs/{entities-a39aad5f.js → entities-7b2e8c03.js} +3 -3
  5. package/dist/cjs/index.cjs.js +9 -9
  6. package/dist/cjs/{mapper-8edd5221.js → mapper-0f2294a6.js} +2 -3
  7. package/dist/cjs/{markup-f7e61d16.js → markup-4a2fc281.js} +1 -1
  8. package/dist/cjs/{model-5ca87867.js → model-20a70d27.js} +1 -1
  9. package/dist/cjs/{model-b5995b99.js → model-b61f4d20.js} +23 -1
  10. package/dist/cjs/{overlays-b0ba69fd.js → overlays-b03ec80b.js} +1 -1
  11. package/dist/cjs/{scene-21df783c.js → scene-56438693.js} +4 -3
  12. package/dist/cjs/{streamAttributes-37a35ddd.js → streamAttributes-c64aee75.js} +58 -1304
  13. package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +1 -1
  14. package/dist/cjs/vertex-scene-tree.cjs.entry.js +3 -3
  15. package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +2 -2
  16. package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js +1 -1
  17. package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +161 -40
  18. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +2 -2
  19. package/dist/cjs/vertex-viewer-markup.cjs.entry.js +2 -2
  20. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +2 -2
  21. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +6 -6
  22. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +4 -4
  23. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +8 -8
  24. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +6 -8
  25. package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js +6 -8
  26. package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js +4 -6
  27. package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +4 -2
  28. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +3 -3
  29. package/dist/cjs/vertex-viewer.cjs.entry.js +41 -19
  30. package/dist/collection/components/viewer/viewer.js +6 -4
  31. package/dist/collection/components/viewer-markup/markup-utils.js +130 -0
  32. package/dist/collection/components/viewer-markup-arrow/interactions.js +2 -2
  33. package/dist/collection/components/viewer-markup-arrow/viewer-markup-arrow.js +2 -2
  34. package/dist/collection/components/viewer-markup-circle/interactions.js +2 -2
  35. package/dist/collection/components/viewer-markup-circle/viewer-markup-circle-components.js +2 -2
  36. package/dist/collection/components/viewer-markup-circle/viewer-markup-circle.js +2 -2
  37. package/dist/collection/components/viewer-markup-freeform/interactions.js +2 -2
  38. package/dist/collection/components/viewer-markup-freeform/viewer-markup-freeform.js +2 -2
  39. package/dist/collection/components/viewer-pin-group/viewer-pin-group.js +2 -2
  40. package/dist/collection/components/viewer-pin-label/viewer-pin-label.js +2 -2
  41. package/dist/collection/components/viewer-pin-tool/utils.js +21 -0
  42. package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.js +3 -1
  43. package/dist/collection/components/viewer-view-cube/viewer-view-cube.css +0 -1
  44. package/dist/collection/lib/mappers/frameStreaming.js +3 -2
  45. package/dist/collection/lib/pins/interactions.js +2 -2
  46. package/dist/collection/lib/rendering/canvas.js +30 -12
  47. package/dist/collection/lib/scenes/scene.js +3 -2
  48. package/dist/collection/lib/stream/stream.js +3 -1
  49. package/dist/collection/testing/fixtures.js +3 -3
  50. package/dist/custom-elements/index.js +331 -1451
  51. package/dist/esm/{browser.esm-1ddb69c9.js → browser.esm-ae4ca1f1.js} +192 -85
  52. package/dist/esm/{config-68f9f723.js → config-d574c78c.js} +2 -2
  53. package/dist/esm/{cursors-98b7d89d.js → cursors-a8d4b3f4.js} +1 -1
  54. package/dist/esm/{entities-45af2f13.js → entities-a5bfef48.js} +3 -3
  55. package/dist/esm/index.js +9 -9
  56. package/dist/esm/index.mjs +9 -9
  57. package/dist/esm/{mapper-c4c1f9a6.js → mapper-5894c2a4.js} +2 -3
  58. package/dist/esm/{markup-8904f2fe.js → markup-3c2900f3.js} +1 -1
  59. package/dist/esm/{model-8138c84c.js → model-40bd1711.js} +22 -2
  60. package/dist/esm/{model-e54b081f.js → model-fa9af61a.js} +1 -1
  61. package/dist/esm/{overlays-ea2d45ec.js → overlays-cc3efc30.js} +1 -1
  62. package/dist/esm/{scene-bdbdeae4.js → scene-5b919078.js} +4 -3
  63. package/dist/esm/{streamAttributes-2e18d896.js → streamAttributes-7e8565be.js} +58 -1304
  64. package/dist/esm/vertex-scene-tree-search_3.entry.js +1 -1
  65. package/dist/esm/vertex-scene-tree.entry.js +3 -3
  66. package/dist/esm/vertex-viewer-dom-element_2.entry.js +2 -2
  67. package/dist/esm/vertex-viewer-dom-group.entry.js +1 -1
  68. package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +124 -3
  69. package/dist/esm/vertex-viewer-markup-tool.entry.js +2 -2
  70. package/dist/esm/vertex-viewer-markup.entry.js +2 -2
  71. package/dist/esm/vertex-viewer-measurement-details.entry.js +2 -2
  72. package/dist/esm/vertex-viewer-measurement-distance.entry.js +6 -6
  73. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +4 -4
  74. package/dist/esm/vertex-viewer-measurement-precise.entry.js +8 -8
  75. package/dist/esm/vertex-viewer-pin-group.entry.js +5 -7
  76. package/dist/esm/vertex-viewer-pin-label_2.entry.js +2 -4
  77. package/dist/esm/vertex-viewer-pin-tool.entry.js +3 -5
  78. package/dist/esm/vertex-viewer-transform-widget.entry.js +4 -2
  79. package/dist/esm/vertex-viewer-view-cube.entry.js +3 -3
  80. package/dist/esm/vertex-viewer.entry.js +41 -19
  81. package/dist/types/components/viewer/viewer.d.ts +0 -1
  82. package/dist/types/components/viewer-markup/{utils.d.ts → markup-utils.d.ts} +0 -20
  83. package/dist/types/components/viewer-markup-circle/interactions.d.ts +1 -1
  84. package/dist/types/components/viewer-markup-freeform/interactions.d.ts +1 -1
  85. package/dist/types/components/viewer-pin-tool/utils.d.ts +11 -0
  86. package/dist/types/lib/mappers/frameStreaming.d.ts +2 -0
  87. package/dist/types/lib/rendering/canvas.d.ts +1 -1
  88. package/dist/types/lib/scenes/scene.d.ts +2 -1
  89. package/dist/types/lib/stream/state.d.ts +1 -0
  90. package/dist/types/testing/fixtures.d.ts +1 -1
  91. package/dist/viewer/index.esm.js +1 -1
  92. package/dist/viewer/{p-80846f55.entry.js → p-07c3371d.entry.js} +1 -1
  93. package/dist/viewer/p-0cf4f05d.entry.js +4 -0
  94. package/dist/viewer/{p-4d37d97c.js → p-0fcafbf9.js} +1 -1
  95. package/dist/viewer/{p-944a2c49.js → p-1e0dd2e9.js} +1 -1
  96. package/dist/viewer/{p-2edf33d3.js → p-1fc24ec6.js} +1 -1
  97. package/dist/viewer/p-27dbc865.js +4 -0
  98. package/dist/viewer/p-31b87b90.js +4 -0
  99. package/dist/viewer/{p-058632f4.js → p-3ca4a7c1.js} +1 -1
  100. package/dist/viewer/p-3f6f2457.entry.js +4 -0
  101. package/dist/viewer/{p-bc1f23dc.js → p-40a9dd7d.js} +1 -1
  102. package/dist/viewer/{p-5895c835.js → p-5317e8cd.js} +1 -1
  103. package/dist/viewer/{p-7f3a8712.entry.js → p-61e50e11.entry.js} +1 -1
  104. package/dist/viewer/p-65af7a89.js +17 -0
  105. package/dist/viewer/{p-a2ef15e5.js → p-661b5234.js} +1 -1
  106. package/dist/viewer/{p-8fce7933.entry.js → p-6da8a28f.entry.js} +1 -1
  107. package/dist/viewer/p-6e15ca4d.entry.js +4 -0
  108. package/dist/viewer/{p-1bdec177.entry.js → p-7762c40a.entry.js} +1 -1
  109. package/dist/viewer/{p-db01460a.js → p-7f6251da.js} +1 -1
  110. package/dist/viewer/{p-c79bc372.entry.js → p-920c9a88.entry.js} +1 -1
  111. package/dist/viewer/p-a57dc6e4.entry.js +4 -0
  112. package/dist/viewer/{p-e3288c52.entry.js → p-b7e170ac.entry.js} +1 -1
  113. package/dist/viewer/{p-24a7498e.entry.js → p-c5e67a1e.entry.js} +1 -1
  114. package/dist/viewer/{p-3757edf3.entry.js → p-d34ad2b2.entry.js} +1 -1
  115. package/dist/viewer/{p-1d566192.entry.js → p-d64c1e14.entry.js} +2 -2
  116. package/dist/viewer/{p-f7f32d20.entry.js → p-d78f54a6.entry.js} +1 -1
  117. package/dist/viewer/{p-df9c411d.entry.js → p-dcb9804c.entry.js} +1 -1
  118. package/dist/viewer/{p-ff86aaa9.entry.js → p-e63c1703.entry.js} +1 -1
  119. package/dist/viewer/p-f4466ea2.entry.js +4 -0
  120. package/dist/viewer/viewer.esm.js +1 -1
  121. package/package.json +7 -7
  122. package/dist/cjs/utils-57f9c9f6.js +0 -162
  123. package/dist/collection/components/viewer-markup/utils.js +0 -154
  124. package/dist/esm/utils-66f58866.js +0 -153
  125. package/dist/viewer/p-001c284f.entry.js +0 -4
  126. package/dist/viewer/p-0350f108.js +0 -4
  127. package/dist/viewer/p-083f427e.js +0 -17
  128. package/dist/viewer/p-48e1a8a7.entry.js +0 -4
  129. package/dist/viewer/p-5ee97c04.js +0 -4
  130. package/dist/viewer/p-632a44a9.entry.js +0 -4
  131. package/dist/viewer/p-9f0f5c25.entry.js +0 -4
  132. package/dist/viewer/p-d67ba335.entry.js +0 -4
  133. package/dist/viewer/p-f0ad8663.js +0 -4
@@ -2657,6 +2657,158 @@ var objects = /*#__PURE__*/Object.freeze({
2657
2657
  fromPairs: fromPairs
2658
2658
  });
2659
2659
 
2660
+ /**
2661
+ * Returns a new `Range` with the given start and end points.
2662
+ */
2663
+ var create$1 = function (start, end) { return ({ start: start, end: end }); };
2664
+ /**
2665
+ * Returns a new `Range` with the start and end points at the given position.
2666
+ */
2667
+ var at = function (position) { return ({
2668
+ start: position,
2669
+ end: position,
2670
+ }); };
2671
+ /**
2672
+ * Returns a new `Range` with the given start point and length.
2673
+ */
2674
+ var withLength = function (start, len) { return ({
2675
+ start: start,
2676
+ end: start + len - 1,
2677
+ }); };
2678
+ /**
2679
+ * Returns a range with the start and end points shifted by the given distance.
2680
+ */
2681
+ var add = function (distance, range) {
2682
+ return create$1(range.start + distance, range.end + distance);
2683
+ };
2684
+ /**
2685
+ * Returns a range such that `range` is constrained to the start and end points
2686
+ * of `to`. The function will try to maintain the length of the range, but will
2687
+ * shrink the range if its length is greater than `to`.
2688
+ */
2689
+ var constrain = function (range, to) {
2690
+ if (contains(range, to)) {
2691
+ return range;
2692
+ }
2693
+ else if (length(range) > length(to)) {
2694
+ return to;
2695
+ }
2696
+ else if (range.start < to.start) {
2697
+ return create$1(to.start, to.start + length(range) - 1);
2698
+ }
2699
+ else {
2700
+ return create$1(to.end - length(range) + 1, to.end);
2701
+ }
2702
+ };
2703
+ /**
2704
+ * Checks if the given number or range is contained within another range.
2705
+ */
2706
+ var contains = function (numOrRange, range) {
2707
+ if (typeof numOrRange === 'number') {
2708
+ return range.start <= numOrRange && numOrRange <= range.end;
2709
+ }
2710
+ else {
2711
+ return contains(numOrRange.start, range) && contains(numOrRange.end, range);
2712
+ }
2713
+ };
2714
+ /**
2715
+ * Returns a range that represents the overlap between `other` and `range`. If
2716
+ * the two ranges do not intersect, then `undefined` is returned.
2717
+ * @param other
2718
+ * @param range
2719
+ */
2720
+ var intersection = function (other, range) {
2721
+ if (intersects(other, range)) {
2722
+ return create$1(Math.max(other.start, range.start), Math.min(other.end, range.end));
2723
+ }
2724
+ };
2725
+ /**
2726
+ * Returns `true` if `other` intersects with `range`.
2727
+ */
2728
+ var intersects = function (other, range) {
2729
+ return ((other.start <= range.end && other.end >= range.start) ||
2730
+ (range.start <= other.end && range.end >= other.start));
2731
+ };
2732
+ /**
2733
+ * Checks if a range has the same starting point as another range.
2734
+ */
2735
+ var isAt = function (other, range) {
2736
+ return other.start === range.start;
2737
+ };
2738
+ /**
2739
+ * Returns `true` if a range's start point is after the starting point of
2740
+ * another range.
2741
+ */
2742
+ var isAfter = function (other, range) {
2743
+ return other.start > range.start;
2744
+ };
2745
+ /**
2746
+ * Returns `true` if a range start at or is after another range.
2747
+ */
2748
+ var isAtOrAfter = function (other, range) {
2749
+ return isAt(other, range) || isAfter(other, range);
2750
+ };
2751
+ /**
2752
+ * Returns `true` if a range's starting point is before another range's starting
2753
+ * point.
2754
+ */
2755
+ var isBefore = function (other, range) {
2756
+ return other.start < range.start;
2757
+ };
2758
+ /**
2759
+ * Returns `true` if a range's starting point is at or before another range's
2760
+ * starting point.
2761
+ */
2762
+ var isAtOrBefore = function (other, range) {
2763
+ return isAt(other, range) || isBefore(other, range);
2764
+ };
2765
+ /**
2766
+ * Returns the length of a range.
2767
+ */
2768
+ var length = function (range) {
2769
+ return range.end - range.start + 1;
2770
+ };
2771
+ /**
2772
+ * Returns a `Range` with its start and end points subtracted by the given
2773
+ * distance.
2774
+ */
2775
+ var subtract = function (distance, range) {
2776
+ return add(distance * -1, range);
2777
+ };
2778
+ /**
2779
+ * Adjusts either the start or end position of a range so that its contained
2780
+ * within another range. Unlike `constrain`, this will not attempt to retain
2781
+ * the range's length.
2782
+ *
2783
+ * If `other` does not intersect with `to`, then the range cannot be truncated
2784
+ * and `undefined` is returned.
2785
+ */
2786
+ var truncate = function (other, to) {
2787
+ if (intersects(to, other)) {
2788
+ return create$1(Math.max(other.start, to.start), Math.min(other.end, to.end));
2789
+ }
2790
+ };
2791
+
2792
+ var range = /*#__PURE__*/Object.freeze({
2793
+ __proto__: null,
2794
+ create: create$1,
2795
+ at: at,
2796
+ withLength: withLength,
2797
+ add: add,
2798
+ constrain: constrain,
2799
+ contains: contains,
2800
+ intersection: intersection,
2801
+ intersects: intersects,
2802
+ isAt: isAt,
2803
+ isAfter: isAfter,
2804
+ isAtOrAfter: isAtOrAfter,
2805
+ isBefore: isBefore,
2806
+ isAtOrBefore: isAtOrBefore,
2807
+ length: length,
2808
+ subtract: subtract,
2809
+ truncate: truncate
2810
+ });
2811
+
2660
2812
  /**
2661
2813
  * A comparator that sorts a number or string in ascending order.
2662
2814
  */
@@ -2903,103 +3055,58 @@ function stringify(arr) {
2903
3055
  return uuid;
2904
3056
  }
2905
3057
 
2906
- //
2907
- // Inspired by https://github.com/LiosK/UUID.js
2908
- // and http://docs.python.org/library/uuid.html
2909
-
2910
- var _nodeId;
2911
-
2912
- var _clockseq; // Previous uuid creation time
2913
-
2914
-
2915
- var _lastMSecs = 0;
2916
- var _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details
2917
-
2918
- function v1(options, buf, offset) {
2919
- var i = buf && offset || 0;
2920
- var b = buf || new Array(16);
3058
+ function v4(options, buf, offset) {
2921
3059
  options = options || {};
2922
- var node = options.node || _nodeId;
2923
- var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not
2924
- // specified. We do this lazily to minimize issues related to insufficient
2925
- // system entropy. See #189
3060
+ var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
2926
3061
 
2927
- if (node == null || clockseq == null) {
2928
- var seedBytes = options.random || (options.rng || rng)();
3062
+ rnds[6] = rnds[6] & 0x0f | 0x40;
3063
+ rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
2929
3064
 
2930
- if (node == null) {
2931
- // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)
2932
- node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];
2933
- }
3065
+ if (buf) {
3066
+ offset = offset || 0;
2934
3067
 
2935
- if (clockseq == null) {
2936
- // Per 4.2.2, randomize (14 bit) clockseq
2937
- clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;
3068
+ for (var i = 0; i < 16; ++i) {
3069
+ buf[offset + i] = rnds[i];
2938
3070
  }
2939
- } // UUID timestamps are 100 nano-second units since the Gregorian epoch,
2940
- // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so
2941
- // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'
2942
- // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
2943
-
2944
3071
 
2945
- var msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock
2946
- // cycle to simulate higher resolution clock
2947
-
2948
- var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)
2949
-
2950
- var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression
2951
-
2952
- if (dt < 0 && options.clockseq === undefined) {
2953
- clockseq = clockseq + 1 & 0x3fff;
2954
- } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
2955
- // time interval
2956
-
2957
-
2958
- if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {
2959
- nsecs = 0;
2960
- } // Per 4.2.1.2 Throw error if too many uuids are requested
2961
-
2962
-
2963
- if (nsecs >= 10000) {
2964
- throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
2965
- }
2966
-
2967
- _lastMSecs = msecs;
2968
- _lastNSecs = nsecs;
2969
- _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch
2970
-
2971
- msecs += 12219292800000; // `time_low`
2972
-
2973
- var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;
2974
- b[i++] = tl >>> 24 & 0xff;
2975
- b[i++] = tl >>> 16 & 0xff;
2976
- b[i++] = tl >>> 8 & 0xff;
2977
- b[i++] = tl & 0xff; // `time_mid`
2978
-
2979
- var tmh = msecs / 0x100000000 * 10000 & 0xfffffff;
2980
- b[i++] = tmh >>> 8 & 0xff;
2981
- b[i++] = tmh & 0xff; // `time_high_and_version`
2982
-
2983
- b[i++] = tmh >>> 24 & 0xf | 0x10; // include version
2984
-
2985
- b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
2986
-
2987
- b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`
2988
-
2989
- b[i++] = clockseq & 0xff; // `node`
2990
-
2991
- for (var n = 0; n < 6; ++n) {
2992
- b[i + n] = node[n];
3072
+ return buf;
2993
3073
  }
2994
3074
 
2995
- return buf || stringify(b);
3075
+ return stringify(rnds);
2996
3076
  }
2997
3077
 
2998
- var create = function () { return v1(); };
3078
+ function create() {
3079
+ return v4();
3080
+ }
3081
+ function fromMsbLsb(msb, lsb) {
3082
+ function digits(val, ds) {
3083
+ var hi = BigInt(1) << (ds * BigInt(4));
3084
+ return (hi | (val & (hi - BigInt(1)))).toString(16).substring(1);
3085
+ }
3086
+ var msbB = typeof msb === 'string' ? BigInt(msb) : msb;
3087
+ var lsbB = typeof lsb === 'string' ? BigInt(lsb) : lsb;
3088
+ var sec1 = digits(msbB >> BigInt(32), BigInt(8));
3089
+ var sec2 = digits(msbB >> BigInt(16), BigInt(4));
3090
+ var sec3 = digits(msbB, BigInt(4));
3091
+ var sec4 = digits(lsbB >> BigInt(48), BigInt(4));
3092
+ var sec5 = digits(lsbB, BigInt(12));
3093
+ return "".concat(sec1, "-").concat(sec2, "-").concat(sec3, "-").concat(sec4, "-").concat(sec5);
3094
+ }
3095
+ function toMsbLsb(id) {
3096
+ var _a = bundle_esm.__read(id.split('-'), 5), c1 = _a[0], c2 = _a[1], c3 = _a[2], c4 = _a[3], c5 = _a[4];
3097
+ if (c1 == null || c2 == null || c3 == null || c4 == null || c5 == null) {
3098
+ throw new Error("Invalid UUID string ".concat(id));
3099
+ }
3100
+ var msb = BigInt.asIntN(64, BigInt("0x".concat(c1 + c2 + c3)));
3101
+ var lsb = BigInt.asIntN(64, BigInt("0x".concat(c4 + c5)));
3102
+ return { msb: msb.toString(), lsb: lsb.toString() };
3103
+ }
2999
3104
 
3000
3105
  var uuid = /*#__PURE__*/Object.freeze({
3001
3106
  __proto__: null,
3002
- create: create
3107
+ create: create,
3108
+ fromMsbLsb: fromMsbLsb,
3109
+ toMsbLsb: toMsbLsb
3003
3110
  });
3004
3111
 
3005
3112
  var EventDispatcher = /** @class */ (function () {
@@ -3068,5 +3175,6 @@ exports.async = async;
3068
3175
  exports.color = color;
3069
3176
  exports.mapper = mapper;
3070
3177
  exports.objects = objects;
3178
+ exports.range = range;
3071
3179
  exports.uri = uri;
3072
3180
  exports.uuid = uuid;
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const browser_esm = require('./browser.esm-0bcdc581.js');
7
- require('./streamAttributes-37a35ddd.js');
6
+ const browser_esm = require('./browser.esm-5d246754.js');
7
+ require('./streamAttributes-c64aee75.js');
8
8
  require('./entities-9eb7e608.js');
9
9
 
10
10
  const DEFAULT_ANIMATION_DURATION = 500;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const browser_esm = require('./browser.esm-0bcdc581.js');
6
+ const browser_esm = require('./browser.esm-5d246754.js');
7
7
 
8
8
  /**
9
9
  * The cursor manager maintains a prioritized list of cursors for the viewer.
@@ -3,10 +3,10 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const mapper = require('./mapper-8edd5221.js');
6
+ const mapper = require('./mapper-0f2294a6.js');
7
7
  const grpcWebClient_umd = require('./grpc-web-client.umd-2af20c1b.js');
8
- const streamAttributes = require('./streamAttributes-37a35ddd.js');
9
- const browser_esm = require('./browser.esm-0bcdc581.js');
8
+ const streamAttributes = require('./streamAttributes-c64aee75.js');
9
+ const browser_esm = require('./browser.esm-5d246754.js');
10
10
 
11
11
  function requestUnary(caller) {
12
12
  return new Promise((resolve, reject) => {
@@ -5,19 +5,19 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const scene = require('./scene-21df783c.js');
9
- const cursors = require('./cursors-f5d3c9a6.js');
10
- const entities$1 = require('./entities-a39aad5f.js');
11
- const model = require('./model-5ca87867.js');
12
- const overlays = require('./overlays-b0ba69fd.js');
8
+ const scene = require('./scene-56438693.js');
9
+ const cursors = require('./cursors-85d403e9.js');
10
+ const entities$1 = require('./entities-7b2e8c03.js');
11
+ const model = require('./model-20a70d27.js');
12
+ const overlays = require('./overlays-b03ec80b.js');
13
13
  const results = require('./results-178e89a3.js');
14
- const streamAttributes = require('./streamAttributes-37a35ddd.js');
14
+ const streamAttributes = require('./streamAttributes-c64aee75.js');
15
15
  const entities = require('./entities-9eb7e608.js');
16
- const markup = require('./markup-f7e61d16.js');
16
+ const markup = require('./markup-4a2fc281.js');
17
17
  const viewport = require('./viewport-5ca619f7.js');
18
- require('./browser.esm-0bcdc581.js');
18
+ require('./browser.esm-5d246754.js');
19
19
  require('./bundle.esm-22b6f2d6.js');
20
- require('./mapper-8edd5221.js');
20
+ require('./mapper-0f2294a6.js');
21
21
  require('./_commonjsHelpers-dcc4cf71.js');
22
22
  require('./grpc-web-client.umd-2af20c1b.js');
23
23
 
@@ -5,8 +5,8 @@
5
5
 
6
6
  const _commonjsHelpers = require('./_commonjsHelpers-dcc4cf71.js');
7
7
  const grpcWebClient_umd = require('./grpc-web-client.umd-2af20c1b.js');
8
- const browser_esm = require('./browser.esm-0bcdc581.js');
9
- const streamAttributes = require('./streamAttributes-37a35ddd.js');
8
+ const browser_esm = require('./browser.esm-5d246754.js');
9
+ const streamAttributes = require('./streamAttributes-c64aee75.js');
10
10
 
11
11
  var uuid_pb = _commonjsHelpers.createCommonjsModule(function (module, exports) {
12
12
  /**
@@ -8752,7 +8752,6 @@ var global = Function('return this')();
8752
8752
 
8753
8753
 
8754
8754
 
8755
-
8756
8755
  goog.exportSymbol('proto.vertexvis.protobuf.sceneview.v1.MeasureEntity', null, global);
8757
8756
  goog.exportSymbol('proto.vertexvis.protobuf.sceneview.v1.MeasureRequest', null, global);
8758
8757
  goog.exportSymbol('proto.vertexvis.protobuf.sceneview.v1.MeasureResponse', null, global);
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
7
- const browser_esm = require('./browser.esm-0bcdc581.js');
7
+ const browser_esm = require('./browser.esm-5d246754.js');
8
8
 
9
9
  class ArrowMarkup {
10
10
  constructor(init) {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const browser_esm = require('./browser.esm-0bcdc581.js');
6
+ const browser_esm = require('./browser.esm-5d246754.js');
7
7
 
8
8
  /**
9
9
  * A model representing the state of measurement.
@@ -3,7 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const browser_esm = require('./browser.esm-0bcdc581.js');
6
+ const bundle_esm = require('./bundle.esm-22b6f2d6.js');
7
+ const browser_esm = require('./browser.esm-5d246754.js');
7
8
 
8
9
  /**
9
10
  * The `PinController` is responsible for adding pin entities to the viewer canvas
@@ -115,6 +116,25 @@ class PinController {
115
116
  }
116
117
  }
117
118
 
119
+ function constrainRelativePoint(pt, range) {
120
+ const constrainedX = Math.max(range.start, Math.min(range.end, pt.x));
121
+ const constrainedY = Math.max(range.start, Math.min(range.end, pt.y));
122
+ return bundle_esm.point.create(constrainedX, constrainedY);
123
+ }
124
+ /**
125
+ * Translates a point in relative units to a point in screen units.
126
+ */
127
+ function translatePointToScreen(pt, canvasDimensions) {
128
+ return bundle_esm.point.add(bundle_esm.point.scale(pt, canvasDimensions.width, canvasDimensions.height), bundle_esm.dimensions.center(canvasDimensions));
129
+ }
130
+ /**
131
+ * Translates a point in screen units to a point in relative units.
132
+ */
133
+ function translatePointToRelative(pt, canvasDimensions) {
134
+ const point = bundle_esm.point.scale(bundle_esm.point.subtract(pt, bundle_esm.dimensions.center(canvasDimensions)), 1 / canvasDimensions.width, 1 / canvasDimensions.height);
135
+ return constrainRelativePoint(point, browser_esm.range.create(-0.5, 0.5));
136
+ }
137
+
118
138
  function isTextPin(pin) {
119
139
  return (pin === null || pin === void 0 ? void 0 : pin.type) === 'text';
120
140
  }
@@ -269,3 +289,5 @@ exports.PinModel = PinModel;
269
289
  exports.getPinColors = getPinColors;
270
290
  exports.isIconPin = isIconPin;
271
291
  exports.isTextPin = isTextPin;
292
+ exports.translatePointToRelative = translatePointToRelative;
293
+ exports.translatePointToScreen = translatePointToScreen;
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
7
- const browser_esm = require('./browser.esm-0bcdc581.js');
7
+ const browser_esm = require('./browser.esm-5d246754.js');
8
8
 
9
9
  class MeasurementOverlayManager {
10
10
  constructor() {
@@ -3,9 +3,9 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const browser_esm = require('./browser.esm-0bcdc581.js');
6
+ const browser_esm = require('./browser.esm-5d246754.js');
7
7
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
8
- const streamAttributes = require('./streamAttributes-37a35ddd.js');
8
+ const streamAttributes = require('./streamAttributes-c64aee75.js');
9
9
  require('./entities-9eb7e608.js');
10
10
 
11
11
  const defaultColor = {
@@ -1320,12 +1320,13 @@ class ItemsOperationExecutor {
1320
1320
  * the scene.
1321
1321
  */
1322
1322
  class Scene {
1323
- constructor(stream, frame, decodeFrame, imageScaleProvider, dimensions, sceneViewId, defaultSelectionMaterial) {
1323
+ constructor(stream, frame, decodeFrame, imageScaleProvider, dimensions, sceneId, sceneViewId, defaultSelectionMaterial) {
1324
1324
  this.stream = stream;
1325
1325
  this.frame = frame;
1326
1326
  this.decodeFrame = decodeFrame;
1327
1327
  this.imageScaleProvider = imageScaleProvider;
1328
1328
  this.dimensions = dimensions;
1329
+ this.sceneId = sceneId;
1329
1330
  this.sceneViewId = sceneViewId;
1330
1331
  this.defaultSelectionMaterial = defaultSelectionMaterial;
1331
1332
  }