@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,246 @@
1
+ /**!
2
+ * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
+ */
4
+ 'use strict';
5
+
6
+ const browser_esm = require('./browser.esm-0bcdc581.js');
7
+
8
+ /**
9
+ * The `PinController` is responsible for adding pin entities to the viewer canvas
10
+ */
11
+ class PinController {
12
+ constructor(model, mode = 'view', type = 'pin') {
13
+ this.model = model;
14
+ this.mode = mode;
15
+ this.type = type;
16
+ }
17
+ /**
18
+ * Registers an entity to place on the canvas and places the pin on the associated part.
19
+ *
20
+ * @param pin The pin entity
21
+ * @returns A void promise
22
+ */
23
+ addPin(pin) {
24
+ this.model.addPin(pin);
25
+ }
26
+ /**
27
+ * Clears all entities and returns a promise that resolves with an empty list
28
+ * of pin results.
29
+ */
30
+ clearPins() {
31
+ this.model.clearPins();
32
+ }
33
+ /**
34
+ * Deregisters an entity and performs a pin if this entity was
35
+ * removed.
36
+ *
37
+ * @param entity The entity to remove.
38
+ * @returns A promise that resolves with the results after removing this
39
+ * entity.
40
+ */
41
+ removePin(pin) {
42
+ this.model.removePin(pin);
43
+ }
44
+ /**
45
+ * Registers a set of entities and adds a pin
46
+ *
47
+ * @param entities The pin entities to draw.
48
+ * @returns A promise that resolves with the results after registering these
49
+ * entities.
50
+ */
51
+ setPins(pins) {
52
+ this.model.setPins(pins);
53
+ }
54
+ /**
55
+ * Sets the set of entities to be placed with the model.
56
+ *
57
+ * @param pin A pin to set
58
+ * @returns `true` if the entity has been added.
59
+ */
60
+ setPin(pin) {
61
+ this.model.setPin(pin);
62
+ }
63
+ /**
64
+ * Updates an existing pin
65
+ * @param pin A pin to set
66
+ * @returns `true` if the entity has been updated, false otherwise
67
+ */
68
+ updatePin(pin) {
69
+ this.model.updatePin(pin);
70
+ }
71
+ /**
72
+ * Tells the controller which pin is selected in the model
73
+ * @param pinId
74
+ */
75
+ setSelectedPinId(pinId) {
76
+ this.model.setSelectedPin(pinId);
77
+ }
78
+ getToolMode() {
79
+ return this.mode;
80
+ }
81
+ getToolType() {
82
+ return this.type;
83
+ }
84
+ setToolMode(mode) {
85
+ this.mode = mode;
86
+ }
87
+ setToolType(type) {
88
+ this.type = type;
89
+ }
90
+ getDraggable() {
91
+ return this.draggable;
92
+ }
93
+ setDraggable(draggable) {
94
+ this.draggable = draggable;
95
+ }
96
+ updateDraggable(draggable, worldPosition, partId) {
97
+ if (this.draggable != null) {
98
+ this.draggable = draggable;
99
+ }
100
+ const pin = this.model.getPinById(draggable.id);
101
+ if (pin != null) {
102
+ this.updatePin(Object.assign(Object.assign({}, pin), { worldPosition,
103
+ partId }));
104
+ }
105
+ }
106
+ }
107
+
108
+ function isTextPin(pin) {
109
+ return pin != null && pin.label != null;
110
+ }
111
+ function isDefaultPin(pin) {
112
+ return pin != null && pin.label == null;
113
+ }
114
+ class PinModel {
115
+ constructor() {
116
+ this.entities = {};
117
+ this.entitiesChanged = new browser_esm.EventDispatcher();
118
+ this.selectionChanged = new browser_esm.EventDispatcher();
119
+ }
120
+ /**
121
+ * Registers an entity to be drawn in the canvas
122
+ *
123
+ * @param pin A pin entity to draw.
124
+ * @returns `true` if the entity has been added.
125
+ */
126
+ addPin(pin, surpressEvent = false) {
127
+ if (this.entities[pin.id] == null) {
128
+ this.entities = Object.assign(Object.assign({}, this.entities), { [pin.id]: pin });
129
+ if (!surpressEvent) {
130
+ this.entitiesChanged.emit(this.getPins());
131
+ }
132
+ return true;
133
+ }
134
+ else {
135
+ return false;
136
+ }
137
+ }
138
+ /**
139
+ * Clears all registered entities from the model.
140
+ */
141
+ clearPins() {
142
+ this.getPins().forEach((e) => this.removePin(e));
143
+ }
144
+ /**
145
+ * Returns all the entities registered with the model.
146
+ */
147
+ getPins() {
148
+ return Object.keys(this.entities).map((key) => this.entities[key]);
149
+ }
150
+ /**
151
+ * Returns single entity by id if present in the model.
152
+ */
153
+ getPinById(id) {
154
+ return this.entities[id];
155
+ }
156
+ getSelectedPinId() {
157
+ return this.selectedPinId;
158
+ }
159
+ /**
160
+ * Unregisters an entity from the model.
161
+ *
162
+ * @param entity The entity to remove.
163
+ * @returns `true` if the entity was removed.
164
+ */
165
+ removePin(entity) {
166
+ if (this.entities[entity.id] != null) {
167
+ delete this.entities[entity.id];
168
+ this.entitiesChanged.emit(this.getPins());
169
+ return true;
170
+ }
171
+ else {
172
+ return false;
173
+ }
174
+ }
175
+ /**
176
+ * Sets the set of entities to be placed with the model.
177
+ *
178
+ * @param entities A set of entities to draw.
179
+ * @returns `true` if the entity has been added.
180
+ */
181
+ setPins(pins) {
182
+ this.clearPins();
183
+ pins.forEach((e) => this.addPin(e, true));
184
+ this.entitiesChanged.emit(this.getPins());
185
+ return true;
186
+ }
187
+ /**
188
+ * Sets the set of entities to be placed with the model.
189
+ *
190
+ * @param pin A pin to set
191
+ * @returns `true` if the entity has been set
192
+ */
193
+ setPin(pin) {
194
+ this.entities = Object.assign(Object.assign({}, this.entities), { [pin.id]: pin });
195
+ this.entitiesChanged.emit(this.getPins());
196
+ return true;
197
+ }
198
+ /**
199
+ * Sets the set of entities to be placed with the model.
200
+ *
201
+ * @param pin A pin to set
202
+ * @returns `true` if the entity has been set
203
+ */
204
+ updatePin(pin) {
205
+ const pinById = this.getPinById(pin.id);
206
+ if (pinById != null) {
207
+ this.entities = Object.assign(Object.assign({}, this.entities), { [pin.id]: pin });
208
+ this.entitiesChanged.emit(this.getPins());
209
+ return true;
210
+ }
211
+ return false;
212
+ }
213
+ /**
214
+ * Registers an event listener that will be invoked when the model's
215
+ * pin entities change.
216
+ *
217
+ * @param listener The listener to add.
218
+ * @returns A disposable that can be used to remove the listener.
219
+ */
220
+ onEntitiesChanged(listener) {
221
+ return this.entitiesChanged.on(listener);
222
+ }
223
+ /**
224
+ * Registers an event listener that will be invoked when the model's
225
+ * pin selection changes
226
+ *
227
+ * @param listener The listener to add.
228
+ * @returns A disposable that can be used to remove the listener.
229
+ */
230
+ onSelectionChange(listener) {
231
+ return this.selectionChanged.on(listener);
232
+ }
233
+ /**
234
+ * Sets the selected pin Id
235
+ * @param pinId
236
+ */
237
+ setSelectedPin(pinId) {
238
+ this.selectedPinId = pinId;
239
+ this.selectionChanged.emit(this.selectedPinId);
240
+ }
241
+ }
242
+
243
+ exports.PinController = PinController;
244
+ exports.PinModel = PinModel;
245
+ exports.isDefaultPin = isDefaultPin;
246
+ exports.isTextPin = isTextPin;
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const bundle_esm = require('./bundle.esm-618a5fe9.js');
7
- const browser_esm = require('./browser.esm-075810bf.js');
6
+ const bundle_esm = require('./bundle.esm-22b6f2d6.js');
7
+ const browser_esm = require('./browser.esm-0bcdc581.js');
8
8
 
