@vertexvis/viewer 0.13.2-canary.9 → 0.14.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 (323) hide show
  1. package/dist/cjs/{_commonjsHelpers-537d719a.js → _commonjsHelpers-dcc4cf71.js} +21 -0
  2. package/dist/cjs/{app-globals-3671e828.js → app-globals-2035678d.js} +1 -1
  3. package/dist/cjs/{browser.esm-075810bf.js → browser.esm-0bcdc581.js} +1 -1
  4. package/dist/cjs/{bundle.esm-618a5fe9.js → bundle.esm-22b6f2d6.js} +35 -1
  5. package/dist/cjs/{config-fb124bac.js → config-c63caa4f.js} +3 -2
  6. package/dist/cjs/{cursors-d71f6a74.js → cursors-f5d3c9a6.js} +13 -1
  7. package/dist/cjs/{dom-57ef84e9.js → dom-8d90bfaf.js} +1 -1
  8. package/dist/cjs/dom-d1bbd67c.js +10 -0
  9. package/dist/cjs/elementRectObserver-9b28f182.js +25 -0
  10. package/dist/cjs/entities-9eb7e608.js +41 -0
  11. package/dist/cjs/{entities-90f1347a.js → entities-e71231d8.js} +4 -4
  12. package/dist/cjs/{grpc-web-client.umd-60a79aae.js → grpc-web-client.umd-2af20c1b.js} +1 -1
  13. package/dist/cjs/{index-e100709a.js → index-4138aa2c.js} +1 -0
  14. package/dist/cjs/{index-3bc6bac0.js → index-b9d13137.js} +1 -1
  15. package/dist/cjs/index.cjs.js +25 -22
  16. package/dist/cjs/loader.cjs.js +4 -4
  17. package/dist/cjs/{mapper-80ee2957.js → mapper-08bbab48.js} +4 -4
  18. package/dist/cjs/{markup-7f7de5f2.js → markup-f7e61d16.js} +2 -2
  19. package/dist/cjs/{measurement-f1ae9248.js → measurement-3367e9b7.js} +2 -2
  20. package/dist/cjs/{model-55abd9ab.js → model-5ca87867.js} +1 -1
  21. package/dist/cjs/model-a9cfd037.js +246 -0
  22. package/dist/cjs/{overlays-68e8eff2.js → overlays-b0ba69fd.js} +2 -2
  23. package/dist/cjs/{png-decoder-076131d8.js → png-decoder-ef097f37.js} +2 -2
  24. package/dist/cjs/{results-e9496869.js → results-178e89a3.js} +1 -1
  25. package/dist/cjs/{scene-92728420.js → scene-b6b78909.js} +49 -12
  26. package/dist/cjs/{stencil-a664cd10.js → stencil-ef19638e.js} +5 -1
  27. package/dist/cjs/{streamAttributes-81eb52f2.js → streamAttributes-c343bdc8.js} +1993 -78
  28. package/dist/cjs/utils-78928e4e.js +162 -0
  29. package/dist/cjs/{utils-6397efca.js → utils-b157b0af.js} +1 -1
  30. package/dist/cjs/{utils-463cd52e.js → utils-c74b8bf0.js} +1 -1
  31. package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +16 -6
  32. package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +16 -14
  33. package/dist/cjs/vertex-scene-tree-table-column.cjs.entry.js +1 -1
  34. package/dist/cjs/vertex-scene-tree-table-header.cjs.entry.js +1 -1
  35. package/dist/cjs/vertex-scene-tree-table-resize-divider.cjs.entry.js +3 -3
  36. package/dist/cjs/vertex-scene-tree-toolbar-group.cjs.entry.js +1 -1
  37. package/dist/cjs/vertex-scene-tree.cjs.entry.js +154 -27
  38. package/dist/cjs/vertex-viewer-button_3.cjs.entry.js +3 -3
  39. package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js +1 -1
  40. package/dist/cjs/{vertex-viewer-dom-element_3.cjs.entry.js → vertex-viewer-dom-element_2.cjs.entry.js} +20 -178
  41. package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js +191 -0
  42. package/dist/cjs/vertex-viewer-icon.cjs.entry.js +6 -3
  43. package/dist/cjs/vertex-viewer-layer.cjs.entry.js +1 -1
  44. package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +49 -196
  45. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +5 -5
  46. package/dist/cjs/vertex-viewer-markup.cjs.entry.js +5 -5
  47. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +8 -7
  48. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +16 -15
  49. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +10 -9
  50. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +18 -35
  51. package/dist/cjs/vertex-viewer-measurement-tool.cjs.entry.js +8 -7
  52. package/dist/cjs/vertex-viewer-measurements.cjs.entry.js +12 -11
  53. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +167 -0
  54. package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js +276 -0
  55. package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js +322 -0
  56. package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +13272 -0
  57. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +8 -7
  58. package/dist/cjs/vertex-viewer.cjs.entry.js +119 -52
  59. package/dist/cjs/viewer.cjs.js +4 -4
  60. package/dist/cjs/{viewport-54b1389d.js → viewport-5ca619f7.js} +14 -4
  61. package/dist/collection/__mocks__/regl-shape.js +6 -0
  62. package/dist/collection/__mocks__/regl.js +3 -0
  63. package/dist/collection/collection-manifest.json +5 -0
  64. package/dist/collection/components/scene-tree/lib/controller.js +17 -5
  65. package/dist/collection/components/scene-tree/lib/errors.js +7 -1
  66. package/dist/collection/components/scene-tree/lib/viewer-ops.js +12 -1
  67. package/dist/collection/components/scene-tree/scene-tree.js +112 -22
  68. package/dist/collection/components/scene-tree-table-cell/scene-tree-table-cell.css +0 -7
  69. package/dist/collection/components/scene-tree-table-cell/scene-tree-table-cell.js +34 -12
  70. package/dist/collection/components/scene-tree-table-layout/scene-tree-table-layout.js +14 -2
  71. package/dist/collection/components/viewer/viewer.js +79 -14
  72. package/dist/collection/components/viewer-dom-element/viewer-dom-element.js +32 -4
  73. package/dist/collection/components/viewer-dom-group/utils.js +3 -2
  74. package/dist/collection/components/viewer-dom-group/viewer-dom-group.js +30 -2
  75. package/dist/collection/components/viewer-icon/viewer-icon.js +5 -2
  76. package/dist/collection/components/viewer-markup/utils.js +3 -2
  77. package/dist/collection/components/viewer-measurement-details/viewer-measurement-details-results.js +2 -2
  78. package/dist/collection/components/viewer-pin-group/pin-renderer.js +12 -0
  79. package/dist/collection/components/viewer-pin-group/utils.js +24 -0
  80. package/dist/collection/components/viewer-pin-group/viewer-pin-group.css +83 -0
  81. package/dist/collection/components/viewer-pin-group/viewer-pin-group.js +276 -0
  82. package/dist/collection/components/viewer-pin-label/utils.js +4 -0
  83. package/dist/collection/components/viewer-pin-label/viewer-pin-label.css +154 -0
  84. package/dist/collection/components/viewer-pin-label/viewer-pin-label.js +410 -0
  85. package/dist/collection/components/viewer-pin-label-line/viewer-pin-label-line.css +36 -0
  86. package/dist/collection/components/viewer-pin-label-line/viewer-pin-label-line.js +61 -0
  87. package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.css +9 -0
  88. package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.js +277 -0
  89. package/dist/collection/components/viewer-transform-widget/__mocks__/widget.js +21 -0
  90. package/dist/collection/components/viewer-transform-widget/util.js +78 -0
  91. package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.css +48 -0
  92. package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.js +442 -0
  93. package/dist/collection/components/viewer-transform-widget/widget.js +259 -0
  94. package/dist/collection/lib/cursors.js +11 -1
  95. package/dist/collection/lib/interactions/baseInteractionHandler.js +9 -2
  96. package/dist/collection/lib/interactions/flyToPositionKeyInteraction.js +4 -3
  97. package/dist/collection/lib/interactions/interactionApi.js +21 -1
  98. package/dist/collection/lib/interactions/interactionApiOrthographic.js +18 -1
  99. package/dist/collection/lib/interactions/mouseInteractionHandler.js +4 -4
  100. package/dist/collection/lib/interactions/mouseInteractions.js +24 -1
  101. package/dist/collection/lib/interactions/multiTouchInteractionHandler.js +1 -2
  102. package/dist/collection/lib/interactions/pointerInteractionHandler.js +3 -3
  103. package/dist/collection/lib/mappers/streamAttributes.js +4 -2
  104. package/dist/collection/lib/pins/controller.js +100 -0
  105. package/dist/collection/lib/pins/interactions.js +183 -0
  106. package/dist/collection/lib/pins/model.js +136 -0
  107. package/dist/collection/lib/rendering/canvas.js +6 -28
  108. package/dist/collection/lib/scenes/camera.js +34 -2
  109. package/dist/collection/lib/scenes/colorMaterial.js +8 -8
  110. package/dist/collection/lib/scenes/mapper.js +2 -1
  111. package/dist/collection/lib/scenes/queries.js +6 -4
  112. package/dist/collection/lib/transforms/axis-lines.js +31 -0
  113. package/dist/collection/lib/transforms/axis-rotation.js +34 -0
  114. package/dist/collection/lib/transforms/axis-translation.js +30 -0
  115. package/dist/collection/lib/transforms/controller.js +117 -0
  116. package/dist/collection/lib/transforms/drawable.js +47 -0
  117. package/dist/collection/lib/transforms/hits.js +51 -0
  118. package/dist/collection/lib/transforms/line.js +58 -0
  119. package/dist/collection/lib/transforms/mesh.js +35 -0
  120. package/dist/collection/lib/transforms/shape.js +2 -0
  121. package/dist/collection/lib/transforms/util.js +4 -0
  122. package/dist/collection/lib/types/depthBuffer.js +2 -2
  123. package/dist/collection/lib/types/frameCamera.js +4 -6
  124. package/dist/collection/lib/types/viewport.js +14 -4
  125. package/dist/custom-elements/index.d.ts +30 -0
  126. package/dist/custom-elements/index.js +16835 -335
  127. package/dist/esm/{_commonjsHelpers-9943807e.js → _commonjsHelpers-11ca3be1.js} +20 -1
  128. package/dist/esm/{app-globals-3a04a531.js → app-globals-40df99a0.js} +1 -1
  129. package/dist/esm/{browser.esm-e72d80ad.js → browser.esm-1ddb69c9.js} +1 -1
  130. package/dist/esm/{bundle.esm-8ceccb91.js → bundle.esm-ce2c7ad3.js} +36 -2
  131. package/dist/esm/{config-fb7cd8ff.js → config-7075833a.js} +3 -2
  132. package/dist/esm/{cursors-fc2deed7.js → cursors-98b7d89d.js} +12 -2
  133. package/dist/esm/{dom-2cd18856.js → dom-5b164305.js} +1 -1
  134. package/dist/esm/dom-be140992.js +8 -0
  135. package/dist/esm/elementRectObserver-39cf7b95.js +23 -0
  136. package/dist/esm/{entities-78557270.js → entities-46be90d5.js} +4 -4
  137. package/dist/esm/entities-ce81dd7f.js +41 -0
  138. package/dist/esm/{grpc-web-client.umd-5982b7b0.js → grpc-web-client.umd-5409853c.js} +1 -1
  139. package/dist/esm/{index-10c1495a.js → index-a9fb8318.js} +1 -1
  140. package/dist/esm/{index-455380d0.js → index-e841d91b.js} +1 -1
  141. package/dist/esm/index.js +15 -14
  142. package/dist/esm/index.mjs +15 -14
  143. package/dist/esm/loader.js +4 -4
  144. package/dist/esm/loader.mjs +4 -4
  145. package/dist/esm/{mapper-da36de17.js → mapper-bde6c607.js} +4 -4
  146. package/dist/esm/{markup-c313d99c.js → markup-8904f2fe.js} +2 -2
  147. package/dist/esm/{measurement-544b69d5.js → measurement-3f9b0ae0.js} +2 -2
  148. package/dist/esm/{model-2a34b443.js → model-e54b081f.js} +1 -1
  149. package/dist/esm/model-f679c493.js +241 -0
  150. package/dist/esm/{overlays-354e275c.js → overlays-ea2d45ec.js} +2 -2
  151. package/dist/esm/{png-decoder-07de80d1.js → png-decoder-d4b65417.js} +2 -2
  152. package/dist/esm/{results-4d0c3568.js → results-3b4df2cf.js} +1 -1
  153. package/dist/esm/{scene-2bfcce74.js → scene-22ebacfd.js} +49 -12
  154. package/dist/esm/{stencil-9bf7fb9e.js → stencil-8b20e5a8.js} +5 -2
  155. package/dist/esm/{streamAttributes-d0b384b3.js → streamAttributes-72a92676.js} +1982 -67
  156. package/dist/esm/{utils-3ea0acdd.js → utils-0b980078.js} +1 -1
  157. package/dist/esm/utils-c714e2f7.js +153 -0
  158. package/dist/esm/{utils-e0941c61.js → utils-f11bd6f7.js} +1 -1
  159. package/dist/esm/vertex-scene-tree-search_3.entry.js +16 -6
  160. package/dist/esm/vertex-scene-tree-table-cell.entry.js +16 -14
  161. package/dist/esm/vertex-scene-tree-table-column.entry.js +1 -1
  162. package/dist/esm/vertex-scene-tree-table-header.entry.js +1 -1
  163. package/dist/esm/vertex-scene-tree-table-resize-divider.entry.js +3 -3
  164. package/dist/esm/vertex-scene-tree-toolbar-group.entry.js +1 -1
  165. package/dist/esm/vertex-scene-tree.entry.js +154 -27
  166. package/dist/esm/vertex-viewer-button_3.entry.js +3 -3
  167. package/dist/esm/vertex-viewer-default-toolbar.entry.js +1 -1
  168. package/dist/esm/{vertex-viewer-dom-element_3.entry.js → vertex-viewer-dom-element_2.entry.js} +21 -178
  169. package/dist/esm/vertex-viewer-dom-group.entry.js +187 -0
  170. package/dist/esm/vertex-viewer-icon.entry.js +6 -3
  171. package/dist/esm/vertex-viewer-layer.entry.js +1 -1
  172. package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +8 -155
  173. package/dist/esm/vertex-viewer-markup-tool.entry.js +5 -5
  174. package/dist/esm/vertex-viewer-markup.entry.js +5 -5
  175. package/dist/esm/vertex-viewer-measurement-details.entry.js +8 -7
  176. package/dist/esm/vertex-viewer-measurement-distance.entry.js +16 -15
  177. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +10 -9
  178. package/dist/esm/vertex-viewer-measurement-precise.entry.js +15 -32
  179. package/dist/esm/vertex-viewer-measurement-tool.entry.js +8 -7
  180. package/dist/esm/vertex-viewer-measurements.entry.js +12 -11
  181. package/dist/esm/vertex-viewer-pin-group.entry.js +163 -0
  182. package/dist/esm/vertex-viewer-pin-label_2.entry.js +271 -0
  183. package/dist/esm/vertex-viewer-pin-tool.entry.js +318 -0
  184. package/dist/esm/vertex-viewer-transform-widget.entry.js +13268 -0
  185. package/dist/esm/vertex-viewer-view-cube.entry.js +8 -7
  186. package/dist/esm/vertex-viewer.entry.js +118 -51
  187. package/dist/esm/viewer.js +4 -4
  188. package/dist/esm/{viewport-5cc7b128.js → viewport-e39e2eba.js} +14 -4
  189. package/dist/types/__mocks__/regl-shape.d.ts +5 -0
  190. package/dist/types/__mocks__/regl.d.ts +5 -0
  191. package/dist/types/components/scene-tree/lib/controller.d.ts +13 -1
  192. package/dist/types/components/scene-tree/lib/errors.d.ts +3 -1
  193. package/dist/types/components/scene-tree/lib/viewer-ops.d.ts +1 -0
  194. package/dist/types/components/scene-tree/scene-tree.d.ts +16 -4
  195. package/dist/types/components/scene-tree-table-cell/scene-tree-table-cell.d.ts +6 -2
  196. package/dist/types/components/scene-tree-table-layout/scene-tree-table-layout.d.ts +2 -0
  197. package/dist/types/components/viewer/viewer.d.ts +13 -1
  198. package/dist/types/components/viewer-dom-element/viewer-dom-element.d.ts +10 -2
  199. package/dist/types/components/viewer-dom-group/viewer-dom-group.d.ts +9 -1
  200. package/dist/types/components/viewer-icon/viewer-icon.d.ts +1 -1
  201. package/dist/types/components/viewer-pin-group/pin-renderer.d.ts +8 -0
  202. package/dist/types/components/viewer-pin-group/utils.d.ts +2 -0
  203. package/dist/types/components/viewer-pin-group/viewer-pin-group.d.ts +49 -0
  204. package/dist/types/components/viewer-pin-label/utils.d.ts +1 -0
  205. package/dist/types/components/viewer-pin-label/viewer-pin-label.d.ts +77 -0
  206. package/dist/types/components/viewer-pin-label-line/viewer-pin-label-line.d.ts +7 -0
  207. package/dist/types/components/viewer-pin-tool/viewer-pin-tool.d.ts +68 -0
  208. package/dist/types/components/viewer-transform-widget/__mocks__/widget.d.ts +11 -0
  209. package/dist/types/components/viewer-transform-widget/util.d.ts +5 -0
  210. package/dist/types/components/viewer-transform-widget/viewer-transform-widget.d.ts +81 -0
  211. package/dist/types/components/viewer-transform-widget/widget.d.ts +74 -0
  212. package/dist/types/components.d.ts +303 -12
  213. package/dist/types/interfaces.d.ts +1 -0
  214. package/dist/types/lib/cursors.d.ts +10 -0
  215. package/dist/types/lib/interactions/baseInteractionHandler.d.ts +4 -3
  216. package/dist/types/lib/interactions/interactionApi.d.ts +10 -1
  217. package/dist/types/lib/interactions/interactionApiOrthographic.d.ts +7 -0
  218. package/dist/types/lib/interactions/mouseInteractionHandler.d.ts +2 -2
  219. package/dist/types/lib/interactions/mouseInteractions.d.ts +6 -0
  220. package/dist/types/lib/pins/controller.d.ts +70 -0
  221. package/dist/types/lib/pins/interactions.d.ts +30 -0
  222. package/dist/types/lib/pins/model.d.ts +104 -0
  223. package/dist/types/lib/rendering/canvas.d.ts +1 -2
  224. package/dist/types/lib/scenes/camera.d.ts +10 -0
  225. package/dist/types/lib/scenes/colorMaterial.d.ts +1 -0
  226. package/dist/types/lib/scenes/queries.d.ts +4 -2
  227. package/dist/types/lib/transforms/axis-lines.d.ts +6 -0
  228. package/dist/types/lib/transforms/axis-rotation.d.ts +6 -0
  229. package/dist/types/lib/transforms/axis-translation.d.ts +6 -0
  230. package/dist/types/lib/transforms/controller.d.ts +17 -0
  231. package/dist/types/lib/transforms/drawable.d.ts +26 -0
  232. package/dist/types/lib/transforms/hits.d.ts +10 -0
  233. package/dist/types/lib/transforms/line.d.ts +31 -0
  234. package/dist/types/lib/transforms/mesh.d.ts +23 -0
  235. package/dist/types/lib/transforms/shape.d.ts +3 -0
  236. package/dist/types/lib/transforms/util.d.ts +2 -0
  237. package/dist/types/lib/types/frameCamera.d.ts +1 -0
  238. package/dist/types/lib/types/viewport.d.ts +8 -0
  239. package/dist/types/regl-shape.d.ts +26 -0
  240. package/dist/viewer/index.esm.js +1 -1
  241. package/dist/viewer/p-058632f4.js +4 -0
  242. package/dist/viewer/p-07aeee89.js +10 -0
  243. package/dist/viewer/{p-e75bba97.js → p-083f427e.js} +1 -1
  244. package/dist/viewer/{p-a455ae02.entry.js → p-08eda2b2.entry.js} +1 -1
  245. package/dist/viewer/{p-bcb66f97.js → p-096e60bd.js} +1 -1
  246. package/dist/viewer/p-0bc4b3f7.js +4 -0
  247. package/dist/viewer/p-148c5f1a.js +4 -0
  248. package/dist/viewer/p-1db9bd1a.entry.js +4 -0
  249. package/dist/viewer/{p-70ca1ea7.entry.js → p-1f251549.entry.js} +1 -1
  250. package/dist/viewer/p-29986489.js +4 -0
  251. package/dist/viewer/{p-cafa57a6.js → p-2e581b2a.js} +1 -1
  252. package/dist/viewer/{p-d2bcf788.entry.js → p-33daeb09.entry.js} +1 -1
  253. package/dist/viewer/p-39803f8f.js +4 -0
  254. package/dist/viewer/p-465a92d9.entry.js +4 -0
  255. package/dist/viewer/p-4a65ddb3.entry.js +4 -0
  256. package/dist/viewer/{p-099fe6ca.entry.js → p-4aaf02b4.entry.js} +1 -1
  257. package/dist/viewer/{p-31658489.entry.js → p-4c3a3738.entry.js} +1 -1
  258. package/dist/viewer/{p-e38458da.js → p-4d37d97c.js} +1 -1
  259. package/dist/viewer/p-4fdf8553.entry.js +4 -0
  260. package/dist/viewer/p-5679f46b.entry.js +4 -0
  261. package/dist/viewer/p-5809b400.js +4 -0
  262. package/dist/viewer/{p-fa9a0bed.js → p-58dacdce.js} +1 -1
  263. package/dist/viewer/p-61a042f0.entry.js +4 -0
  264. package/dist/viewer/{p-b8774c9c.js → p-6c377932.js} +1 -1
  265. package/dist/viewer/p-6d379d4a.js +4 -0
  266. package/dist/viewer/p-6d70b198.entry.js +4 -0
  267. package/dist/viewer/p-6e7e094a.entry.js +4 -0
  268. package/dist/viewer/{p-661f0612.js → p-70e5e8a8.js} +1 -1
  269. package/dist/viewer/p-74102b29.entry.js +32 -0
  270. package/dist/viewer/p-7a5a9a93.entry.js +4 -0
  271. package/dist/viewer/p-7c755e0e.entry.js +4 -0
  272. package/dist/viewer/{p-3a20a038.js → p-92fe4417.js} +1 -1
  273. package/dist/viewer/{p-7e0328aa.js → p-98e6a50e.js} +1 -1
  274. package/dist/viewer/{p-388a43f7.js → p-990f98c2.js} +1 -1
  275. package/dist/viewer/{p-487e054a.js → p-99352cf0.js} +1 -1
  276. package/dist/viewer/{p-1ca95f9a.entry.js → p-99799a71.entry.js} +1 -1
  277. package/dist/viewer/p-9acd1b44.js +4 -0
  278. package/dist/viewer/{p-69058178.js → p-9bcde9c8.js} +1 -1
  279. package/dist/viewer/{p-5b342e97.js → p-a2ef15e5.js} +1 -1
  280. package/dist/viewer/{p-61b1097b.entry.js → p-a32cc378.entry.js} +1 -1
  281. package/dist/viewer/p-a380f0c2.js +4 -0
  282. package/dist/viewer/{p-41028d3b.entry.js → p-af37b63e.entry.js} +1 -1
  283. package/dist/viewer/p-b6b727a6.entry.js +4 -0
  284. package/dist/viewer/p-c2e3312b.js +4 -0
  285. package/dist/viewer/{p-4717c98e.entry.js → p-c9f91798.entry.js} +1 -1
  286. package/dist/viewer/p-ca518dcb.entry.js +4 -0
  287. package/dist/viewer/p-d828fd18.entry.js +4 -0
  288. package/dist/viewer/p-d996b1d2.entry.js +4 -0
  289. package/dist/viewer/{p-3f0f83ad.js → p-db01460a.js} +1 -1
  290. package/dist/viewer/p-db716103.entry.js +4 -0
  291. package/dist/viewer/p-df8fbe56.js +4 -0
  292. package/dist/viewer/p-dfe5a97d.js +4 -0
  293. package/dist/viewer/p-e42cb163.js +4 -0
  294. package/dist/viewer/p-eb8e5db5.js +4 -0
  295. package/dist/viewer/{p-46459921.entry.js → p-ebb801c3.entry.js} +1 -1
  296. package/dist/viewer/p-ebd85d58.entry.js +4 -0
  297. package/dist/viewer/p-eefae62a.entry.js +4 -0
  298. package/dist/viewer/viewer.esm.js +1 -1
  299. package/package.json +12 -10
  300. package/readme.md +4 -4
  301. package/dist/viewer/p-0a189e62.entry.js +0 -4
  302. package/dist/viewer/p-112455b1.js +0 -4
  303. package/dist/viewer/p-3561d910.js +0 -4
  304. package/dist/viewer/p-49d36e94.entry.js +0 -4
  305. package/dist/viewer/p-73a5eacc.entry.js +0 -4
  306. package/dist/viewer/p-77be081a.js +0 -4
  307. package/dist/viewer/p-809d09d9.js +0 -4
  308. package/dist/viewer/p-858bd2c7.entry.js +0 -4
  309. package/dist/viewer/p-89b66838.entry.js +0 -32
  310. package/dist/viewer/p-90bb0a1f.entry.js +0 -4
  311. package/dist/viewer/p-a93a63a9.js +0 -4
  312. package/dist/viewer/p-b043b076.entry.js +0 -4
  313. package/dist/viewer/p-b0ac6b3c.entry.js +0 -4
  314. package/dist/viewer/p-bcde5521.entry.js +0 -4
  315. package/dist/viewer/p-d1584404.js +0 -4
  316. package/dist/viewer/p-d32b54cb.js +0 -4
  317. package/dist/viewer/p-d3a20af4.entry.js +0 -4
  318. package/dist/viewer/p-d9f99f4d.entry.js +0 -4
  319. package/dist/viewer/p-ebd55df7.entry.js +0 -4
  320. package/dist/viewer/p-f0411993.entry.js +0 -4
  321. package/dist/viewer/p-f482325b.js +0 -10
  322. package/dist/viewer/p-fad9693e.js +0 -4
  323. package/dist/viewer/p-ffdeb08c.js +0 -4
