@vertexvis/viewer 0.12.0 → 0.13.0-canary.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 (225) hide show
  1. package/dist/cjs/{config-acd7cea9.js → config-90ee43d5.js} +1 -1
  2. package/dist/cjs/{cursors-399a9648.js → cursors-ad2fd395.js} +7 -0
  3. package/dist/cjs/{controller-8cbcdd8d.js → entities-aa59890e.js} +57 -22
  4. package/dist/cjs/{index-cc65325e.js → index-e100709a.js} +64 -3
  5. package/dist/cjs/index.cjs.js +21 -11
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/{model-18ef3363.js → mapper-f6e6cafe.js} +37 -191
  8. package/dist/cjs/model-4ec0c36e.js +134 -0
  9. package/dist/cjs/overlays-8a582edf.js +76 -0
  10. package/dist/cjs/results-bc325974.js +24 -0
  11. package/dist/cjs/{scene-ffee07ee.js → scene-f4040800.js} +1 -1
  12. package/dist/cjs/{stencil-bd453a38.js → stencil-a664cd10.js} +1 -1
  13. package/dist/cjs/{streamAttributes-9d6226ac.js → streamAttributes-d6236448.js} +87 -30
  14. package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +2 -2
  15. package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
  16. package/dist/cjs/vertex-scene-tree-table-column.cjs.entry.js +1 -1
  17. package/dist/cjs/vertex-scene-tree-table-header.cjs.entry.js +1 -1
  18. package/dist/cjs/vertex-scene-tree-table-resize-divider.cjs.entry.js +1 -1
  19. package/dist/cjs/vertex-scene-tree-toolbar-group.cjs.entry.js +1 -1
  20. package/dist/cjs/vertex-scene-tree.cjs.entry.js +3 -3
  21. package/dist/cjs/vertex-viewer-button_3.cjs.entry.js +1 -1
  22. package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js +1 -1
  23. package/dist/cjs/vertex-viewer-dom-element_3.cjs.entry.js +4 -4
  24. package/dist/cjs/vertex-viewer-icon.cjs.entry.js +1 -1
  25. package/dist/cjs/vertex-viewer-layer.cjs.entry.js +1 -1
  26. package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +1 -1
  27. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +1 -1
  28. package/dist/cjs/vertex-viewer-markup.cjs.entry.js +1 -1
  29. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +221 -75
  30. package/dist/cjs/{vertex-viewer-measurement-distance_2.cjs.entry.js → vertex-viewer-measurement-distance.cjs.entry.js} +30 -69
  31. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +170 -0
  32. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +163 -55
  33. package/dist/cjs/vertex-viewer-measurement-tool.cjs.entry.js +2 -2
  34. package/dist/cjs/vertex-viewer-measurements.cjs.entry.js +33 -4
  35. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +4 -4
  36. package/dist/cjs/vertex-viewer.cjs.entry.js +58 -10
  37. package/dist/cjs/viewer.cjs.js +2 -2
  38. package/dist/cjs/{viewport-51aa05ab.js → viewport-8c39089f.js} +11 -0
  39. package/dist/collection/collection-manifest.json +1 -0
  40. package/dist/collection/components/viewer/viewer.js +2 -2
  41. package/dist/collection/components/viewer-dom-renderer/viewer-dom-renderer.js +2 -2
  42. package/dist/collection/components/viewer-measurement-details/viewer-measurement-details-entry.js +14 -0
  43. package/dist/collection/components/viewer-measurement-details/viewer-measurement-details-results.js +22 -0
  44. package/dist/collection/components/viewer-measurement-details/viewer-measurement-details.css +3 -10
  45. package/dist/collection/components/viewer-measurement-details/viewer-measurement-details.js +125 -188
  46. package/dist/collection/components/viewer-measurement-distance/interactions.js +3 -14
  47. package/dist/collection/components/viewer-measurement-distance/viewer-measurement-distance.js +41 -1
  48. package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays-components.js +30 -0
  49. package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.css +51 -0
  50. package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.js +149 -0
  51. package/dist/collection/components/viewer-measurement-precise/viewer-measurement-precise.js +118 -26
  52. package/dist/collection/components/viewer-measurements/viewer-measurements.js +67 -2
  53. package/dist/collection/components/viewer-view-cube/viewer-view-cube.css +21 -3
  54. package/dist/collection/index.js +2 -2
  55. package/dist/collection/lib/cursors.js +7 -1
  56. package/dist/collection/lib/elementRectObserver.js +19 -0
  57. package/dist/collection/lib/interactions/interactionApi.js +53 -4
  58. package/dist/collection/lib/mappers/frameStreaming.js +2 -4
  59. package/dist/collection/lib/measurement/controller.js +21 -17
  60. package/dist/collection/lib/measurement/entities.js +34 -0
  61. package/dist/collection/lib/measurement/index.js +4 -2
  62. package/dist/collection/lib/measurement/interactions.js +74 -28
  63. package/dist/collection/lib/measurement/mapper.js +5 -5
  64. package/dist/collection/lib/measurement/model.js +24 -85
  65. package/dist/collection/lib/measurement/outcomes.js +2 -0
  66. package/dist/collection/lib/measurement/overlays.js +69 -0
  67. package/dist/collection/lib/measurement/results.js +17 -0
  68. package/dist/collection/lib/types/entities.js +5 -1
  69. package/dist/collection/lib/types/featureMap.js +14 -5
  70. package/dist/collection/lib/types/frame.js +3 -3
  71. package/dist/collection/lib/types/measurementUnits.js +7 -7
  72. package/dist/collection/lib/types/viewport.js +12 -1
  73. package/dist/collection/testing/eventually.js +30 -0
  74. package/dist/collection/testing/fixtures.js +11 -4
  75. package/dist/collection/testing/index.js +2 -1
  76. package/dist/custom-elements/index.d.ts +6 -0
  77. package/dist/custom-elements/index.js +851 -287
  78. package/dist/esm/{browser.esm-e6827921.js → browser.esm-59e914f6.js} +1 -1
  79. package/dist/esm/{bundle.esm-8f14ac60.js → bundle.esm-d899b2d5.js} +1 -1
  80. package/dist/esm/{config-a200c227.js → config-604c644e.js} +2 -2
  81. package/dist/esm/{cursors-5157d29d.js → cursors-a7ec4adb.js} +8 -2
  82. package/dist/esm/{dom-2d6a1e1e.js → dom-780d25be.js} +1 -1
  83. package/dist/esm/{controller-a756cf9c.js → entities-759d97cd.js} +52 -18
  84. package/dist/esm/{index-f0053642.js → index-10c1495a.js} +64 -3
  85. package/dist/esm/index.js +13 -11
  86. package/dist/esm/index.mjs +13 -11
  87. package/dist/esm/loader.js +2 -2
  88. package/dist/esm/loader.mjs +2 -2
  89. package/dist/esm/{model-f711a825.js → mapper-4b815e31.js} +37 -190
  90. package/dist/esm/{markup-e46623b3.js → markup-1d177b4a.js} +2 -2
  91. package/dist/esm/{measurement-702d6b8c.js → measurement-12cdbf5c.js} +2 -2
  92. package/dist/esm/model-e5a4f00f.js +132 -0
  93. package/dist/esm/overlays-dbe5d652.js +74 -0
  94. package/dist/esm/{png-decoder-59a0e9c2.js → png-decoder-3f1fa486.js} +1 -1
  95. package/dist/esm/results-994bdb50.js +22 -0
  96. package/dist/esm/{scene-16490983.js → scene-9ac8a484.js} +3 -3
  97. package/dist/esm/{stencil-7d04d41a.js → stencil-9bf7fb9e.js} +1 -1
  98. package/dist/esm/{streamAttributes-7aa486b2.js → streamAttributes-d623bb60.js} +77 -20
  99. package/dist/esm/{utils-8070900a.js → utils-01e4f587.js} +1 -1
  100. package/dist/esm/{utils-953a1619.js → utils-5e57bf24.js} +1 -1
  101. package/dist/esm/vertex-scene-tree-search_3.entry.js +3 -3
  102. package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
  103. package/dist/esm/vertex-scene-tree-table-column.entry.js +1 -1
  104. package/dist/esm/vertex-scene-tree-table-header.entry.js +1 -1
  105. package/dist/esm/vertex-scene-tree-table-resize-divider.entry.js +1 -1
  106. package/dist/esm/vertex-scene-tree-toolbar-group.entry.js +1 -1
  107. package/dist/esm/vertex-scene-tree.entry.js +5 -5
  108. package/dist/esm/vertex-viewer-button_3.entry.js +1 -1
  109. package/dist/esm/vertex-viewer-default-toolbar.entry.js +1 -1
  110. package/dist/esm/vertex-viewer-dom-element_3.entry.js +6 -6
  111. package/dist/esm/vertex-viewer-icon.entry.js +1 -1
  112. package/dist/esm/vertex-viewer-layer.entry.js +1 -1
  113. package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +4 -4
  114. package/dist/esm/vertex-viewer-markup-tool.entry.js +5 -5
  115. package/dist/esm/vertex-viewer-markup.entry.js +5 -5
  116. package/dist/esm/vertex-viewer-measurement-details.entry.js +221 -75
  117. package/dist/esm/{vertex-viewer-measurement-distance_2.entry.js → vertex-viewer-measurement-distance.entry.js} +35 -73
  118. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +165 -0
  119. package/dist/esm/vertex-viewer-measurement-precise.entry.js +160 -52
  120. package/dist/esm/vertex-viewer-measurement-tool.entry.js +6 -6
  121. package/dist/esm/vertex-viewer-measurements.entry.js +36 -7
  122. package/dist/esm/vertex-viewer-view-cube.entry.js +6 -6
  123. package/dist/esm/vertex-viewer.entry.js +61 -13
  124. package/dist/esm/viewer.js +2 -2
  125. package/dist/esm/{viewport-bb7c46d9.js → viewport-01c886ea.js} +12 -1
  126. package/dist/types/components/viewer-dom-renderer/viewer-dom-renderer.d.ts +1 -1
  127. package/dist/types/components/viewer-measurement-details/viewer-measurement-details-entry.d.ts +8 -0
  128. package/dist/types/components/viewer-measurement-details/viewer-measurement-details-results.d.ts +15 -0
  129. package/dist/types/components/viewer-measurement-details/viewer-measurement-details.d.ts +44 -42
  130. package/dist/types/components/viewer-measurement-distance/interactions.d.ts +23 -1
  131. package/dist/types/components/viewer-measurement-distance/viewer-measurement-distance.d.ts +8 -0
  132. package/dist/types/components/viewer-measurement-overlays/viewer-measurement-overlays-components.d.ts +10 -0
  133. package/dist/types/components/viewer-measurement-overlays/viewer-measurement-overlays.d.ts +41 -0
  134. package/dist/types/components/viewer-measurement-precise/viewer-measurement-precise.d.ts +62 -6
  135. package/dist/types/components/viewer-measurements/viewer-measurements.d.ts +12 -0
  136. package/dist/types/components.d.ts +103 -40
  137. package/dist/types/index.d.ts +1 -1
  138. package/dist/types/lib/cursors.d.ts +5 -0
  139. package/dist/types/lib/elementRectObserver.d.ts +8 -0
  140. package/dist/types/lib/interactions/interactionApi.d.ts +32 -5
  141. package/dist/types/lib/measurement/controller.d.ts +8 -7
  142. package/dist/types/lib/measurement/entities.d.ts +10 -0
  143. package/dist/types/lib/measurement/index.d.ts +3 -1
  144. package/dist/types/lib/measurement/interactions.d.ts +19 -5
  145. package/dist/types/lib/measurement/mapper.d.ts +1 -1
  146. package/dist/types/lib/measurement/model.d.ts +18 -153
  147. package/dist/types/lib/measurement/outcomes.d.ts +8 -0
  148. package/dist/types/lib/measurement/overlays.d.ts +38 -0
  149. package/dist/types/lib/measurement/results.d.ts +90 -0
  150. package/dist/types/lib/types/entities.d.ts +5 -1
  151. package/dist/types/lib/types/featureMap.d.ts +2 -2
  152. package/dist/types/lib/types/measurementUnits.d.ts +1 -1
  153. package/dist/types/lib/types/viewport.d.ts +9 -1
  154. package/dist/types/testing/eventually.d.ts +15 -0
  155. package/dist/types/testing/fixtures.d.ts +2 -2
  156. package/dist/types/testing/index.d.ts +1 -0
  157. package/dist/viewer/index.esm.js +1 -1
  158. package/dist/viewer/p-081e6873.js +4 -0
  159. package/dist/viewer/{p-5d82c131.entry.js → p-099fe6ca.entry.js} +1 -1
  160. package/dist/viewer/{p-784914e4.js → p-0aba71fd.js} +1 -1
  161. package/dist/viewer/p-0aeab3fc.js +4 -0
  162. package/dist/viewer/p-0eb195dd.entry.js +4 -0
  163. package/dist/viewer/p-1a7df99a.entry.js +4 -0
  164. package/dist/viewer/{p-f70d8def.js → p-301660cf.js} +1 -1
  165. package/dist/viewer/{p-a0e49d10.entry.js → p-31658489.entry.js} +1 -1
  166. package/dist/viewer/{p-95f3a81c.entry.js → p-353cfc7a.entry.js} +1 -1
  167. package/dist/viewer/p-364ce21c.js +4 -0
  168. package/dist/viewer/{p-a5a0bf86.js → p-3f6ac74f.js} +1 -1
  169. package/dist/viewer/p-423410be.js +4 -0
  170. package/dist/viewer/{p-6f71f0f2.js → p-439220c6.js} +1 -1
  171. package/dist/viewer/{p-e84ed098.entry.js → p-46459921.entry.js} +1 -1
  172. package/dist/viewer/{p-c23a8b34.entry.js → p-4717c98e.entry.js} +1 -1
  173. package/dist/viewer/p-4985fad5.js +4 -0
  174. package/dist/viewer/{p-ba393340.entry.js → p-61b1097b.entry.js} +1 -1
  175. package/dist/viewer/{p-011eecd5.entry.js → p-6370098c.entry.js} +1 -1
  176. package/dist/viewer/p-67446e35.js +4 -0
  177. package/dist/viewer/p-7006fd4e.entry.js +4 -0
  178. package/dist/viewer/{p-a20e4ea1.entry.js → p-70ca1ea7.entry.js} +1 -1
  179. package/dist/viewer/p-76ec0245.js +4 -0
  180. package/dist/viewer/p-7cad9bf4.js +4 -0
  181. package/dist/viewer/p-7f25dcb5.entry.js +4 -0
  182. package/dist/viewer/{p-ca6bbe53.entry.js → p-8decee06.entry.js} +1 -1
  183. package/dist/viewer/{p-b7ffa306.entry.js → p-915d95ad.entry.js} +1 -1
  184. package/dist/viewer/{p-4485ac6d.js → p-a0df0e0c.js} +1 -1
  185. package/dist/viewer/{p-cc9888be.entry.js → p-a455ae02.entry.js} +1 -1
  186. package/dist/viewer/{p-a6a8026f.js → p-acf22d3e.js} +1 -1
  187. package/dist/viewer/{p-653aca1b.entry.js → p-b2b48a42.entry.js} +1 -1
  188. package/dist/viewer/p-bc9b1e67.entry.js +4 -0
  189. package/dist/viewer/p-c458f191.entry.js +32 -0
  190. package/dist/viewer/p-cafa57a6.js +4 -0
  191. package/dist/viewer/p-d00e9203.js +4 -0
  192. package/dist/viewer/{p-3e96bd62.entry.js → p-d2bcf788.entry.js} +1 -1
  193. package/dist/viewer/p-d90f2f6d.entry.js +4 -0
  194. package/dist/viewer/p-da2f4a56.js +4 -0
  195. package/dist/viewer/{p-5a2e34e1.entry.js → p-e07377fa.entry.js} +1 -1
  196. package/dist/viewer/{p-40800e8d.entry.js → p-f755af5a.entry.js} +1 -1
  197. package/dist/viewer/p-f7cb7e59.js +4 -0
  198. package/dist/viewer/p-fad9693e.js +4 -0
  199. package/dist/viewer/p-fe11d694.js +4 -0
  200. package/dist/viewer/{p-b92a3ac2.entry.js → p-fec1a8d0.entry.js} +1 -1
  201. package/dist/viewer/viewer.css +1 -1
  202. package/dist/viewer/viewer.esm.js +1 -1
  203. package/package.json +11 -10
  204. package/dist/cjs/summary-7bbdb4c9.js +0 -45
  205. package/dist/collection/lib/measurement/summary.js +0 -38
  206. package/dist/esm/summary-0a3d0bf9.js +0 -43
  207. package/dist/types/lib/measurement/summary.d.ts +0 -11
  208. package/dist/viewer/p-03e482ff.js +0 -4
  209. package/dist/viewer/p-0c052bc8.entry.js +0 -4
  210. package/dist/viewer/p-148cd792.js +0 -4
  211. package/dist/viewer/p-26d99e2d.entry.js +0 -4
  212. package/dist/viewer/p-38eeacc5.js +0 -4
  213. package/dist/viewer/p-39d1720c.js +0 -4
  214. package/dist/viewer/p-5dc17b8b.js +0 -4
  215. package/dist/viewer/p-5fea3491.js +0 -4
  216. package/dist/viewer/p-6b700561.entry.js +0 -4
  217. package/dist/viewer/p-6cd7a6e0.js +0 -4
  218. package/dist/viewer/p-75337d0b.js +0 -4
  219. package/dist/viewer/p-b83cc8a9.js +0 -4
  220. package/dist/viewer/p-d2a9e047.js +0 -4
  221. package/dist/viewer/p-d40bd835.entry.js +0 -4
  222. package/dist/viewer/p-e10b1526.js +0 -4
  223. package/dist/viewer/p-ec8a1a68.entry.js +0 -4
  224. package/dist/viewer/p-f4a8c901.js +0 -4
  225. package/dist/viewer/p-f77dde26.entry.js +0 -4
