@vertexvis/viewer 0.15.2-testing.3 → 0.15.2

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 (274) hide show
  1. package/dist/cjs/_commonjsHelpers-dcc4cf71.js +1 -1
  2. package/dist/cjs/app-globals-2035678d.js +1 -1
  3. package/dist/cjs/browser.esm-5d246754.js +1 -1
  4. package/dist/cjs/bundle.esm-22b6f2d6.js +1 -1
  5. package/dist/cjs/bundle.esm-b43c197a.js +38280 -0
  6. package/dist/cjs/{config-6e330a82.js → config-3fc1c093.js} +2 -2
  7. package/dist/cjs/{cursors-85d403e9.js → cursors-02a06ec9.js} +7 -1
  8. package/dist/cjs/dom-8d90bfaf.js +1 -1
  9. package/dist/cjs/dom-92728e58.js +1 -1
  10. package/dist/cjs/dom-d1bbd67c.js +1 -1
  11. package/dist/cjs/dom-d57d3c3b.js +1 -1
  12. package/dist/cjs/elementRectObserver-9b28f182.js +1 -1
  13. package/dist/cjs/entities-9eb7e608.js +1 -1
  14. package/dist/cjs/{entities-7b2e8c03.js → entities-c1c3c6a3.js} +3 -3
  15. package/dist/cjs/errors-1b37642b.js +97 -0
  16. package/dist/cjs/grpc-web-client.umd-2af20c1b.js +1 -1
  17. package/dist/cjs/index-70db349e.js +1 -1
  18. package/dist/cjs/index-b9d13137.js +1 -1
  19. package/dist/cjs/index.cjs.js +9 -6
  20. package/dist/cjs/loader.cjs.js +2 -2
  21. package/dist/cjs/{mapper-0f2294a6.js → mapper-d4145b72.js} +2 -2
  22. package/dist/cjs/markup-4a2fc281.js +1 -1
  23. package/dist/cjs/{model-b61f4d20.js → model-19fb560a.js} +27 -6
  24. package/dist/cjs/model-20a70d27.js +1 -1
  25. package/dist/cjs/overlays-b03ec80b.js +1 -1
  26. package/dist/cjs/png-decoder-ef097f37.js +1 -1
  27. package/dist/cjs/results-178e89a3.js +1 -1
  28. package/dist/cjs/{scene-56438693.js → scene-a94e6fa5.js} +293 -215
  29. package/dist/cjs/shadow-css-6b9daa41.js +1 -1
  30. package/dist/cjs/stencil-fc92b387.js +1 -1
  31. package/dist/cjs/{streamAttributes-c64aee75.js → streamAttributes-cf0c513d.js} +8424 -41995
  32. package/dist/cjs/templates-e57b3741.js +1 -1
  33. package/dist/cjs/utils-2c8e2aa3.js +1 -1
  34. package/dist/cjs/utils-ea359796.js +1 -1
  35. package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +1 -1
  36. package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
  37. package/dist/cjs/vertex-scene-tree-table-column.cjs.entry.js +1 -1
  38. package/dist/cjs/vertex-scene-tree-table-header.cjs.entry.js +1 -1
  39. package/dist/cjs/vertex-scene-tree-table-resize-divider.cjs.entry.js +1 -1
  40. package/dist/cjs/vertex-scene-tree-toolbar-group.cjs.entry.js +1 -1
  41. package/dist/cjs/vertex-scene-tree.cjs.entry.js +158 -37
  42. package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +425 -0
  43. package/dist/cjs/vertex-viewer-button_3.cjs.entry.js +1 -1
  44. package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js +1 -1
  45. package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +3 -2
  46. package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js +1 -1
  47. package/dist/cjs/vertex-viewer-icon.cjs.entry.js +1 -1
  48. package/dist/cjs/vertex-viewer-layer.cjs.entry.js +1 -1
  49. package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +1 -1
  50. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +1 -1
  51. package/dist/cjs/vertex-viewer-markup.cjs.entry.js +1 -1
  52. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +3 -2
  53. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +5 -4
  54. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +4 -3
  55. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +7 -6
  56. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +10 -5
  57. package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js +15 -13
  58. package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js +20 -9
  59. package/dist/cjs/vertex-viewer-spinner.cjs.entry.js +1 -1
  60. package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +6 -4
  61. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +5 -4
  62. package/dist/cjs/vertex-viewer.cjs.entry.js +80 -53
  63. package/dist/cjs/viewer.cjs.js +2 -2
  64. package/dist/cjs/viewport-5ca619f7.js +1 -1
  65. package/dist/collection/collection-manifest.json +1 -0
  66. package/dist/collection/components/scene-tree/lib/controller.js +108 -28
  67. package/dist/collection/components/scene-tree/lib/errors.js +35 -2
  68. package/dist/collection/components/scene-tree/scene-tree.js +12 -5
  69. package/dist/collection/components/viewer/viewer.js +17 -15
  70. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.css +79 -0
  71. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +278 -0
  72. package/dist/collection/components/viewer-pin-group/viewer-pin-group.js +5 -1
  73. package/dist/collection/components/viewer-pin-label/viewer-pin-label.css +1 -1
  74. package/dist/collection/components/viewer-pin-label/viewer-pin-label.js +14 -12
  75. package/dist/collection/components/viewer-pin-tool/utils.js +25 -4
  76. package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.css +12 -0
  77. package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.js +9 -2
  78. package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.js +3 -2
  79. package/dist/collection/components/viewer-view-cube/viewer-view-cube.js +5 -5
  80. package/dist/collection/lib/cursors.js +6 -1
  81. package/dist/collection/lib/interactions/baseInteractionHandler.js +12 -2
  82. package/dist/collection/lib/interactions/mouseInteractions.js +5 -4
  83. package/dist/collection/lib/mappers/frameStreaming.js +11 -11
  84. package/dist/collection/lib/pins/interactions.js +9 -5
  85. package/dist/collection/lib/pins/model.js +2 -2
  86. package/dist/collection/lib/rendering/matrices.js +2 -4
  87. package/dist/collection/lib/scenes/camera.js +4 -2
  88. package/dist/collection/lib/scenes/mapper.js +103 -30
  89. package/dist/collection/lib/scenes/queries.js +101 -46
  90. package/dist/collection/lib/scenes/scene.js +15 -7
  91. package/dist/collection/lib/stream/stream.js +24 -12
  92. package/dist/collection/lib/transforms/drawable.js +2 -2
  93. package/dist/collection/lib/types/frame.js +4 -3
  94. package/dist/collection/lib/types/frameCamera.js +6 -1
  95. package/dist/collection/lib/types/index.js +3 -2
  96. package/dist/collection/lib/types/loadableResource.js +24 -4
  97. package/dist/collection/lib/types/sceneViewStateIdentifier.js +7 -0
  98. package/dist/collection/lib/volume-intersection/controller.js +104 -0
  99. package/dist/collection/lib/volume-intersection/interactions.js +82 -0
  100. package/dist/collection/lib/volume-intersection/model.js +84 -0
  101. package/dist/custom-elements/index.d.ts +6 -0
  102. package/dist/custom-elements/index.js +23825 -18358
  103. package/dist/custom-elements/png-decoder.js +1 -1
  104. package/dist/esm/_commonjsHelpers-11ca3be1.js +1 -1
  105. package/dist/esm/app-globals-40df99a0.js +1 -1
  106. package/dist/esm/{browser.esm-ae4ca1f1.js → browser.esm-07e7db8f.js} +2 -2
  107. package/dist/esm/bundle.esm-91404853.js +38273 -0
  108. package/dist/esm/{bundle.esm-ce2c7ad3.js → bundle.esm-92e615bf.js} +2 -2
  109. package/dist/esm/{config-49688db8.js → config-25384fe6.js} +3 -3
  110. package/dist/esm/{cursors-a8d4b3f4.js → cursors-127a3bb7.js} +8 -3
  111. package/dist/esm/dom-0440435d.js +1 -1
  112. package/dist/esm/dom-be140992.js +1 -1
  113. package/dist/esm/dom-e19ee80b.js +1 -1
  114. package/dist/esm/{dom-5b164305.js → dom-e436f0c0.js} +2 -2
  115. package/dist/esm/elementRectObserver-39cf7b95.js +1 -1
  116. package/dist/esm/{entities-a5bfef48.js → entities-0e325765.js} +4 -4
  117. package/dist/esm/entities-ce81dd7f.js +1 -1
  118. package/dist/esm/errors-a4cc9caa.js +85 -0
  119. package/dist/esm/grpc-web-client.umd-5409853c.js +1 -1
  120. package/dist/esm/index-26dfb2d0.js +1 -1
  121. package/dist/esm/index-e841d91b.js +1 -1
  122. package/dist/esm/index.js +15 -13
  123. package/dist/esm/index.mjs +15 -13
  124. package/dist/esm/loader.js +2 -2
  125. package/dist/esm/loader.mjs +2 -2
  126. package/dist/esm/{mapper-5894c2a4.js → mapper-dd937684.js} +3 -3
  127. package/dist/esm/{markup-3c2900f3.js → markup-2dde1f10.js} +3 -3
  128. package/dist/esm/{model-fa9af61a.js → model-3cd8cd47.js} +2 -2
  129. package/dist/esm/{model-40bd1711.js → model-bfe1c4d8.js} +29 -8
  130. package/dist/esm/{overlays-cc3efc30.js → overlays-8f195eb3.js} +3 -3
  131. package/dist/esm/{png-decoder-d4b65417.js → png-decoder-45f38ea3.js} +2 -2
  132. package/dist/esm/{results-3b4df2cf.js → results-38baef59.js} +2 -2
  133. package/dist/esm/{scene-5b919078.js → scene-2543b3bd.js} +254 -168
  134. package/dist/esm/shadow-css-51dd7708.js +1 -1
  135. package/dist/esm/stencil-bfbf099f.js +1 -1
  136. package/dist/esm/{streamAttributes-7e8565be.js → streamAttributes-23270e27.js} +8429 -41994
  137. package/dist/esm/templates-022199c1.js +1 -1
  138. package/dist/esm/{utils-81347571.js → utils-2306c744.js} +2 -2
  139. package/dist/esm/{utils-559e1632.js → utils-f03802ef.js} +2 -2
  140. package/dist/esm/vertex-scene-tree-search_3.entry.js +3 -3
  141. package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
  142. package/dist/esm/vertex-scene-tree-table-column.entry.js +1 -1
  143. package/dist/esm/vertex-scene-tree-table-header.entry.js +1 -1
  144. package/dist/esm/vertex-scene-tree-table-resize-divider.entry.js +1 -1
  145. package/dist/esm/vertex-scene-tree-toolbar-group.entry.js +1 -1
  146. package/dist/esm/vertex-scene-tree.entry.js +160 -39
  147. package/dist/esm/vertex-viewer-box-query-tool.entry.js +421 -0
  148. package/dist/esm/vertex-viewer-button_3.entry.js +1 -1
  149. package/dist/esm/vertex-viewer-default-toolbar.entry.js +1 -1
  150. package/dist/esm/vertex-viewer-dom-element_2.entry.js +6 -5
  151. package/dist/esm/vertex-viewer-dom-group.entry.js +3 -3
  152. package/dist/esm/vertex-viewer-icon.entry.js +1 -1
  153. package/dist/esm/vertex-viewer-layer.entry.js +1 -1
  154. package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +4 -4
  155. package/dist/esm/vertex-viewer-markup-tool.entry.js +5 -5
  156. package/dist/esm/vertex-viewer-markup.entry.js +5 -5
  157. package/dist/esm/vertex-viewer-measurement-details.entry.js +5 -4
  158. package/dist/esm/vertex-viewer-measurement-distance.entry.js +13 -12
  159. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +8 -7
  160. package/dist/esm/vertex-viewer-measurement-precise.entry.js +12 -11
  161. package/dist/esm/vertex-viewer-pin-group.entry.js +13 -8
  162. package/dist/esm/vertex-viewer-pin-label_2.entry.js +18 -16
  163. package/dist/esm/vertex-viewer-pin-tool.entry.js +23 -12
  164. package/dist/esm/vertex-viewer-spinner.entry.js +1 -1
  165. package/dist/esm/vertex-viewer-transform-widget.entry.js +9 -7
  166. package/dist/esm/vertex-viewer-view-cube.entry.js +7 -6
  167. package/dist/esm/vertex-viewer.entry.js +65 -38
  168. package/dist/esm/viewer.js +2 -2
  169. package/dist/esm/{viewport-e39e2eba.js → viewport-f19fc583.js} +2 -2
  170. package/dist/types/components/scene-tree/lib/controller.d.ts +18 -3
  171. package/dist/types/components/scene-tree/lib/errors.d.ts +17 -2
  172. package/dist/types/components/viewer/viewer.d.ts +2 -0
  173. package/dist/types/components/viewer-box-query-tool/viewer-box-query-tool.d.ts +94 -0
  174. package/dist/types/components/viewer-pin-tool/utils.d.ts +1 -1
  175. package/dist/types/components.d.ts +56 -0
  176. package/dist/types/lib/cursors.d.ts +5 -0
  177. package/dist/types/lib/interactions/baseInteractionHandler.d.ts +1 -0
  178. package/dist/types/lib/interactions/mouseInteractions.d.ts +2 -1
  179. package/dist/types/lib/pins/interactions.d.ts +4 -2
  180. package/dist/types/lib/pins/model.d.ts +1 -1
  181. package/dist/types/lib/scenes/camera.d.ts +1 -1
  182. package/dist/types/lib/scenes/mapper.d.ts +5 -1
  183. package/dist/types/lib/scenes/queries.d.ts +55 -28
  184. package/dist/types/lib/scenes/scene.d.ts +10 -1
  185. package/dist/types/lib/types/frame.d.ts +1 -1
  186. package/dist/types/lib/types/index.d.ts +2 -1
  187. package/dist/types/lib/types/loadableResource.d.ts +8 -2
  188. package/dist/types/lib/types/sceneViewStateIdentifier.d.ts +15 -0
  189. package/dist/types/lib/volume-intersection/controller.d.ts +45 -0
  190. package/dist/types/lib/volume-intersection/interactions.d.ts +24 -0
  191. package/dist/types/lib/volume-intersection/model.d.ts +33 -0
  192. package/dist/viewer/index.esm.js +2 -2
  193. package/dist/viewer/{p-ad09c92e.entry.js → p-029fba92.entry.js} +1 -1
  194. package/dist/viewer/p-07aeee89.js +1 -1
  195. package/dist/viewer/{p-29986489.js → p-0a017be7.js} +2 -2
  196. package/dist/viewer/p-0c583cad.entry.js +4 -0
  197. package/dist/viewer/p-0d494d01.js +4 -0
  198. package/dist/viewer/p-0fdad1a5.js +1 -1
  199. package/dist/viewer/{p-3ca4a7c1.js → p-1812c82d.js} +2 -2
  200. package/dist/viewer/{p-7663a603.entry.js → p-191156ad.entry.js} +1 -1
  201. package/dist/viewer/{p-a57dc6e4.entry.js → p-1998284a.entry.js} +2 -2
  202. package/dist/viewer/p-27f715f8.entry.js +4 -0
  203. package/dist/viewer/{p-7f6251da.js → p-283aeac4.js} +2 -2
  204. package/dist/viewer/p-298b63c2.entry.js +4 -0
  205. package/dist/viewer/p-2ace066b.entry.js +4 -0
  206. package/dist/viewer/{p-927b528b.js → p-2b60a8b0.js} +2 -2
  207. package/dist/viewer/{p-050f912b.entry.js → p-2fd123c8.entry.js} +1 -1
  208. package/dist/viewer/p-305a8be6.entry.js +4 -0
  209. package/dist/viewer/p-31724d24.js +4 -0
  210. package/dist/viewer/p-32cc2209.js +4 -0
  211. package/dist/viewer/p-3829dd99.entry.js +4 -0
  212. package/dist/viewer/{p-6da8a28f.entry.js → p-3aae4bf1.entry.js} +2 -2
  213. package/dist/viewer/{p-99352cf0.js → p-42760392.js} +2 -2
  214. package/dist/viewer/p-440c8174.js +4 -0
  215. package/dist/viewer/{p-e422deaf.entry.js → p-4f25e367.entry.js} +2 -2
  216. package/dist/viewer/{p-d64c1e14.entry.js → p-507b5aeb.entry.js} +3 -3
  217. package/dist/viewer/{p-1fc24ec6.js → p-51401063.js} +2 -2
  218. package/dist/viewer/{p-426970b3.entry.js → p-533b1c63.entry.js} +1 -1
  219. package/dist/viewer/{p-dcb9804c.entry.js → p-569ed94a.entry.js} +2 -2
  220. package/dist/viewer/p-5809b400.js +1 -1
  221. package/dist/viewer/p-6072cf84.js +4 -0
  222. package/dist/viewer/{p-e4a26a32.entry.js → p-6406a70a.entry.js} +1 -1
  223. package/dist/viewer/p-6bf0594b.entry.js +4 -0
  224. package/dist/viewer/p-72c59115.entry.js +4 -0
  225. package/dist/viewer/{p-d71652b0.entry.js → p-8ac7290a.entry.js} +1 -1
  226. package/dist/viewer/{p-f184bcab.entry.js → p-8afcbd99.entry.js} +1 -1
  227. package/dist/viewer/p-92fe4417.js +1 -1
  228. package/dist/viewer/{p-5746931d.entry.js → p-952a217d.entry.js} +1 -1
  229. package/dist/viewer/p-98e6a50e.js +1 -1
  230. package/dist/viewer/{p-99fd27e0.entry.js → p-9cb99ea8.entry.js} +1 -1
  231. package/dist/viewer/p-a2e9e8a5.js +4 -0
  232. package/dist/viewer/p-a380f0c2.js +1 -1
  233. package/dist/viewer/{p-661b5234.js → p-acfc5c50.js} +2 -2
  234. package/dist/viewer/{p-82bd25e8.entry.js → p-b3540dce.entry.js} +1 -1
  235. package/dist/viewer/p-b5ca30cd.js +4 -0
  236. package/dist/viewer/p-b74242dc.js +1 -1
  237. package/dist/viewer/p-bc1160cf.entry.js +4 -0
  238. package/dist/viewer/{p-c5e67a1e.entry.js → p-bd5a302c.entry.js} +2 -2
  239. package/dist/viewer/p-c738296e.js +1 -1
  240. package/dist/viewer/p-c8c4343b.js +1 -1
  241. package/dist/viewer/p-cd9ccb9e.entry.js +4 -0
  242. package/dist/viewer/{p-40a9dd7d.js → p-cf689bbd.js} +2 -2
  243. package/dist/viewer/{p-70e5e8a8.js → p-d216a866.js} +2 -2
  244. package/dist/viewer/p-d4ed7b8d.js +4 -0
  245. package/dist/viewer/p-d6d5d5de.entry.js +4 -0
  246. package/dist/viewer/p-d6fce4c1.js +1 -1
  247. package/dist/viewer/p-df8fbe56.js +1 -1
  248. package/dist/viewer/p-dfe5a97d.js +1 -1
  249. package/dist/viewer/{p-00ce31a0.js → p-e1896ce4.js} +2 -2
  250. package/dist/viewer/p-e23af70c.js +4 -0
  251. package/dist/viewer/p-e4aa9cdb.js +1 -1
  252. package/dist/viewer/p-e929dd63.entry.js +4 -0
  253. package/dist/viewer/{p-65af7a89.js → p-fc7d8c03.js} +3 -3
  254. package/dist/viewer/viewer.esm.js +2 -2
  255. package/package.json +9 -9
  256. package/readme.md +4 -4
  257. package/dist/viewer/p-096e60bd.js +0 -4
  258. package/dist/viewer/p-0cf4f05d.entry.js +0 -4
  259. package/dist/viewer/p-0fcafbf9.js +0 -4
  260. package/dist/viewer/p-1abfe4bf.js +0 -4
  261. package/dist/viewer/p-1e0dd2e9.js +0 -4
  262. package/dist/viewer/p-22ae6785.entry.js +0 -4
  263. package/dist/viewer/p-27dbc865.js +0 -4
  264. package/dist/viewer/p-31b87b90.js +0 -4
  265. package/dist/viewer/p-3f6f2457.entry.js +0 -4
  266. package/dist/viewer/p-61e50e11.entry.js +0 -4
  267. package/dist/viewer/p-7579e2a1.entry.js +0 -4
  268. package/dist/viewer/p-920c9a88.entry.js +0 -4
  269. package/dist/viewer/p-990f98c2.js +0 -4
  270. package/dist/viewer/p-9dfe0b43.entry.js +0 -4
  271. package/dist/viewer/p-a6558bb2.entry.js +0 -4
  272. package/dist/viewer/p-b7e170ac.entry.js +0 -4
  273. package/dist/viewer/p-d34ad2b2.entry.js +0 -4
  274. package/dist/viewer/p-f3ea0c2b.entry.js +0 -4