@@ -0,0 +1,241 @@
1
+ /**!
2
+ * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
+ */
4
+ import { E as EventDispatcher } from './browser.esm-1ddb69c9.js';
5
+
6
+ /**
7
+ * The `PinController` is responsible for adding pin entities to the viewer canvas
8
+ */
9
+ class PinController {
10
+ constructor(model, mode = 'view', type = 'pin') {
11
+ this.model = model;
12
+ this.mode = mode;
13
+ this.type = type;
14
+ }
15
+ /**
16
+ * Registers an entity to place on the canvas and places the pin on the associated part.
17
+ *
18
+ * @param pin The pin entity
19
+ * @returns A void promise
20
+ */
21
+ addPin(pin) {
22
+ this.model.addPin(pin);
23
+ }
24
+ /**
25
+ * Clears all entities and returns a promise that resolves with an empty list
26
+ * of pin results.
27
+ */
28
+ clearPins() {
29
+ this.model.clearPins();
30
+ }
31
+ /**
32
+ * Deregisters an entity and performs a pin if this entity was
33
+ * removed.
34
+ *
35
+ * @param entity The entity to remove.
36
+ * @returns A promise that resolves with the results after removing this
37
+ * entity.
38
+ */
39
+ removePin(pin) {
40
+ this.model.removePin(pin);
41
+ }
42
+ /**
43
+ * Registers a set of entities and adds a pin
44
+ *
45
+ * @param entities The pin entities to draw.
46
+ * @returns A promise that resolves with the results after registering these
47
+ * entities.
48
+ */
49
+ setPins(pins) {
50
+ this.model.setPins(pins);
51
+ }
52
+ /**
53
+ * Sets the set of entities to be placed with the model.
54
+ *
55
+ * @param pin A pin to set
56
+ * @returns `true` if the entity has been added.
57
+ */
58
+ setPin(pin) {
59
+ this.model.setPin(pin);
60
+ }
61
+ /**
62
+ * Updates an existing pin
63
+ * @param pin A pin to set
64
+ * @returns `true` if the entity has been updated, false otherwise
65
+ */
66
+ updatePin(pin) {
67
+ this.model.updatePin(pin);
68
+ }
69
+ /**
70
+ * Tells the controller which pin is selected in the model
71
+ * @param pinId
72
+ */
73
+ setSelectedPinId(pinId) {
74
+ this.model.setSelectedPin(pinId);
75
+ }
76
+ getToolMode() {
77
+ return this.mode;
78
+ }
79
+ getToolType() {
80
+ return this.type;
81
+ }
82
+ setToolMode(mode) {
83
+ this.mode = mode;
84
+ }
85
+ setToolType(type) {
86
+ this.type = type;
87
+ }
88
+ getDraggable() {
89
+ return this.draggable;
90
+ }
91
+ setDraggable(draggable) {
92
+ this.draggable = draggable;
93
+ }
94
+ updateDraggable(draggable, worldPosition, partId) {
95
+ if (this.draggable != null) {
96
+ this.draggable = draggable;
97
+ }
98
+ const pin = this.model.getPinById(draggable.id);
99
+ if (pin != null) {
100
+ this.updatePin(Object.assign(Object.assign({}, pin), { worldPosition,
101
+ partId }));
102
+ }
103
+ }
104
+ }
105
+
106
+ function isTextPin(pin) {
107
+ return pin != null && pin.label != null;
108
+ }
109
+ function isDefaultPin(pin) {
110
+ return pin != null && pin.label == null;
111
+ }
112
+ class PinModel {
113
+ constructor() {
114
+ this.entities = {};
115
+ this.entitiesChanged = new EventDispatcher();
116
+ this.selectionChanged = new EventDispatcher();
117
+ }
118
+ /**
119
+ * Registers an entity to be drawn in the canvas
120
+ *
121
+ * @param pin A pin entity to draw.
122
+ * @returns `true` if the entity has been added.
123
+ */
124
+ addPin(pin, surpressEvent = false) {
125
+ if (this.entities[pin.id] == null) {
126
+ this.entities = Object.assign(Object.assign({}, this.entities), { [pin.id]: pin });
127
+ if (!surpressEvent) {
128
+ this.entitiesChanged.emit(this.getPins());
129
+ }
130
+ return true;
131
+ }
132
+ else {
133
+ return false;
134
+ }
135
+ }
136
+ /**
137
+ * Clears all registered entities from the model.
138
+ */
139
+ clearPins() {
140
+ this.getPins().forEach((e) => this.removePin(e));
141
+ }
142
+ /**
143
+ * Returns all the entities registered with the model.
144
+ */
145
+ getPins() {
146
+ return Object.keys(this.entities).map((key) => this.entities[key]);
147
+ }
148
+ /**
149
+ * Returns single entity by id if present in the model.
150
+ */
151
+ getPinById(id) {
152
+ return this.entities[id];
153
+ }
154
+ getSelectedPinId() {
155
+ return this.selectedPinId;
156
+ }
157
+ /**
158
+ * Unregisters an entity from the model.
159
+ *
160
+ * @param entity The entity to remove.
161
+ * @returns `true` if the entity was removed.
162
+ */
163
+ removePin(entity) {
164
+ if (this.entities[entity.id] != null) {
165
+ delete this.entities[entity.id];
166
+ this.entitiesChanged.emit(this.getPins());
167
+ return true;
168
+ }
169
+ else {
170
+ return false;
171
+ }
172
+ }
173
+ /**
174
+ * Sets the set of entities to be placed with the model.
175
+ *
176
+ * @param entities A set of entities to draw.
177
+ * @returns `true` if the entity has been added.
178
+ */
179
+ setPins(pins) {
180
+ this.clearPins();
181
+ pins.forEach((e) => this.addPin(e, true));
182
+ this.entitiesChanged.emit(this.getPins());
183
+ return true;
184
+ }
185
+ /**
186
+ * Sets the set of entities to be placed with the model.
187
+ *
188
+ * @param pin A pin to set
189
+ * @returns `true` if the entity has been set
190
+ */
191
+ setPin(pin) {
192
+ this.entities = Object.assign(Object.assign({}, this.entities), { [pin.id]: pin });
193
+ this.entitiesChanged.emit(this.getPins());
194
+ return true;
195
+ }
196
+ /**
197
+ * Sets the set of entities to be placed with the model.
198
+ *
199
+ * @param pin A pin to set
200
+ * @returns `true` if the entity has been set
201
+ */
202
+ updatePin(pin) {
203
+ const pinById = this.getPinById(pin.id);
204
+ if (pinById != null) {
205
+ this.entities = Object.assign(Object.assign({}, this.entities), { [pin.id]: pin });
206
+ this.entitiesChanged.emit(this.getPins());
207
+ return true;
208
+ }
209
+ return false;
210
+ }
211
+ /**
212
+ * Registers an event listener that will be invoked when the model's
213
+ * pin entities change.
214
+ *
215
+ * @param listener The listener to add.
216
+ * @returns A disposable that can be used to remove the listener.
217
+ */
218
+ onEntitiesChanged(listener) {
219
+ return this.entitiesChanged.on(listener);
220
+ }
221
+ /**
222
+ * Registers an event listener that will be invoked when the model's
223
+ * pin selection changes
224
+ *
225
+ * @param listener The listener to add.
226
+ * @returns A disposable that can be used to remove the listener.
227
+ */
228
+ onSelectionChange(listener) {
229
+ return this.selectionChanged.on(listener);
230
+ }
231
+ /**
232
+ * Sets the selected pin Id
233
+ * @param pinId
234
+ */
235
+ setSelectedPin(pinId) {
236
+ this.selectedPinId = pinId;
237
+ this.selectionChanged.emit(this.selectedPinId);
238
+ }
239
+ }
240
+
241
+ export { PinModel as P, PinController as a, isTextPin as b, isDefaultPin as i };
@@ -1,8 +1,8 @@
1
1
  /**!
2
2
  * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import { v as vector3 } from './bundle.esm-8ceccb91.js';
5
- import { E as EventDispatcher, b as uuid } from './browser.esm-e72d80ad.js';
4
+ import { v as vector3 } from './bundle.esm-ce2c7ad3.js';
5
+ import { E as EventDispatcher, b as uuid } from './browser.esm-1ddb69c9.js';
6
6
 
7
7
  class MeasurementOverlayManager {
8
8
  constructor() {
@@ -1,8 +1,8 @@
1
1
  /**!
2
2
  * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import { c as __awaiter$2, e as __generator, g as __spreadArray } from './bundle.esm-8ceccb91.js';
5
- import { c as createCommonjsModule } from './_commonjsHelpers-9943807e.js';
4
+ import { c as __awaiter$2, e as __generator, g as __spreadArray } from './bundle.esm-ce2c7ad3.js';
5
+ import { c as createCommonjsModule } from './_commonjsHelpers-11ca3be1.js';
6
6
 
7
7
  const DefaultErrorSerializer = {
8
8
  deserialize(message) {
@@ -1,7 +1,7 @@
1
1
  /**!
2
2
  * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import { v as vector3 } from './bundle.esm-8ceccb91.js';
4
+ import { v as vector3 } from './bundle.esm-ce2c7ad3.js';
5
5
 
6
6
  /**
7
7
  * Constructs a new measurement result from the given points.
@@ -1,13 +1,14 @@
1
1
  /**!
2
2
  * Copyright (c) 2022 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-e72d80ad.js';
5
- import { v as vector3, b as boundingBox, a as boundingSphere, p as point, d as dimensions } from './bundle.esm-8ceccb91.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-d0b384b3.js';
4
+ import { c as color, u as uri, a as async, b as uuid } from './browser.esm-1ddb69c9.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-72a92676.js';
7
+ import './entities-ce81dd7f.js';
7
8
 
8
9
  const defaultColor = {
9
- opacity: 100,
10
- glossiness: 10,
10
+ opacity: 255,
11
+ glossiness: 4,
11
12
  diffuse: {
12
13
  r: 0,
13
14
  g: 0,
@@ -39,7 +40,7 @@ const defaultColor = {
39
40
  * @param opacity
40
41
  */