@@ -5483,6 +5483,7 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
5483
5483
  * @interface IMetadataFilterQuery
5484
5484
  * @property {string|null} [valueFilter] MetadataFilterQuery valueFilter
5485
5485
  * @property {Array.<string>|null} [keys] MetadataFilterQuery keys
5486
+ * @property {boolean|null} [exactMatch] MetadataFilterQuery exactMatch
5486
5487
  */
5487
5488
 
5488
5489
  /**
@@ -5517,6 +5518,14 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
5517
5518
  */
5518
5519
  MetadataFilterQuery.prototype.keys = $util$1.emptyArray;
5519
5520
 
5521
+ /**
5522
+ * MetadataFilterQuery exactMatch.
5523
+ * @member {boolean} exactMatch
5524
+ * @memberof vertexvis.protobuf.stream.MetadataFilterQuery
5525
+ * @instance
5526
+ */
5527
+ MetadataFilterQuery.prototype.exactMatch = false;
5528
+
5520
5529
  /**
5521
5530
  * Creates a new MetadataFilterQuery instance using the specified properties.
5522
5531
  * @function create
@@ -5546,6 +5555,8 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
5546
5555
  if (message.keys != null && message.keys.length)
5547
5556
  for (let i = 0; i < message.keys.length; ++i)
5548
5557
  writer.uint32(/* id 3, wireType 2 =*/26).string(message.keys[i]);