9
9
  class MeasurementOverlayManager {
10
10
  constructor() {
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const bundle_esm = require('./bundle.esm-618a5fe9.js');
7
- const _commonjsHelpers = require('./_commonjsHelpers-537d719a.js');
6
+ const bundle_esm = require('./bundle.esm-22b6f2d6.js');
7
+ const _commonjsHelpers = require('./_commonjsHelpers-dcc4cf71.js');
8
8
 
9
9
  const DefaultErrorSerializer = {
10
10
  deserialize(message) {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const bundle_esm = require('./bundle.esm-618a5fe9.js');
6
+ const bundle_esm = require('./bundle.esm-22b6f2d6.js');
7
7
 
8
8
  /**
9
9
  * Constructs a new measurement result from the given points.
@@ -3,13 +3,14 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const browser_esm = require('./browser.esm-075810bf.js');
7
- const bundle_esm = require('./bundle.esm-618a5fe9.js');
8
- const streamAttributes = require('./streamAttributes-81eb52f2.js');
6
+ const browser_esm = require('./browser.esm-0bcdc581.js');
7
+ const bundle_esm = require('./bundle.esm-22b6f2d6.js');
8
+ const streamAttributes = require('./streamAttributes-c343bdc8.js');
9
+ require('./entities-9eb7e608.js');
9
10
 
10
11
  const defaultColor = {
11
- opacity: 100,
12
- glossiness: 10,
12
+ opacity: 255,
13
+ glossiness: 4,
13
14
  diffuse: {
14
15
  r: 0,
15
16
  g: 0,
@@ -41,7 +42,7 @@ const defaultColor = {
41
42
  * @param opacity
42
43
  */
43
44
  const create = (r, g, b, opacity) => {
44
- return Object.assign(Object.assign({}, defaultColor), { opacity: opacity || 100, glossiness: opacity || 10, diffuse: {
45
+ return Object.assign(Object.assign({}, defaultColor), { opacity: opacity !== null && opacity !== void 0 ? opacity : defaultColor.opacity, diffuse: {
45
46
  r,
46
47
  g,
47
48
  b,
@@ -55,14 +56,14 @@ const create = (r, g, b, opacity) => {
55
56
  */
56
57
  const fromHex = (hex, opacity) => {
57
58
  const color = browser_esm.color.fromHexString(hex);
58
- return Object.assign(Object.assign({}, defaultColor), { opacity: opacity || 100, glossiness: opacity || 10, diffuse: color != null ? Object.assign({}, color) : Object.assign({}, defaultColor.diffuse) });
59
+ return Object.assign(Object.assign({}, defaultColor), { opacity: opacity !== null && opacity !== void 0 ? opacity : defaultColor.opacity, diffuse: color != null ? Object.assign({}, color) : Object.assign({}, defaultColor.diffuse) });
59
60
  };
60
61
  /**
61
62
  * The default material that is used for selected items.
62
63
  */
63
64
  const defaultSelectionMaterial = {
64
- opacity: 100,
65
- glossiness: 4,
65
+ opacity: defaultColor.opacity,
66
+ glossiness: defaultColor.glossiness,
66
67
  diffuse: {
67
68
  r: 255,
68
69
  g: 255,
@@ -91,6 +92,7 @@ const defaultSelectionMaterial = {
91
92
 
92
93
  const colorMaterial = /*#__PURE__*/Object.freeze({
93
94
  __proto__: null,
95
+ defaultColor: defaultColor,
94
96
  create: create,
95
97
  fromHex: fromHex,
96
98
  defaultSelectionMaterial: defaultSelectionMaterial
@@ -407,6 +409,7 @@ function buildSceneOperation(query, operations, context) {
407
409
  metadata: {
408
410
  valueFilter: query.filter,
409
411
  keys: query.keys,
412
+ exactMatch: query.exactMatch,
410
413
  },
411
414
  operationTypes,
412
415
  };
@@ -696,6 +699,38 @@ class Camera {
696
699
  rotateAroundAxis(angleInRadians, axis) {
697
700
  return this.rotateAroundAxisAtPoint(angleInRadians, this.data.lookAt, axis);
698
701
  }
702
+ /**
703
+ * Aligns the camera to the plane defined by the provided position and normal.
704
+ * This will place the camera at the provided position, set the up vector to
705
+ * the provided normal, and place the lookAt on the defined plane. The point
706
+ * chosen for the lookAt will be determined using the current view vector.
707
+ *
708
+ * @param position The position to place the camera at.
709
+ * @param normal The normal of the plane to align to.
710
+ */
711
+ alignTo(position, normal) {
712
+ const worldX = bundle_esm.vector3.normalize(bundle_esm.vector3.cross(this.up, bundle_esm.vector3.normalize(this.viewVector)));
713
+ const positiveWorldY = bundle_esm.vector3.normalize(bundle_esm.vector3.cross(bundle_esm.vector3.normalize(this.viewVector), worldX));
714
+ // Invert the world y axis if the provided normal is more than 90 degrees from it
715
+ // to compute a proper angle to rotate the view vector by
716
+ const worldY = bundle_esm.vector3.angleTo(normal, positiveWorldY) > Math.PI / 2
717
+ ? bundle_esm.vector3.negate(positiveWorldY)
718
+ : positiveWorldY;
719
+ const localX = bundle_esm.vector3.isEqual(worldY, normal)
720
+ ? worldX
721
+ : bundle_esm.vector3.normalize(bundle_esm.vector3.cross(worldY, normal));
722
+ const transformedViewVector = bundle_esm.vector3.transformMatrix(this.viewVector, bundle_esm.matrix4.makeRotation(bundle_esm.quaternion.fromAxisAngle(localX, bundle_esm.vector3.angleTo(normal, worldY))));
723
+ const lookAtRay = bundle_esm.ray.create({
724
+ origin: position,
725
+ direction: bundle_esm.vector3.normalize(transformedViewVector),
726
+ });
727
+ const lookAt = bundle_esm.ray.at(lookAtRay, bundle_esm.vector3.magnitude(this.viewVector));
728
+ return this.update({
729
+ position,
730
+ lookAt,
731
+ up: normal,
732
+ });
733
+ }
699
734
  /**
700
735
  * Updates the `position` and `up` vectors of the camera to the given standard
701
736
  * view.
@@ -1018,8 +1053,8 @@ class RootQuery {
1018
1053
  withSceneTreeRange(range) {
1019
1054
  return new SceneTreeRangeQuery(range);
1020
1055
  }
1021
- withMetadata(filter, keys) {
1022
- return new MetadataQuery(filter, keys);
1056
+ withMetadata(filter, keys, exactMatch) {
1057
+ return new MetadataQuery(filter, keys, exactMatch);
1023
1058
  }
1024
1059
  withSelected() {
1025
1060
  return new AllSelectedQuery();
@@ -1045,15 +1080,17 @@ class SceneTreeRangeQuery {
1045
1080
  }
1046
1081
  }
1047
1082
  class MetadataQuery {
1048
- constructor(filter, keys) {
1083
+ constructor(filter, keys, exactMatch) {
1049
1084
  this.filter = filter;
1050
1085
  this.keys = keys;
1086
+ this.exactMatch = exactMatch;
1051
1087
  }
1052
1088
  build() {
1053
1089
  return {
1054
1090
  type: 'metadata',
1055
1091
  filter: this.filter,
1056
1092
  keys: this.keys,
1093
+ exactMatch: this.exactMatch,
1057
1094
  };
1058
1095
  }
1059
1096
  }
@@ -3,12 +3,15 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-e100709a.js');
6
+ const index = require('./index-4138aa2c.js');
7
7
 
8
8
  // eslint-disable-next-line no-restricted-imports
9
9
  function readDOM(task) {
10
10
  index.readTask(task);
11
11
  }
12
+ function writeDOM(task) {
13
+ index.writeTask(task);
14
+ }
12
15
  function debounceEvent(event, wait) {
13
16
  let timer = undefined;
14
17
  function debounce(value) {
@@ -21,3 +24,4 @@ function debounceEvent(event, wait) {
21
24
 
22
25
  exports.debounceEvent = debounceEvent;
23
26
  exports.readDOM = readDOM;
27
+ exports.writeDOM = writeDOM;