@vertexvis/viewer 1.0.2-canary.2 → 1.0.2-canary.4

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 (501) hide show
  1. package/dist/cjs/config-20ozv4y8.js.map +1 -1
  2. package/dist/cjs/controller-BhcNbaX_.js.map +1 -1
  3. package/dist/cjs/controller-CSwG6gbQ.js.map +1 -1
  4. package/dist/cjs/cursors-BZmDRtaZ.js.map +1 -1
  5. package/dist/cjs/dom-BBil4aN3.js.map +1 -1
  6. package/dist/cjs/dom-CvGkFQon.js.map +1 -1
  7. package/dist/cjs/entities-D6kgGria.js.map +1 -1
  8. package/dist/cjs/geometry_pb-BTko2Wi0.js.map +1 -1
  9. package/dist/cjs/grpc-BsWFEUrc.js.map +1 -1
  10. package/dist/cjs/index.cjs.js.map +1 -1
  11. package/dist/cjs/model-C9WvOKYT.js.map +1 -1
  12. package/dist/cjs/model-D17EQTIh.js.map +1 -1
  13. package/dist/cjs/model-DAB4oD5n.js.map +1 -1
  14. package/dist/cjs/model-DkXCzhs_.js.map +1 -1
  15. package/dist/cjs/multiElementInteractionHandler-BHvRKVIp.js.map +1 -1
  16. package/dist/cjs/overlays-B-06bUbI.js.map +1 -1
  17. package/dist/cjs/queries-Da9I-xMf.js.map +1 -1
  18. package/dist/cjs/regl-component-HhKCyGQ3.js.map +1 -1
  19. package/dist/cjs/representation_pb-CrCGjlyP.js.map +1 -1
  20. package/dist/cjs/results-1wRRZiYG.js.map +1 -1
  21. package/dist/cjs/row-Cet6xXup.js.map +1 -1
  22. package/dist/cjs/stencil-Hsr_8Chs.js.map +1 -1
  23. package/dist/cjs/streamAttributes-D_J-W8-2.js.map +1 -1
  24. package/dist/cjs/templates-DvjgjnlO.js.map +1 -1
  25. package/dist/cjs/util-DIJSIQXH.js.map +1 -1
  26. package/dist/cjs/utils-CibrnHQ4.js.map +1 -1
  27. package/dist/cjs/utils-D8MbXbwO.js.map +1 -1
  28. package/dist/cjs/utils-qErVs2Vt.js.map +1 -1
  29. package/dist/cjs/vertex-scene-tree-notification-banner_4.cjs.entry.js +6 -8
  30. package/dist/cjs/vertex-scene-tree-notification-banner_4.cjs.entry.js.map +1 -1
  31. package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
  32. package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js.map +1 -1
  33. package/dist/cjs/vertex-scene-tree.cjs.entry.js +2 -2
  34. package/dist/cjs/vertex-scene-tree.cjs.entry.js.map +1 -1
  35. package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +2 -2
  36. package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js.map +1 -1
  37. package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +1 -1
  38. package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js.map +1 -1
  39. package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js +1 -1
  40. package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js.map +1 -1
  41. package/dist/cjs/vertex-viewer-hit-result-indicator.cjs.entry.js +1 -1
  42. package/dist/cjs/vertex-viewer-hit-result-indicator.cjs.entry.js.map +1 -1
  43. package/dist/cjs/vertex-viewer-icon.cjs.entry.js.map +1 -1
  44. package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js.map +1 -1
  45. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js.map +1 -1
  46. package/dist/cjs/vertex-viewer-markup.cjs.entry.js +1 -1
  47. package/dist/cjs/vertex-viewer-markup.cjs.entry.js.map +1 -1
  48. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js.map +1 -1
  49. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js.map +1 -1
  50. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +2 -2
  51. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js.map +1 -1
  52. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js.map +1 -1
  53. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +2 -2
  54. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js.map +1 -1
  55. package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js.map +1 -1
  56. package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js +1 -1
  57. package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js.map +1 -1
  58. package/dist/cjs/vertex-viewer-teleport-tool.cjs.entry.js.map +1 -1
  59. package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +4 -5
  60. package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js.map +1 -1
  61. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +1 -1
  62. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js.map +1 -1
  63. package/dist/cjs/vertex-viewer-walk-mode-tool.cjs.entry.js.map +1 -1
  64. package/dist/cjs/vertex-viewer.cjs.entry.js +9 -5
  65. package/dist/cjs/vertex-viewer.cjs.entry.js.map +1 -1
  66. package/dist/cjs/viewport-CG1VYkIU.js.map +1 -1
  67. package/dist/collection/components/scene-tree/errors.js.map +1 -1
  68. package/dist/collection/components/scene-tree/lib/controller.js.map +1 -1
  69. package/dist/collection/components/scene-tree/lib/dom.js.map +1 -1
  70. package/dist/collection/components/scene-tree/lib/errors.js.map +1 -1
  71. package/dist/collection/components/scene-tree/lib/grpc.js.map +1 -1
  72. package/dist/collection/components/scene-tree/lib/handlers.js.map +1 -1
  73. package/dist/collection/components/scene-tree/lib/row.js.map +1 -1
  74. package/dist/collection/components/scene-tree/lib/viewer-ops.js.map +1 -1
  75. package/dist/collection/components/scene-tree/scene-tree.js +2 -2
  76. package/dist/collection/components/scene-tree/scene-tree.js.map +1 -1
  77. package/dist/collection/components/scene-tree-search/scene-tree-search.js.map +1 -1
  78. package/dist/collection/components/scene-tree-table-cell/scene-tree-table-cell.js +1 -1
  79. package/dist/collection/components/scene-tree-table-cell/scene-tree-table-cell.js.map +1 -1
  80. package/dist/collection/components/scene-tree-table-cell/utils.js.map +1 -1
  81. package/dist/collection/components/scene-tree-table-layout/lib/dom.js.map +1 -1
  82. package/dist/collection/components/scene-tree-table-layout/lib/window.js.map +1 -1
  83. package/dist/collection/components/scene-tree-table-layout/scene-tree-table-layout.js +5 -5
  84. package/dist/collection/components/scene-tree-table-layout/scene-tree-table-layout.js.map +1 -1
  85. package/dist/collection/components/viewer/utils.js.map +1 -1
  86. package/dist/collection/components/viewer/viewer.js +9 -5
  87. package/dist/collection/components/viewer/viewer.js.map +1 -1
  88. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +2 -2
  89. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js.map +1 -1
  90. package/dist/collection/components/viewer-dom-element/utils.js.map +1 -1
  91. package/dist/collection/components/viewer-dom-element/viewer-dom-element.js +1 -1
  92. package/dist/collection/components/viewer-dom-element/viewer-dom-element.js.map +1 -1
  93. package/dist/collection/components/viewer-dom-group/utils.js.map +1 -1
  94. package/dist/collection/components/viewer-dom-group/viewer-dom-group.js +1 -1
  95. package/dist/collection/components/viewer-dom-group/viewer-dom-group.js.map +1 -1
  96. package/dist/collection/components/viewer-dom-renderer/renderer2d.js.map +1 -1
  97. package/dist/collection/components/viewer-dom-renderer/renderer3d.js.map +1 -1
  98. package/dist/collection/components/viewer-dom-renderer/viewer-dom-renderer.js.map +1 -1
  99. package/dist/collection/components/viewer-hit-result-indicator/lib/dom.js.map +1 -1
  100. package/dist/collection/components/viewer-hit-result-indicator/lib/indicator.js.map +1 -1
  101. package/dist/collection/components/viewer-hit-result-indicator/lib/plane.js.map +1 -1
  102. package/dist/collection/components/viewer-hit-result-indicator/lib/point.js.map +1 -1
  103. package/dist/collection/components/viewer-hit-result-indicator/viewer-hit-result-indicator.js +1 -1
  104. package/dist/collection/components/viewer-hit-result-indicator/viewer-hit-result-indicator.js.map +1 -1
  105. package/dist/collection/components/viewer-icon/viewer-icon.js.map +1 -1
  106. package/dist/collection/components/viewer-markup/markup-utils.js.map +1 -1
  107. package/dist/collection/components/viewer-markup/viewer-markup-components.js.map +1 -1
  108. package/dist/collection/components/viewer-markup/viewer-markup.js +1 -1
  109. package/dist/collection/components/viewer-markup/viewer-markup.js.map +1 -1
  110. package/dist/collection/components/viewer-markup-arrow/interactions.js.map +1 -1
  111. package/dist/collection/components/viewer-markup-arrow/utils.js.map +1 -1
  112. package/dist/collection/components/viewer-markup-arrow/viewer-markup-arrow-components.js.map +1 -1
  113. package/dist/collection/components/viewer-markup-arrow/viewer-markup-arrow.js.map +1 -1
  114. package/dist/collection/components/viewer-markup-circle/interactions.js.map +1 -1
  115. package/dist/collection/components/viewer-markup-circle/utils.js.map +1 -1
  116. package/dist/collection/components/viewer-markup-circle/viewer-markup-circle.js.map +1 -1
  117. package/dist/collection/components/viewer-markup-freeform/interactions.js.map +1 -1
  118. package/dist/collection/components/viewer-markup-freeform/utils.js.map +1 -1
  119. package/dist/collection/components/viewer-markup-freeform/viewer-markup-freeform.js.map +1 -1
  120. package/dist/collection/components/viewer-markup-tool/viewer-markup-tool.js.map +1 -1
  121. package/dist/collection/components/viewer-measurement-details/viewer-measurement-details.js.map +1 -1
  122. package/dist/collection/components/viewer-measurement-distance/hitTest.js.map +1 -1
  123. package/dist/collection/components/viewer-measurement-distance/interactions.js.map +1 -1
  124. package/dist/collection/components/viewer-measurement-distance/utils.js.map +1 -1
  125. package/dist/collection/components/viewer-measurement-distance/viewer-measurement-distance.js.map +1 -1
  126. package/dist/collection/components/viewer-measurement-line/viewer-measurement-line.js +1 -1
  127. package/dist/collection/components/viewer-measurement-line/viewer-measurement-line.js.map +1 -1
  128. package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.js +1 -1
  129. package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.js.map +1 -1
  130. package/dist/collection/components/viewer-measurement-precise/viewer-measurement-precise.js.map +1 -1
  131. package/dist/collection/components/viewer-pin-group/utils.js.map +1 -1
  132. package/dist/collection/components/viewer-pin-group/viewer-pin-group.js +2 -2
  133. package/dist/collection/components/viewer-pin-group/viewer-pin-group.js.map +1 -1
  134. package/dist/collection/components/viewer-pin-label/viewer-pin-label.js.map +1 -1
  135. package/dist/collection/components/viewer-pin-tool/utils.js.map +1 -1
  136. package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.js +1 -1
  137. package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.js.map +1 -1
  138. package/dist/collection/components/viewer-teleport-tool/viewer-teleport-tool.js.map +1 -1
  139. package/dist/collection/components/viewer-transform-widget/util.js +1 -2
  140. package/dist/collection/components/viewer-transform-widget/util.js.map +1 -1
  141. package/dist/collection/components/viewer-transform-widget/viewer-transform-widget-components.js.map +1 -1
  142. package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.js +3 -3
  143. package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.js.map +1 -1
  144. package/dist/collection/components/viewer-transform-widget/widget.js.map +1 -1
  145. package/dist/collection/components/viewer-view-cube/viewer-view-cube.js +1 -1
  146. package/dist/collection/components/viewer-view-cube/viewer-view-cube.js.map +1 -1
  147. package/dist/collection/components/viewer-walk-mode-tool/viewer-walk-mode-tool.js.map +1 -1
  148. package/dist/collection/lib/annotations/controller.js.map +1 -1
  149. package/dist/collection/lib/canvases/controller.js.map +1 -1
  150. package/dist/collection/lib/canvases/mapper.js.map +1 -1
  151. package/dist/collection/lib/config.js.map +1 -1
  152. package/dist/collection/lib/cursors.js.map +1 -1
  153. package/dist/collection/lib/dom.js.map +1 -1
  154. package/dist/collection/lib/grpc.js.map +1 -1
  155. package/dist/collection/lib/interactions/baseInteractionHandler.js.map +1 -1
  156. package/dist/collection/lib/interactions/flyToPartKeyInteraction.js.map +1 -1
  157. package/dist/collection/lib/interactions/flyToPositionKeyInteraction.js.map +1 -1
  158. package/dist/collection/lib/interactions/interactionApi.js.map +1 -1
  159. package/dist/collection/lib/interactions/interactionApiOrthographic.js.map +1 -1
  160. package/dist/collection/lib/interactions/interactionApiPerspective.js.map +1 -1
  161. package/dist/collection/lib/interactions/mouseInteractionHandler.js.map +1 -1
  162. package/dist/collection/lib/interactions/mouseInteractions.js.map +1 -1
  163. package/dist/collection/lib/interactions/multiElementInteractionHandler.js.map +1 -1
  164. package/dist/collection/lib/interactions/multiPointerInteractionHandler.js.map +1 -1
  165. package/dist/collection/lib/interactions/multiTouchInteractionHandler.js.map +1 -1
  166. package/dist/collection/lib/interactions/pointerInteractionHandler.js.map +1 -1
  167. package/dist/collection/lib/interactions/tapInteractionHandler.js.map +1 -1
  168. package/dist/collection/lib/interactions/touchInteractionHandler.js.map +1 -1
  169. package/dist/collection/lib/keyBinding.js.map +1 -1
  170. package/dist/collection/lib/mappers/annotation.js.map +1 -1
  171. package/dist/collection/lib/mappers/camera.js.map +1 -1
  172. package/dist/collection/lib/mappers/color.js.map +1 -1
  173. package/dist/collection/lib/mappers/colorMaterial.js.map +1 -1
  174. package/dist/collection/lib/mappers/corePb.js.map +1 -1
  175. package/dist/collection/lib/mappers/corePbJs.js.map +1 -1
  176. package/dist/collection/lib/mappers/frameStreaming.js.map +1 -1
  177. package/dist/collection/lib/mappers/geometry.js.map +1 -1
  178. package/dist/collection/lib/mappers/material.js.map +1 -1
  179. package/dist/collection/lib/mappers/pagination.js.map +1 -1
  180. package/dist/collection/lib/mappers/scalar.js.map +1 -1
  181. package/dist/collection/lib/mappers/streamAttributes.js.map +1 -1
  182. package/dist/collection/lib/markup/interactions.js.map +1 -1
  183. package/dist/collection/lib/measurement/controller.js.map +1 -1
  184. package/dist/collection/lib/measurement/entities.js.map +1 -1
  185. package/dist/collection/lib/measurement/interactions.js.map +1 -1
  186. package/dist/collection/lib/measurement/mapper.js.map +1 -1
  187. package/dist/collection/lib/measurement/model.js.map +1 -1
  188. package/dist/collection/lib/measurement/overlays.js.map +1 -1
  189. package/dist/collection/lib/measurement/results.js.map +1 -1
  190. package/dist/collection/lib/meters.js.map +1 -1
  191. package/dist/collection/lib/model-views/controller.js.map +1 -1
  192. package/dist/collection/lib/model-views/mapper.js.map +1 -1
  193. package/dist/collection/lib/pins/controller.js.map +1 -1
  194. package/dist/collection/lib/pins/interactions.js.map +1 -1
  195. package/dist/collection/lib/pmi/controller.js.map +1 -1
  196. package/dist/collection/lib/pmi/mapper.js.map +1 -1
  197. package/dist/collection/lib/rendering/canvas.js.map +1 -1
  198. package/dist/collection/lib/rendering/imageLoaders.js.map +1 -1
  199. package/dist/collection/lib/rendering/matrices.js.map +1 -1
  200. package/dist/collection/lib/rendering/timing.js.map +1 -1
  201. package/dist/collection/lib/rendering/utils.js.map +1 -1
  202. package/dist/collection/lib/rendering/vectors.js.map +1 -1
  203. package/dist/collection/lib/scene-items/controller.js.map +1 -1
  204. package/dist/collection/lib/scene-items/mapper.js.map +1 -1
  205. package/dist/collection/lib/scenes/camera.js.map +1 -1
  206. package/dist/collection/lib/scenes/cameraRenderResult.js.map +1 -1
  207. package/dist/collection/lib/scenes/colorMaterial.js.map +1 -1
  208. package/dist/collection/lib/scenes/crossSectioner.js.map +1 -1
  209. package/dist/collection/lib/scenes/mapper.js.map +1 -1
  210. package/dist/collection/lib/scenes/operations.js.map +1 -1
  211. package/dist/collection/lib/scenes/queries.js.map +1 -1
  212. package/dist/collection/lib/scenes/raycaster.js.map +1 -1
  213. package/dist/collection/lib/scenes/scene.js.map +1 -1
  214. package/dist/collection/lib/scenes/sceneOperationExecuteResult.js.map +1 -1
  215. package/dist/collection/lib/scenes/sceneViewStateLoader.js.map +1 -1
  216. package/dist/collection/lib/stencil.js.map +1 -1
  217. package/dist/collection/lib/storage.js.map +1 -1
  218. package/dist/collection/lib/stream/dispatcher.js.map +1 -1
  219. package/dist/collection/lib/stream/stream.js.map +1 -1
  220. package/dist/collection/lib/stream/utils.js.map +1 -1
  221. package/dist/collection/lib/teleportation/interactions.js.map +1 -1
  222. package/dist/collection/lib/templates.js.map +1 -1
  223. package/dist/collection/lib/token.js.map +1 -1
  224. package/dist/collection/lib/transforms/axis-lines.js.map +1 -1
  225. package/dist/collection/lib/transforms/axis-rotation.js.map +1 -1
  226. package/dist/collection/lib/transforms/axis-translation.js.map +1 -1
  227. package/dist/collection/lib/transforms/controller.js.map +1 -1
  228. package/dist/collection/lib/transforms/drawable.js.map +1 -1
  229. package/dist/collection/lib/transforms/hits.js.map +1 -1
  230. package/dist/collection/lib/transforms/line.js.map +1 -1
  231. package/dist/collection/lib/transforms/mesh.js.map +1 -1
  232. package/dist/collection/lib/transforms/shape.js.map +1 -1
  233. package/dist/collection/lib/transforms/transformation-delta.js.map +1 -1
  234. package/dist/collection/lib/transforms/util.js.map +1 -1
  235. package/dist/collection/lib/types/clippingPlanes.js.map +1 -1
  236. package/dist/collection/lib/types/depthBuffer.js.map +1 -1
  237. package/dist/collection/lib/types/featureMap.js.map +1 -1
  238. package/dist/collection/lib/types/flags.js.map +1 -1
  239. package/dist/collection/lib/types/frame.js.map +1 -1
  240. package/dist/collection/lib/types/frameCamera.js.map +1 -1
  241. package/dist/collection/lib/types/loadableResource.js.map +1 -1
  242. package/dist/collection/lib/types/orientation.js.map +1 -1
  243. package/dist/collection/lib/types/sceneViewStateIdentifier.js.map +1 -1
  244. package/dist/collection/lib/types/standardView.js.map +1 -1
  245. package/dist/collection/lib/types/stencilBuffer.js.map +1 -1
  246. package/dist/collection/lib/types/synchronizedClock.js.map +1 -1
  247. package/dist/collection/lib/types/viewport.js.map +1 -1
  248. package/dist/collection/lib/visibilityObserver.js.map +1 -1
  249. package/dist/collection/lib/volume-intersection/controller.js.map +1 -1
  250. package/dist/collection/lib/volume-intersection/interactions.js.map +1 -1
  251. package/dist/collection/lib/volume-intersection/model.js.map +1 -1
  252. package/dist/collection/lib/walk-mode/controller.js.map +1 -1
  253. package/dist/collection/lib/walk-mode/interactions.js.map +1 -1
  254. package/dist/collection/lib/walk-mode/model.js.map +1 -1
  255. package/dist/collection/lib/webgl/regl-component.js.map +1 -1
  256. package/dist/collection/testing/annotations.js.map +1 -1
  257. package/dist/collection/testing/canvases.js.map +1 -1
  258. package/dist/collection/testing/colors.js.map +1 -1
  259. package/dist/collection/testing/eventually.js.map +1 -1
  260. package/dist/collection/testing/fixtures.js.map +1 -1
  261. package/dist/collection/testing/grpc.js +3 -9
  262. package/dist/collection/testing/grpc.js.map +1 -1
  263. package/dist/collection/testing/modelViews.js.map +1 -1
  264. package/dist/collection/testing/pmi.js.map +1 -1
  265. package/dist/collection/testing/random.js.map +1 -1
  266. package/dist/collection/testing/resizeObserver.js.map +1 -1
  267. package/dist/collection/testing/scene-items-helper.js.map +1 -1
  268. package/dist/collection/testing/sceneTree.js.map +1 -1
  269. package/dist/collection/testing/viewer.js.map +1 -1
  270. package/dist/collection/testing/webgl.js.map +1 -1
  271. package/dist/components/index.js.map +1 -1
  272. package/dist/components/{p-St4ctu2K.js → p-3-bKfpqr.js} +2 -2
  273. package/dist/components/{p-St4ctu2K.js.map → p-3-bKfpqr.js.map} +1 -1
  274. package/dist/components/p-3DqRAYgO.js.map +1 -1
  275. package/dist/components/p-B-ToCp8-.js.map +1 -1
  276. package/dist/components/p-B156bTbY.js +5 -0
  277. package/dist/components/p-B156bTbY.js.map +1 -0
  278. package/dist/components/p-B9R0QWr4.js.map +1 -1
  279. package/dist/components/p-BCOD9yfw.js.map +1 -1
  280. package/dist/components/p-BHAaIoH5.js.map +1 -1
  281. package/dist/components/{p-Doltf1wO.js → p-BOJJZ1cN.js} +2 -2
  282. package/dist/components/p-BOJJZ1cN.js.map +1 -0
  283. package/dist/components/p-BkHp-aAR.js.map +1 -1
  284. package/dist/components/p-Bkm6H5uq.js.map +1 -1
  285. package/dist/components/p-C-VWDW9n.js.map +1 -1
  286. package/dist/components/p-C79PxobX.js.map +1 -1
  287. package/dist/components/p-CAugdB_8.js.map +1 -1
  288. package/dist/components/p-CEzVEgdQ.js.map +1 -1
  289. package/dist/components/p-CGCJ5hbJ.js.map +1 -1
  290. package/dist/components/p-COlcifvm.js.map +1 -1
  291. package/dist/components/p-CXTH3zrN.js.map +1 -1
  292. package/dist/components/p-CZCXdo3t.js.map +1 -1
  293. package/dist/components/p-Cd7kap5W.js.map +1 -1
  294. package/dist/components/p-CiSHWNC4.js.map +1 -1
  295. package/dist/components/p-CjG1fMh1.js.map +1 -1
  296. package/dist/components/p-CkjXRDNL.js.map +1 -1
  297. package/dist/components/p-D0KZu516.js.map +1 -1
  298. package/dist/components/p-D12q-fpW.js.map +1 -1
  299. package/dist/components/p-D33gVA2W.js.map +1 -1
  300. package/dist/components/p-DC86ZXai.js.map +1 -1
  301. package/dist/components/{p-B80hfIq6.js → p-DF4kEsJU.js} +2 -2
  302. package/dist/components/p-DF4kEsJU.js.map +1 -0
  303. package/dist/components/p-DRh4_Z-g.js.map +1 -1
  304. package/dist/components/p-DRnMrHWY.js.map +1 -1
  305. package/dist/components/{p-b0ZzPHz8.js → p-DUC59SSO.js} +2 -2
  306. package/dist/components/p-DUC59SSO.js.map +1 -0
  307. package/dist/components/p-DVW2WZTq.js.map +1 -1
  308. package/dist/components/p-DZI8pnGz.js.map +1 -1
  309. package/dist/components/p-Dbz9yUqC.js.map +1 -1
  310. package/dist/components/p-Yfi0i5Kj.js.map +1 -1
  311. package/dist/components/p-abSJ29r7.js.map +1 -1
  312. package/dist/components/p-ahjMltGJ.js.map +1 -1
  313. package/dist/components/p-bal2RLiw.js.map +1 -1
  314. package/dist/components/{p-BopQW1sA.js → p-oK38ynrd.js} +2 -2
  315. package/dist/components/p-oK38ynrd.js.map +1 -0
  316. package/dist/components/vertex-scene-tree-table-cell.js +1 -1
  317. package/dist/components/vertex-scene-tree-table-cell.js.map +1 -1
  318. package/dist/components/vertex-scene-tree-table-layout.js +1 -1
  319. package/dist/components/vertex-scene-tree.js +1 -1
  320. package/dist/components/vertex-scene-tree.js.map +1 -1
  321. package/dist/components/vertex-viewer-box-query-tool.js +1 -1
  322. package/dist/components/vertex-viewer-box-query-tool.js.map +1 -1
  323. package/dist/components/vertex-viewer-dom-element.js +1 -1
  324. package/dist/components/vertex-viewer-dom-group.js +1 -1
  325. package/dist/components/vertex-viewer-hit-result-indicator.js +1 -1
  326. package/dist/components/vertex-viewer-hit-result-indicator.js.map +1 -1
  327. package/dist/components/vertex-viewer-markup-tool.js.map +1 -1
  328. package/dist/components/vertex-viewer-markup.js +1 -1
  329. package/dist/components/vertex-viewer-markup.js.map +1 -1
  330. package/dist/components/vertex-viewer-measurement-details.js.map +1 -1
  331. package/dist/components/vertex-viewer-measurement-distance.js +1 -1
  332. package/dist/components/vertex-viewer-measurement-distance.js.map +1 -1
  333. package/dist/components/vertex-viewer-measurement-line.js +1 -1
  334. package/dist/components/vertex-viewer-measurement-overlays.js +1 -1
  335. package/dist/components/vertex-viewer-measurement-precise.js +1 -1
  336. package/dist/components/vertex-viewer-measurement-precise.js.map +1 -1
  337. package/dist/components/vertex-viewer-pin-group.js +1 -1
  338. package/dist/components/vertex-viewer-pin-tool.js +1 -1
  339. package/dist/components/vertex-viewer-pin-tool.js.map +1 -1
  340. package/dist/components/vertex-viewer-transform-widget.js +1 -1
  341. package/dist/components/vertex-viewer-transform-widget.js.map +1 -1
  342. package/dist/components/vertex-viewer-view-cube.js +1 -1
  343. package/dist/components/vertex-viewer-view-cube.js.map +1 -1
  344. package/dist/components/vertex-viewer-walk-mode-tool.js.map +1 -1
  345. package/dist/components/vertex-viewer.js +1 -1
  346. package/dist/components/vertex-viewer.js.map +1 -1
  347. package/dist/esm/config-lglER3mU.js.map +1 -1
  348. package/dist/esm/controller-BMWGs-I6.js.map +1 -1
  349. package/dist/esm/controller-Iymb_J2R.js.map +1 -1
  350. package/dist/esm/cursors-BbBDEutb.js.map +1 -1
  351. package/dist/esm/dom-B3m2VjbN.js.map +1 -1
  352. package/dist/esm/dom-DX6pEG54.js.map +1 -1
  353. package/dist/esm/entities-zRken6VS.js.map +1 -1
  354. package/dist/esm/geometry_pb-BiZRfctN.js.map +1 -1
  355. package/dist/esm/grpc-CZAYqbTu.js.map +1 -1
  356. package/dist/esm/index.js.map +1 -1
  357. package/dist/esm/model-BYW5YIye.js.map +1 -1
  358. package/dist/esm/model-CLtwOS0o.js.map +1 -1
  359. package/dist/esm/model-D0EJdHmW.js.map +1 -1
  360. package/dist/esm/model-DHJ5aE4y.js.map +1 -1
  361. package/dist/esm/multiElementInteractionHandler-DwjL-r55.js.map +1 -1
  362. package/dist/esm/overlays-BE1oqniA.js.map +1 -1
  363. package/dist/esm/queries-DEzCmbTD.js.map +1 -1
  364. package/dist/esm/regl-component-DmkowWhg.js.map +1 -1
  365. package/dist/esm/representation_pb-g4f0WC4k.js.map +1 -1
  366. package/dist/esm/results-CFB6nKu8.js.map +1 -1
  367. package/dist/esm/row-CiSHWNC4.js.map +1 -1
  368. package/dist/esm/stencil-BV-7pO4q.js.map +1 -1
  369. package/dist/esm/streamAttributes-Cp8PEH9A.js.map +1 -1
  370. package/dist/esm/templates-DRh4_Z-g.js.map +1 -1
  371. package/dist/esm/util-BCZZYmp4.js.map +1 -1
  372. package/dist/esm/utils-BvZ9-fs0.js.map +1 -1
  373. package/dist/esm/utils-DC86ZXai.js.map +1 -1
  374. package/dist/esm/utils-D_pIldrS.js.map +1 -1
  375. package/dist/esm/vertex-scene-tree-notification-banner_4.entry.js +6 -8
  376. package/dist/esm/vertex-scene-tree-notification-banner_4.entry.js.map +1 -1
  377. package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
  378. package/dist/esm/vertex-scene-tree-table-cell.entry.js.map +1 -1
  379. package/dist/esm/vertex-scene-tree.entry.js +2 -2
  380. package/dist/esm/vertex-scene-tree.entry.js.map +1 -1
  381. package/dist/esm/vertex-viewer-box-query-tool.entry.js +2 -2
  382. package/dist/esm/vertex-viewer-box-query-tool.entry.js.map +1 -1
  383. package/dist/esm/vertex-viewer-dom-element_2.entry.js +1 -1
  384. package/dist/esm/vertex-viewer-dom-element_2.entry.js.map +1 -1
  385. package/dist/esm/vertex-viewer-dom-group.entry.js +1 -1
  386. package/dist/esm/vertex-viewer-dom-group.entry.js.map +1 -1
  387. package/dist/esm/vertex-viewer-hit-result-indicator.entry.js +1 -1
  388. package/dist/esm/vertex-viewer-hit-result-indicator.entry.js.map +1 -1
  389. package/dist/esm/vertex-viewer-icon.entry.js.map +1 -1
  390. package/dist/esm/vertex-viewer-markup-arrow_3.entry.js.map +1 -1
  391. package/dist/esm/vertex-viewer-markup-tool.entry.js.map +1 -1
  392. package/dist/esm/vertex-viewer-markup.entry.js +1 -1
  393. package/dist/esm/vertex-viewer-markup.entry.js.map +1 -1
  394. package/dist/esm/vertex-viewer-measurement-details.entry.js.map +1 -1
  395. package/dist/esm/vertex-viewer-measurement-distance.entry.js.map +1 -1
  396. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +2 -2
  397. package/dist/esm/vertex-viewer-measurement-line_2.entry.js.map +1 -1
  398. package/dist/esm/vertex-viewer-measurement-precise.entry.js.map +1 -1
  399. package/dist/esm/vertex-viewer-pin-group.entry.js +2 -2
  400. package/dist/esm/vertex-viewer-pin-group.entry.js.map +1 -1
  401. package/dist/esm/vertex-viewer-pin-label_2.entry.js.map +1 -1
  402. package/dist/esm/vertex-viewer-pin-tool.entry.js +1 -1
  403. package/dist/esm/vertex-viewer-pin-tool.entry.js.map +1 -1
  404. package/dist/esm/vertex-viewer-teleport-tool.entry.js.map +1 -1
  405. package/dist/esm/vertex-viewer-transform-widget.entry.js +4 -5
  406. package/dist/esm/vertex-viewer-transform-widget.entry.js.map +1 -1
  407. package/dist/esm/vertex-viewer-view-cube.entry.js +1 -1
  408. package/dist/esm/vertex-viewer-view-cube.entry.js.map +1 -1
  409. package/dist/esm/vertex-viewer-walk-mode-tool.entry.js.map +1 -1
  410. package/dist/esm/vertex-viewer.entry.js +9 -5
  411. package/dist/esm/vertex-viewer.entry.js.map +1 -1
  412. package/dist/esm/viewport-C8WQZxvx.js.map +1 -1
  413. package/dist/types/regl-shape.d.ts +1 -1
  414. package/dist/viewer/index.esm.js.map +1 -1
  415. package/dist/viewer/{p-eac63070.entry.js → p-051b5154.entry.js} +2 -2
  416. package/dist/viewer/p-051b5154.entry.js.map +1 -0
  417. package/dist/viewer/{p-3d3a7eeb.entry.js → p-0984c51f.entry.js} +2 -2
  418. package/dist/viewer/{p-3d3a7eeb.entry.js.map → p-0984c51f.entry.js.map} +1 -1
  419. package/dist/viewer/{p-864f40c7.entry.js → p-11cf755a.entry.js} +2 -2
  420. package/dist/viewer/p-11cf755a.entry.js.map +1 -0
  421. package/dist/viewer/{p-29d14611.entry.js → p-16775f7d.entry.js} +2 -2
  422. package/dist/viewer/p-16775f7d.entry.js.map +1 -0
  423. package/dist/viewer/{p-5a85cae5.entry.js → p-1eb636f8.entry.js} +2 -2
  424. package/dist/viewer/p-1eb636f8.entry.js.map +1 -0
  425. package/dist/viewer/{p-e993f300.entry.js → p-228d1d43.entry.js} +2 -2
  426. package/dist/viewer/p-228d1d43.entry.js.map +1 -0
  427. package/dist/viewer/p-33f44cc1.entry.js.map +1 -1
  428. package/dist/viewer/{p-3300d3dc.entry.js → p-35601c85.entry.js} +2 -2
  429. package/dist/viewer/p-35601c85.entry.js.map +1 -0
  430. package/dist/viewer/p-47766566.entry.js.map +1 -1
  431. package/dist/viewer/p-6e3a6bbd.entry.js.map +1 -1
  432. package/dist/viewer/p-7f388b45.entry.js.map +1 -1
  433. package/dist/viewer/p-89544066.entry.js.map +1 -1
  434. package/dist/viewer/{p-07b99ac9.entry.js → p-8c369777.entry.js} +2 -2
  435. package/dist/viewer/p-8c369777.entry.js.map +1 -0
  436. package/dist/viewer/{p-e59983dc.entry.js → p-9835c5e2.entry.js} +2 -2
  437. package/dist/viewer/p-9835c5e2.entry.js.map +1 -0
  438. package/dist/viewer/{p-aa95e21a.entry.js → p-9d8ff406.entry.js} +2 -2
  439. package/dist/viewer/p-9d8ff406.entry.js.map +1 -0
  440. package/dist/viewer/p-BDvACHun.js.map +1 -1
  441. package/dist/viewer/p-BIkuvTVH.js.map +1 -1
  442. package/dist/viewer/p-BRPkbTVP.js.map +1 -1
  443. package/dist/viewer/p-BsBIynwj.js.map +1 -1
  444. package/dist/viewer/p-BxtKMwBH.js.map +1 -1
  445. package/dist/viewer/p-C4y4Noe-.js.map +1 -1
  446. package/dist/viewer/p-C6KrfydC.js.map +1 -1
  447. package/dist/viewer/p-C7dYsPFU.js.map +1 -1
  448. package/dist/viewer/p-C9Cqbq6H.js.map +1 -1
  449. package/dist/viewer/p-CVWO4w6b.js.map +1 -1
  450. package/dist/viewer/p-ChqXy0cG.js.map +1 -1
  451. package/dist/viewer/p-CiSHWNC4.js.map +1 -1
  452. package/dist/viewer/p-CjG1fMh1.js.map +1 -1
  453. package/dist/viewer/p-Cs5KOvOQ.js.map +1 -1
  454. package/dist/viewer/p-CyGlYje2.js.map +1 -1
  455. package/dist/viewer/p-D6eJC1q4.js.map +1 -1
  456. package/dist/viewer/p-DC86ZXai.js.map +1 -1
  457. package/dist/viewer/p-DRh4_Z-g.js.map +1 -1
  458. package/dist/viewer/p-DUX5FvBC.js.map +1 -1
  459. package/dist/viewer/p-DX6pEG54.js.map +1 -1
  460. package/dist/viewer/p-D_ixWHO7.js.map +1 -1
  461. package/dist/viewer/p-DacE-wPp.js.map +1 -1
  462. package/dist/viewer/p-Dp56p_jX.js.map +1 -1
  463. package/dist/viewer/p-EsKoKfmx.js.map +1 -1
  464. package/dist/viewer/p-F8e15or2.js.map +1 -1
  465. package/dist/viewer/p-Jfxh0jq9.js.map +1 -1
  466. package/dist/viewer/p-WPRMWirY.js.map +1 -1
  467. package/dist/viewer/p-_93RRNxT.js.map +1 -1
  468. package/dist/viewer/p-a8a81cba.entry.js +5 -0
  469. package/dist/viewer/p-a8a81cba.entry.js.map +1 -0
  470. package/dist/viewer/p-a9282481.entry.js.map +1 -1
  471. package/dist/viewer/{p-63f4f702.entry.js → p-c7e62d66.entry.js} +2 -2
  472. package/dist/viewer/p-c7e62d66.entry.js.map +1 -0
  473. package/dist/viewer/p-d37e647b.entry.js.map +1 -1
  474. package/dist/viewer/{p-302f2078.entry.js → p-d9fe788f.entry.js} +2 -2
  475. package/dist/viewer/p-d9fe788f.entry.js.map +1 -0
  476. package/dist/viewer/p-e9b83dae.entry.js.map +1 -1
  477. package/dist/viewer/{p-70f3629d.entry.js → p-f271dc4a.entry.js} +2 -2
  478. package/dist/viewer/p-f271dc4a.entry.js.map +1 -0
  479. package/dist/viewer/p-f65c0769.entry.js.map +1 -1
  480. package/dist/viewer/viewer.esm.js +1 -1
  481. package/package.json +7 -7
  482. package/dist/components/p-B80hfIq6.js.map +0 -1
  483. package/dist/components/p-BopQW1sA.js.map +0 -1
  484. package/dist/components/p-DNtS2F8J.js +0 -5
  485. package/dist/components/p-DNtS2F8J.js.map +0 -1
  486. package/dist/components/p-Doltf1wO.js.map +0 -1
  487. package/dist/components/p-b0ZzPHz8.js.map +0 -1
  488. package/dist/viewer/p-07b99ac9.entry.js.map +0 -1
  489. package/dist/viewer/p-29d14611.entry.js.map +0 -1
  490. package/dist/viewer/p-302f2078.entry.js.map +0 -1
  491. package/dist/viewer/p-3300d3dc.entry.js.map +0 -1
  492. package/dist/viewer/p-5a85cae5.entry.js.map +0 -1
  493. package/dist/viewer/p-60c915e3.entry.js +0 -5
  494. package/dist/viewer/p-60c915e3.entry.js.map +0 -1
  495. package/dist/viewer/p-63f4f702.entry.js.map +0 -1
  496. package/dist/viewer/p-70f3629d.entry.js.map +0 -1
  497. package/dist/viewer/p-864f40c7.entry.js.map +0 -1
  498. package/dist/viewer/p-aa95e21a.entry.js.map +0 -1
  499. package/dist/viewer/p-e59983dc.entry.js.map +0 -1
  500. package/dist/viewer/p-e993f300.entry.js.map +0 -1
  501. package/dist/viewer/p-eac63070.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../../../src/testing/annotations.ts"],"names":[],"mappings":"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","sourcesContent":["import { Vector3f } from '@vertexvis/scene-view-protos/core/protos/geometry_pb';\nimport {\n CalloutAnnotationData,\n CustomAnnotationData,\n SceneAnnotation,\n SceneAnnotationData,\n SceneAnnotationSet,\n} from '@vertexvis/scene-view-protos/core/protos/scene_annotations_pb';\nimport {\n CreateSceneViewAnnotationSetResponse,\n DeleteSceneViewAnnotationSetResponse,\n ListSceneAnnotationsResponse,\n ListSceneViewAnnotationSetsResponse,\n} from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { UUID } from '@vertexvis/utils';\nimport { StringValue } from 'google-protobuf/google/protobuf/wrappers_pb';\n\nimport { AnnotationData } from '../lib/annotations/annotation';\nimport { random } from './random';\nimport { makeTimestamp } from './sceneView';\nimport { makeUuid2l } from './uuid';\n\nexport function makeSceneAnnotationSet({\n id = UUID.create(),\n createdAt = new Date(),\n modifiedAt = new Date(),\n name = random.string(),\n suppliedId = random.string(),\n}: {\n id?: UUID.UUID;\n createdAt?: Date;\n modifiedAt?: Date;\n suppliedId?: string;\n name?: string;\n} = {}): SceneAnnotationSet {\n const set = new SceneAnnotationSet();\n set.setId(makeUuid2l(id));\n set.setCreatedAt(makeTimestamp(createdAt));\n set.setModifiedAt(makeTimestamp(modifiedAt));\n\n const nameValue = new StringValue();\n nameValue.setValue(name);\n set.setName(nameValue);\n\n const suppliedIdValue = new StringValue();\n suppliedIdValue.setValue(suppliedId);\n set.setSuppliedId(suppliedIdValue);\n\n return set;\n}\n\nexport function makeCreateSceneViewAnnotationSetResponse(): CreateSceneViewAnnotationSetResponse {\n return new CreateSceneViewAnnotationSetResponse();\n}\n\nexport function makeDeleteSceneViewAnnotationSetResponse(): DeleteSceneViewAnnotationSetResponse {\n return new DeleteSceneViewAnnotationSetResponse();\n}\n\nexport function makeListSceneViewAnnotationSetsResponse(\n annotationSets: SceneAnnotationSet[] = [\n makeSceneAnnotationSet(),\n makeSceneAnnotationSet(),\n ]\n): ListSceneViewAnnotationSetsResponse {\n const res = new ListSceneViewAnnotationSetsResponse();\n res.setSceneAnnotationSetsList(annotationSets);\n return res;\n}\n\nexport function makeListSceneAnnotationsResponse(\n annotations: SceneAnnotation[] = [\n makeSceneAnnotation(),\n makeSceneAnnotation(),\n ]\n): ListSceneAnnotationsResponse {\n const res = new ListSceneAnnotationsResponse();\n res.setSceneAnnotationsList(annotations);\n return res;\n}\n\nexport function makeSceneAnnotation({\n id = UUID.create(),\n createdAt = new Date(),\n modifiedAt = new Date(),\n suppliedId = random.string(),\n data = { type: 'custom', jsonType: random.string(), jsonData: {} },\n}: {\n id?: UUID.UUID;\n createdAt?: Date;\n modifiedAt?: Date;\n suppliedId?: string;\n data?: AnnotationData;\n} = {}): SceneAnnotation {\n const ann = new SceneAnnotation();\n ann.setId(makeUuid2l(id));\n ann.setCreatedAt(makeTimestamp(createdAt));\n ann.setModifiedAt(makeTimestamp(modifiedAt));\n\n const suppliedIdValue = new StringValue();\n suppliedIdValue.setValue(suppliedId);\n ann.setSuppliedId(suppliedIdValue);\n\n const dataValue = new SceneAnnotationData();\n\n if (data.type === 'callout') {\n const callout = new CalloutAnnotationData();\n\n const position = new Vector3f();\n position.setX(data.position.x);\n position.setY(data.position.y);\n position.setZ(data.position.z);\n callout.setPosition(position);\n\n if (data.icon != null) {\n const icon = new StringValue();\n icon.setValue(data.icon);\n callout.setIcon(icon);\n }\n\n if (data.primaryColor != null) {\n const primaryColor = new StringValue();\n primaryColor.setValue(data.primaryColor);\n callout.setPrimaryColor(primaryColor);\n }\n\n if (data.accentColor != null) {\n const accentColor = new StringValue();\n accentColor.setValue(data.accentColor);\n callout.setAccentColor(accentColor);\n }\n\n dataValue.setCallout(callout);\n } else if (data.type === 'custom') {\n const custom = new CustomAnnotationData();\n custom.setType(data.jsonType);\n custom.setJsonData(JSON.stringify(data.jsonData));\n dataValue.setCustomJson(custom);\n }\n\n ann.setData(dataValue);\n\n return ann;\n}\n"]}