5558
+ if (message.exactMatch != null && Object.hasOwnProperty.call(message, "exactMatch"))
5559
+ writer.uint32(/* id 4, wireType 0 =*/32).bool(message.exactMatch);
5549
5560
  return writer;
5550
5561
  };
5551
5562
 
@@ -5588,6 +5599,9 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
5588
5599
  message.keys = [];
5589
5600
  message.keys.push(reader.string());
5590
5601
  break;
5602
+ case 4:
5603
+ message.exactMatch = reader.bool();
5604
+ break;
5591
5605
  default:
5592
5606
  reader.skipType(tag & 7);
5593
5607
  break;
@@ -5633,6 +5647,9 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
5633
5647
  if (!$util$1.isString(message.keys[i]))
5634
5648
  return "keys: string[] expected";
5635
5649
  }
5650
+ if (message.exactMatch != null && message.hasOwnProperty("exactMatch"))
5651
+ if (typeof message.exactMatch !== "boolean")
5652
+ return "exactMatch: boolean expected";
5636
5653
  return null;
5637
5654
  };
5638
5655
 
@@ -5657,6 +5674,8 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
5657
5674
  for (let i = 0; i < object.keys.length; ++i)
5658
5675
  message.keys[i] = String(object.keys[i]);
5659
5676
  }