@@ -1,10 +1,12 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import { c as color, u as uri, a as async, b as uuid } from './browser.esm-ae4ca1f1.js';
5
- import { v as vector3, b as boundingBox, a as boundingSphere, m as matrix4, q as quaternion, r as ray, p as point, d as dimensions } from './bundle.esm-ce2c7ad3.js';
6
- import { v as vertexvis, t as toProtoDuration, g as toProtobuf, e as FramePerspectiveCamera, h as constrainViewVector, d as FrameOrthographicCamera, w as withPositionAndViewVector, i as fromBoundingBoxAndLookAtCamera } from './streamAttributes-7e8565be.js';
4
+ import { c as color, u as uri, a as async, b as uuid } from './browser.esm-07e7db8f.js';
5
+ import { I as InvalidResourceUrnError, a as InvalidCameraError, b as InvalidArgumentError } from './errors-a4cc9caa.js';
6
+ import { v as vector3, b as boundingBox, a as boundingSphere, m as matrix4, q as quaternion, r as ray, p as point, d as dimensions } from './bundle.esm-92e615bf.js';
7
+ import { v as vertexvis, t as toProtobuf, e as FramePerspectiveCamera, g as constrainViewVector, d as FrameOrthographicCamera, w as withPositionAndViewVector, h as fromBoundingBoxAndLookAtCamera } from './streamAttributes-23270e27.js';
7
8
  import './entities-ce81dd7f.js';