1
+ {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../../../src/testing/annotations.ts"],"names":[],"mappings":"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","sourcesContent":["import { Vector3f } from '@vertexvis/scene-view-protos/core/protos/geometry_pb';\nimport {\n CalloutAnnotationData,\n CustomAnnotationData,\n SceneAnnotation,\n SceneAnnotationData,\n SceneAnnotationSet,\n} from '@vertexvis/scene-view-protos/core/protos/scene_annotations_pb';\nimport {\n CreateSceneViewAnnotationSetResponse,\n DeleteSceneViewAnnotationSetResponse,\n ListSceneAnnotationsResponse,\n ListSceneViewAnnotationSetsResponse,\n} from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { UUID } from '@vertexvis/utils';\nimport { StringValue } from 'google-protobuf/google/protobuf/wrappers_pb';\n\nimport { AnnotationData } from '../lib/annotations/annotation';\nimport { random } from './random';\nimport { makeTimestamp } from './sceneView';\nimport { makeUuid2l } from './uuid';\n\nexport function makeSceneAnnotationSet({\n id = UUID.create(),\n createdAt = new Date(),\n modifiedAt = new Date(),\n name = random.string(),\n suppliedId = random.string(),\n}: {\n id?: UUID.UUID;\n createdAt?: Date;\n modifiedAt?: Date;\n suppliedId?: string;\n name?: string;\n} = {}): SceneAnnotationSet {\n const set = new SceneAnnotationSet();\n set.setId(makeUuid2l(id));\n set.setCreatedAt(makeTimestamp(createdAt));\n set.setModifiedAt(makeTimestamp(modifiedAt));\n\n const nameValue = new StringValue();\n nameValue.setValue(name);\n set.setName(nameValue);\n\n const suppliedIdValue = new StringValue();\n suppliedIdValue.setValue(suppliedId);\n set.setSuppliedId(suppliedIdValue);\n\n return set;\n}\n\nexport function makeCreateSceneViewAnnotationSetResponse(): CreateSceneViewAnnotationSetResponse {\n return new CreateSceneViewAnnotationSetResponse();\n}\n\nexport function makeDeleteSceneViewAnnotationSetResponse(): DeleteSceneViewAnnotationSetResponse {\n return new DeleteSceneViewAnnotationSetResponse();\n}\n\nexport function makeListSceneViewAnnotationSetsResponse(\n annotationSets: SceneAnnotationSet[] = [\n makeSceneAnnotationSet(),\n makeSceneAnnotationSet(),\n ],\n): ListSceneViewAnnotationSetsResponse {\n const res = new ListSceneViewAnnotationSetsResponse();\n res.setSceneAnnotationSetsList(annotationSets);\n return res;\n}\n\nexport function makeListSceneAnnotationsResponse(\n annotations: SceneAnnotation[] = [\n makeSceneAnnotation(),\n makeSceneAnnotation(),\n ],\n): ListSceneAnnotationsResponse {\n const res = new ListSceneAnnotationsResponse();\n res.setSceneAnnotationsList(annotations);\n return res;\n}\n\nexport function makeSceneAnnotation({\n id = UUID.create(),\n createdAt = new Date(),\n modifiedAt = new Date(),\n suppliedId = random.string(),\n data = { type: 'custom', jsonType: random.string(), jsonData: {} },\n}: {\n id?: UUID.UUID;\n createdAt?: Date;\n modifiedAt?: Date;\n suppliedId?: string;\n data?: AnnotationData;\n} = {}): SceneAnnotation {\n const ann = new SceneAnnotation();\n ann.setId(makeUuid2l(id));\n ann.setCreatedAt(makeTimestamp(createdAt));\n ann.setModifiedAt(makeTimestamp(modifiedAt));\n\n const suppliedIdValue = new StringValue();\n suppliedIdValue.setValue(suppliedId);\n ann.setSuppliedId(suppliedIdValue);\n\n const dataValue = new SceneAnnotationData();\n\n if (data.type === 'callout') {\n const callout = new CalloutAnnotationData();\n\n const position = new Vector3f();\n position.setX(data.position.x);\n position.setY(data.position.y);\n position.setZ(data.position.z);\n callout.setPosition(position);\n\n if (data.icon != null) {\n const icon = new StringValue();\n icon.setValue(data.icon);\n callout.setIcon(icon);\n }\n\n if (data.primaryColor != null) {\n const primaryColor = new StringValue();\n primaryColor.setValue(data.primaryColor);\n callout.setPrimaryColor(primaryColor);\n }\n\n if (data.accentColor != null) {\n const accentColor = new StringValue();\n accentColor.setValue(data.accentColor);\n callout.setAccentColor(accentColor);\n }\n\n dataValue.setCallout(callout);\n } else if (data.type === 'custom') {\n const custom = new CustomAnnotationData();\n custom.setType(data.jsonType);\n custom.setJsonData(JSON.stringify(data.jsonData));\n dataValue.setCustomJson(custom);\n }\n\n ann.setData(dataValue);\n\n return ann;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"canvases.js","sourceRoot":"","sources":["../../../../src/testing/canvases.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,IAAI,gBAAgB,EACjC,cAAc,IAAI,iBAAiB,EACnC,YAAY,IAAI,eAAe,EAC/B,QAAQ,IAAI,WAAW,EACvB,SAAS,IAAI,YAAY,EACzB,cAAc,IAAI,iBAAiB,EACnC,UAAU,IAAI,aAAa,EAC3B,UAAU,IAAI,aAAa,EAC3B,WAAW,IAAI,cAAc,GAC9B,MAAM,6DAA6D,CAAC;AACrE,OAAO,EACL,WAAW,IAAI,cAAc,EAC7B,MAAM,EACN,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,KAAK,IAAI,YAAY,GACtB,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iEAAiE,CAAC;AACpG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAY/C,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,UAAU,qBAAqB,CACnC,SAAiB,UAAU,EAAE;IAE7B,MAAM,GAAG,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACpC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAgB,IAAI,CAAC,MAAM,EAAE,EAC7B,YAA0B;IACxB,UAAU,EAAE;IACZ,UAAU,EAAE;IACZ,cAAc,EAAE;IAChB,SAAS,EAAE;IACX,WAAW,EAAE;CACd;IAED,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACnC,MAAM,EAAE,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC3B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACd,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAA6B,EAAE;;IACxD,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IACnC,MAAM,CAAC,gBAAgB,CACrB,YAAY,CAAC,MAAA,KAAK,CAAC,aAAa,0CAAE,CAAC,EAAE,MAAA,KAAK,CAAC,aAAa,0CAAE,CAAC,CAAC,CAC7D,CAAC;IACF,MAAM,CAAC,cAAc,CACnB,YAAY,CAAC,MAAA,KAAK,CAAC,WAAW,0CAAE,CAAC,EAAE,MAAA,KAAK,CAAC,WAAW,0CAAE,CAAC,CAAC,CACzD,CAAC;IACF,MAAM,CAAC,cAAc,CACnB,eAAe,CAAC,MAAA,KAAK,CAAC,MAAM,0CAAE,SAAS,EAAE,MAAA,KAAK,CAAC,MAAM,0CAAE,KAAK,CAAC,CAC9D,CAAC;IACF,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,MAAA,KAAK,CAAC,IAAI,0CAAE,KAAK,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACzD,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAA6B,EAAE;;IACxD,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IACnC,MAAM,CAAC,UAAU,CACf,YAAY,CAAC,MAAA,KAAK,CAAC,eAAe,0CAAE,CAAC,EAAE,MAAA,KAAK,CAAC,eAAe,0CAAE,CAAC,CAAC,CACjE,CAAC;IACF,MAAM,CAAC,cAAc,CACnB,YAAY,CAAC,MAAA,KAAK,CAAC,mBAAmB,0CAAE,CAAC,EAAE,MAAA,KAAK,CAAC,mBAAmB,0CAAE,CAAC,CAAC,CACzE,CAAC;IACF,MAAM,CAAC,cAAc,CACnB,eAAe,CAAC,MAAA,KAAK,CAAC,MAAM,0CAAE,SAAS,EAAE,MAAA,KAAK,CAAC,MAAM,0CAAE,KAAK,CAAC,CAC9D,CAAC;IACF,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,MAAA,KAAK,CAAC,IAAI,0CAAE,KAAK,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,QAAiC,EAAE;;IAEnC,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC3C,UAAU,CAAC,gBAAgB,CACzB,MAAA,MAAA,KAAK,CAAC,SAAS,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAI,EAAE,CAC1D,CAAC;IACF,UAAU,CAAC,cAAc,CACvB,eAAe,CAAC,MAAA,KAAK,CAAC,MAAM,0CAAE,SAAS,EAAE,MAAA,KAAK,CAAC,MAAM,0CAAE,KAAK,CAAC,CAC9D,CAAC;IACF,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,MAAA,KAAK,CAAC,IAAI,0CAAE,KAAK,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAA4B,EAAE;;IACtD,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;IACjC,KAAK,CAAC,WAAW,CACf,YAAY,CAAC,MAAA,KAAK,CAAC,QAAQ,0CAAE,CAAC,EAAE,MAAA,KAAK,CAAC,QAAQ,0CAAE,CAAC,EAAE,MAAA,KAAK,CAAC,QAAQ,0CAAE,CAAC,CAAC,CACtE,CAAC;IACF,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACrD,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACnD,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAA8B,EAAE;;IAC1D,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;IACrC,OAAO,CAAC,iBAAiB,CACvB,YAAY,CACV,MAAA,KAAK,CAAC,cAAc,0CAAE,CAAC,EACvB,MAAA,KAAK,CAAC,cAAc,0CAAE,CAAC,EACvB,MAAA,KAAK,CAAC,cAAc,0CAAE,CAAC,CACxB,CACF,CAAC;IACF,OAAO,CAAC,eAAe,CACrB,YAAY,CAAC,MAAA,KAAK,CAAC,YAAY,0CAAE,CAAC,EAAE,MAAA,KAAK,CAAC,YAAY,0CAAE,CAAC,CAAC,CAC3D,CAAC;IACF,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,OAAO,CAAC,MAAA,KAAK,CAAC,IAAI,mCAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAuD;IACrD,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,IAAI;CACb;IAED,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;IAE5B,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACjC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAClC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;QAChC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,SAAS,GAAG,CAAC,EACb,QAA8B,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAEzD,MAAM,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;IAC/B,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,QAA8B,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAEzD,MAAM,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;IAC7B,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC;AACX,CAAC","sourcesContent":["import {\n ArrowEndShape as ApiArrowEndShape,\n CircleEndShape as ApiCircleEndShape,\n DashEndShape as ApiDashEndShape,\n EndShape as ApiEndShape,\n FillStyle as ApiFillStyle,\n FreeformItem2d as ApiFreeformItem2d,\n LineItem2d as ApiLineItem2d,\n OvalItem2d as ApiOvalItem2d,\n StrokeStyle as ApiStrokeStyle,\n} from '@vertexvis/scene-view-protos/core/protos/canvas_items_2d_pb';\nimport {\n CalloutItem as ApiCalloutItem,\n Canvas,\n CanvasDocument3d,\n CanvasDocument3dV1,\n CanvasItem,\n Pin2d as ApiPinItem2d,\n} from '@vertexvis/scene-view-protos/core/protos/scene_canvas_pb';\nimport { GetCanvasResponse } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { Color, UUID } from '@vertexvis/utils';\n\nimport {\n ArrowEndShape,\n CalloutItem,\n CircleEndShape,\n DashEndShape,\n FreeformItem2d,\n LineItem2d,\n OvalItem2d,\n PinItem2d,\n} from '../lib/canvases/types';\nimport { random } from '.';\nimport { makeRGBAi } from './colors';\nimport { makeVector2d, makeVector3f } from './geometry';\nimport { makeUuid2l } from './uuid';\n\nexport function makeGetCanvasResponse(\n canvas: Canvas = makeCanvas()\n): GetCanvasResponse {\n const res = new GetCanvasResponse();\n res.setCanvas(canvas);\n return res;\n}\n\nexport function makeCanvas(\n id: UUID.UUID = UUID.create(),\n itemsList: CanvasItem[] = [\n makeLine2d(),\n makeOval2d(),\n makeFreeform2d(),\n makePin2d(),\n makeCallout(),\n ]\n): Canvas {\n const canvas = new Canvas();\n const doc = new CanvasDocument3d();\n const v1 = new CanvasDocument3dV1();\n canvas.setId(makeUuid2l(id));\n v1.setItemsList(itemsList);\n doc.setV1(v1);\n canvas.setDocument(doc);\n return canvas;\n}\n\nexport function makeLine2d(value: Partial<LineItem2d> = {}): CanvasItem {\n const item = new CanvasItem();\n const line2d = new ApiLineItem2d();\n line2d.setStartPosition(\n makeVector2d(value.startPosition?.x, value.startPosition?.y)\n );\n line2d.setEndPosition(\n makeVector2d(value.endPosition?.x, value.endPosition?.y)\n );\n line2d.setStrokeStyle(\n makeStrokeStyle(value.stroke?.thickness, value.stroke?.color)\n );\n line2d.setFillStyle(makeFillStyle(value.fill?.color));\n line2d.setStartShape(makeLineEndShape(value.startShape));\n line2d.setEndShape(makeLineEndShape(value.endShape));\n item.setLine2d(line2d);\n return item;\n}\n\nexport function makeOval2d(value: Partial<OvalItem2d> = {}): CanvasItem {\n const item = new CanvasItem();\n const oval2d = new ApiOvalItem2d();\n oval2d.setTopLeft(\n makeVector2d(value.topLeftPosition?.x, value.topLeftPosition?.y)\n );\n oval2d.setBottomRight(\n makeVector2d(value.bottomRightPosition?.x, value.bottomRightPosition?.y)\n );\n oval2d.setStrokeStyle(\n makeStrokeStyle(value.stroke?.thickness, value.stroke?.color)\n );\n oval2d.setFillStyle(makeFillStyle(value.fill?.color));\n item.setOval(oval2d);\n return item;\n}\n\nexport function makeFreeform2d(\n value: Partial<FreeformItem2d> = {}\n): CanvasItem {\n const item = new CanvasItem();\n const freeform2d = new ApiFreeformItem2d();\n freeform2d.setPositionsList(\n value.positions?.map((p) => makeVector2d(p.x, p.y)) ?? []\n );\n freeform2d.setStrokeStyle(\n makeStrokeStyle(value.stroke?.thickness, value.stroke?.color)\n );\n freeform2d.setFillStyle(makeFillStyle(value.fill?.color));\n item.setFreeform(freeform2d);\n return item;\n}\n\nexport function makePin2d(value: Partial<PinItem2d> = {}): CanvasItem {\n const item = new CanvasItem();\n const pin2d = new ApiPinItem2d();\n pin2d.setPosition(\n makeVector3f(value.position?.x, value.position?.y, value.position?.z)\n );\n pin2d.setPrimaryColor(makeRGBAi(value.primaryColor));\n pin2d.setAccentColor(makeRGBAi(value.accentColor));\n pin2d.setSceneItemId(makeUuid2l(value.sceneItemId));\n item.setPin(pin2d);\n return item;\n}\n\nexport function makeCallout(value: Partial<CalloutItem> = {}): CanvasItem {\n const item = new CanvasItem();\n const callout = new ApiCalloutItem();\n callout.setAnchorPosition(\n makeVector3f(\n value.anchorPosition?.x,\n value.anchorPosition?.y,\n value.anchorPosition?.z\n )\n );\n callout.setTextPosition(\n makeVector2d(value.textPosition?.x, value.textPosition?.y)\n );\n callout.setPrimaryColor(makeRGBAi(value.primaryColor));\n callout.setAccentColor(makeRGBAi(value.accentColor));\n callout.setSceneItemId(makeUuid2l(value.sceneItemId));\n callout.setText(value.text ?? random.string());\n item.setCallout(callout);\n return item;\n}\n\nexport function makeLineEndShape(\n shape: ArrowEndShape | CircleEndShape | DashEndShape = {\n type: 'arrow-end',\n width: 1,\n filled: true,\n }\n): ApiEndShape {\n const s = new ApiEndShape();\n\n if (shape.type === 'arrow-end') {\n const a = new ApiArrowEndShape();\n a.setFilled(shape.filled);\n a.setWidth(shape.width);\n s.setArrow(a);\n }\n\n if (shape.type === 'circle-end') {\n const c = new ApiCircleEndShape();\n c.setFilled(shape.filled);\n c.setDiameter(shape.diameter);\n s.setCircle(c);\n }\n\n if (shape.type === 'dash-end') {\n const d = new ApiDashEndShape();\n d.setWidth(shape.width);\n s.setDash(d);\n }\n\n return s;\n}\n\nexport function makeStrokeStyle(\n thickness = 4,\n color: Color.Color | string = Color.create(255, 255, 255)\n): ApiStrokeStyle {\n const s = new ApiStrokeStyle();\n s.setThickness(thickness);\n s.setColor(makeRGBAi(color));\n return s;\n}\n\nexport function makeFillStyle(\n color: Color.Color | string = Color.create(255, 255, 255)\n): ApiFillStyle {\n const s = new ApiFillStyle();\n s.setColor(makeRGBAi(color));\n return s;\n}\n"]}
1
+ {"version":3,"file":"canvases.js","sourceRoot":"","sources":["../../../../src/testing/canvases.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ArrowEndShape as ApiArrowEndShape,\n CircleEndShape as ApiCircleEndShape,\n DashEndShape as ApiDashEndShape,\n EndShape as ApiEndShape,\n FillStyle as ApiFillStyle,\n FreeformItem2d as ApiFreeformItem2d,\n LineItem2d as ApiLineItem2d,\n OvalItem2d as ApiOvalItem2d,\n StrokeStyle as ApiStrokeStyle,\n} from '@vertexvis/scene-view-protos/core/protos/canvas_items_2d_pb';\nimport {\n CalloutItem as ApiCalloutItem,\n Canvas,\n CanvasDocument3d,\n CanvasDocument3dV1,\n CanvasItem,\n Pin2d as ApiPinItem2d,\n} from '@vertexvis/scene-view-protos/core/protos/scene_canvas_pb';\nimport { GetCanvasResponse } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { Color, UUID } from '@vertexvis/utils';\n\nimport {\n ArrowEndShape,\n CalloutItem,\n CircleEndShape,\n DashEndShape,\n FreeformItem2d,\n LineItem2d,\n OvalItem2d,\n PinItem2d,\n} from '../lib/canvases/types';\nimport { random } from '.';\nimport { makeRGBAi } from './colors';\nimport { makeVector2d, makeVector3f } from './geometry';\nimport { makeUuid2l } from './uuid';\n\nexport function makeGetCanvasResponse(\n canvas: Canvas = makeCanvas(),\n): GetCanvasResponse {\n const res = new GetCanvasResponse();\n res.setCanvas(canvas);\n return res;\n}\n\nexport function makeCanvas(\n id: UUID.UUID = UUID.create(),\n itemsList: CanvasItem[] = [\n makeLine2d(),\n makeOval2d(),\n makeFreeform2d(),\n makePin2d(),\n makeCallout(),\n ],\n): Canvas {\n const canvas = new Canvas();\n const doc = new CanvasDocument3d();\n const v1 = new CanvasDocument3dV1();\n canvas.setId(makeUuid2l(id));\n v1.setItemsList(itemsList);\n doc.setV1(v1);\n canvas.setDocument(doc);\n return canvas;\n}\n\nexport function makeLine2d(value: Partial<LineItem2d> = {}): CanvasItem {\n const item = new CanvasItem();\n const line2d = new ApiLineItem2d();\n line2d.setStartPosition(\n makeVector2d(value.startPosition?.x, value.startPosition?.y),\n );\n line2d.setEndPosition(\n makeVector2d(value.endPosition?.x, value.endPosition?.y),\n );\n line2d.setStrokeStyle(\n makeStrokeStyle(value.stroke?.thickness, value.stroke?.color),\n );\n line2d.setFillStyle(makeFillStyle(value.fill?.color));\n line2d.setStartShape(makeLineEndShape(value.startShape));\n line2d.setEndShape(makeLineEndShape(value.endShape));\n item.setLine2d(line2d);\n return item;\n}\n\nexport function makeOval2d(value: Partial<OvalItem2d> = {}): CanvasItem {\n const item = new CanvasItem();\n const oval2d = new ApiOvalItem2d();\n oval2d.setTopLeft(\n makeVector2d(value.topLeftPosition?.x, value.topLeftPosition?.y),\n );\n oval2d.setBottomRight(\n makeVector2d(value.bottomRightPosition?.x, value.bottomRightPosition?.y),\n );\n oval2d.setStrokeStyle(\n makeStrokeStyle(value.stroke?.thickness, value.stroke?.color),\n );\n oval2d.setFillStyle(makeFillStyle(value.fill?.color));\n item.setOval(oval2d);\n return item;\n}\n\nexport function makeFreeform2d(\n value: Partial<FreeformItem2d> = {},\n): CanvasItem {\n const item = new CanvasItem();\n const freeform2d = new ApiFreeformItem2d();\n freeform2d.setPositionsList(\n value.positions?.map((p) => makeVector2d(p.x, p.y)) ?? [],\n );\n freeform2d.setStrokeStyle(\n makeStrokeStyle(value.stroke?.thickness, value.stroke?.color),\n );\n freeform2d.setFillStyle(makeFillStyle(value.fill?.color));\n item.setFreeform(freeform2d);\n return item;\n}\n\nexport function makePin2d(value: Partial<PinItem2d> = {}): CanvasItem {\n const item = new CanvasItem();\n const pin2d = new ApiPinItem2d();\n pin2d.setPosition(\n makeVector3f(value.position?.x, value.position?.y, value.position?.z),\n );\n pin2d.setPrimaryColor(makeRGBAi(value.primaryColor));\n pin2d.setAccentColor(makeRGBAi(value.accentColor));\n pin2d.setSceneItemId(makeUuid2l(value.sceneItemId));\n item.setPin(pin2d);\n return item;\n}\n\nexport function makeCallout(value: Partial<CalloutItem> = {}): CanvasItem {\n const item = new CanvasItem();\n const callout = new ApiCalloutItem();\n callout.setAnchorPosition(\n makeVector3f(\n value.anchorPosition?.x,\n value.anchorPosition?.y,\n value.anchorPosition?.z,\n ),\n );\n callout.setTextPosition(\n makeVector2d(value.textPosition?.x, value.textPosition?.y),\n );\n callout.setPrimaryColor(makeRGBAi(value.primaryColor));\n callout.setAccentColor(makeRGBAi(value.accentColor));\n callout.setSceneItemId(makeUuid2l(value.sceneItemId));\n callout.setText(value.text ?? random.string());\n item.setCallout(callout);\n return item;\n}\n\nexport function makeLineEndShape(\n shape: ArrowEndShape | CircleEndShape | DashEndShape = {\n type: 'arrow-end',\n width: 1,\n filled: true,\n },\n): ApiEndShape {\n const s = new ApiEndShape();\n\n if (shape.type === 'arrow-end') {\n const a = new ApiArrowEndShape();\n a.setFilled(shape.filled);\n a.setWidth(shape.width);\n s.setArrow(a);\n }\n\n if (shape.type === 'circle-end') {\n const c = new ApiCircleEndShape();\n c.setFilled(shape.filled);\n c.setDiameter(shape.diameter);\n s.setCircle(c);\n }\n\n if (shape.type === 'dash-end') {\n const d = new ApiDashEndShape();\n d.setWidth(shape.width);\n s.setDash(d);\n }\n\n return s;\n}\n\nexport function makeStrokeStyle(\n thickness = 4,\n color: Color.Color | string = Color.create(255, 255, 255),\n): ApiStrokeStyle {\n const s = new ApiStrokeStyle();\n s.setThickness(thickness);\n s.setColor(makeRGBAi(color));\n return s;\n}\n\nexport function makeFillStyle(\n color: Color.Color | string = Color.create(255, 255, 255),\n): ApiFillStyle {\n const s = new ApiFillStyle();\n s.setColor(makeRGBAi(color));\n return s;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../../src/testing/colors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,UAAU,SAAS,CACvB,QAA8B,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAEzD,MAAM,cAAc,GAClB,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEjE,MAAM,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC;IAEtB,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;QAC3B,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC","sourcesContent":["import { RGBAi } from '@vertexvis/scene-view-protos/core/protos/material_pb';\nimport { Color } from '@vertexvis/utils';\n\nexport function makeRGBAi(\n color: Color.Color | string = Color.create(255, 255, 255)\n): RGBAi {\n const effectiveColor =\n typeof color === 'string' ? Color.fromHexString(color) : color;\n\n const c = new RGBAi();\n\n if (effectiveColor != null) {\n c.setR(effectiveColor.r);\n c.setG(effectiveColor.g);\n c.setB(effectiveColor.b);\n c.setA(effectiveColor.a);\n }\n\n return c;\n}\n"]}
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../../src/testing/colors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,UAAU,SAAS,CACvB,QAA8B,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAEzD,MAAM,cAAc,GAClB,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEjE,MAAM,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC;IAEtB,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;QAC3B,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC","sourcesContent":["import { RGBAi } from '@vertexvis/scene-view-protos/core/protos/material_pb';\nimport { Color } from '@vertexvis/utils';\n\nexport function makeRGBAi(\n color: Color.Color | string = Color.create(255, 255, 255),\n): RGBAi {\n const effectiveColor =\n typeof color === 'string' ? Color.fromHexString(color) : color;\n\n const c = new RGBAi();\n\n if (effectiveColor != null) {\n c.setR(effectiveColor.r);\n c.setG(effectiveColor.g);\n c.setB(effectiveColor.b);\n c.setA(effectiveColor.a);\n }\n\n return c;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"eventually.js","sourceRoot":"","sources":["../../../../src/testing/eventually.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAsC,EACtC,EAAE,QAAQ,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,KAA4C,EAAE;IAEzE,IAAI,KAAK,GAAwB,SAAS,CAAC;IAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,UAAU,EAAE,CAAC;YACnB,KAAK,GAAG,IAAI,CAAC;YACb,MAAM;QACR,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,KAAK,GAAG,CAAC,CAAC;YACV,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["import { Async } from '@vertexvis/utils';\n\n/**\n * Runs a function that contains assertions until they pass, or until the number\n * of attempts are exhausted. This helper is handy for async operations where\n * you are not able to know if they've completed or not.\n *\n * @example\n *\n * test('it works', async () => {\n * await eventually(() => expect(1 + 1).toEqual(2));\n * })\n */\nexport async function eventually(\n assertions: () => void | Promise<void>,\n { attempts = 50, delay = 20 }: { attempts?: number; delay?: number } = {}\n): Promise<void> {\n let error: unknown | undefined = undefined;\n\n for (let i = 0; i < attempts; i++) {\n try {\n await assertions();\n error = null;\n break;\n } catch (e) {\n error = e;\n await Async.delay(delay);\n }\n }\n\n if (error != null) {\n throw error;\n }\n}\n"]}
1
+ {"version":3,"file":"eventually.js","sourceRoot":"","sources":["../../../../src/testing/eventually.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAsC,EACtC,EAAE,QAAQ,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,KAA4C,EAAE;IAEzE,IAAI,KAAK,GAAwB,SAAS,CAAC;IAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,UAAU,EAAE,CAAC;YACnB,KAAK,GAAG,IAAI,CAAC;YACb,MAAM;QACR,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,KAAK,GAAG,CAAC,CAAC;YACV,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["import { Async } from '@vertexvis/utils';\n\n/**\n * Runs a function that contains assertions until they pass, or until the number\n * of attempts are exhausted. This helper is handy for async operations where\n * you are not able to know if they've completed or not.\n *\n * @example\n *\n * test('it works', async () => {\n * await eventually(() => expect(1 + 1).toEqual(2));\n * })\n */\nexport async function eventually(\n assertions: () => void | Promise<void>,\n { attempts = 50, delay = 20 }: { attempts?: number; delay?: number } = {},\n): Promise<void> {\n let error: unknown | undefined = undefined;\n\n for (let i = 0; i < attempts; i++) {\n try {\n await assertions();\n error = null;\n break;\n } catch (e) {\n error = e;\n await Async.delay(delay);\n }\n }\n\n if (error != null) {\n throw error;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../../../src/testing/fixtures.ts"],"names":[],"mappings":"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","sourcesContent":["import { Dimensions, Point, Rectangle, Vector3 } from '@vertexvis/geometry';\nimport { DrawFramePayload } from '@vertexvis/stream-api';\nimport { Color, Mapper } from '@vertexvis/utils';\nimport { encode } from 'fast-png';\n\nimport { PointToPointHitTester } from '../components/viewer-measurement-distance/hitTest';\nimport { PointToPointHitProvider } from '../components/viewer-measurement-distance/interactions';\nimport { fromPbFrame } from '../lib/mappers';\nimport { RaycasterLike } from '../lib/scenes/raycaster';\nimport {\n DepthBuffer,\n FeatureMap,\n Frame,\n FrameCameraBase,\n FramePerspectiveCamera,\n ImageAttributesLike,\n Orientation,\n STENCIL_BUFFER_FEATURE_VALUE,\n StencilBuffer,\n Viewport,\n} from '../lib/types';\nimport { random } from './random';\n\nconst baseDrawFramePayload: Partial<DrawFramePayload> = {\n sequenceNumber: 1,\n sceneAttributes: {\n visibleBoundingBox: {\n xmin: -100,\n ymin: -100,\n zmin: -100,\n xmax: 100,\n ymax: 100,\n zmax: 100,\n },\n crossSectioning: {\n sectionPlanes: [{ normal: { x: 0, y: 0, z: 0 }, offset: 0 }],\n },\n hasChanged: false,\n displayListSummary: {\n visibleSummary: {\n count: 100,\n },\n selectedVisibleSummary: {\n count: 0,\n },\n },\n modelViewId: { msb: random.integer(), lsb: random.integer() },\n },\n imageAttributes: {\n frameDimensions: { width: 100, height: 50 },\n imageRect: { x: 0, y: 0, width: 100, height: 50 },\n scaleFactor: 1,\n },\n frameCorrelationIds: ['123'],\n image: makeImagePng(100, 50),\n depthBuffer: { value: makeDepthImagePng(100, 50) },\n};\n\nexport const drawFramePayloadPerspective: DrawFramePayload = {\n ...baseDrawFramePayload,\n sceneAttributes: {\n ...baseDrawFramePayload.sceneAttributes,\n camera: {\n perspective: {\n position: { x: 0, y: 0, z: 100 },\n lookAt: { x: 0, y: 0, z: 0 },\n up: { x: 0, y: 1, z: 0 },\n },\n },\n },\n};\n\nexport const drawFramePayloadOrthographic: DrawFramePayload = {\n ...baseDrawFramePayload,\n sceneAttributes: {\n ...baseDrawFramePayload.sceneAttributes,\n camera: {\n orthographic: {\n viewVector: { x: 0, y: 0, z: -100 },\n lookAt: { x: 0, y: 0, z: 0 },\n up: { x: 0, y: 1, z: 0 },\n fovHeight: 100,\n },\n },\n },\n};\n\nexport function copyDrawFramePayloadPerspective(\n payload: DrawFramePayload,\n partial: Partial<DrawFramePayload>\n): DrawFramePayload {\n return {\n ...payload,\n ...partial,\n sceneAttributes: {\n ...payload.sceneAttributes,\n ...partial.sceneAttributes,\n camera: {\n ...partial.sceneAttributes?.camera,\n perspective: {\n position: { x: 0, y: 0, z: 100 },\n lookAt: { x: 0, y: 0, z: 0 },\n up: { x: 0, y: 1, z: 0 },\n ...partial.sceneAttributes?.camera?.perspective,\n },\n },\n },\n };\n}\n\nexport function makePerspectiveFrame(\n payload: DrawFramePayload = drawFramePayloadPerspective\n): Frame {\n return Mapper.ifInvalidThrow(fromPbFrame(Orientation.DEFAULT))(payload);\n}\n\nexport function makeOrthographicFrame(): Frame {\n return Mapper.ifInvalidThrow(fromPbFrame(Orientation.DEFAULT))(\n drawFramePayloadOrthographic\n );\n}\n\nexport function makeImagePng(width: number, height: number): Uint8Array {\n const data = new Uint8ClampedArray(width * height * 4);\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const i = y + x;\n data[i + 0] = 255;\n data[i + 1] = 255;\n data[i + 2] = 255;\n data[i + 3] = 255;\n }\n }\n return encode({ width, height, data, depth: 8, channels: 4 });\n}\n\nexport function makeDepthImagePng(\n width: number,\n height: number,\n value = 2 ** 16 - 1\n): Uint8Array {\n const bytes = makeDepthImageBytes(width, height, value);\n return encode({ width, height, data: bytes, depth: 16, channels: 1 });\n}\n\nexport function makeDepthImageBytes(\n width: number,\n height: number,\n value = 2 ** 16 - 1\n): Uint16Array {\n const data = new Uint16Array(width * height);\n return data.fill(value);\n}\n\nexport function makeDepthBuffer(\n width: number,\n height: number,\n value = 2 ** 16 - 1,\n camera?: FrameCameraBase\n): DepthBuffer {\n return DepthBuffer.fromPng(\n { data: makeDepthImageBytes(width, height, value) },\n camera ?? makePerspectiveFrame().scene.camera,\n makeImageAttributes(width, height)\n );\n}\n\nexport function makeStencilImageBytes(\n width: number,\n height: number,\n fill: (pixel: Point.Point) => number\n): Uint8Array {\n const data = new Uint8Array(width * height * 3);\n for (let i = 0; i < width * height; i++) {\n const x = i % width;\n const y = Math.floor(i / width);\n data[i] = fill(Point.create(x, y));\n }\n return data;\n}\n\nexport function makeStencilBuffer(\n width: number,\n height: number,\n fill: (pixel: Point.Point) => number,\n depthBuffer?: DepthBuffer\n): StencilBuffer {\n const data = makeStencilImageBytes(width, height, fill);\n return StencilBuffer.fromPng(\n { data, channels: 1 },\n makeImageAttributes(width, height),\n data,\n depthBuffer ?? makeDepthBuffer(width, height)\n );\n}\n\nexport function makeFeatureMap(\n width: number,\n height: number,\n fill: (pixel: Point.Point) => Color.Color\n): FeatureMap {\n return FeatureMap.fromPng(\n {\n data: makeFeatureMapBytes(width, height, fill),\n width,\n height,\n channels: 4,\n },\n makeImageAttributes(width, height)\n );\n}\n\nexport function makeFeatureMapBytes(\n width: number,\n height: number,\n fill: (pixel: Point.Point) => Color.Color\n): Uint8Array {\n const data = new Uint8Array(width * height * 4);\n for (let i = 0; i < width * height; i++) {\n const x = i % width;\n const y = Math.floor(i / width);\n const color = fill(Point.create(x, y));\n\n const offset = i * 4;\n data[offset] = color.r;\n data[offset + 1] = color.g;\n data[offset + 2] = color.b;\n data[offset + 3] = color.a;\n }\n return data;\n}\n\nexport function makeImageAttributes(\n width: number,\n height: number\n): ImageAttributesLike {\n return {\n frameDimensions: Dimensions.create(width, height),\n imageRect: Rectangle.create(0, 0, width, height),\n imageScale: 1,\n };\n}\n\nexport function makeHitTester({\n stencilBuffer,\n depthBuffer,\n viewport,\n camera,\n}: {\n stencilBuffer?: StencilBuffer;\n depthBuffer?: DepthBuffer;\n viewport?: Viewport;\n camera?: FrameCameraBase;\n} = {}): PointToPointHitTester {\n return new PointToPointHitTester(\n stencilBuffer ??\n makeStencilBuffer(200, 100, () => STENCIL_BUFFER_FEATURE_VALUE),\n depthBuffer ?? makeDepthBuffer(200, 100),\n viewport ?? new Viewport(200, 100),\n camera ??\n new FramePerspectiveCamera(\n Vector3.forward(),\n Vector3.origin(),\n Vector3.up(),\n 0,\n 100,\n 1,\n 45\n )\n );\n}\n\nexport function makeRaycaster(): RaycasterLike {\n return { hitItems: jest.fn().mockResolvedValue({ hits: [] }) };\n}\n\nexport function makeHitProvider({\n hitTester,\n raycaster,\n}: {\n hitTester?: PointToPointHitTester;\n raycaster?: RaycasterLike;\n}): PointToPointHitProvider {\n const defaultHitTester = makeHitTester();\n const defaultRaycaster = makeRaycaster();\n\n return {\n hitTester: () => hitTester ?? defaultHitTester,\n raycaster: async () => raycaster ?? defaultRaycaster,\n };\n}\n"]}
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../../../src/testing/fixtures.ts"],"names":[],"mappings":"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","sourcesContent":["import { Dimensions, Point, Rectangle, Vector3 } from '@vertexvis/geometry';\nimport { DrawFramePayload } from '@vertexvis/stream-api';\nimport { Color, Mapper } from '@vertexvis/utils';\nimport { encode } from 'fast-png';\n\nimport { PointToPointHitTester } from '../components/viewer-measurement-distance/hitTest';\nimport { PointToPointHitProvider } from '../components/viewer-measurement-distance/interactions';\nimport { fromPbFrame } from '../lib/mappers';\nimport { RaycasterLike } from '../lib/scenes/raycaster';\nimport {\n DepthBuffer,\n FeatureMap,\n Frame,\n FrameCameraBase,\n FramePerspectiveCamera,\n ImageAttributesLike,\n Orientation,\n STENCIL_BUFFER_FEATURE_VALUE,\n StencilBuffer,\n Viewport,\n} from '../lib/types';\nimport { random } from './random';\n\nconst baseDrawFramePayload: Partial<DrawFramePayload> = {\n sequenceNumber: 1,\n sceneAttributes: {\n visibleBoundingBox: {\n xmin: -100,\n ymin: -100,\n zmin: -100,\n xmax: 100,\n ymax: 100,\n zmax: 100,\n },\n crossSectioning: {\n sectionPlanes: [{ normal: { x: 0, y: 0, z: 0 }, offset: 0 }],\n },\n hasChanged: false,\n displayListSummary: {\n visibleSummary: {\n count: 100,\n },\n selectedVisibleSummary: {\n count: 0,\n },\n },\n modelViewId: { msb: random.integer(), lsb: random.integer() },\n },\n imageAttributes: {\n frameDimensions: { width: 100, height: 50 },\n imageRect: { x: 0, y: 0, width: 100, height: 50 },\n scaleFactor: 1,\n },\n frameCorrelationIds: ['123'],\n image: makeImagePng(100, 50),\n depthBuffer: { value: makeDepthImagePng(100, 50) },\n};\n\nexport const drawFramePayloadPerspective: DrawFramePayload = {\n ...baseDrawFramePayload,\n sceneAttributes: {\n ...baseDrawFramePayload.sceneAttributes,\n camera: {\n perspective: {\n position: { x: 0, y: 0, z: 100 },\n lookAt: { x: 0, y: 0, z: 0 },\n up: { x: 0, y: 1, z: 0 },\n },\n },\n },\n};\n\nexport const drawFramePayloadOrthographic: DrawFramePayload = {\n ...baseDrawFramePayload,\n sceneAttributes: {\n ...baseDrawFramePayload.sceneAttributes,\n camera: {\n orthographic: {\n viewVector: { x: 0, y: 0, z: -100 },\n lookAt: { x: 0, y: 0, z: 0 },\n up: { x: 0, y: 1, z: 0 },\n fovHeight: 100,\n },\n },\n },\n};\n\nexport function copyDrawFramePayloadPerspective(\n payload: DrawFramePayload,\n partial: Partial<DrawFramePayload>,\n): DrawFramePayload {\n return {\n ...payload,\n ...partial,\n sceneAttributes: {\n ...payload.sceneAttributes,\n ...partial.sceneAttributes,\n camera: {\n ...partial.sceneAttributes?.camera,\n perspective: {\n position: { x: 0, y: 0, z: 100 },\n lookAt: { x: 0, y: 0, z: 0 },\n up: { x: 0, y: 1, z: 0 },\n ...partial.sceneAttributes?.camera?.perspective,\n },\n },\n },\n };\n}\n\nexport function makePerspectiveFrame(\n payload: DrawFramePayload = drawFramePayloadPerspective,\n): Frame {\n return Mapper.ifInvalidThrow(fromPbFrame(Orientation.DEFAULT))(payload);\n}\n\nexport function makeOrthographicFrame(): Frame {\n return Mapper.ifInvalidThrow(fromPbFrame(Orientation.DEFAULT))(\n drawFramePayloadOrthographic,\n );\n}\n\nexport function makeImagePng(width: number, height: number): Uint8Array {\n const data = new Uint8ClampedArray(width * height * 4);\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const i = y + x;\n data[i + 0] = 255;\n data[i + 1] = 255;\n data[i + 2] = 255;\n data[i + 3] = 255;\n }\n }\n return encode({ width, height, data, depth: 8, channels: 4 });\n}\n\nexport function makeDepthImagePng(\n width: number,\n height: number,\n value = 2 ** 16 - 1,\n): Uint8Array {\n const bytes = makeDepthImageBytes(width, height, value);\n return encode({ width, height, data: bytes, depth: 16, channels: 1 });\n}\n\nexport function makeDepthImageBytes(\n width: number,\n height: number,\n value = 2 ** 16 - 1,\n): Uint16Array {\n const data = new Uint16Array(width * height);\n return data.fill(value);\n}\n\nexport function makeDepthBuffer(\n width: number,\n height: number,\n value = 2 ** 16 - 1,\n camera?: FrameCameraBase,\n): DepthBuffer {\n return DepthBuffer.fromPng(\n { data: makeDepthImageBytes(width, height, value) },\n camera ?? makePerspectiveFrame().scene.camera,\n makeImageAttributes(width, height),\n );\n}\n\nexport function makeStencilImageBytes(\n width: number,\n height: number,\n fill: (pixel: Point.Point) => number,\n): Uint8Array {\n const data = new Uint8Array(width * height * 3);\n for (let i = 0; i < width * height; i++) {\n const x = i % width;\n const y = Math.floor(i / width);\n data[i] = fill(Point.create(x, y));\n }\n return data;\n}\n\nexport function makeStencilBuffer(\n width: number,\n height: number,\n fill: (pixel: Point.Point) => number,\n depthBuffer?: DepthBuffer,\n): StencilBuffer {\n const data = makeStencilImageBytes(width, height, fill);\n return StencilBuffer.fromPng(\n { data, channels: 1 },\n makeImageAttributes(width, height),\n data,\n depthBuffer ?? makeDepthBuffer(width, height),\n );\n}\n\nexport function makeFeatureMap(\n width: number,\n height: number,\n fill: (pixel: Point.Point) => Color.Color,\n): FeatureMap {\n return FeatureMap.fromPng(\n {\n data: makeFeatureMapBytes(width, height, fill),\n width,\n height,\n channels: 4,\n },\n makeImageAttributes(width, height),\n );\n}\n\nexport function makeFeatureMapBytes(\n width: number,\n height: number,\n fill: (pixel: Point.Point) => Color.Color,\n): Uint8Array {\n const data = new Uint8Array(width * height * 4);\n for (let i = 0; i < width * height; i++) {\n const x = i % width;\n const y = Math.floor(i / width);\n const color = fill(Point.create(x, y));\n\n const offset = i * 4;\n data[offset] = color.r;\n data[offset + 1] = color.g;\n data[offset + 2] = color.b;\n data[offset + 3] = color.a;\n }\n return data;\n}\n\nexport function makeImageAttributes(\n width: number,\n height: number,\n): ImageAttributesLike {\n return {\n frameDimensions: Dimensions.create(width, height),\n imageRect: Rectangle.create(0, 0, width, height),\n imageScale: 1,\n };\n}\n\nexport function makeHitTester({\n stencilBuffer,\n depthBuffer,\n viewport,\n camera,\n}: {\n stencilBuffer?: StencilBuffer;\n depthBuffer?: DepthBuffer;\n viewport?: Viewport;\n camera?: FrameCameraBase;\n} = {}): PointToPointHitTester {\n return new PointToPointHitTester(\n stencilBuffer ??\n makeStencilBuffer(200, 100, () => STENCIL_BUFFER_FEATURE_VALUE),\n depthBuffer ?? makeDepthBuffer(200, 100),\n viewport ?? new Viewport(200, 100),\n camera ??\n new FramePerspectiveCamera(\n Vector3.forward(),\n Vector3.origin(),\n Vector3.up(),\n 0,\n 100,\n 1,\n 45,\n ),\n );\n}\n\nexport function makeRaycaster(): RaycasterLike {\n return { hitItems: jest.fn().mockResolvedValue({ hits: [] }) };\n}\n\nexport function makeHitProvider({\n hitTester,\n raycaster,\n}: {\n hitTester?: PointToPointHitTester;\n raycaster?: RaycasterLike;\n}): PointToPointHitProvider {\n const defaultHitTester = makeHitTester();\n const defaultRaycaster = makeRaycaster();\n\n return {\n hitTester: () => hitTester ?? defaultHitTester,\n raycaster: async () => raycaster ?? defaultRaycaster,\n };\n}\n"]}
@@ -1,9 +1,7 @@
1
1
  /*!
2
2
  * Copyright (c) 2026 Vertex Software LLC. All rights reserved.
3
3
  */
4
- export function mockCancellableGrpcUnaryResult(result, timeout = 10, onCancel
5
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
- ) {
4
+ export function mockCancellableGrpcUnaryResult(result, timeout = 10, onCancel) {
7
5
  return (_, __, handler) => {
8
6
  const timer = setTimeout(() => {
9
7
  handler(null, result);
@@ -16,14 +14,10 @@ export function mockCancellableGrpcUnaryResult(result, timeout = 10, onCancel
16
14
  };
17
15
  };
18
16
  }
19
- export function mockGrpcUnaryResult(result, timeout = 10
20
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
- ) {
17
+ export function mockGrpcUnaryResult(result, timeout = 10) {
22
18
  return mockCancellableGrpcUnaryResult(result, timeout);
23
19
  }
24
- export function mockGrpcUnaryError(error, timeout = 10
25
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
- ) {
20
+ export function mockGrpcUnaryError(error, timeout = 10) {
27
21
  return (_, __, handler) => {
28
22
  setTimeout(() => {
29
23
  handler(error);
@@ -1 +1 @@
1
- {"version":3,"file":"grpc.js","sourceRoot":"","sources":["../../../../src/testing/grpc.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,8BAA8B,CAC5C,MAAe,EACf,OAAO,GAAG,EAAE,EACZ,QAAuB;AACvB,8DAA8D;;IAE9D,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAiB,EAAE;QACvC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxB,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,OAAO;YACL,MAAM,EAAE,GAAG,EAAE;gBACX,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,EAAI,CAAC;YACf,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAe,EACf,OAAO,GAAG,EAAE;AACZ,8DAA8D;;IAE9D,OAAO,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAc,EACd,OAAO,GAAG,EAAE;AACZ,8DAA8D;;IAE9D,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QACxB,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { UnaryResponse } from '@vertexvis/scene-tree-protos/scenetree/protos/scene_tree_api_pb_service';\n\nexport function mockCancellableGrpcUnaryResult(\n result: unknown,\n timeout = 10,\n onCancel?: VoidFunction\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): (...args: any[]) => unknown {\n return (_, __, handler): UnaryResponse => {\n const timer = setTimeout(() => {\n handler(null, result);\n }, timeout);\n\n return {\n cancel: () => {\n clearTimeout(timer);\n onCancel?.();\n },\n };\n };\n}\n\nexport function mockGrpcUnaryResult(\n result: unknown,\n timeout = 10\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): (...args: any[]) => unknown {\n return mockCancellableGrpcUnaryResult(result, timeout);\n}\n\nexport function mockGrpcUnaryError(\n error: unknown,\n timeout = 10\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): (...args: any[]) => unknown {\n return (_, __, handler) => {\n setTimeout(() => {\n handler(error);\n }, timeout);\n };\n}\n"]}
1
+ {"version":3,"file":"grpc.js","sourceRoot":"","sources":["../../../../src/testing/grpc.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,8BAA8B,CAC5C,MAAe,EACf,OAAO,GAAG,EAAE,EACZ,QAAuB;IAGvB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAiB,EAAE;QACvC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxB,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,OAAO;YACL,MAAM,EAAE,GAAG,EAAE;gBACX,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,EAAI,CAAC;YACf,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAe,EACf,OAAO,GAAG,EAAE;IAGZ,OAAO,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAc,EACd,OAAO,GAAG,EAAE;IAGZ,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QACxB,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { UnaryResponse } from '@vertexvis/scene-tree-protos/scenetree/protos/scene_tree_api_pb_service';\n\nexport function mockCancellableGrpcUnaryResult(\n result: unknown,\n timeout = 10,\n onCancel?: VoidFunction,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): (...args: any[]) => unknown {\n return (_, __, handler): UnaryResponse => {\n const timer = setTimeout(() => {\n handler(null, result);\n }, timeout);\n\n return {\n cancel: () => {\n clearTimeout(timer);\n onCancel?.();\n },\n };\n };\n}\n\nexport function mockGrpcUnaryResult(\n result: unknown,\n timeout = 10,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): (...args: any[]) => unknown {\n return mockCancellableGrpcUnaryResult(result, timeout);\n}\n\nexport function mockGrpcUnaryError(\n error: unknown,\n timeout = 10,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): (...args: any[]) => unknown {\n return (_, __, handler) => {\n setTimeout(() => {\n handler(error);\n }, timeout);\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"modelViews.js","sourceRoot":"","sources":["../../../../src/testing/modelViews.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oDAAoD,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,yDAAyD,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iEAAiE,CAAC;AAC7G,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,UAAU,8BAA8B,CAC5C,aAA0B,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,CAAC;IAE5D,MAAM,GAAG,GAAG,IAAI,0BAA0B,EAAE,CAAC;IAC7C,GAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,KAAgB,IAAI,CAAC,MAAM,EAAE,EAC7B,iBAA4B,IAAI,CAAC,MAAM,EAAE,EACzC,cAAsB,MAAM,CAAC,MAAM,EAAE;IAErC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAClC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IACxD,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACtC,SAAS,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAClC,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["import { Camera } from '@vertexvis/scene-tree-protos/core/protos/camera_pb';\nimport { ModelView } from '@vertexvis/scene-view-protos/core/protos/model_views_pb';\nimport { ListItemModelViewsResponse } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { UUID } from '@vertexvis/utils';\n\nimport { random } from './random';\nimport { makeUuid2l } from './uuid';\n\nexport function makeListItemModelViewsResponse(\n modelViews: ModelView[] = [makeModelView(), makeModelView()]\n): ListItemModelViewsResponse {\n const res = new ListItemModelViewsResponse();\n res.setModelViewsList(modelViews);\n return res;\n}\n\nexport function makeModelView(\n id: UUID.UUID = UUID.create(),\n partRevisionId: UUID.UUID = UUID.create(),\n displayName: string = random.string()\n): ModelView {\n const modelView = new ModelView();\n modelView.setId(makeUuid2l(id));\n modelView.setPartRevisionId(makeUuid2l(partRevisionId));\n modelView.setDisplayName(displayName);\n modelView.setCamera(new Camera());\n return modelView;\n}\n"]}
1
+ {"version":3,"file":"modelViews.js","sourceRoot":"","sources":["../../../../src/testing/modelViews.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oDAAoD,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,yDAAyD,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iEAAiE,CAAC;AAC7G,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,UAAU,8BAA8B,CAC5C,aAA0B,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,CAAC;IAE5D,MAAM,GAAG,GAAG,IAAI,0BAA0B,EAAE,CAAC;IAC7C,GAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,KAAgB,IAAI,CAAC,MAAM,EAAE,EAC7B,iBAA4B,IAAI,CAAC,MAAM,EAAE,EACzC,cAAsB,MAAM,CAAC,MAAM,EAAE;IAErC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAClC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IACxD,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACtC,SAAS,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAClC,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["import { Camera } from '@vertexvis/scene-tree-protos/core/protos/camera_pb';\nimport { ModelView } from '@vertexvis/scene-view-protos/core/protos/model_views_pb';\nimport { ListItemModelViewsResponse } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { UUID } from '@vertexvis/utils';\n\nimport { random } from './random';\nimport { makeUuid2l } from './uuid';\n\nexport function makeListItemModelViewsResponse(\n modelViews: ModelView[] = [makeModelView(), makeModelView()],\n): ListItemModelViewsResponse {\n const res = new ListItemModelViewsResponse();\n res.setModelViewsList(modelViews);\n return res;\n}\n\nexport function makeModelView(\n id: UUID.UUID = UUID.create(),\n partRevisionId: UUID.UUID = UUID.create(),\n displayName: string = random.string(),\n): ModelView {\n const modelView = new ModelView();\n modelView.setId(makeUuid2l(id));\n modelView.setPartRevisionId(makeUuid2l(partRevisionId));\n modelView.setDisplayName(displayName);\n modelView.setCamera(new Camera());\n return modelView;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"pmi.js","sourceRoot":"","sources":["../../../../src/testing/pmi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iEAAiE,CAAC;AAC7G,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,UAAU,8BAA8B,CAC5C,cAA+B,CAAC,cAAc,EAAE,EAAE,cAAc,EAAE,CAAC;IAEnE,MAAM,GAAG,GAAG,IAAI,0BAA0B,EAAE,CAAC;IAC7C,GAAG,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAgB,IAAI,CAAC,MAAM,EAAE,EAC7B,cAAsB,MAAM,CAAC,MAAM,EAAE;IAErC,MAAM,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC;IACvC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["import { PmiAnnotation } from '@vertexvis/scene-view-protos/core/protos/model_views_pb';\nimport { ListPmiAnnotationsResponse } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { UUID } from '@vertexvis/utils';\n\nimport { random } from './random';\nimport { makeUuid2l } from './uuid';\n\nexport function makeListPmiAnnotationsResponse(\n annotations: PmiAnnotation[] = [makeAnnotation(), makeAnnotation()]\n): ListPmiAnnotationsResponse {\n const res = new ListPmiAnnotationsResponse();\n res.setAnnotationsList(annotations);\n return res;\n}\n\nexport function makeAnnotation(\n id: UUID.UUID = UUID.create(),\n displayName: string = random.string()\n): PmiAnnotation {\n const annotation = new PmiAnnotation();\n annotation.setId(makeUuid2l(id));\n annotation.setDisplayName(displayName);\n return annotation;\n}\n"]}
1
+ {"version":3,"file":"pmi.js","sourceRoot":"","sources":["../../../../src/testing/pmi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iEAAiE,CAAC;AAC7G,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,UAAU,8BAA8B,CAC5C,cAA+B,CAAC,cAAc,EAAE,EAAE,cAAc,EAAE,CAAC;IAEnE,MAAM,GAAG,GAAG,IAAI,0BAA0B,EAAE,CAAC;IAC7C,GAAG,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAgB,IAAI,CAAC,MAAM,EAAE,EAC7B,cAAsB,MAAM,CAAC,MAAM,EAAE;IAErC,MAAM,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC;IACvC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["import { PmiAnnotation } from '@vertexvis/scene-view-protos/core/protos/model_views_pb';\nimport { ListPmiAnnotationsResponse } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { UUID } from '@vertexvis/utils';\n\nimport { random } from './random';\nimport { makeUuid2l } from './uuid';\n\nexport function makeListPmiAnnotationsResponse(\n annotations: PmiAnnotation[] = [makeAnnotation(), makeAnnotation()],\n): ListPmiAnnotationsResponse {\n const res = new ListPmiAnnotationsResponse();\n res.setAnnotationsList(annotations);\n return res;\n}\n\nexport function makeAnnotation(\n id: UUID.UUID = UUID.create(),\n displayName: string = random.string(),\n): PmiAnnotation {\n const annotation = new PmiAnnotation();\n annotation.setId(makeUuid2l(id));\n annotation.setDisplayName(displayName);\n return annotation;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../src/testing/random.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAEnC,MAAM,UAAU,WAAW;IACzB,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,MAAM,CACnB,MAAM,CAAC,QAAQ,EAAE,EACjB,MAAM,CAAC,QAAQ,EAAE,EACjB,MAAM,CAAC,QAAQ,EAAE,CAClB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,OAAO,CAAC,SAAS,CACtB,OAAO,CAAC,MAAM,CACZ,MAAM,CAAC,QAAQ,CAAC;QACd,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;KACP,CAAC,EACF,MAAM,CAAC,QAAQ,CAAC;QACd,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;KACP,CAAC,EACF,MAAM,CAAC,QAAQ,CAAC;QACd,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;KACP,CAAC,CACH,CACF,CAAC;AACJ,CAAC","sourcesContent":["import { Point, Vector3 } from '@vertexvis/geometry';\nimport Chance from 'chance';\n\nexport const random = new Chance();\n\nexport function randomPoint(): Point.Point {\n return Point.create(random.integer(), random.integer());\n}\n\nexport function randomVector3(): Vector3.Vector3 {\n return Vector3.create(\n random.floating(),\n random.floating(),\n random.floating()\n );\n}\n\nexport function randomNormalVector3(): Vector3.Vector3 {\n return Vector3.normalize(\n Vector3.create(\n random.floating({\n min: 0,\n max: 1,\n }),\n random.floating({\n min: 0,\n max: 1,\n }),\n random.floating({\n min: 0,\n max: 1,\n })\n )\n );\n}\n"]}
1
+ {"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../src/testing/random.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAEnC,MAAM,UAAU,WAAW;IACzB,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,MAAM,CACnB,MAAM,CAAC,QAAQ,EAAE,EACjB,MAAM,CAAC,QAAQ,EAAE,EACjB,MAAM,CAAC,QAAQ,EAAE,CAClB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,OAAO,CAAC,SAAS,CACtB,OAAO,CAAC,MAAM,CACZ,MAAM,CAAC,QAAQ,CAAC;QACd,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;KACP,CAAC,EACF,MAAM,CAAC,QAAQ,CAAC;QACd,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;KACP,CAAC,EACF,MAAM,CAAC,QAAQ,CAAC;QACd,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;KACP,CAAC,CACH,CACF,CAAC;AACJ,CAAC","sourcesContent":["import { Point, Vector3 } from '@vertexvis/geometry';\nimport Chance from 'chance';\n\nexport const random = new Chance();\n\nexport function randomPoint(): Point.Point {\n return Point.create(random.integer(), random.integer());\n}\n\nexport function randomVector3(): Vector3.Vector3 {\n return Vector3.create(\n random.floating(),\n random.floating(),\n random.floating(),\n );\n}\n\nexport function randomNormalVector3(): Vector3.Vector3 {\n return Vector3.normalize(\n Vector3.create(\n random.floating({\n min: 0,\n max: 1,\n }),\n random.floating({\n min: 0,\n max: 1,\n }),\n random.floating({\n min: 0,\n max: 1,\n }),\n ),\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"resizeObserver.js","sourceRoot":"","sources":["../../../../src/testing/resizeObserver.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC9C,MAAc,CAAC,cAAc,GAAG;IAS/B,YAAmB,EAA4C;QANxD,eAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACvB,YAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACpB,YAAO,GAAG,qBAAqB,CAAC,kBAAkB,CACvD,CAAC,OAA8B,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CACrD,CAAC;QAGA,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;CACF,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const triggerResizeObserver = jest.fn();\n(global as any).ResizeObserver = class {\n private fn;\n\n public disconnect = jest.fn();\n public observe = jest.fn();\n public trigger = triggerResizeObserver.mockImplementation(\n (entries: ResizeObserverEntry[]) => this.fn(entries)\n );\n\n public constructor(fn: (entries: ResizeObserverEntry[]) => void) {\n this.fn = fn;\n }\n};\n"]}
1
+ {"version":3,"file":"resizeObserver.js","sourceRoot":"","sources":["../../../../src/testing/resizeObserver.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC9C,MAAc,CAAC,cAAc,GAAG;IAS/B,YAAmB,EAA4C;QANxD,eAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACvB,YAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACpB,YAAO,GAAG,qBAAqB,CAAC,kBAAkB,CACvD,CAAC,OAA8B,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CACrD,CAAC;QAGA,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;CACF,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const triggerResizeObserver = jest.fn();\n(global as any).ResizeObserver = class {\n private fn;\n\n public disconnect = jest.fn();\n public observe = jest.fn();\n public trigger = triggerResizeObserver.mockImplementation(\n (entries: ResizeObserverEntry[]) => this.fn(entries),\n );\n\n public constructor(fn: (entries: ResizeObserverEntry[]) => void) {\n this.fn = fn;\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"scene-items-helper.js","sourceRoot":"","sources":["../../../../src/testing/scene-items-helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { Cursor } from '@vertexvis/scene-view-protos/core/protos/paging_pb';\nimport {\n PropertyCategoryMap,\n PropertyEntry,\n PropertyKey,\n PropertyValue,\n PropertyValueDate,\n PropertyValueDouble,\n PropertyValueLong,\n PropertyValueString,\n} from '@vertexvis/scene-view-protos/sceneview/protos/domain_pb';\nimport { ListSceneItemMetadataResponse } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { Timestamp } from 'google-protobuf/google/protobuf/timestamp_pb';\n\nexport class ListSceneItemMetadataResponseBuilder {\n private response: ListSceneItemMetadataResponse;\n\n public constructor() {\n this.response = new ListSceneItemMetadataResponse();\n }\n\n public withCursor(cursorValue: string): ListSceneItemMetadataResponseBuilder {\n const cursor = new Cursor();\n cursor.setNext(cursorValue);\n this.response.setCursor(cursor);\n return this;\n }\n\n public withProperties(\n properties: PropertyEntry[]\n ): ListSceneItemMetadataResponseBuilder {\n this.response.setEntriesList(properties);\n return this;\n }\n\n public build(): ListSceneItemMetadataResponse {\n return this.response;\n }\n}\n\nexport class PropertyEntryBuilder {\n private entry: PropertyEntry;\n\n public constructor() {\n this.entry = new PropertyEntry();\n }\n\n public withId(id: string): PropertyEntryBuilder {\n this.entry.setId(id);\n return this;\n }\n\n public withKey(key: PropertyKey): PropertyEntryBuilder {\n this.entry.setKey(key);\n return this;\n }\n\n public withValue(value: PropertyValue): PropertyEntryBuilder {\n this.entry.setValue(value);\n return this;\n }\n\n public build(): PropertyEntry {\n return this.entry;\n }\n}\n\nexport class PropertyKeyBuilder {\n private key: PropertyKey;\n\n public constructor() {\n this.key = new PropertyKey();\n }\n\n public withName(name: string): PropertyKeyBuilder {\n this.key.setName(name);\n return this;\n }\n\n public withCategory(\n value: PropertyCategoryMap[keyof PropertyCategoryMap]\n ): PropertyKeyBuilder {\n this.key.setCategory(value);\n return this;\n }\n\n public build(): PropertyKey {\n return this.key;\n }\n}\n\nexport class PropertyValueBuilder {\n private value: PropertyValue;\n\n public constructor() {\n this.value = new PropertyValue();\n }\n\n public withString(value: string): PropertyValueBuilder {\n const valueString = new PropertyValueString();\n valueString.setValue(value);\n this.value.setString(valueString);\n return this;\n }\n\n public withLong(value: number): PropertyValueBuilder {\n const valueLong = new PropertyValueLong();\n valueLong.setValue(value);\n this.value.setLong(valueLong);\n return this;\n }\n\n public withDouble(value: number): PropertyValueBuilder {\n const valueDouble = new PropertyValueDouble();\n valueDouble.setValue(value);\n this.value.setDouble(valueDouble);\n return this;\n }\n\n public withDate(value: Timestamp): PropertyValueBuilder {\n const valueDate = new PropertyValueDate();\n valueDate.setValue(value);\n this.value.setDate(valueDate);\n return this;\n }\n\n public build(): PropertyValue {\n return this.value;\n }\n}\n"]}
1
+ {"version":3,"file":"scene-items-helper.js","sourceRoot":"","sources":["../../../../src/testing/scene-items-helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { Cursor } from '@vertexvis/scene-view-protos/core/protos/paging_pb';\nimport {\n PropertyCategoryMap,\n PropertyEntry,\n PropertyKey,\n PropertyValue,\n PropertyValueDate,\n PropertyValueDouble,\n PropertyValueLong,\n PropertyValueString,\n} from '@vertexvis/scene-view-protos/sceneview/protos/domain_pb';\nimport { ListSceneItemMetadataResponse } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { Timestamp } from 'google-protobuf/google/protobuf/timestamp_pb';\n\nexport class ListSceneItemMetadataResponseBuilder {\n private response: ListSceneItemMetadataResponse;\n\n public constructor() {\n this.response = new ListSceneItemMetadataResponse();\n }\n\n public withCursor(cursorValue: string): ListSceneItemMetadataResponseBuilder {\n const cursor = new Cursor();\n cursor.setNext(cursorValue);\n this.response.setCursor(cursor);\n return this;\n }\n\n public withProperties(\n properties: PropertyEntry[],\n ): ListSceneItemMetadataResponseBuilder {\n this.response.setEntriesList(properties);\n return this;\n }\n\n public build(): ListSceneItemMetadataResponse {\n return this.response;\n }\n}\n\nexport class PropertyEntryBuilder {\n private entry: PropertyEntry;\n\n public constructor() {\n this.entry = new PropertyEntry();\n }\n\n public withId(id: string): PropertyEntryBuilder {\n this.entry.setId(id);\n return this;\n }\n\n public withKey(key: PropertyKey): PropertyEntryBuilder {\n this.entry.setKey(key);\n return this;\n }\n\n public withValue(value: PropertyValue): PropertyEntryBuilder {\n this.entry.setValue(value);\n return this;\n }\n\n public build(): PropertyEntry {\n return this.entry;\n }\n}\n\nexport class PropertyKeyBuilder {\n private key: PropertyKey;\n\n public constructor() {\n this.key = new PropertyKey();\n }\n\n public withName(name: string): PropertyKeyBuilder {\n this.key.setName(name);\n return this;\n }\n\n public withCategory(\n value: PropertyCategoryMap[keyof PropertyCategoryMap],\n ): PropertyKeyBuilder {\n this.key.setCategory(value);\n return this;\n }\n\n public build(): PropertyKey {\n return this.key;\n }\n}\n\nexport class PropertyValueBuilder {\n private value: PropertyValue;\n\n public constructor() {\n this.value = new PropertyValue();\n }\n\n public withString(value: string): PropertyValueBuilder {\n const valueString = new PropertyValueString();\n valueString.setValue(value);\n this.value.setString(valueString);\n return this;\n }\n\n public withLong(value: number): PropertyValueBuilder {\n const valueLong = new PropertyValueLong();\n valueLong.setValue(value);\n this.value.setLong(valueLong);\n return this;\n }\n\n public withDouble(value: number): PropertyValueBuilder {\n const valueDouble = new PropertyValueDouble();\n valueDouble.setValue(value);\n this.value.setDouble(valueDouble);\n return this;\n }\n\n public withDate(value: Timestamp): PropertyValueBuilder {\n const valueDate = new PropertyValueDate();\n valueDate.setValue(value);\n this.value.setDate(valueDate);\n return this;\n }\n\n public build(): PropertyValue {\n return this.value;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"sceneTree.js","sourceRoot":"","sources":["../../../../src/testing/sceneTree.ts"],"names":[],"mappings":"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","sourcesContent":["import { OffsetCursor } from '@vertexvis/scene-tree-protos/core/protos/paging_pb';\nimport { Uuid } from '@vertexvis/scene-tree-protos/core/protos/uuid_pb';\nimport {\n IndexingStatus,\n ListChange,\n Node,\n TreeChangeType,\n} from '@vertexvis/scene-tree-protos/scenetree/protos/domain_pb';\nimport {\n FilterResponse,\n GetTreeResponse,\n SubscribeResponse,\n} from '@vertexvis/scene-tree-protos/scenetree/protos/scene_tree_api_pb';\nimport type {\n ResponseStream,\n Status,\n} from '@vertexvis/scene-tree-protos/scenetree/protos/scene_tree_api_pb_service';\nimport { EventDispatcher } from '@vertexvis/utils';\n\nimport { random } from './random';\n\nexport class ResponseStreamMock<T> implements ResponseStream<T> {\n private onData = new EventDispatcher<T>();\n private onStatus = new EventDispatcher<Status>();\n private onEnd = new EventDispatcher<Status | undefined>();\n\n public cancel(): void {\n // no op\n }\n\n public on(type: string, handler: any): ResponseStream<T> {\n if (type === 'data') {\n this.onData.on(handler);\n } else if (type === 'end') {\n this.onEnd.on(handler);\n } else {\n this.onStatus.on(handler);\n }\n return this;\n }\n\n public invokeOnData(msg: T): void {\n this.onData.emit(msg);\n }\n\n public invokeOnEnd(status?: Status): void {\n this.onEnd.emit(status);\n }\n\n public invokeOnStatus(status: Status): void {\n this.onStatus.emit(status);\n }\n}\n\nexport function createGetTreeResponse(\n itemCount: number,\n totalCount: number | null,\n transform?: (node: Node) => void\n): GetTreeResponse {\n const nodes = Array.from({ length: itemCount }).map((_, i) => {\n const id = new Uuid();\n id.setHex(random.guid());\n const node = new Node();\n node.setId(id);\n node.setDepth(0);\n node.setExpanded(false);\n node.setIsLeaf(false);\n node.setName(random.string());\n node.setSelected(false);\n node.setVisible(false);\n transform?.(node);\n return node;\n });\n\n const cursor = new OffsetCursor();\n if (totalCount != null) {\n cursor.setTotal(totalCount);\n }\n\n const res = new GetTreeResponse();\n res.setItemsList(nodes);\n res.setCursor(cursor);\n\n return res;\n}\n\nexport function createFilterTreeResponse(\n resultCount: number,\n partialResults = false\n): FilterResponse {\n const res = new FilterResponse();\n res.setNumberOfResults(resultCount);\n res.setIndexingStatus(\n partialResults\n ? IndexingStatus.INDEXING_STATUS_INDEXING\n : IndexingStatus.INDEXING_STATUS_READY\n );\n\n return res;\n}\n\nexport function createSubscribeResponse(\n change: TreeChangeType\n): SubscribeResponse {\n const res = new SubscribeResponse();\n res.setChange(change);\n\n return res;\n}\n\nexport function createListChange(start: number): TreeChangeType {\n const change = new TreeChangeType();\n const listChange = new ListChange();\n listChange.setStart(start);\n change.setListChange(listChange);\n\n return change;\n}\n"]}
1
+ {"version":3,"file":"sceneTree.js","sourceRoot":"","sources":["../../../../src/testing/sceneTree.ts"],"names":[],"mappings":"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","sourcesContent":["import { OffsetCursor } from '@vertexvis/scene-tree-protos/core/protos/paging_pb';\nimport { Uuid } from '@vertexvis/scene-tree-protos/core/protos/uuid_pb';\nimport {\n IndexingStatus,\n ListChange,\n Node,\n TreeChangeType,\n} from '@vertexvis/scene-tree-protos/scenetree/protos/domain_pb';\nimport {\n FilterResponse,\n GetTreeResponse,\n SubscribeResponse,\n} from '@vertexvis/scene-tree-protos/scenetree/protos/scene_tree_api_pb';\nimport type {\n ResponseStream,\n Status,\n} from '@vertexvis/scene-tree-protos/scenetree/protos/scene_tree_api_pb_service';\nimport { EventDispatcher } from '@vertexvis/utils';\n\nimport { random } from './random';\n\nexport class ResponseStreamMock<T> implements ResponseStream<T> {\n private onData = new EventDispatcher<T>();\n private onStatus = new EventDispatcher<Status>();\n private onEnd = new EventDispatcher<Status | undefined>();\n\n public cancel(): void {\n // no op\n }\n\n public on(type: string, handler: any): ResponseStream<T> {\n if (type === 'data') {\n this.onData.on(handler);\n } else if (type === 'end') {\n this.onEnd.on(handler);\n } else {\n this.onStatus.on(handler);\n }\n return this;\n }\n\n public invokeOnData(msg: T): void {\n this.onData.emit(msg);\n }\n\n public invokeOnEnd(status?: Status): void {\n this.onEnd.emit(status);\n }\n\n public invokeOnStatus(status: Status): void {\n this.onStatus.emit(status);\n }\n}\n\nexport function createGetTreeResponse(\n itemCount: number,\n totalCount: number | null,\n transform?: (node: Node) => void,\n): GetTreeResponse {\n const nodes = Array.from({ length: itemCount }).map((_, i) => {\n const id = new Uuid();\n id.setHex(random.guid());\n const node = new Node();\n node.setId(id);\n node.setDepth(0);\n node.setExpanded(false);\n node.setIsLeaf(false);\n node.setName(random.string());\n node.setSelected(false);\n node.setVisible(false);\n transform?.(node);\n return node;\n });\n\n const cursor = new OffsetCursor();\n if (totalCount != null) {\n cursor.setTotal(totalCount);\n }\n\n const res = new GetTreeResponse();\n res.setItemsList(nodes);\n res.setCursor(cursor);\n\n return res;\n}\n\nexport function createFilterTreeResponse(\n resultCount: number,\n partialResults = false,\n): FilterResponse {\n const res = new FilterResponse();\n res.setNumberOfResults(resultCount);\n res.setIndexingStatus(\n partialResults\n ? IndexingStatus.INDEXING_STATUS_INDEXING\n : IndexingStatus.INDEXING_STATUS_READY,\n );\n\n return res;\n}\n\nexport function createSubscribeResponse(\n change: TreeChangeType,\n): SubscribeResponse {\n const res = new SubscribeResponse();\n res.setChange(change);\n\n return res;\n}\n\nexport function createListChange(start: number): TreeChangeType {\n const change = new TreeChangeType();\n const listChange = new ListChange();\n listChange.setStart(start);\n change.setListChange(listChange);\n\n return change;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../../../src/testing/viewer.ts"],"names":[],"mappings":"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","sourcesContent":["import { vertexvis } from '@vertexvis/frame-streaming-protos';\nimport {\n encode,\n Fixtures as StreamFixtures,\n WebSocketClientMock,\n} from '@vertexvis/stream-api';\nimport { Async } from '@vertexvis/utils';\n\nimport { ViewerStream } from '../lib/stream/stream';\nimport * as Fixtures from './fixtures';\nimport { random } from './random';\n\ninterface ViewerStreamOperationCtx {\n stream: ViewerStream;\n ws: WebSocketClientMock;\n viewer: HTMLVertexViewerElement;\n}\n\ninterface LoadViewerStreamKeyOptions {\n token?: string;\n beforeConnected?: VoidFunction | (() => Promise<void>);\n}\n\nexport const key1 = 'urn:vertex:stream-key:123';\n\nexport const key2 = 'urn:vertex:stream-key:234';\n\nexport function makeViewerStream(): {\n stream: ViewerStream;\n ws: WebSocketClientMock;\n} {\n const ws = new WebSocketClientMock();\n const stream = new ViewerStream(ws);\n return { stream, ws };\n}\n\nexport async function loadViewerStreamKey(\n urn: string,\n { viewer, stream, ws }: ViewerStreamOperationCtx,\n {\n token = random.string({ alpha: true }),\n beforeConnected,\n }: LoadViewerStreamKeyOptions = {}\n): Promise<void> {\n jest.spyOn(stream, 'startStream').mockResolvedValue(\n StreamFixtures.Responses.startStream({\n result: {\n token: {\n token: token,\n expiresIn: new Date().getTime() + 10000,\n },\n },\n }).response\n );\n jest\n .spyOn(stream, 'syncTime')\n .mockResolvedValue(StreamFixtures.Responses.syncTime().response);\n\n const connecting = stream.stateChanged.onceWhen(\n (s) => s.type === 'connecting'\n );\n const loaded = viewer.load(urn);\n\n // Emit frame drawn on next event loop\n await connecting;\n await Async.delay(10);\n await beforeConnected?.();\n ws.receiveMessage(\n encode(\n StreamFixtures.Requests.drawFrame({\n payload: Fixtures.drawFramePayloadPerspective,\n })\n )\n );\n await loaded;\n}\n\ninterface GracefulReconnectOptions<T = void> {\n beforeReconnect?: () => Promise<T>;\n}\n\nexport async function gracefulReconnect<T = void>(\n { stream, ws }: ViewerStreamOperationCtx,\n { beforeReconnect }: GracefulReconnectOptions<T> = {}\n): Promise<T | undefined> {\n jest\n .spyOn(stream, 'reconnect')\n .mockResolvedValue(StreamFixtures.Responses.reconnect().response);\n jest\n .spyOn(stream, 'syncTime')\n .mockResolvedValue(StreamFixtures.Responses.syncTime().response);\n\n const connecting = stream.stateChanged.onceWhen(\n (s) => s.type === 'reconnecting'\n );\n\n ws.receiveMessage(encode(StreamFixtures.Requests.gracefulReconnect()));\n const result = await beforeReconnect?.();\n\n await connecting;\n await Async.delay(10);\n\n ws.receiveMessage(\n encode(\n StreamFixtures.Requests.drawFrame({\n payload: Fixtures.drawFramePayloadPerspective,\n })\n )\n );\n\n return result;\n}\n\nexport function receiveFrame(\n ws: WebSocketClientMock,\n transformPayload?: (\n payload: vertexvis.protobuf.stream.IDrawFramePayload\n ) => vertexvis.protobuf.stream.IDrawFramePayload\n): void {\n ws.receiveMessage(\n encode(\n StreamFixtures.Requests.drawFrame({\n payload: transformPayload?.(Fixtures.drawFramePayloadPerspective),\n })\n )\n );\n}\n"]}
1
+ {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../../../src/testing/viewer.ts"],"names":[],"mappings":"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","sourcesContent":["import { vertexvis } from '@vertexvis/frame-streaming-protos';\nimport {\n encode,\n Fixtures as StreamFixtures,\n WebSocketClientMock,\n} from '@vertexvis/stream-api';\nimport { Async } from '@vertexvis/utils';\n\nimport { ViewerStream } from '../lib/stream/stream';\nimport * as Fixtures from './fixtures';\nimport { random } from './random';\n\ninterface ViewerStreamOperationCtx {\n stream: ViewerStream;\n ws: WebSocketClientMock;\n viewer: HTMLVertexViewerElement;\n}\n\ninterface LoadViewerStreamKeyOptions {\n token?: string;\n beforeConnected?: VoidFunction | (() => Promise<void>);\n}\n\nexport const key1 = 'urn:vertex:stream-key:123';\n\nexport const key2 = 'urn:vertex:stream-key:234';\n\nexport function makeViewerStream(): {\n stream: ViewerStream;\n ws: WebSocketClientMock;\n} {\n const ws = new WebSocketClientMock();\n const stream = new ViewerStream(ws);\n return { stream, ws };\n}\n\nexport async function loadViewerStreamKey(\n urn: string,\n { viewer, stream, ws }: ViewerStreamOperationCtx,\n {\n token = random.string({ alpha: true }),\n beforeConnected,\n }: LoadViewerStreamKeyOptions = {},\n): Promise<void> {\n jest.spyOn(stream, 'startStream').mockResolvedValue(\n StreamFixtures.Responses.startStream({\n result: {\n token: {\n token: token,\n expiresIn: new Date().getTime() + 10000,\n },\n },\n }).response,\n );\n jest\n .spyOn(stream, 'syncTime')\n .mockResolvedValue(StreamFixtures.Responses.syncTime().response);\n\n const connecting = stream.stateChanged.onceWhen(\n (s) => s.type === 'connecting',\n );\n const loaded = viewer.load(urn);\n\n // Emit frame drawn on next event loop\n await connecting;\n await Async.delay(10);\n await beforeConnected?.();\n ws.receiveMessage(\n encode(\n StreamFixtures.Requests.drawFrame({\n payload: Fixtures.drawFramePayloadPerspective,\n }),\n ),\n );\n await loaded;\n}\n\ninterface GracefulReconnectOptions<T = void> {\n beforeReconnect?: () => Promise<T>;\n}\n\nexport async function gracefulReconnect<T = void>(\n { stream, ws }: ViewerStreamOperationCtx,\n { beforeReconnect }: GracefulReconnectOptions<T> = {},\n): Promise<T | undefined> {\n jest\n .spyOn(stream, 'reconnect')\n .mockResolvedValue(StreamFixtures.Responses.reconnect().response);\n jest\n .spyOn(stream, 'syncTime')\n .mockResolvedValue(StreamFixtures.Responses.syncTime().response);\n\n const connecting = stream.stateChanged.onceWhen(\n (s) => s.type === 'reconnecting',\n );\n\n ws.receiveMessage(encode(StreamFixtures.Requests.gracefulReconnect()));\n const result = await beforeReconnect?.();\n\n await connecting;\n await Async.delay(10);\n\n ws.receiveMessage(\n encode(\n StreamFixtures.Requests.drawFrame({\n payload: Fixtures.drawFramePayloadPerspective,\n }),\n ),\n );\n\n return result;\n}\n\nexport function receiveFrame(\n ws: WebSocketClientMock,\n transformPayload?: (\n payload: vertexvis.protobuf.stream.IDrawFramePayload,\n ) => vertexvis.protobuf.stream.IDrawFramePayload,\n): void {\n ws.receiveMessage(\n encode(\n StreamFixtures.Requests.drawFrame({\n payload: transformPayload?.(Fixtures.drawFramePayloadPerspective),\n }),\n ),\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"webgl.js","sourceRoot":"","sources":["../../../../src/testing/webgl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,UAAU,yBAAyB,CACvC,MAAsB;IAEtB,OAAO,IAAI,YAAY,CAAC;QACtB,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;KACxB,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { DrawablePoints } from '../lib/transforms/drawable';\nimport { flattenPointArray } from '../lib/transforms/util';\n\nexport function createdPaddedFloat64Array(\n points: DrawablePoints\n): Float64Array {\n return new Float64Array([\n ...flattenPointArray(points.toArray()),\n ...new Array(4).fill(0),\n ]);\n}\n"]}
1
+ {"version":3,"file":"webgl.js","sourceRoot":"","sources":["../../../../src/testing/webgl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,UAAU,yBAAyB,CACvC,MAAsB;IAEtB,OAAO,IAAI,YAAY,CAAC;QACtB,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;KACxB,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { DrawablePoints } from '../lib/transforms/drawable';\nimport { flattenPointArray } from '../lib/transforms/util';\n\nexport function createdPaddedFloat64Array(\n points: DrawablePoints,\n): Float64Array {\n return new Float64Array([\n ...flattenPointArray(points.toArray()),\n ...new Array(4).fill(0),\n ]);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"names":["ALMOST_ONE","calculateOrthogonalCoordinate","norm","orthogonalCandidate0","Vector3","create","z","y","orthogonalCandidate1","x","theChosenOne","magnitudeSquared","normalize","cross","computeRotationMatrix","normal1","normal2","dot","axisDirection","quaternion","Quaternion","fromAxisAngle","Math","PI","Matrix4","makeRotation","makeIdentity","angle","angleTo","computeTransformationDelta","position1","position2","rotationMatrix","translationDeltaMatrix","makeTranslation","multiply","negate"],"sources":["src/lib/transforms/transformation-delta.ts"],"sourcesContent":["import { Matrix4, Quaternion, Vector3 } from '@vertexvis/geometry';\n\nexport const ALMOST_ONE = 0.9999;\n\n/**\n * For any single normal vector, there are an infinite number of potential orthogonal vectors. This function will\n * calculate a single vector evaluating the length of two candidates, and picking the one with the higher squared magnitude\n * @param normal\n * @returns\n */\nexport function calculateOrthogonalCoordinate(\n norm: Vector3.Vector3\n): Vector3.Vector3 {\n const orthogonalCandidate0 = Vector3.create(0, norm.z, -norm.y);\n const orthogonalCandidate1 = Vector3.create(-norm.z, 0, norm.x);\n\n const theChosenOne =\n Vector3.magnitudeSquared(orthogonalCandidate0) >\n Vector3.magnitudeSquared(orthogonalCandidate1)\n ? orthogonalCandidate0\n : orthogonalCandidate1;\n\n return Vector3.normalize(Vector3.cross(norm, theChosenOne));\n}\n\n/**\n * Computes the rotation matrix for two normals. If both normals are neither parallel nor anti-parallel,\n * this will compute the rotation matrix delta based on the angle from both normals.\n * If the normals are anti-parallel, the identity matrix will be returned, as no rotation is necessary in this case.\n * If the normals are parallel, an axis direction based on a chosen orthogonal vector will be used\n * to compute the rotation matrix to rotate the plane 180 degrees.\n * @param normal1\n * @param normal2\n * @returns an anti-parallel rotation Matrix4 between the given normals\n */\nexport function computeRotationMatrix(\n normal1: Vector3.Vector3,\n normal2: Vector3.Vector3\n): Matrix4.Matrix4 {\n const dot = Vector3.dot(normal1, normal2);\n // the angle is almost 0 in this case.\n if (dot > ALMOST_ONE) {\n const axisDirection = calculateOrthogonalCoordinate(normal1);\n\n const quaternion = Quaternion.fromAxisAngle(axisDirection, Math.PI);\n return Matrix4.makeRotation(quaternion);\n }\n // the angle is almost 180 in this case.\n else if (dot <= -ALMOST_ONE) {\n return Matrix4.makeIdentity();\n }\n // the angle is between 0 & 180\n else {\n const angle = Vector3.angleTo(normal2, normal1);\n const axisDirection = Vector3.normalize(Vector3.cross(normal1, normal2));\n return Matrix4.makeRotation(\n Quaternion.fromAxisAngle(axisDirection, angle + Math.PI)\n );\n }\n}\n\n/**\n * Computes the translation & rotation matrix delta between two world positions and two normals.\n * such that the computed translation matrix will be the delta between position 1 and position 2,\n * and the rotation will be rotated to be anti-parallel.\n *\n * @param normal1\n * @param position1\n * @param normal2\n * @param position2\n *\n * @returns Matrix4 translation matrix delta from position1 to\n * position2 & an anti-parallel rotation delta.\n */\nexport function computeTransformationDelta(\n normal1: Vector3.Vector3,\n position1: Vector3.Vector3,\n normal2: Vector3.Vector3,\n position2: Vector3.Vector3\n): Matrix4.Matrix4 {\n const rotationMatrix = computeRotationMatrix(normal1, normal2);\n\n const translationDeltaMatrix = Matrix4.makeTranslation(position2);\n return Matrix4.multiply(\n Matrix4.multiply(translationDeltaMatrix, rotationMatrix),\n Matrix4.makeTranslation(Vector3.negate(position1))\n );\n}\n"],"mappings":";;;8/DAEO,MAAMA,EAAa,MAQpB,SAAUC,EACdC,GAEA,MAAMC,EAAuBC,EAAQC,OAAO,EAAGH,EAAKI,GAAIJ,EAAKK,GAC7D,MAAMC,EAAuBJ,EAAQC,QAAQH,EAAKI,EAAG,EAAGJ,EAAKO,GAE7D,MAAMC,EACJN,EAAQO,iBAAiBR,GACzBC,EAAQO,iBAAiBH,GACrBL,EACAK,EAEN,OAAOJ,EAAQQ,UAAUR,EAAQS,MAAMX,EAAMQ,GAC/C,CAYM,SAAUI,EACdC,EACAC,GAEA,MAAMC,EAAMb,EAAQa,IAAIF,EAASC,GAEjC,GAAIC,EAAMjB,EAAY,CACpB,MAAMkB,EAAgBjB,EAA8Bc,GAEpD,MAAMI,EAAaC,EAAWC,cAAcH,EAAeI,KAAKC,IAChE,OAAOC,EAAQC,aAAaN,E,MAGzB,GAAIF,IAAQjB,EAAY,CAC3B,OAAOwB,EAAQE,c,KAGZ,CACH,MAAMC,EAAQvB,EAAQwB,QAAQZ,EAASD,GACvC,MAAMG,EAAgBd,EAAQQ,UAAUR,EAAQS,MAAME,EAASC,IAC/D,OAAOQ,EAAQC,aACbL,EAAWC,cAAcH,EAAeS,EAAQL,KAAKC,I,CAG3D,CAeM,SAAUM,EACdd,EACAe,EACAd,EACAe,GAEA,MAAMC,EAAiBlB,EAAsBC,EAASC,GAEtD,MAAMiB,EAAyBT,EAAQU,gBAAgBH,GACvD,OAAOP,EAAQW,SACbX,EAAQW,SAASF,EAAwBD,GACzCR,EAAQU,gBAAgB9B,EAAQgC,OAAON,IAE3C,C","ignoreList":[]}
1
+ {"version":3,"names":["ALMOST_ONE","calculateOrthogonalCoordinate","norm","orthogonalCandidate0","Vector3","create","z","y","orthogonalCandidate1","x","theChosenOne","magnitudeSquared","normalize","cross","computeRotationMatrix","normal1","normal2","dot","axisDirection","quaternion","Quaternion","fromAxisAngle","Math","PI","Matrix4","makeRotation","makeIdentity","angle","angleTo","computeTransformationDelta","position1","position2","rotationMatrix","translationDeltaMatrix","makeTranslation","multiply","negate"],"sources":["src/lib/transforms/transformation-delta.ts"],"sourcesContent":["import { Matrix4, Quaternion, Vector3 } from '@vertexvis/geometry';\n\nexport const ALMOST_ONE = 0.9999;\n\n/**\n * For any single normal vector, there are an infinite number of potential orthogonal vectors. This function will\n * calculate a single vector evaluating the length of two candidates, and picking the one with the higher squared magnitude\n * @param normal\n * @returns\n */\nexport function calculateOrthogonalCoordinate(\n norm: Vector3.Vector3,\n): Vector3.Vector3 {\n const orthogonalCandidate0 = Vector3.create(0, norm.z, -norm.y);\n const orthogonalCandidate1 = Vector3.create(-norm.z, 0, norm.x);\n\n const theChosenOne =\n Vector3.magnitudeSquared(orthogonalCandidate0) >\n Vector3.magnitudeSquared(orthogonalCandidate1)\n ? orthogonalCandidate0\n : orthogonalCandidate1;\n\n return Vector3.normalize(Vector3.cross(norm, theChosenOne));\n}\n\n/**\n * Computes the rotation matrix for two normals. If both normals are neither parallel nor anti-parallel,\n * this will compute the rotation matrix delta based on the angle from both normals.\n * If the normals are anti-parallel, the identity matrix will be returned, as no rotation is necessary in this case.\n * If the normals are parallel, an axis direction based on a chosen orthogonal vector will be used\n * to compute the rotation matrix to rotate the plane 180 degrees.\n * @param normal1\n * @param normal2\n * @returns an anti-parallel rotation Matrix4 between the given normals\n */\nexport function computeRotationMatrix(\n normal1: Vector3.Vector3,\n normal2: Vector3.Vector3,\n): Matrix4.Matrix4 {\n const dot = Vector3.dot(normal1, normal2);\n // the angle is almost 0 in this case.\n if (dot > ALMOST_ONE) {\n const axisDirection = calculateOrthogonalCoordinate(normal1);\n\n const quaternion = Quaternion.fromAxisAngle(axisDirection, Math.PI);\n return Matrix4.makeRotation(quaternion);\n }\n // the angle is almost 180 in this case.\n else if (dot <= -ALMOST_ONE) {\n return Matrix4.makeIdentity();\n }\n // the angle is between 0 & 180\n else {\n const angle = Vector3.angleTo(normal2, normal1);\n const axisDirection = Vector3.normalize(Vector3.cross(normal1, normal2));\n return Matrix4.makeRotation(\n Quaternion.fromAxisAngle(axisDirection, angle + Math.PI),\n );\n }\n}\n\n/**\n * Computes the translation & rotation matrix delta between two world positions and two normals.\n * such that the computed translation matrix will be the delta between position 1 and position 2,\n * and the rotation will be rotated to be anti-parallel.\n *\n * @param normal1\n * @param position1\n * @param normal2\n * @param position2\n *\n * @returns Matrix4 translation matrix delta from position1 to\n * position2 & an anti-parallel rotation delta.\n */\nexport function computeTransformationDelta(\n normal1: Vector3.Vector3,\n position1: Vector3.Vector3,\n normal2: Vector3.Vector3,\n position2: Vector3.Vector3,\n): Matrix4.Matrix4 {\n const rotationMatrix = computeRotationMatrix(normal1, normal2);\n\n const translationDeltaMatrix = Matrix4.makeTranslation(position2);\n return Matrix4.multiply(\n Matrix4.multiply(translationDeltaMatrix, rotationMatrix),\n Matrix4.makeTranslation(Vector3.negate(position1)),\n );\n}\n"],"mappings":";;;8/DAEO,MAAMA,EAAa,MAQpB,SAAUC,EACdC,GAEA,MAAMC,EAAuBC,EAAQC,OAAO,EAAGH,EAAKI,GAAIJ,EAAKK,GAC7D,MAAMC,EAAuBJ,EAAQC,QAAQH,EAAKI,EAAG,EAAGJ,EAAKO,GAE7D,MAAMC,EACJN,EAAQO,iBAAiBR,GACzBC,EAAQO,iBAAiBH,GACrBL,EACAK,EAEN,OAAOJ,EAAQQ,UAAUR,EAAQS,MAAMX,EAAMQ,GAC/C,CAYM,SAAUI,EACdC,EACAC,GAEA,MAAMC,EAAMb,EAAQa,IAAIF,EAASC,GAEjC,GAAIC,EAAMjB,EAAY,CACpB,MAAMkB,EAAgBjB,EAA8Bc,GAEpD,MAAMI,EAAaC,EAAWC,cAAcH,EAAeI,KAAKC,IAChE,OAAOC,EAAQC,aAAaN,E,MAGzB,GAAIF,IAAQjB,EAAY,CAC3B,OAAOwB,EAAQE,c,KAGZ,CACH,MAAMC,EAAQvB,EAAQwB,QAAQZ,EAASD,GACvC,MAAMG,EAAgBd,EAAQQ,UAAUR,EAAQS,MAAME,EAASC,IAC/D,OAAOQ,EAAQC,aACbL,EAAWC,cAAcH,EAAeS,EAAQL,KAAKC,I,CAG3D,CAeM,SAAUM,EACdd,EACAe,EACAd,EACAe,GAEA,MAAMC,EAAiBlB,EAAsBC,EAASC,GAEtD,MAAMiB,EAAyBT,EAAQU,gBAAgBH,GACvD,OAAOP,EAAQW,SACbX,EAAQW,SAASF,EAAwBD,GACzCR,EAAQU,gBAAgB9B,EAAQgC,OAAON,IAE3C,C","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Copyright (c) 2026 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import{t as n,p as t,H as s,d as o,h as e,e as i}from"./p-Bb32XUUS.js";import{v as a,q as h,m as r,h as d}from"./p-DDQcM-So.js";import{o as l}from"./p-CHdoymO5.js";const c=()=>`.sc-vertex-viewer-dom-group-h{display:block;transform-style:preserve-3d}`;const u=t(class n extends s{constructor(n){super();if(n!==false){this.__registerHost()}this.propertyChange=o(this,"propertyChange");this.position=a.origin();this.positionJson="";this.quaternion=h.create();this.quaternionJson="";this.scale=a.create(1,1,1);this.scaleJson="";this.matrix=r.makeIdentity()}handlePositionChange(){this.syncMatrix()}handlePositionJsonChanged(){this.syncPosition()}handleRotationChanged(){this.syncQuaternionWithRotation()}handleRotationJsonChanged(){this.syncRotation()}handleQuaternionChange(){this.syncMatrix()}handleQuaternionJsonChanged(){this.syncQuaternion()}handleScaleChange(){this.syncMatrix()}handleScaleJsonChanged(){this.syncScale()}handleMatrixChanged(n,t){if(!l.isEqual(n,t)){this.propertyChange.emit()}}componentWillLoad(){this.syncProperties()}componentShouldUpdate(){return false}syncProperties(){this.syncPosition();this.syncRotation();this.syncQuaternion();this.syncScale();this.syncMatrix()}syncPosition(){this.position=this.positionJson.length>0?this.parseJson("positionJson",this.positionJson,a.fromJson):this.position}syncRotation(){this.rotation=this.rotationJson!=null&&this.rotationJson.length>0?this.parseJson("rotationJson",this.rotationJson,d.fromJson):this.rotation;this.syncQuaternionWithRotation()}syncQuaternionWithRotation(){this.quaternion=this.rotation!=null?h.fromEuler(this.rotation):this.quaternion}syncQuaternion(){this.quaternion=this.quaternionJson.length>0?this.parseJson("quaternionJson",this.quaternionJson,h.fromJson):this.quaternion}syncScale(){this.scale=this.scaleJson.length>0?this.parseJson("scaleJson",this.scaleJson,a.fromJson):this.scale}syncMatrix(){this.matrix=r.makeTRS(this.position,this.quaternion,this.scale)}parseJson(n,t,s){try{return s(t)}catch(t){console.warn(`Could not parse \`${n}\`. Invalid JSON.`);throw t}}render(){return e(i,{key:"38d400024a27631bf1f111d9a4f44b01469c814d"},e("slot",{key:"50ab66305307ce5c45638c562830ca55c2956835"}))}static get watchers(){return{position:[{handlePositionChange:0}],positionJson:[{handlePositionJsonChanged:0}],rotation:[{handleRotationChanged:0}],rotationJson:[{handleRotationJsonChanged:0}],quaternion:[{handleQuaternionChange:0}],quaternionJson:[{handleQuaternionJsonChanged:0}],scale:[{handleScaleChange:0}],scaleJson:[{handleScaleJsonChanged:0}],matrix:[{handleMatrixChanged:0}]}}static get style(){return c()}},[262,"vertex-viewer-dom-group",{position:[1040],positionJson:[1,"position"],rotation:[1040],rotationJson:[1,"rotation"],quaternion:[1040],quaternionJson:[1,"quaternion"],scale:[1040],scaleJson:[1,"scale"],matrix:[1040]},undefined,{position:[{handlePositionChange:0}],positionJson:[{handlePositionJsonChanged:0}],rotation:[{handleRotationChanged:0}],rotationJson:[{handleRotationJsonChanged:0}],quaternion:[{handleQuaternionChange:0}],quaternionJson:[{handleQuaternionJsonChanged:0}],scale:[{handleScaleChange:0}],scaleJson:[{handleScaleJsonChanged:0}],matrix:[{handleMatrixChanged:0}]}]);function g(){if(typeof customElements==="undefined"){return}const t=["vertex-viewer-dom-group"];t.forEach((t=>{switch(t){case"vertex-viewer-dom-group":if(!customElements.get(n(t))){customElements.define(n(t),u)}break}}))}g();export{u as V,g as d};
5
- //# sourceMappingURL=p-St4ctu2K.js.map
4
+ import{t as n,p as t,H as s,d as e,h as o,e as i}from"./p-Bb32XUUS.js";import{v as a,q as h,m as r,h as d}from"./p-DDQcM-So.js";import{o as l}from"./p-CHdoymO5.js";const c=()=>`.sc-vertex-viewer-dom-group-h{display:block;transform-style:preserve-3d}`;const u=t(class n extends s{constructor(n){super();if(n!==false){this.__registerHost()}this.propertyChange=e(this,"propertyChange");this.position=a.origin();this.positionJson="";this.quaternion=h.create();this.quaternionJson="";this.scale=a.create(1,1,1);this.scaleJson="";this.matrix=r.makeIdentity()}handlePositionChange(){this.syncMatrix()}handlePositionJsonChanged(){this.syncPosition()}handleRotationChanged(){this.syncQuaternionWithRotation()}handleRotationJsonChanged(){this.syncRotation()}handleQuaternionChange(){this.syncMatrix()}handleQuaternionJsonChanged(){this.syncQuaternion()}handleScaleChange(){this.syncMatrix()}handleScaleJsonChanged(){this.syncScale()}handleMatrixChanged(n,t){if(!l.isEqual(n,t)){this.propertyChange.emit()}}componentWillLoad(){this.syncProperties()}componentShouldUpdate(){return false}syncProperties(){this.syncPosition();this.syncRotation();this.syncQuaternion();this.syncScale();this.syncMatrix()}syncPosition(){this.position=this.positionJson.length>0?this.parseJson("positionJson",this.positionJson,a.fromJson):this.position}syncRotation(){this.rotation=this.rotationJson!=null&&this.rotationJson.length>0?this.parseJson("rotationJson",this.rotationJson,d.fromJson):this.rotation;this.syncQuaternionWithRotation()}syncQuaternionWithRotation(){this.quaternion=this.rotation!=null?h.fromEuler(this.rotation):this.quaternion}syncQuaternion(){this.quaternion=this.quaternionJson.length>0?this.parseJson("quaternionJson",this.quaternionJson,h.fromJson):this.quaternion}syncScale(){this.scale=this.scaleJson.length>0?this.parseJson("scaleJson",this.scaleJson,a.fromJson):this.scale}syncMatrix(){this.matrix=r.makeTRS(this.position,this.quaternion,this.scale)}parseJson(n,t,s){try{return s(t)}catch(t){console.warn(`Could not parse \`${n}\`. Invalid JSON.`);throw t}}render(){return o(i,{key:"87104b72b8ce2b9bb12b563c5b3d601101dae27d"},o("slot",{key:"2ea4e3087450f2210e9d152914d59c11dabc5221"}))}static get watchers(){return{position:[{handlePositionChange:0}],positionJson:[{handlePositionJsonChanged:0}],rotation:[{handleRotationChanged:0}],rotationJson:[{handleRotationJsonChanged:0}],quaternion:[{handleQuaternionChange:0}],quaternionJson:[{handleQuaternionJsonChanged:0}],scale:[{handleScaleChange:0}],scaleJson:[{handleScaleJsonChanged:0}],matrix:[{handleMatrixChanged:0}]}}static get style(){return c()}},[262,"vertex-viewer-dom-group",{position:[1040],positionJson:[1,"position"],rotation:[1040],rotationJson:[1,"rotation"],quaternion:[1040],quaternionJson:[1,"quaternion"],scale:[1040],scaleJson:[1,"scale"],matrix:[1040]},undefined,{position:[{handlePositionChange:0}],positionJson:[{handlePositionJsonChanged:0}],rotation:[{handleRotationChanged:0}],rotationJson:[{handleRotationJsonChanged:0}],quaternion:[{handleQuaternionChange:0}],quaternionJson:[{handleQuaternionJsonChanged:0}],scale:[{handleScaleChange:0}],scaleJson:[{handleScaleJsonChanged:0}],matrix:[{handleMatrixChanged:0}]}]);function g(){if(typeof customElements==="undefined"){return}const t=["vertex-viewer-dom-group"];t.forEach((t=>{switch(t){case"vertex-viewer-dom-group":if(!customElements.get(n(t))){customElements.define(n(t),u)}break}}))}g();export{u as V,g as d};
5
+ //# sourceMappingURL=p-3-bKfpqr.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["viewerDomGroupCss","ViewerDomGroup","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","position","Vector3","origin","positionJson","quaternion","Quaternion","create","quaternionJson","scale","scaleJson","matrix","Matrix4","makeIdentity","handlePositionChange","syncMatrix","handlePositionJsonChanged","syncPosition","handleRotationChanged","syncQuaternionWithRotation","handleRotationJsonChanged","syncRotation","handleQuaternionChange","handleQuaternionJsonChanged","syncQuaternion","handleScaleChange","handleScaleJsonChanged","syncScale","handleMatrixChanged","newMatrix","oldMatrix","Objects","isEqual","propertyChange","emit","componentWillLoad","syncProperties","componentShouldUpdate","length","parseJson","fromJson","rotation","rotationJson","Euler","fromEuler","makeTRS","propName","value","parse","e","console","warn","render","h","Host","key"],"sources":["src/components/viewer-dom-group/viewer-dom-group.css?tag=vertex-viewer-dom-group&encapsulation=scoped","src/components/viewer-dom-group/viewer-dom-group.tsx"],"sourcesContent":[":host {\n display: block;\n transform-style: preserve-3d;\n}\n","/* eslint-disable @typescript-eslint/member-ordering */\n\nimport {\n Component,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { Euler, Matrix4, Quaternion, Vector3 } from '@vertexvis/geometry';\nimport { Objects } from '@vertexvis/utils';\n\nimport { HTMLDomRendererPositionableElement } from '../../interfaces';\n\n@Component({\n tag: 'vertex-viewer-dom-group',\n styleUrl: 'viewer-dom-group.css',\n shadow: false,\n scoped: true,\n})\nexport class ViewerDomGroup implements HTMLDomRendererPositionableElement {\n /**\n * The local 3D position of where this element is located.\n */\n @Prop({ mutable: true, attribute: null })\n public position: Vector3.Vector3 = Vector3.origin();\n\n /**\n * @ignore\n */\n @Watch('position')\n protected handlePositionChange(): void {\n this.syncMatrix();\n }\n\n /**\n * The local 3D position of where this element is located, as a JSON string.\n * JSON representation can either be in the format of `[x, y, z]` or `{\"x\": 0,\n * \"y\": 0, \"z\": 0}`.\n */\n @Prop({ attribute: 'position' })\n public positionJson = '';\n\n /**\n * @ignore\n */\n @Watch('positionJson')\n protected handlePositionJsonChanged(): void {\n this.syncPosition();\n }\n\n /**\n * An event that is emitted when any property on the dom group changes\n */\n @Event({ bubbles: true })\n public propertyChange!: EventEmitter<void>;\n\n /**\n * The local rotation of this element in Euler angles.\n */\n @Prop({ mutable: true, attribute: null })\n public rotation?: Euler.Euler;\n\n /**\n * @ignore\n */\n @Watch('rotation')\n protected handleRotationChanged(): void {\n this.syncQuaternionWithRotation();\n }\n\n /**\n * The local rotation of this element in Euler angles, as a JSON string. JSON\n * representation can either be `[x, y, z, order]` or `{\"x\": 0, \"y\": 0, \"z\":\n * 0, \"order\": \"xyz\"}`.\n */\n @Prop({ attribute: 'rotation' })\n public rotationJson?: string;\n\n /**\n * @ignore\n */\n @Watch('rotationJson')\n protected handleRotationJsonChanged(): void {\n this.syncRotation();\n }\n\n /**\n * The local rotation of this element.\n */\n @Prop({ mutable: true, attribute: null })\n public quaternion: Quaternion.Quaternion = Quaternion.create();\n\n /**\n * @ignore\n */\n @Watch('quaternion')\n protected handleQuaternionChange(): void {\n this.syncMatrix();\n }\n\n /**\n * The local rotation of this element, as a JSON string. JSON\n * representation can either be `[x, y, z, w]` or `{\"x\": 0, \"y\": 0, \"z\":\n * 0, \"w\": 1}`.\n */\n @Prop({ attribute: 'quaternion' })\n public quaternionJson = '';\n\n /**\n * @ignore\n */\n @Watch('quaternionJson')\n protected handleQuaternionJsonChanged(): void {\n this.syncQuaternion();\n }\n\n /**\n * The local scale of this element.\n */\n @Prop({ mutable: true, attribute: null })\n public scale: Vector3.Vector3 = Vector3.create(1, 1, 1);\n\n /**\n * @ignore\n */\n @Watch('scale')\n protected handleScaleChange(): void {\n this.syncMatrix();\n }\n\n /**\n * The local scale of this element, as a JSON string. JSON string\n * representation can either be in the format of `[x, y, z]` or `{\"x\": 0, \"y\":\n * 0, \"z\": 0}`.\n */\n @Prop({ attribute: 'scale' })\n public scaleJson = '';\n\n /**\n * @ignore\n */\n @Watch('scaleJson')\n protected handleScaleJsonChanged(): void {\n this.syncScale();\n }\n\n /**\n * @ignore\n */\n @Watch('matrix')\n protected handleMatrixChanged(\n newMatrix: Matrix4.Matrix4,\n oldMatrix: Matrix4.Matrix4\n ): void {\n if (!Objects.isEqual(newMatrix, oldMatrix)) {\n this.propertyChange.emit();\n }\n }\n\n /**\n * The local matrix of this element.\n */\n @Prop({ mutable: true, attribute: null })\n public matrix: Matrix4.Matrix4 = Matrix4.makeIdentity();\n\n /**\n * @ignore\n */\n protected componentWillLoad(): void {\n this.syncProperties();\n }\n\n /**\n * @ignore\n */\n protected componentShouldUpdate(): boolean {\n return false;\n }\n\n private syncProperties(): void {\n this.syncPosition();\n this.syncRotation();\n this.syncQuaternion();\n this.syncScale();\n this.syncMatrix();\n }\n\n private syncPosition(): void {\n this.position =\n this.positionJson.length > 0\n ? this.parseJson('positionJson', this.positionJson, Vector3.fromJson)\n : this.position;\n }\n\n private syncRotation(): void {\n this.rotation =\n this.rotationJson != null && this.rotationJson.length > 0\n ? this.parseJson('rotationJson', this.rotationJson, Euler.fromJson)\n : this.rotation;\n this.syncQuaternionWithRotation();\n }\n\n private syncQuaternionWithRotation(): void {\n this.quaternion =\n this.rotation != null\n ? Quaternion.fromEuler(this.rotation)\n : this.quaternion;\n }\n\n private syncQuaternion(): void {\n this.quaternion =\n this.quaternionJson.length > 0\n ? this.parseJson(\n 'quaternionJson',\n this.quaternionJson,\n Quaternion.fromJson\n )\n : this.quaternion;\n }\n\n private syncScale(): void {\n this.scale =\n this.scaleJson.length > 0\n ? this.parseJson('scaleJson', this.scaleJson, Vector3.fromJson)\n : this.scale;\n }\n\n private syncMatrix(): void {\n this.matrix = Matrix4.makeTRS(this.position, this.quaternion, this.scale);\n }\n\n private parseJson<T>(\n propName: string,\n value: string,\n parse: (str: string) => T\n ): T {\n try {\n return parse(value);\n } catch (e) {\n console.warn(`Could not parse \\`${propName}\\`. Invalid JSON.`);\n throw e;\n }\n }\n\n /**\n * @ignore\n */\n protected render(): h.JSX.IntrinsicElements {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":";;;oKAAA,MAAMA,EAAoB,IAAM,2E,MCsBnBC,EAAcC,EAAA,MAAAD,UAAAE,EAN3B,WAAAC,CAAAC,G,yFAWSC,KAAAC,SAA4BC,EAAQC,SAgBpCH,KAAAI,aAAe,GAkDfJ,KAAAK,WAAoCC,EAAWC,SAgB/CP,KAAAQ,eAAiB,GAcjBR,KAAAS,MAAyBP,EAAQK,OAAO,EAAG,EAAG,GAgB9CP,KAAAU,UAAY,GA2BZV,KAAAW,OAA0BC,EAAQC,cA2F1C,CAhOW,oBAAAC,GACRd,KAAKe,Y,CAeG,yBAAAC,GACRhB,KAAKiB,c,CAmBG,qBAAAC,GACRlB,KAAKmB,4B,CAeG,yBAAAC,GACRpB,KAAKqB,c,CAaG,sBAAAC,GACRtB,KAAKe,Y,CAeG,2BAAAQ,GACRvB,KAAKwB,gB,CAaG,iBAAAC,GACRzB,KAAKe,Y,CAeG,sBAAAW,GACR1B,KAAK2B,W,CAOG,mBAAAC,CACRC,EACAC,GAEA,IAAKC,EAAQC,QAAQH,EAAWC,GAAY,CAC1C9B,KAAKiC,eAAeC,M,EAad,iBAAAC,GACRnC,KAAKoC,gB,CAMG,qBAAAC,GACR,OAAO,K,CAGD,cAAAD,GACNpC,KAAKiB,eACLjB,KAAKqB,eACLrB,KAAKwB,iBACLxB,KAAK2B,YACL3B,KAAKe,Y,CAGC,YAAAE,GACNjB,KAAKC,SACHD,KAAKI,aAAakC,OAAS,EACvBtC,KAAKuC,UAAU,eAAgBvC,KAAKI,aAAcF,EAAQsC,UAC1DxC,KAAKC,Q,CAGL,YAAAoB,GACNrB,KAAKyC,SACHzC,KAAK0C,cAAgB,MAAQ1C,KAAK0C,aAAaJ,OAAS,EACpDtC,KAAKuC,UAAU,eAAgBvC,KAAK0C,aAAcC,EAAMH,UACxDxC,KAAKyC,SACXzC,KAAKmB,4B,CAGC,0BAAAA,GACNnB,KAAKK,WACHL,KAAKyC,UAAY,KACbnC,EAAWsC,UAAU5C,KAAKyC,UAC1BzC,KAAKK,U,CAGL,cAAAmB,GACNxB,KAAKK,WACHL,KAAKQ,eAAe8B,OAAS,EACzBtC,KAAKuC,UACH,iBACAvC,KAAKQ,eACLF,EAAWkC,UAEbxC,KAAKK,U,CAGL,SAAAsB,GACN3B,KAAKS,MACHT,KAAKU,UAAU4B,OAAS,EACpBtC,KAAKuC,UAAU,YAAavC,KAAKU,UAAWR,EAAQsC,UACpDxC,KAAKS,K,CAGL,UAAAM,GACNf,KAAKW,OAASC,EAAQiC,QAAQ7C,KAAKC,SAAUD,KAAKK,WAAYL,KAAKS,M,CAG7D,SAAA8B,CACNO,EACAC,EACAC,GAEA,IACE,OAAOA,EAAMD,E,CACb,MAAOE,GACPC,QAAQC,KAAK,qBAAqBL,sBAClC,MAAMG,C,EAOA,MAAAG,GACR,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
1
+ {"version":3,"names":["viewerDomGroupCss","ViewerDomGroup","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","position","Vector3","origin","positionJson","quaternion","Quaternion","create","quaternionJson","scale","scaleJson","matrix","Matrix4","makeIdentity","handlePositionChange","syncMatrix","handlePositionJsonChanged","syncPosition","handleRotationChanged","syncQuaternionWithRotation","handleRotationJsonChanged","syncRotation","handleQuaternionChange","handleQuaternionJsonChanged","syncQuaternion","handleScaleChange","handleScaleJsonChanged","syncScale","handleMatrixChanged","newMatrix","oldMatrix","Objects","isEqual","propertyChange","emit","componentWillLoad","syncProperties","componentShouldUpdate","length","parseJson","fromJson","rotation","rotationJson","Euler","fromEuler","makeTRS","propName","value","parse","e","console","warn","render","h","Host","key"],"sources":["src/components/viewer-dom-group/viewer-dom-group.css?tag=vertex-viewer-dom-group&encapsulation=scoped","src/components/viewer-dom-group/viewer-dom-group.tsx"],"sourcesContent":[":host {\n display: block;\n transform-style: preserve-3d;\n}\n","/* eslint-disable @typescript-eslint/member-ordering */\n\nimport {\n Component,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { Euler, Matrix4, Quaternion, Vector3 } from '@vertexvis/geometry';\nimport { Objects } from '@vertexvis/utils';\n\nimport { HTMLDomRendererPositionableElement } from '../../interfaces';\n\n@Component({\n tag: 'vertex-viewer-dom-group',\n styleUrl: 'viewer-dom-group.css',\n shadow: false,\n scoped: true,\n})\nexport class ViewerDomGroup implements HTMLDomRendererPositionableElement {\n /**\n * The local 3D position of where this element is located.\n */\n @Prop({ mutable: true, attribute: null })\n public position: Vector3.Vector3 = Vector3.origin();\n\n /**\n * @ignore\n */\n @Watch('position')\n protected handlePositionChange(): void {\n this.syncMatrix();\n }\n\n /**\n * The local 3D position of where this element is located, as a JSON string.\n * JSON representation can either be in the format of `[x, y, z]` or `{\"x\": 0,\n * \"y\": 0, \"z\": 0}`.\n */\n @Prop({ attribute: 'position' })\n public positionJson = '';\n\n /**\n * @ignore\n */\n @Watch('positionJson')\n protected handlePositionJsonChanged(): void {\n this.syncPosition();\n }\n\n /**\n * An event that is emitted when any property on the dom group changes\n */\n @Event({ bubbles: true })\n public propertyChange!: EventEmitter<void>;\n\n /**\n * The local rotation of this element in Euler angles.\n */\n @Prop({ mutable: true, attribute: null })\n public rotation?: Euler.Euler;\n\n /**\n * @ignore\n */\n @Watch('rotation')\n protected handleRotationChanged(): void {\n this.syncQuaternionWithRotation();\n }\n\n /**\n * The local rotation of this element in Euler angles, as a JSON string. JSON\n * representation can either be `[x, y, z, order]` or `{\"x\": 0, \"y\": 0, \"z\":\n * 0, \"order\": \"xyz\"}`.\n */\n @Prop({ attribute: 'rotation' })\n public rotationJson?: string;\n\n /**\n * @ignore\n */\n @Watch('rotationJson')\n protected handleRotationJsonChanged(): void {\n this.syncRotation();\n }\n\n /**\n * The local rotation of this element.\n */\n @Prop({ mutable: true, attribute: null })\n public quaternion: Quaternion.Quaternion = Quaternion.create();\n\n /**\n * @ignore\n */\n @Watch('quaternion')\n protected handleQuaternionChange(): void {\n this.syncMatrix();\n }\n\n /**\n * The local rotation of this element, as a JSON string. JSON\n * representation can either be `[x, y, z, w]` or `{\"x\": 0, \"y\": 0, \"z\":\n * 0, \"w\": 1}`.\n */\n @Prop({ attribute: 'quaternion' })\n public quaternionJson = '';\n\n /**\n * @ignore\n */\n @Watch('quaternionJson')\n protected handleQuaternionJsonChanged(): void {\n this.syncQuaternion();\n }\n\n /**\n * The local scale of this element.\n */\n @Prop({ mutable: true, attribute: null })\n public scale: Vector3.Vector3 = Vector3.create(1, 1, 1);\n\n /**\n * @ignore\n */\n @Watch('scale')\n protected handleScaleChange(): void {\n this.syncMatrix();\n }\n\n /**\n * The local scale of this element, as a JSON string. JSON string\n * representation can either be in the format of `[x, y, z]` or `{\"x\": 0, \"y\":\n * 0, \"z\": 0}`.\n */\n @Prop({ attribute: 'scale' })\n public scaleJson = '';\n\n /**\n * @ignore\n */\n @Watch('scaleJson')\n protected handleScaleJsonChanged(): void {\n this.syncScale();\n }\n\n /**\n * @ignore\n */\n @Watch('matrix')\n protected handleMatrixChanged(\n newMatrix: Matrix4.Matrix4,\n oldMatrix: Matrix4.Matrix4,\n ): void {\n if (!Objects.isEqual(newMatrix, oldMatrix)) {\n this.propertyChange.emit();\n }\n }\n\n /**\n * The local matrix of this element.\n */\n @Prop({ mutable: true, attribute: null })\n public matrix: Matrix4.Matrix4 = Matrix4.makeIdentity();\n\n /**\n * @ignore\n */\n protected componentWillLoad(): void {\n this.syncProperties();\n }\n\n /**\n * @ignore\n */\n protected componentShouldUpdate(): boolean {\n return false;\n }\n\n private syncProperties(): void {\n this.syncPosition();\n this.syncRotation();\n this.syncQuaternion();\n this.syncScale();\n this.syncMatrix();\n }\n\n private syncPosition(): void {\n this.position =\n this.positionJson.length > 0\n ? this.parseJson('positionJson', this.positionJson, Vector3.fromJson)\n : this.position;\n }\n\n private syncRotation(): void {\n this.rotation =\n this.rotationJson != null && this.rotationJson.length > 0\n ? this.parseJson('rotationJson', this.rotationJson, Euler.fromJson)\n : this.rotation;\n this.syncQuaternionWithRotation();\n }\n\n private syncQuaternionWithRotation(): void {\n this.quaternion =\n this.rotation != null\n ? Quaternion.fromEuler(this.rotation)\n : this.quaternion;\n }\n\n private syncQuaternion(): void {\n this.quaternion =\n this.quaternionJson.length > 0\n ? this.parseJson(\n 'quaternionJson',\n this.quaternionJson,\n Quaternion.fromJson,\n )\n : this.quaternion;\n }\n\n private syncScale(): void {\n this.scale =\n this.scaleJson.length > 0\n ? this.parseJson('scaleJson', this.scaleJson, Vector3.fromJson)\n : this.scale;\n }\n\n private syncMatrix(): void {\n this.matrix = Matrix4.makeTRS(this.position, this.quaternion, this.scale);\n }\n\n private parseJson<T>(\n propName: string,\n value: string,\n parse: (str: string) => T,\n ): T {\n try {\n return parse(value);\n } catch (e) {\n console.warn(`Could not parse \\`${propName}\\`. Invalid JSON.`);\n throw e;\n }\n }\n\n /**\n * @ignore\n */\n protected render(): h.JSX.IntrinsicElements {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":";;;oKAAA,MAAMA,EAAoB,IAAM,2E,MCsBnBC,EAAcC,EAAA,MAAAD,UAAAE,EAN3B,WAAAC,CAAAC,G,yFAWSC,KAAAC,SAA4BC,EAAQC,SAgBpCH,KAAAI,aAAe,GAkDfJ,KAAAK,WAAoCC,EAAWC,SAgB/CP,KAAAQ,eAAiB,GAcjBR,KAAAS,MAAyBP,EAAQK,OAAO,EAAG,EAAG,GAgB9CP,KAAAU,UAAY,GA2BZV,KAAAW,OAA0BC,EAAQC,cA2F1C,CAhOW,oBAAAC,GACRd,KAAKe,Y,CAeG,yBAAAC,GACRhB,KAAKiB,c,CAmBG,qBAAAC,GACRlB,KAAKmB,4B,CAeG,yBAAAC,GACRpB,KAAKqB,c,CAaG,sBAAAC,GACRtB,KAAKe,Y,CAeG,2BAAAQ,GACRvB,KAAKwB,gB,CAaG,iBAAAC,GACRzB,KAAKe,Y,CAeG,sBAAAW,GACR1B,KAAK2B,W,CAOG,mBAAAC,CACRC,EACAC,GAEA,IAAKC,EAAQC,QAAQH,EAAWC,GAAY,CAC1C9B,KAAKiC,eAAeC,M,EAad,iBAAAC,GACRnC,KAAKoC,gB,CAMG,qBAAAC,GACR,OAAO,K,CAGD,cAAAD,GACNpC,KAAKiB,eACLjB,KAAKqB,eACLrB,KAAKwB,iBACLxB,KAAK2B,YACL3B,KAAKe,Y,CAGC,YAAAE,GACNjB,KAAKC,SACHD,KAAKI,aAAakC,OAAS,EACvBtC,KAAKuC,UAAU,eAAgBvC,KAAKI,aAAcF,EAAQsC,UAC1DxC,KAAKC,Q,CAGL,YAAAoB,GACNrB,KAAKyC,SACHzC,KAAK0C,cAAgB,MAAQ1C,KAAK0C,aAAaJ,OAAS,EACpDtC,KAAKuC,UAAU,eAAgBvC,KAAK0C,aAAcC,EAAMH,UACxDxC,KAAKyC,SACXzC,KAAKmB,4B,CAGC,0BAAAA,GACNnB,KAAKK,WACHL,KAAKyC,UAAY,KACbnC,EAAWsC,UAAU5C,KAAKyC,UAC1BzC,KAAKK,U,CAGL,cAAAmB,GACNxB,KAAKK,WACHL,KAAKQ,eAAe8B,OAAS,EACzBtC,KAAKuC,UACH,iBACAvC,KAAKQ,eACLF,EAAWkC,UAEbxC,KAAKK,U,CAGL,SAAAsB,GACN3B,KAAKS,MACHT,KAAKU,UAAU4B,OAAS,EACpBtC,KAAKuC,UAAU,YAAavC,KAAKU,UAAWR,EAAQsC,UACpDxC,KAAKS,K,CAGL,UAAAM,GACNf,KAAKW,OAASC,EAAQiC,QAAQ7C,KAAKC,SAAUD,KAAKK,WAAYL,KAAKS,M,CAG7D,SAAA8B,CACNO,EACAC,EACAC,GAEA,IACE,OAAOA,EAAMD,E,CACb,MAAOE,GACPC,QAAQC,KAAK,qBAAqBL,sBAClC,MAAMG,C,EAOA,MAAAG,GACR,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,6C","ignoreList":[]}