5677
+ if (object.exactMatch != null)
5678
+ message.exactMatch = Boolean(object.exactMatch);
5660
5679
  return message;
5661
5680
  };
5662
5681
 
@@ -5675,8 +5694,10 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
5675
5694
  let object = {};
5676
5695
  if (options.arrays || options.defaults)
5677
5696
  object.keys = [];
5678
- if (options.defaults)
5697
+ if (options.defaults) {
5679
5698
  object.valueFilter = "";
5699
+ object.exactMatch = false;
5700
+ }
5680
5701
  if (message.valueFilter != null && message.hasOwnProperty("valueFilter"))
5681
5702
  object.valueFilter = message.valueFilter;
5682
5703
  if (message.keys && message.keys.length) {
@@ -5684,6 +5705,8 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
5684
5705
  for (let j = 0; j < message.keys.length; ++j)
5685
5706
  object.keys[j] = message.keys[j];
5686
5707
  }
5708
+ if (message.exactMatch != null && message.hasOwnProperty("exactMatch"))
5709
+ object.exactMatch = message.exactMatch;
5687
5710
  return object;
5688
5711
  };
5689
5712
 
@@ -35970,7 +35993,7 @@ DepthBuffer.MAX_DEPTH_VALUE = 2 ** 16 - 1;
35970
35993
  /**
35971
35994
  * An enumeration of the possible types of entities in a frame.
35972
35995
  */