9
+ import { t as toProtoDuration } from './bundle.esm-91404853.js';
8
10
 
9
11
  const defaultColor = {
10
12
  opacity: 255,
@@ -96,115 +98,54 @@ const colorMaterial = /*#__PURE__*/Object.freeze({
96
98
  defaultSelectionMaterial: defaultSelectionMaterial
97
99
  });
98
100
 
99
- class CustomError extends Error {
100
- constructor(message, e) {
101
- super();
102
- this.message = message;
103
- this.stack = e === null || e === void 0 ? void 0 : e.stack;
104
- this.name = this.constructor.name;
105
- // Allows for `instanceof` checks.
106
- Object.setPrototypeOf(this, CustomError.prototype);
107
- }
108
- }
109
- class InvalidResourceUrnError extends CustomError {
110
- constructor(message, e) {
111
- super(message, e);
112
- // Allows for `instanceof` checks.
113
- Object.setPrototypeOf(this, InvalidResourceUrnError.prototype);
114
- }
115
- }
116
- class ViewerInitializationError extends CustomError {
117
- constructor(message, e) {
118
- super(message, e);
119
- // Allows for `instanceof` checks.
120
- Object.setPrototypeOf(this, ViewerInitializationError.prototype);
121
- }
122
- }
123
- class ComponentInitializationError extends CustomError {
124
- constructor(message, e) {
125
- super(message, e);
126
- // Allows for `instanceof` checks.
127
- Object.setPrototypeOf(this, ComponentInitializationError.prototype);
128
- }
129
- }
130
- class SceneRenderError extends CustomError {
131
- constructor(message, e) {
132
- super(message, e);
133
- // Allows for `instanceof` checks.
134
- Object.setPrototypeOf(this, SceneRenderError.prototype);
135
- }
136
- }
137
- class WebsocketConnectionError extends CustomError {
138
- constructor(message, e) {
139
- super(message, e);
140
- // Allows for `instanceof` checks.
141
- Object.setPrototypeOf(this, WebsocketConnectionError.prototype);
142
- }
143
- }
144
- class InteractionHandlerError extends CustomError {
145
- constructor(message, e) {
146
- super(message, e);
147
- // Allows for `instanceof` checks.
148
- Object.setPrototypeOf(this, InteractionHandlerError.prototype);
149
- }
150
- }
151
- class ImageLoadError extends CustomError {
152
- constructor(message, e) {
153
- super(message, e);
154
- // Allows for `instanceof` checks.
155
- Object.setPrototypeOf(this, ImageLoadError.prototype);
156
- }
157
- }
158
- class IllegalStateError extends CustomError {
159
- constructor(message, e) {
160
- super(message, e);
161
- // Allows for `instanceof` checks.
162
- Object.setPrototypeOf(this, IllegalStateError.prototype);
163
- }
164
- }
165
- class InvalidArgumentError extends CustomError {
166
- constructor(message, e) {
167
- super(message, e);
168
- // Allows for `instanceof` checks.
169
- Object.setPrototypeOf(this, InvalidArgumentError.prototype);
170
- }
171
- }
172
- class InvalidCameraError extends CustomError {
173
- constructor(message, e) {
174
- super(message, e);
175
- // Allows for `instanceof` checks.
176
- Object.setPrototypeOf(this, InvalidCameraError.prototype);
177
- }
178
- }
179
-
180
101
  function fromUrn(urn) {
102
+ var _a;
181
103
  const uri$1 = uri.parse(urn);
182
104
  if (uri$1.scheme !== 'urn' || uri$1.path == null) {
183
105
  throw new Error('Invalid URN. Expected URN scheme.');
184
106
  }
185
- const [nid, resourceType, resourceId] = uri$1.path.split(':');
107
+ const [nid, resourceType, resourceId, ...subResourcePath] = uri$1.path.split(/[:/]/);
186
108
  if (nid !== 'vertexvis') {
187
109
  throw new Error('Invalid URN. Expected URN to be vertexvis namespace');
188
110
  }
189
111
  switch (resourceType) {
190
112
  case 'stream-key':
113
+ const queries = fromQuery(uri$1.query);
114
+ const subResource = (_a = fromSubResourcePath(subResourcePath.join('/'))) !== null && _a !== void 0 ? _a : queries.find((q) => q.type === 'scene-view-state');
191
115
  return {
192
116
  resource: { type: 'stream-key', id: resourceId },
193
- queries: fromQuery(uri$1.query),
117
+ subResource,
118
+ queries: queries.filter((q) => q.type !== 'scene-view-state'),
194
119
  };
195
120
  default:
196
121
  throw new InvalidResourceUrnError(`Invalid URN. Unknown resource type ${resourceType}`);
197
122
  }
198
123
  }
124
+ function fromSubResourcePath(path) {
125
+ if (path != null) {
126
+ const [subResourceType, subResourceId] = path.split('/');
127
+ switch (subResourceType) {
128
+ case 'scene-view-states':
129
+ return {
130
+ type: 'scene-view-state',
131
+ id: subResourceId,
132
+ };
133
+ default:
134
+ return undefined;
135
+ }
136
+ }
137
+ }
199
138
  function fromQuery(query) {
200
139
  if (query != null) {
201
140
  return query.split('&').map((queryFragment) => {
202
141
  const [resourceType, resourceId] = queryFragment.split('=');
203
142
  switch (resourceType) {
143
+ case 'supplied-id':
144
+ return { type: 'supplied-id', id: resourceId };
204
145
  case 'scene-view-state':
205
146
  return { type: 'scene-view-state', id: resourceId };
206
147
  default:
207
- throw new Error('Invalid URN. Unknown query resource type');
148
+ throw new Error('Invalid URN. Unknown query value type');
208
149
  }
209
150
  });
210
151
  }
@@ -218,6 +159,13 @@ const loadableResource = /*#__PURE__*/Object.freeze({
218
159
  fromUrn: fromUrn
219
160
  });
220
161
 
162
+ function isSceneViewStateId(identifier) {
163
+ return identifier.id != null;
164
+ }
165
+ function isSceneViewStateSuppliedId(identifier) {
166
+ return identifier.suppliedId != null;
167
+ }
168
+
221
169
  /**
222
170
  * A `SynchronizedClock` allows for approximating the time on a remote machine.
223
171
  *
@@ -368,68 +316,114 @@ class CameraRenderResult {
368
316
  }
369
317
  }
370
318
 
371
- function buildSceneOperation(query, operations, context) {
372
- const operationTypes = buildOperationTypes(operations);
319
+ function buildSceneViewStateIdentifier(identifier) {
320
+ if (typeof identifier === 'string') {
321
+ return { sceneViewStateId: { hex: identifier } };
322
+ }
323
+ else if (isSceneViewStateId(identifier)) {
324
+ return { sceneViewStateId: { hex: identifier.id } };
325
+ }
326
+ else if (isSceneViewStateSuppliedId(identifier)) {
327
+ return { sceneViewStateSuppliedId: { value: identifier.suppliedId } };
328
+ }
329
+ else {
330
+ throw new Error('Unable to build scene view state identifier, input must be a string or `SceneViewStateIdentifier`.');
331
+ }
332
+ }
333
+ function buildQueryExpression(query, context) {
373
334
  switch (query.type) {
374
335
  case 'and':
375
336
  case 'or':
376
337
  return {
377
- [query.type]: {
378
- queries: query.expressions.map((exp) => ({
379
- sceneItemQuery: buildSceneItemQuery(exp),
380
- })),
338
+ operand: {
339
+ itemCollection: {
340
+ queries: query.expressions.map((exp) => ({
341
+ sceneItemQuery: buildSceneItemQuery(exp),
342
+ })),
343
+ },
344
+ },
345
+ };
346
+ case 'not':
347
+ return {
348
+ not: {
349
+ expression: buildQueryExpression(query.query, context),
381
350
  },
382
- operationTypes,
383
351
  };
384
352
  case 'item-id':
385
353
  case 'supplied-id':
386
354
  return {
387
- item: {
388
- sceneItemQuery: buildSceneItemQuery(query),
355
+ operand: {
356
+ item: {
357
+ sceneItemQuery: buildSceneItemQuery(query),
358
+ },
389
359
  },
390
- operationTypes,
391
360
  };
392
361
  case 'all':
393
362
  return {
394
- all: {},
395
- operationTypes,
363
+ operand: {
364
+ root: {},
365
+ },
396
366
  };
397
367
  case 'scene-tree-range':
398
368
  return {
399
- sceneTreeRange: {
400
- start: query.range.start,
401
- end: query.range.end,
369
+ operand: {
370
+ sceneTreeRange: {
371
+ start: query.range.start,
372
+ end: query.range.end,
373
+ },
402
374
  },
403
- operationTypes,
404
375
  };
405
376
  case 'metadata':
406
377
  return {
407
- metadata: {
408
- valueFilter: query.filter,
409
- keys: query.keys,
410
- exactMatch: query.exactMatch,
378
+ operand: {
379
+ metadata: {
380
+ valueFilter: query.filter,
381
+ keys: query.keys,
382
+ exactMatch: query.exactMatch,
383
+ },
411
384
  },
412
- operationTypes,
413
385
  };
414
386
  case 'all-selected':
415
387
  return {
416
- override: {
417
- selection: {},
388
+ operand: {
389
+ override: {
390
+ selection: {},
391
+ },
418
392
  },
419
- operationTypes,
420
393
  };
421
394
  case 'point':
422
395
  return {
423
- point: {
424
- point: query.point,
425
- viewport: context.dimensions,
396
+ operand: {
397
+ point: {
398
+ point: query.point,
399
+ viewport: context.dimensions,
400
+ },
401
+ },
402
+ };
403
+ case 'volume-intersection':
404
+ return {
405
+ operand: {
406
+ volume: {
407
+ frustumByRectangle: {
408
+ rectangle: query.rectangle,
409
+ },
410
+ exclusive: query.exclusive,
411
+ viewport: context.dimensions,
412
+ },
426
413
  },
427
- operationTypes,
428
414
  };
429
415
  default:
430
416
  return {};
431
417
  }
432
418
  }
419
+ function buildSceneOperation(query, operations, context) {
420
+ const operationTypes = buildOperationTypes(operations);
421
+ const queryExpression = buildQueryExpression(query, context);
422
+ return {
423
+ queryExpression,
424
+ operationTypes,
425
+ };
426
+ }
433
427
  function buildSceneItemQuery(item) {
434
428
  switch (item.type) {
435
429
  case 'item-id':
@@ -549,6 +543,33 @@ function buildOperationTypes(operations) {
549
543
  }
550
544
  });
551
545
  }
546
+ function toPbSceneViewStateFeatures(features) {
547
+ return features.map((feature) => {
548
+ switch (feature) {
549
+ case 'camera':
550
+ return vertexvis.protobuf.stream.SceneViewStateFeature
551
+ .SCENE_VIEW_STATE_FEATURE_CAMERA;
552
+ case 'material_overrides':
553
+ return vertexvis.protobuf.stream.SceneViewStateFeature
554
+ .SCENE_VIEW_STATE_FEATURE_MATERIAL_OVERRIDE;
555
+ case 'selection':
556
+ return vertexvis.protobuf.stream.SceneViewStateFeature
557
+ .SCENE_VIEW_STATE_FEATURE_SELECTION;
558
+ case 'visibility':
559
+ return vertexvis.protobuf.stream.SceneViewStateFeature
560
+ .SCENE_VIEW_STATE_FEATURE_VISIBILITY;
561
+ case 'transforms':
562
+ return vertexvis.protobuf.stream.SceneViewStateFeature
563
+ .SCENE_VIEW_STATE_FEATURE_TRANSFORM;
564
+ case 'cross_section':
565
+ return vertexvis.protobuf.stream.SceneViewStateFeature
566
+ .SCENE_VIEW_STATE_FEATURE_CROSS_SECTION;
567
+ default:
568
+ return vertexvis.protobuf.stream.SceneViewStateFeature
569
+ .SCENE_VIEW_STATE_FEATURE_INVALID;
570
+ }
571
+ });
572
+ }
552
573
 
553
574
  const PI_OVER_360 = 0.008726646259972;
554
575
  class TerminalFlyToExecutor {
@@ -808,7 +829,9 @@ class PerspectiveCamera extends Camera {
808
829
  return super.fitCameraToBoundingBox(boundingBox$1, distance, this.viewVector);
809
830
  }
810
831
  update(camera) {
811
- return new PerspectiveCamera(this.stream, this.aspect, Object.assign(Object.assign({}, this.perspectiveData), camera), this.boundingBox, this.decodeFrame, this.flyToOptions);
832
+ var _a;
833
+ const fovY = (_a = camera.fovY) !== null && _a !== void 0 ? _a : this.fovY;
834
+ return new PerspectiveCamera(this.stream, this.aspect, Object.assign(Object.assign(Object.assign({}, this.perspectiveData), camera), { fovY }), this.boundingBox, this.decodeFrame, this.flyToOptions);
812
835
  }
813
836
  toFrameCamera() {
814
837
  var _a;
@@ -1041,58 +1064,97 @@ class SceneOperationBuilder {
1041
1064
  }
1042
1065
  }
1043
1066
 
1067
+ /**
1068
+ * An interface that represents a query is "complete" and can be turned into an
1069
+ * expression.
1070
+ */
1071
+ class TerminalQuery {
1072
+ constructor(inverted) {
1073
+ this.inverted = inverted;
1074
+ }
1075
+ build() {
1076
+ if (this.inverted) {
1077
+ return {
1078
+ type: 'not',
1079
+ query: this.queryExpressionBuilder(),
1080
+ };
1081
+ }
1082
+ else {
1083
+ return this.queryExpressionBuilder();
1084
+ }
1085
+ }
1086
+ }
1044
1087
  class RootQuery {
1088
+ constructor(inverted = false) {
1089
+ this.inverted = inverted;
1090
+ }
1045
1091
  all() {
1046
1092
  return new AllQuery();
1047
1093
  }
1094
+ not() {
1095
+ return new NotQuery(!this.inverted);
1096
+ }
1048
1097
  withItemIds(ids) {
1049
- return new BulkQuery(ids, 'item-id');
1098
+ return new BulkQuery(ids, 'item-id', this.inverted);
1050
1099
  }
1051
1100
  withSuppliedIds(ids) {
1052
- return new BulkQuery(ids, 'supplied-id');
1101
+ return new BulkQuery(ids, 'supplied-id', this.inverted);
1053
1102
  }
1054
1103
  withItemId(id) {
1055
- return new SingleQuery({ type: 'item-id', value: id });
1104
+ return new SingleQuery({ type: 'item-id', value: id }, this.inverted);
1056
1105
  }
1057
1106
  withSuppliedId(id) {
1058
- return new SingleQuery({ type: 'supplied-id', value: id });
1107
+ return new SingleQuery({ type: 'supplied-id', value: id }, this.inverted);
1059
1108
  }
1060
1109
  withSceneTreeRange(range) {
1061
- return new SceneTreeRangeQuery(range);
1110
+ return new SceneTreeRangeQuery(range, this.inverted);
1062
1111
  }
1063
1112
  withMetadata(filter, keys, exactMatch) {
1064
- return new MetadataQuery(filter, keys, exactMatch);
1113
+ return new MetadataQuery(filter, keys, exactMatch, this.inverted);
1065
1114
  }
1066
1115
  withSelected() {
1067
- return new AllSelectedQuery();
1116
+ return new AllSelectedQuery(this.inverted);
1068
1117
  }
1069
1118
  withPoint(point) {
1070
- return new PointQuery(point);
1119
+ return new PointQuery(point, this.inverted);
1120
+ }
1121
+ withVolumeIntersection(rectangle, exclusive) {
1122
+ return new VolumeIntersectionQuery(rectangle, this.inverted, exclusive);
1071
1123
  }
1072
1124
  }
1073
- class AllQuery {
1074
- build() {
1125
+ class NotQuery extends RootQuery {
1126
+ constructor(inverted) {
1127
+ super(inverted);
1128
+ }
1129
+ }
1130
+ class AllQuery extends TerminalQuery {
1131
+ constructor(inverted = false) {
1132
+ super(inverted);
1133
+ }
1134
+ queryExpressionBuilder() {
1075
1135
  return { type: 'all' };
1076
1136
  }
1077
1137
  }
1078
- class SceneTreeRangeQuery {
1079
- constructor(range) {
1138
+ class SceneTreeRangeQuery extends TerminalQuery {
1139
+ constructor(range, inverted) {
1140
+ super(inverted);
1080
1141
  this.range = range;
1081
1142
  }
1082
- build() {
1143
+ queryExpressionBuilder() {
1083
1144
  return {
1084
1145
  type: 'scene-tree-range',
1085
1146
  range: this.range,
1086
1147
  };
1087
1148
  }
1088
1149
  }
1089
- class MetadataQuery {
1090
- constructor(filter, keys, exactMatch) {
1150
+ class MetadataQuery extends TerminalQuery {
1151
+ constructor(filter, keys, exactMatch, inverted) {
1152
+ super(inverted);
1091
1153
  this.filter = filter;
1092
1154
  this.keys = keys;
1093
1155
  this.exactMatch = exactMatch;
1094
1156
  }
1095
- build() {
1157
+ queryExpressionBuilder() {
1096
1158
  return {
1097
1159
  type: 'metadata',
1098
1160
  filter: this.filter,
@@ -1101,30 +1163,49 @@ class MetadataQuery {
1101
1163
  };
1102
1164
  }
1103
1165
  }
1104
- class AllSelectedQuery {
1105
- build() {
1166
+ class AllSelectedQuery extends TerminalQuery {
1167
+ constructor(inverted) {
1168
+ super(inverted);
1169
+ }
1170
+ queryExpressionBuilder() {
1106
1171
  return {
1107
1172
  type: 'all-selected',
1108
1173
  };
1109
1174
  }
1110
1175
  }
1111
- class PointQuery {
1112
- constructor(point) {
1176
+ class PointQuery extends TerminalQuery {
1177
+ constructor(point, inverted) {
1178
+ super(inverted);
1113
1179
  this.point = point;
1114
1180
  }
1115
- build() {
1181
+ queryExpressionBuilder() {
1116
1182
  return {
1117
1183
  type: 'point',
1118
1184
  point: this.point,
1119
1185
  };
1120
1186
  }
1121
1187
  }
1122
- class BulkQuery {
1123
- constructor(ids, type) {
1188
+ class VolumeIntersectionQuery extends TerminalQuery {
1189
+ constructor(rectangle, inverted, exclusive) {
1190
+ super(inverted);
1191
+ this.rectangle = rectangle;
1192
+ this.exclusive = exclusive;
1193
+ }
1194
+ queryExpressionBuilder() {
1195
+ return {
1196
+ type: 'volume-intersection',
1197
+ rectangle: this.rectangle,
1198
+ exclusive: !!this.exclusive,
1199
+ };
1200
+ }
1201
+ }
1202
+ class BulkQuery extends TerminalQuery {
1203
+ constructor(ids, type, inverted) {
1204
+ super(inverted);
1124
1205
  this.ids = ids;
1125
1206
  this.type = type;
1126
1207
  }
1127
- build() {
1208
+ queryExpressionBuilder() {
1128
1209
  return {
1129
1210
  type: 'or',
1130
1211
  expressions: this.ids.map((id) => {
@@ -1136,55 +1217,52 @@ class BulkQuery {
1136
1217
  };
1137
1218
  }
1138
1219
  }
1139
- class SingleQuery {
1140
- constructor(query) {
1220
+ class SingleQuery extends TerminalQuery {
1221
+ constructor(query, inverted) {
1222
+ super(inverted);
1141
1223
  this.query = query;
1142
1224
  }
1143
- build() {
1225
+ queryExpressionBuilder() {
1144
1226
  return Object.assign({}, this.query);
1145
1227
  }
1146
1228
  and() {
1147
- return new AndQuery([this.query]);
1229
+ return new AndQuery([this.query], this.inverted);
1148
1230
  }
1149
1231
  or() {
1150
- return new OrQuery([this.query]);
1232
+ return new OrQuery([this.query], this.inverted);
1151
1233
  }
1152
1234
  }
1153
- class OrQuery {
1154
- constructor(expressions) {
1235
+ class OrQuery extends TerminalQuery {
1236
+ constructor(expressions, inverted) {
1237
+ super(inverted);
1155
1238
  this.expressions = expressions;
1156
1239
  }
1157
- build() {
1240
+ queryExpressionBuilder() {
1158
1241
  return { type: 'or', expressions: [...this.expressions] };
1159
1242
  }
1160
1243
  withItemId(id) {
1161
- return new OrQuery([...this.expressions, { type: 'item-id', value: id }]);
1244
+ return new OrQuery([...this.expressions, { type: 'item-id', value: id }], this.inverted);
1162
1245
  }
1163
1246
  withSuppliedId(id) {
1164
- return new OrQuery([
1165
- ...this.expressions,
1166
- { type: 'supplied-id', value: id },
1167
- ]);
1247
+ return new OrQuery([...this.expressions, { type: 'supplied-id', value: id }], this.inverted);
1168
1248
  }
1169
1249
  or() {
1170
1250
  return this;
1171
1251
  }
1172
1252
  }
1173
- class AndQuery {
1174
- constructor(expressions) {
1253
+ class AndQuery extends TerminalQuery {
1254
+ constructor(expressions, inverted) {
1255
+ super(inverted);
1175
1256
  this.expressions = expressions;
1176
1257
  }
1177
- build() {
1258
+ queryExpressionBuilder() {
1178
1259
  return { type: 'and', expressions: [...this.expressions] };
1179
1260
  }
1180
1261
  withItemId(id) {
1181
- return new AndQuery([...this.expressions, { type: 'item-id', value: id }]);
1262
+ return new AndQuery([...this.expressions, { type: 'item-id', value: id }], this.inverted);
1182
1263
  }
1183
1264
  withSuppliedId(id) {
1184
- return new AndQuery([
1185
- ...this.expressions,
1186
- { type: 'supplied-id', value: id },
1187
- ]);
1265
+ return new AndQuery([...this.expressions, { type: 'supplied-id', value: id }], this.inverted);
1188
1266
  }
1189
1267
  and() {
1190
1268
  return this;
@@ -1332,12 +1410,20 @@ class Scene {
1332
1410
  * Applies the provided scene view state to the scene.
1333
1411
  */
1334
1412
  async applySceneViewState(sceneViewStateId, opts = {}) {
1335
- return await this.stream.loadSceneViewState({
1336
- sceneViewStateId: { hex: sceneViewStateId },
1337
- frameCorrelationId: opts.suppliedCorrelationId
1413
+ const pbIdField = buildSceneViewStateIdentifier(sceneViewStateId);
1414
+ return await this.stream.loadSceneViewState(Object.assign(Object.assign({}, pbIdField), { frameCorrelationId: opts.suppliedCorrelationId
1338
1415
  ? { value: opts.suppliedCorrelationId }
1339
- : undefined,
1340
- }, true);
1416
+ : undefined }), true);
1417
+ }
1418
+ /**
1419
+ * Applies the specified features of the provided scene view state to the scene.
1420
+ */
1421
+ async applyPartialSceneViewState(sceneViewStateId, featuresToApply, opts = {}) {
1422
+ const pbIdField = buildSceneViewStateIdentifier(sceneViewStateId);
1423
+ const pbFeatures = toPbSceneViewStateFeatures(featuresToApply);
1424
+ return await this.stream.loadSceneViewState(Object.assign(Object.assign({}, pbIdField), { frameCorrelationId: opts.suppliedCorrelationId
1425
+ ? { value: opts.suppliedCorrelationId }
1426
+ : undefined, sceneViewStateFeatureSubset: pbFeatures }), true);
1341
1427
  }
1342
1428
  /**
1343
1429
  * Resets the view to its default state, with the ability to reset the camera to that of the base scene.
@@ -1417,4 +1503,4 @@ class Scene {
1417
1503
  }
1418
1504
  }
1419
1505
 
1420
- export { CustomError as C, ImageLoadError as I, Scene as S, ViewerInitializationError as V, WebsocketConnectionError as W, SynchronizedClock as a, SceneRenderError as b, colorMaterial as c, defaultSelectionMaterial as d, InteractionHandlerError as e, fromUrn as f, ComponentInitializationError as g, IllegalStateError as h, fromHex as i, loadableResource as l };
1506
+ export { Scene as S, SynchronizedClock as a, fromHex as b, colorMaterial as c, defaultSelectionMaterial as d, fromUrn as f, loadableResource as l };
@@ -1,5 +1,5 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  /*
5
5
  Stencil Client Platform v2.16.1 | MIT Licensed | https://stenciljs.com
@@ -1,5 +1,5 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  import { a as readTask, e as writeTask } from './index-26dfb2d0.js';
5
5