41
42
  const create = (r, g, b, opacity) => {
42
- return Object.assign(Object.assign({}, defaultColor), { opacity: opacity || 100, glossiness: opacity || 10, diffuse: {
43
+ return Object.assign(Object.assign({}, defaultColor), { opacity: opacity !== null && opacity !== void 0 ? opacity : defaultColor.opacity, diffuse: {
43
44
  r,
44
45
  g,
45
46
  b,
@@ -53,14 +54,14 @@ const create = (r, g, b, opacity) => {
53
54
  */
54
55
  const fromHex = (hex, opacity) => {
55
56
  const color$1 = color.fromHexString(hex);
56
- return Object.assign(Object.assign({}, defaultColor), { opacity: opacity || 100, glossiness: opacity || 10, diffuse: color$1 != null ? Object.assign({}, color$1) : Object.assign({}, defaultColor.diffuse) });
57
+ return Object.assign(Object.assign({}, defaultColor), { opacity: opacity !== null && opacity !== void 0 ? opacity : defaultColor.opacity, diffuse: color$1 != null ? Object.assign({}, color$1) : Object.assign({}, defaultColor.diffuse) });
57
58
  };
58
59
  /**
59
60
  * The default material that is used for selected items.
60
61
  */
61
62
  const defaultSelectionMaterial = {
62
- opacity: 100,
63
- glossiness: 4,
63
+ opacity: defaultColor.opacity,
64
+ glossiness: defaultColor.glossiness,
64
65
  diffuse: {
65
66
  r: 255,
66
67
  g: 255,
@@ -89,6 +90,7 @@ const defaultSelectionMaterial = {
89
90
 
90
91
  const colorMaterial = /*#__PURE__*/Object.freeze({
91
92
  __proto__: null,
93
+ defaultColor: defaultColor,
92
94
  create: create,
93
95
  fromHex: fromHex,
94
96
  defaultSelectionMaterial: defaultSelectionMaterial
@@ -405,6 +407,7 @@ function buildSceneOperation(query, operations, context) {
405
407
  metadata: {
406
408
  valueFilter: query.filter,
407
409
  keys: query.keys,
410
+ exactMatch: query.exactMatch,
408
411
  },
409
412
  operationTypes,
410
413
  };
@@ -694,6 +697,38 @@ class Camera {
694
697
  rotateAroundAxis(angleInRadians, axis) {
695
698
  return this.rotateAroundAxisAtPoint(angleInRadians, this.data.lookAt, axis);
696
699
  }
700
+ /**
701
+ * Aligns the camera to the plane defined by the provided position and normal.
702
+ * This will place the camera at the provided position, set the up vector to
703
+ * the provided normal, and place the lookAt on the defined plane. The point
704
+ * chosen for the lookAt will be determined using the current view vector.
705
+ *
706
+ * @param position The position to place the camera at.
707
+ * @param normal The normal of the plane to align to.
708
+ */
709
+ alignTo(position, normal) {
710
+ const worldX = vector3.normalize(vector3.cross(this.up, vector3.normalize(this.viewVector)));
711
+ const positiveWorldY = vector3.normalize(vector3.cross(vector3.normalize(this.viewVector), worldX));
712
+ // Invert the world y axis if the provided normal is more than 90 degrees from it
713
+ // to compute a proper angle to rotate the view vector by
714
+ const worldY = vector3.angleTo(normal, positiveWorldY) > Math.PI / 2
715
+ ? vector3.negate(positiveWorldY)
716
+ : positiveWorldY;
717
+ const localX = vector3.isEqual(worldY, normal)
718
+ ? worldX
719
+ : vector3.normalize(vector3.cross(worldY, normal));
720
+ const transformedViewVector = vector3.transformMatrix(this.viewVector, matrix4.makeRotation(quaternion.fromAxisAngle(localX, vector3.angleTo(normal, worldY))));
721
+ const lookAtRay = ray.create({
722
+ origin: position,
723
+ direction: vector3.normalize(transformedViewVector),
724
+ });
725
+ const lookAt = ray.at(lookAtRay, vector3.magnitude(this.viewVector));
726
+ return this.update({
727
+ position,
728
+ lookAt,
729
+ up: normal,
730
+ });
731
+ }
697
732
  /**
698
733
  * Updates the `position` and `up` vectors of the camera to the given standard
699
734
  * view.
@@ -1016,8 +1051,8 @@ class RootQuery {
1016
1051
  withSceneTreeRange(range) {
1017
1052
  return new SceneTreeRangeQuery(range);
1018
1053
  }
1019
- withMetadata(filter, keys) {
1020
- return new MetadataQuery(filter, keys);
1054
+ withMetadata(filter, keys, exactMatch) {
1055
+ return new MetadataQuery(filter, keys, exactMatch);
1021
1056
  }
1022
1057
  withSelected() {
1023
1058
  return new AllSelectedQuery();
@@ -1043,15 +1078,17 @@ class SceneTreeRangeQuery {
1043
1078
  }
1044
1079
  }
1045
1080
  class MetadataQuery {
1046
- constructor(filter, keys) {
1081
+ constructor(filter, keys, exactMatch) {
1047
1082
  this.filter = filter;
1048
1083
  this.keys = keys;
1084
+ this.exactMatch = exactMatch;
1049
1085
  }
1050
1086
  build() {
1051
1087
  return {
1052
1088
  type: 'metadata',
1053
1089
  filter: this.filter,
1054
1090
  keys: this.keys,
1091
+ exactMatch: this.exactMatch,
1055
1092
  };
1056
1093
  }
1057
1094
  }
@@ -1,12 +1,15 @@
1
1
  /**!
2
2
  * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import { a as readTask } from './index-10c1495a.js';
4
+ import { a as readTask, e as writeTask } from './index-a9fb8318.js';
5
5
 
6
6
  // eslint-disable-next-line no-restricted-imports
7
7
  function readDOM(task) {
8
8
  readTask(task);
9
9
  }
10
+ function writeDOM(task) {
11
+ writeTask(task);
12
+ }
10
13
  function debounceEvent(event, wait) {
11
14
  let timer = undefined;
12
15
  function debounce(value) {
@@ -17,4 +20,4 @@ function debounceEvent(event, wait) {
17
20
  return { emit: debounce };
18
21
  }
19
22
 
20
- export { debounceEvent as d, readDOM as r };
23
+ export { debounceEvent as d, readDOM as r, writeDOM as w };