35973
- var EntityType;
35996
+ exports.EntityType = void 0;
35974
35997
  (function (EntityType) {
35975
35998
  /**
35976
35999
  * A value that represents the presence of a cross section.
@@ -35996,7 +36019,11 @@ var EntityType;
35996
36019
  * A value that represents the presence of geometry without BREP.
35997
36020
  */
35998
36021
  EntityType[EntityType["GENERIC_GEOMETRY"] = 96] = "GENERIC_GEOMETRY";
35999
- })(EntityType || (EntityType = {}));
36022
+ /**
36023
+ * A value that represents the absence of geometry.
36024
+ */
36025
+ EntityType[EntityType["NO_GEOMETRY"] = 0] = "NO_GEOMETRY";
36026
+ })(exports.EntityType || (exports.EntityType = {}));
36000
36027
 
36001
36028
  /**
36002
36029
  * A `FeatureMap` contains metadata about the location of entities and features
@@ -36022,11 +36049,17 @@ class FeatureMap {
36022
36049
  * @returns A new feature map.
36023
36050
  */
36024
36051
  static fromPng(png, imageAttr) {
36025
- if (png.data instanceof Uint8Array) {
36026
- return new FeatureMap(png.data, imageAttr);
36052
+ if (!(png.data instanceof Uint8Array)) {
36053
+ throw new Error('Cannot create FeatureMap. Expected decoded PNG to be a Uint8Array.');
36054
+ }
36055
+ else if (png.channels !== 4) {
36056
+ throw new Error('Cannot create FeatureMap. Missing alpha channel.');
36027
36057
  }
36028
36058
  else {
36029
- throw new Error('Cannot create FeatureMap. Expected decoded PNG to be a Uint8Array.');
36059
+ return new FeatureMap(png.data, Object.assign(Object.assign({}, imageAttr), {
36060
+ // TODO(dan): Need to change frame protos to include image attributes
36061
+ // per image artifact.
36062
+ imageRect: bundle_esm.rectangle.fromPointAndDimensions(imageAttr.imageRect, png) }));
36030
36063
  }
36031
36064
  }
36032
36065
  /**
@@ -36039,23 +36072,26 @@ class FeatureMap {
36039
36072
  */
36040
36073
  getEntityType(point) {
36041
36074
  const color = this.getColor(point);
36042
- if ((color === null || color === void 0 ? void 0 : color.a) === EntityType.CROSS_SECTION) {
36043
- return EntityType.CROSS_SECTION;
36075
+ if ((color === null || color === void 0 ? void 0 : color.a) === exports.EntityType.CROSS_SECTION) {
36076
+ return exports.EntityType.CROSS_SECTION;
36077
+ }
36078
+ else if ((color === null || color === void 0 ? void 0 : color.a) === exports.EntityType.GENERIC_GEOMETRY) {
36079
+ return exports.EntityType.GENERIC_GEOMETRY;
36044
36080
  }
36045
- else if ((color === null || color === void 0 ? void 0 : color.a) === EntityType.GENERIC_GEOMETRY) {
36046
- return EntityType.GENERIC_GEOMETRY;
36081
+ else if ((color === null || color === void 0 ? void 0 : color.a) === exports.EntityType.IMPRECISE_EDGE) {
36082
+ return exports.EntityType.IMPRECISE_EDGE;
36047
36083
  }
36048
- else if ((color === null || color === void 0 ? void 0 : color.a) === EntityType.IMPRECISE_EDGE) {
36049
- return EntityType.IMPRECISE_EDGE;
36084
+ else if ((color === null || color === void 0 ? void 0 : color.a) === exports.EntityType.IMPRECISE_SURFACE) {
36085
+ return exports.EntityType.IMPRECISE_SURFACE;
36050
36086
  }
36051
- else if ((color === null || color === void 0 ? void 0 : color.a) === EntityType.IMPRECISE_SURFACE) {
36052
- return EntityType.IMPRECISE_SURFACE;
36087
+ else if ((color === null || color === void 0 ? void 0 : color.a) === exports.EntityType.PRECISE_EDGE) {
36088
+ return exports.EntityType.PRECISE_EDGE;
36053
36089
  }
36054
- else if ((color === null || color === void 0 ? void 0 : color.a) === EntityType.PRECISE_EDGE) {
36055
- return EntityType.PRECISE_EDGE;
36090
+ else if ((color === null || color === void 0 ? void 0 : color.a) === exports.EntityType.PRECISE_SURFACE) {
36091
+ return exports.EntityType.PRECISE_SURFACE;
36056
36092
  }
36057
- else if ((color === null || color === void 0 ? void 0 : color.a) === EntityType.PRECISE_SURFACE) {
36058
- return EntityType.PRECISE_SURFACE;
36093
+ else {
36094
+ return exports.EntityType.NO_GEOMETRY;
36059
36095
  }
36060
36096
  }
36061
36097
  getColor(point) {
@@ -36131,7 +36167,7 @@ class Frame {
36131
36167
  if (this.cachedDepthBuffer == null) {
36132
36168
  this.cachedDepthBuffer =
36133
36169
  this.depthBufferBytes != null
36134
- ? this.decodeDepthBuffer(this.depthBufferBytes)
36170
+ ? this.decodeDepthBuffer(new Uint8Array(this.depthBufferBytes))
36135
36171
  : Promise.resolve(undefined);
36136
36172
  }
36137
36173
  return this.cachedDepthBuffer;
@@ -36144,7 +36180,7 @@ class Frame {
36144
36180
  if (this.cachedFeatureMap == null) {
36145
36181
  this.cachedFeatureMap =
36146
36182
  this.featureMapBytes != null
36147
- ? this.decodeFeatureMap(this.featureMapBytes)
36183
+ ? this.decodeFeatureMap(new Uint8Array(this.featureMapBytes))
36148
36184
  : Promise.resolve(undefined);
36149
36185
  }
36150
36186
  return this.cachedFeatureMap;
@@ -36454,32 +36490,32 @@ class AreaUnits {
36454
36490
  AreaUnits.units = {
36455
36491
  millimeters: {
36456
36492
  name: 'Square Millimeters',
36457
- abbreviatedName: 'mm<span class=measurement-details-entry-label-superscript>2</span>',
36493
+ abbreviatedName: 'mm²',
36458
36494
  converter: new MillimeterUnitConverter(),
36459
36495
  },
36460
36496
  centimeters: {
36461
36497
  name: 'Square Centimeters',
36462
- abbreviatedName: 'cm<span class=measurement-details-entry-label-superscript>2</span>',
36498
+ abbreviatedName: 'cm²',
36463
36499
  converter: new CentimeterUnitConverter(2),
36464
36500
  },
36465
36501
  meters: {
36466
36502
  name: 'Square Meters',
36467
- abbreviatedName: 'm<span class=measurement-details-entry-label-superscript>2</span>',
36503
+ abbreviatedName: 'm²',
36468
36504
  converter: new MeterUnitConverter(2),
36469
36505
  },
36470
36506
  inches: {
36471
36507
  name: 'Square Inches',
36472
- abbreviatedName: 'in<span class=measurement-details-entry-label-superscript>2</span>',
36508
+ abbreviatedName: 'in²',
36473
36509
  converter: new InchesUnitConverter(2),
36474
36510
  },
36475
36511
  feet: {
36476
36512
  name: 'Square Feet',
36477
- abbreviatedName: 'ft<span class=measurement-details-entry-label-superscript>2</span>',
36513
+ abbreviatedName: 'ft²',
36478
36514
  converter: new FeetUnitConverter(2),
36479
36515
  },
36480
36516
  yards: {
36481
36517
  name: 'Square Yards',
36482
- abbreviatedName: 'yd<span class=measurement-details-entry-label-superscript>2</span>',
36518
+ abbreviatedName: 'yd²',
36483
36519
  converter: new YardUnitConverter(2),
36484
36520
  },
36485
36521
  };
@@ -36728,9 +36764,7 @@ function fromPbFrameScene(worldOrientation) {
36728
36764
  return browser_esm.mapper.defineMapper(browser_esm.mapper.read(fromPbFrameSceneAttributes, fromPbFrameCamera), ([sceneAttr, camera]) => new FrameScene(camera, sceneAttr.boundingBox, sceneAttr.crossSectioning, worldOrientation, sceneAttr.hasChanged));
36729
36765
  }
36730
36766
  function fromPbFrame(worldOrientation) {
36731
- return browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('frameCorrelationIds', (ids) => (ids != null ? ids : [])), browser_esm.mapper.requiredProp('sequenceNumber'), browser_esm.mapper.compose(fromPbFrameImageAttributes, browser_esm.mapper.getProp('frameDimensions')), fromPbFrameScene(worldOrientation), fromPbFrameImage, browser_esm.mapper.getProp('depthBuffer'), browser_esm.mapper.getProp('featureMap')), ([cIds, seq, fd, s, i, db, fm]) => {
36732
- return new Frame(cIds, seq, fd, i, s, (db === null || db === void 0 ? void 0 : db.value) || undefined, (fm === null || fm === void 0 ? void 0 : fm.value) || undefined);
36733
- });
36767
+ return browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('frameCorrelationIds', (ids) => (ids != null ? ids : [])), browser_esm.mapper.requiredProp('sequenceNumber'), browser_esm.mapper.compose(fromPbFrameImageAttributes, browser_esm.mapper.getProp('frameDimensions')), fromPbFrameScene(worldOrientation), fromPbFrameImage, browser_esm.mapper.mapProp('depthBuffer', fromPbBytesValue), browser_esm.mapper.mapProp('featureMap', fromPbBytesValue)), ([cIds, seq, fd, s, i, db, fm]) => new Frame(cIds, seq, fd, i, s, db, fm));
36734
36768
  }
36735
36769
  function fromPbFrameOrThrow(worldOrientation) {
36736
36770
  return browser_esm.mapper.ifInvalidThrow(fromPbFrame(worldOrientation));
@@ -42225,6 +42259,7 @@ const vertexvis = $root.vertexvis = (() => {
42225
42259
  * @interface IMetadataFilterQuery
42226
42260
  * @property {string|null} [valueFilter] MetadataFilterQuery valueFilter
42227
42261
  * @property {Array.<string>|null} [keys] MetadataFilterQuery keys
42262
+ * @property {boolean|null} [exactMatch] MetadataFilterQuery exactMatch
42228
42263
  */
42229
42264
 
42230
42265
  /**
@@ -42259,6 +42294,14 @@ const vertexvis = $root.vertexvis = (() => {
42259
42294
  */
42260
42295
  MetadataFilterQuery.prototype.keys = $util.emptyArray;
42261
42296
 
42297
+ /**
42298
+ * MetadataFilterQuery exactMatch.
42299
+ * @member {boolean} exactMatch
42300
+ * @memberof vertexvis.protobuf.stream.MetadataFilterQuery
42301
+ * @instance
42302
+ */
42303
+ MetadataFilterQuery.prototype.exactMatch = false;
42304
+
42262
42305
  /**
42263
42306
  * Creates a new MetadataFilterQuery instance using the specified properties.
42264
42307
  * @function create
@@ -42288,6 +42331,8 @@ const vertexvis = $root.vertexvis = (() => {
42288
42331
  if (message.keys != null && message.keys.length)
42289
42332
  for (let i = 0; i < message.keys.length; ++i)
42290
42333
  writer.uint32(/* id 3, wireType 2 =*/26).string(message.keys[i]);
42334
+ if (message.exactMatch != null && Object.hasOwnProperty.call(message, "exactMatch"))
42335
+ writer.uint32(/* id 4, wireType 0 =*/32).bool(message.exactMatch);
42291
42336
  return writer;
42292
42337
  };
42293
42338
 
@@ -42330,6 +42375,9 @@ const vertexvis = $root.vertexvis = (() => {
42330
42375
  message.keys = [];
42331
42376
  message.keys.push(reader.string());
42332
42377
  break;
42378
+ case 4:
42379
+ message.exactMatch = reader.bool();
42380
+ break;
42333
42381
  default:
42334
42382
  reader.skipType(tag & 7);
42335
42383
  break;
@@ -42375,6 +42423,9 @@ const vertexvis = $root.vertexvis = (() => {
42375
42423
  if (!$util.isString(message.keys[i]))
42376
42424
  return "keys: string[] expected";
42377
42425
  }
42426
+ if (message.exactMatch != null && message.hasOwnProperty("exactMatch"))
42427
+ if (typeof message.exactMatch !== "boolean")
42428
+ return "exactMatch: boolean expected";
42378
42429
  return null;
42379
42430
  };
42380
42431
 
@@ -42399,6 +42450,8 @@ const vertexvis = $root.vertexvis = (() => {
42399
42450
  for (let i = 0; i < object.keys.length; ++i)
42400
42451
  message.keys[i] = String(object.keys[i]);
42401
42452
  }
42453
+ if (object.exactMatch != null)
42454
+ message.exactMatch = Boolean(object.exactMatch);
42402
42455
  return message;
42403
42456
  };
42404
42457
 
@@ -42417,8 +42470,10 @@ const vertexvis = $root.vertexvis = (() => {
42417
42470
  let object = {};
42418
42471
  if (options.arrays || options.defaults)
42419
42472
  object.keys = [];
42420
- if (options.defaults)
42473
+ if (options.defaults) {
42421
42474
  object.valueFilter = "";
42475
+ object.exactMatch = false;
42476
+ }
42422
42477
  if (message.valueFilter != null && message.hasOwnProperty("valueFilter"))
42423
42478
  object.valueFilter = message.valueFilter;
42424
42479
  if (message.keys && message.keys.length) {
@@ -42426,6 +42481,8 @@ const vertexvis = $root.vertexvis = (() => {
42426
42481
  for (let j = 0; j < message.keys.length; ++j)
42427
42482
  object.keys[j] = message.keys[j];
42428
42483
  }
42484
+ if (message.exactMatch != null && message.hasOwnProperty("exactMatch"))
42485
+ object.exactMatch = message.exactMatch;
42429
42486
  return object;
42430
42487
  };
42431
42488
 
@@ -5,9 +5,9 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-cc65325e.js');
8
+ const index = require('./index-e100709a.js');
9
9
  const index$1 = require('./index-3bc6bac0.js');
10
- const stencil = require('./stencil-bd453a38.js');
10
+ const stencil = require('./stencil-a664cd10.js');
11
11
  const bundle_esm = require('./bundle.esm-dc0a8361.js');
12
12
  const dom = require('./dom-d162f898.js');
13
13
  require('./_commonjsHelpers-537d719a.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-cc65325e.js');
8
+ const index = require('./index-e100709a.js');
9
9
  const index$1 = require('./index-3bc6bac0.js');
10
10
  require('./_commonjsHelpers-537d719a.js');
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-cc65325e.js');
8
+ const index = require('./index-e100709a.js');
9
9
 
10
10
  const sceneTreeTableColumnCss = ":host{width:100%;height:100%;position:relative}.hidden{visibility:hidden;pointer-events:none}.column{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}";
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-cc65325e.js');
8
+ const index = require('./index-e100709a.js');
9
9
 
10
10
  const sceneTreeTableHeaderCss = ":host{width:100%;box-sizing:border-box}.header{display:flex;align-items:center;box-sizing:border-box;font-size:0.875rem;white-space:nowrap;overflow:hidden;padding:0.5rem 0}";
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-cc65325e.js');
8
+ const index = require('./index-e100709a.js');
9
9
  const index$1 = require('./index-3bc6bac0.js');
10
10
  require('./_commonjsHelpers-537d719a.js');
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-cc65325e.js');
8
+ const index = require('./index-e100709a.js');
9
9
 
10
10
  const sceneTreeToolbarGroupCss = ":host{--scene-tree-toolbar-group-item-gap:calc(\n var(--scene-tree-toolbar-content-gap) / 2\n );display:flex}::slotted(:not(:first-child)){margin-left:var(--scene-tree-toolbar-group-item-gap)}";
11
11
 
@@ -5,14 +5,14 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-cc65325e.js');
8
+ const index = require('./index-e100709a.js');
9
9
  const bundle_esm = require('./bundle.esm-dc0a8361.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-acd7cea9.js');
12
+ const config = require('./config-90ee43d5.js');
13
13
  const browser_esm = require('./browser.esm-31b03292.js');
14
14
  const dom = require('./dom-d162f898.js');
15
- require('./streamAttributes-9d6226ac.js');
15
+ require('./streamAttributes-d6236448.js');
16
16
 
17
17
  window.requestIdleCallback =
18
18
  window.requestIdleCallback ||
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-cc65325e.js');
8
+ const index = require('./index-e100709a.js');
9
9
  const index$1 = require('./index-3bc6bac0.js');
10
10
  require('./_commonjsHelpers-537d719a.js');
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-cc65325e.js');
8
+ const index = require('./index-e100709a.js');
9
9
 
10
10
  const viewerDefaultToolbarCss = ":host{--viewer-toolbar-group-gap:0.5rem;--viewer-toolbar-group-background:rgba(245, 245, 245, 0.95);--viewer-toolbar-group-border-radius:0.25rem;--viewer-toolbar-group-box-shadow:-1px 0 2px rgba(0, 0, 0, 0.12),\n 1px 0 2px rgba(0, 0, 0, 0.13);--viewer-toolbar-group-padding:0.25rem;--viewer-toolbar-group-item-gap:0.25rem}.group{background:var(--viewer-toolbar-group-background);border-radius:var(--viewer-toolbar-group-border-radius);box-shadow:var(--viewer-toolbar-group-box-shadow);padding:var(--viewer-toolbar-group-padding)}.group[data-direction='horizontal']:not(:first-child){margin-left:var(--viewer-toolbar-group-gap)}.group[data-direction='horizontal'] .group-item:not(:first-child){margin-left:var(--viewer-toolbar-group-item-gap)}.group[data-direction='vertical']:not(:first-child){margin-top:var(--viewer-toolbar-group-gap)}.group[data-direction='vertical'] .group-item:not(:first-child){margin-top:var(--viewer-toolbar-group-item-gap)}.btn{color:var(--neutral-800);padding:0.125rem;border-radius:0.125rem}.btn:hover{background:var(--neutral-300)}";
11
11
 
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-cc65325e.js');
8
+ const index = require('./index-e100709a.js');
9
9
  const bundle_esm = require('./bundle.esm-dc0a8361.js');
10
- require('./streamAttributes-9d6226ac.js');
11
- const viewport = require('./viewport-51aa05ab.js');
10
+ require('./streamAttributes-d6236448.js');
11
+ const viewport = require('./viewport-8c39089f.js');
12
12
  require('./browser.esm-31b03292.js');
13
13
  require('./_commonjsHelpers-537d719a.js');
14
14
 
@@ -584,7 +584,7 @@ let ViewerDomRenderer = class {
584
584
  /**
585
585
  * @ignore
586
586
  */
587
- componentWillRender() {
587
+ componentDidRender() {
588
588
  this.updateElements();
589
589
  }
590
590
  /**
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-cc65325e.js');
8
+ const index = require('./index-e100709a.js');
9
9
  const index$1 = require('./index-3bc6bac0.js');
10
10
  require('./_commonjsHelpers-537d719a.js');
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-cc65325e.js');
8
+ const index = require('./index-e100709a.js');
9
9
 
10
10
  const viewerLayerCss = ":host{pointer-events:none;overflow:hidden}:host(:not([stretch-off])){position:absolute;left:0;right:0;top:0;bottom:0}";
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-cc65325e.js');
8
+ const index = require('./index-e100709a.js');
9
9
  const bundle_esm = require('./bundle.esm-dc0a8361.js');
10
10
  const dom = require('./dom-dd265f48.js');
11
11
  const utils = require('./utils-f80be307.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-cc65325e.js');
8
+ const index = require('./index-e100709a.js');
9
9
  const templates = require('./templates-e57b3741.js');
10
10
  const markup = require('./markup-fb1553b1.js');
11
11
  const utils = require('./utils-f80be307.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-cc65325e.js');
8
+ const index = require('./index-e100709a.js');
9
9
  const bundle_esm = require('./bundle.esm-dc0a8361.js');
10
10
  const templates = require('./templates-e57b3741.js');
11
11
  const markup = require('./markup-fb1553b1.js');