@vertexvis/viewer 0.13.1 → 0.13.2-canary.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/dist/cjs/{browser.esm-31b03292.js → browser.esm-c51162f8.js} +1 -1
  2. package/dist/cjs/{bundle.esm-dc0a8361.js → bundle.esm-1b8b1f36.js} +34 -0
  3. package/dist/cjs/{config-90ee43d5.js → config-91efd353.js} +2 -2
  4. package/dist/cjs/{cursors-ad2fd395.js → cursors-14827f58.js} +1 -1
  5. package/dist/cjs/{dom-dd265f48.js → dom-c697cf99.js} +1 -1
  6. package/dist/cjs/{entities-aa59890e.js → entities-0829b4a4.js} +3 -3
  7. package/dist/cjs/index.cjs.js +13 -12
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/{mapper-f6e6cafe.js → mapper-67af470b.js} +2 -2
  10. package/dist/cjs/{markup-fb1553b1.js → markup-835f2e83.js} +2 -2
  11. package/dist/cjs/{measurement-aba1e0e8.js → measurement-8e0ce89a.js} +2 -2
  12. package/dist/cjs/{model-4ec0c36e.js → model-78241d4f.js} +1 -1
  13. package/dist/cjs/{overlays-40c6cbc7.js → overlays-06786e52.js} +2 -2
  14. package/dist/cjs/{png-decoder-27d25eed.js → png-decoder-01b76242.js} +1 -1
  15. package/dist/cjs/{results-bc325974.js → results-7a694238.js} +1 -1
  16. package/dist/cjs/{scene-d420fd26.js → scene-23535fc0.js} +176 -85
  17. package/dist/cjs/{streamAttributes-d6236448.js → streamAttributes-f13c1a96.js} +1431 -41
  18. package/dist/cjs/{utils-f80be307.js → utils-4a02e54b.js} +1 -1
  19. package/dist/cjs/{utils-545b1865.js → utils-5cc32a26.js} +1 -1
  20. package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +1 -1
  21. package/dist/cjs/vertex-scene-tree.cjs.entry.js +4 -4
  22. package/dist/cjs/vertex-viewer-dom-element_3.cjs.entry.js +4 -4
  23. package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +3 -3
  24. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +4 -4
  25. package/dist/cjs/vertex-viewer-markup.cjs.entry.js +4 -4
  26. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +3 -3
  27. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +11 -11
  28. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +6 -6
  29. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +10 -10
  30. package/dist/cjs/vertex-viewer-measurement-tool.cjs.entry.js +5 -5
  31. package/dist/cjs/vertex-viewer-measurements.cjs.entry.js +8 -8
  32. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +3 -3
  33. package/dist/cjs/vertex-viewer.cjs.entry.js +198 -79
  34. package/dist/cjs/viewer.cjs.js +1 -1
  35. package/dist/cjs/{viewport-8c39089f.js → viewport-052809c7.js} +1 -1
  36. package/dist/collection/components/viewer/viewer.js +68 -4
  37. package/dist/collection/components/viewer-dom-renderer/renderer2d.js +1 -1
  38. package/dist/collection/components/viewer-dom-renderer/renderer3d.js +1 -1
  39. package/dist/collection/components/viewer-dom-renderer/viewer-dom-renderer.js +3 -3
  40. package/dist/collection/components/viewer-measurement-distance/viewer-measurement-distance.js +3 -3
  41. package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.js +3 -3
  42. package/dist/collection/index.js +2 -2
  43. package/dist/collection/lib/errors.js +8 -1
  44. package/dist/collection/lib/interactions/index.js +3 -1
  45. package/dist/collection/lib/interactions/interactionApi.js +4 -25
  46. package/dist/collection/lib/interactions/interactionApiOrthographic.js +50 -0
  47. package/dist/collection/lib/interactions/interactionApiPerspective.js +50 -0
  48. package/dist/collection/lib/mappers/frameStreaming.js +27 -5
  49. package/dist/collection/lib/rendering/matrices.js +13 -4
  50. package/dist/collection/lib/scenes/__mocks__/mocks.js +2 -2
  51. package/dist/collection/lib/scenes/camera.js +149 -77
  52. package/dist/collection/lib/scenes/mapper.js +3 -2
  53. package/dist/collection/lib/scenes/scene.js +23 -9
  54. package/dist/collection/lib/types/clippingPlanes.js +54 -17
  55. package/dist/collection/lib/types/depthBuffer.js +1 -1
  56. package/dist/collection/lib/types/frame.js +88 -23
  57. package/dist/collection/lib/types/frameCamera.js +81 -6
  58. package/dist/collection/lib/types/viewport.js +1 -1
  59. package/dist/collection/testing/fixtures.js +23 -10
  60. package/dist/collection/testing/viewer.js +5 -3
  61. package/dist/custom-elements/index.js +1821 -194
  62. package/dist/esm/{browser.esm-59e914f6.js → browser.esm-48f051a3.js} +1 -1
  63. package/dist/esm/{bundle.esm-d899b2d5.js → bundle.esm-df3a8a42.js} +35 -1
  64. package/dist/esm/{config-604c644e.js → config-3a5d3ea3.js} +2 -2
  65. package/dist/esm/{cursors-a7ec4adb.js → cursors-45f23dfe.js} +1 -1
  66. package/dist/esm/{dom-780d25be.js → dom-18d9ac79.js} +1 -1
  67. package/dist/esm/{entities-759d97cd.js → entities-60dfd79d.js} +3 -3
  68. package/dist/esm/index.js +12 -12
  69. package/dist/esm/index.mjs +12 -12
  70. package/dist/esm/loader.js +1 -1
  71. package/dist/esm/loader.mjs +1 -1
  72. package/dist/esm/{mapper-4b815e31.js → mapper-adf23dc4.js} +2 -2
  73. package/dist/esm/{markup-1d177b4a.js → markup-accb6b5c.js} +2 -2
  74. package/dist/esm/{measurement-12cdbf5c.js → measurement-6cd457a6.js} +2 -2
  75. package/dist/esm/{model-e5a4f00f.js → model-4982c15d.js} +1 -1
  76. package/dist/esm/{overlays-1919b192.js → overlays-1783a61a.js} +2 -2
  77. package/dist/esm/{png-decoder-3f1fa486.js → png-decoder-f35def4c.js} +1 -1
  78. package/dist/esm/{results-994bdb50.js → results-93d45acc.js} +1 -1
  79. package/dist/esm/{scene-2c2460d5.js → scene-2d8bdccc.js} +176 -85
  80. package/dist/esm/{streamAttributes-d623bb60.js → streamAttributes-87a3605c.js} +1426 -43
  81. package/dist/esm/{utils-5e57bf24.js → utils-9f4b25ec.js} +1 -1
  82. package/dist/esm/{utils-83a19677.js → utils-ed2346c0.js} +1 -1
  83. package/dist/esm/vertex-scene-tree-search_3.entry.js +1 -1
  84. package/dist/esm/vertex-scene-tree.entry.js +4 -4
  85. package/dist/esm/vertex-viewer-dom-element_3.entry.js +4 -4
  86. package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +3 -3
  87. package/dist/esm/vertex-viewer-markup-tool.entry.js +4 -4
  88. package/dist/esm/vertex-viewer-markup.entry.js +4 -4
  89. package/dist/esm/vertex-viewer-measurement-details.entry.js +3 -3
  90. package/dist/esm/vertex-viewer-measurement-distance.entry.js +11 -11
  91. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +6 -6
  92. package/dist/esm/vertex-viewer-measurement-precise.entry.js +10 -10
  93. package/dist/esm/vertex-viewer-measurement-tool.entry.js +5 -5
  94. package/dist/esm/vertex-viewer-measurements.entry.js +8 -8
  95. package/dist/esm/vertex-viewer-view-cube.entry.js +3 -3
  96. package/dist/esm/vertex-viewer.entry.js +198 -79
  97. package/dist/esm/viewer.js +1 -1
  98. package/dist/esm/{viewport-01c886ea.js → viewport-6d4c0af0.js} +1 -1
  99. package/dist/types/components/viewer/viewer.d.ts +8 -0
  100. package/dist/types/components/viewer-dom-renderer/renderer2d.d.ts +2 -2
  101. package/dist/types/components/viewer-dom-renderer/renderer3d.d.ts +3 -3
  102. package/dist/types/components/viewer-dom-renderer/viewer-dom-renderer.d.ts +2 -2
  103. package/dist/types/components/viewer-measurement-distance/utils.d.ts +2 -2
  104. package/dist/types/components/viewer-measurement-distance/viewer-measurement-distance.d.ts +2 -2
  105. package/dist/types/components/viewer-measurement-overlays/viewer-measurement-overlays-components.d.ts +2 -2
  106. package/dist/types/components/viewer-measurement-overlays/viewer-measurement-overlays.d.ts +2 -2
  107. package/dist/types/components.d.ts +15 -7
  108. package/dist/types/index.d.ts +1 -1
  109. package/dist/types/lib/errors.d.ts +3 -0
  110. package/dist/types/lib/interactions/index.d.ts +2 -0
  111. package/dist/types/lib/interactions/interactionApi.d.ts +20 -21
  112. package/dist/types/lib/interactions/interactionApiOrthographic.d.ts +21 -0
  113. package/dist/types/lib/interactions/interactionApiPerspective.d.ts +21 -0
  114. package/dist/types/lib/mappers/frameStreaming.d.ts +2 -0
  115. package/dist/types/lib/scenes/__mocks__/mocks.d.ts +2 -2
  116. package/dist/types/lib/scenes/camera.d.ts +100 -37
  117. package/dist/types/lib/scenes/scene.d.ts +1 -1
  118. package/dist/types/lib/types/clippingPlanes.d.ts +3 -1
  119. package/dist/types/lib/types/depthBuffer.d.ts +4 -4
  120. package/dist/types/lib/types/frame.d.ts +54 -11
  121. package/dist/types/lib/types/frameCamera.d.ts +21 -2
  122. package/dist/types/lib/types/viewport.d.ts +2 -3
  123. package/dist/types/testing/fixtures.d.ts +4 -2
  124. package/dist/viewer/index.esm.js +1 -1
  125. package/dist/viewer/{p-3f6ac74f.js → p-014561cd.js} +1 -1
  126. package/dist/viewer/p-121f2b40.js +18 -0
  127. package/dist/viewer/p-18ec4fed.js +4 -0
  128. package/dist/viewer/{p-e2297df2.entry.js → p-1acd0e56.entry.js} +1 -1
  129. package/dist/viewer/{p-da2f4a56.js → p-25dfee48.js} +1 -1
  130. package/dist/viewer/p-2e75198d.js +4 -0
  131. package/dist/viewer/p-38c06c25.js +4 -0
  132. package/dist/viewer/{p-67446e35.js → p-463151e0.js} +1 -1
  133. package/dist/viewer/{p-301660cf.js → p-546ae240.js} +1 -1
  134. package/dist/viewer/{p-d00e9203.js → p-6120a219.js} +1 -1
  135. package/dist/viewer/p-61db972b.js +4 -0
  136. package/dist/viewer/{p-a0df0e0c.js → p-6d9d3553.js} +1 -1
  137. package/dist/viewer/{p-f8d01b8a.entry.js → p-7c5bee8e.entry.js} +1 -1
  138. package/dist/viewer/{p-8decee06.entry.js → p-8de749a5.entry.js} +1 -1
  139. package/dist/viewer/{p-081e6873.js → p-8df35eee.js} +1 -1
  140. package/dist/viewer/{p-671c113c.entry.js → p-923b616f.entry.js} +1 -1
  141. package/dist/viewer/p-9b1ecc71.js +4 -0
  142. package/dist/viewer/{p-3810c24d.js → p-9fd5fc8e.js} +1 -1
  143. package/dist/viewer/p-b2d4c0cf.entry.js +4 -0
  144. package/dist/viewer/{p-364ce21c.js → p-b8bc15ec.js} +1 -1
  145. package/dist/viewer/{p-439220c6.js → p-b8f027eb.js} +1 -1
  146. package/dist/viewer/p-bc7f0ad6.entry.js +4 -0
  147. package/dist/viewer/{p-2cefb1b0.js → p-ce0fe8be.js} +1 -1
  148. package/dist/viewer/p-d939ecd3.entry.js +4 -0
  149. package/dist/viewer/{p-25eaab00.entry.js → p-de7eecce.entry.js} +1 -1
  150. package/dist/viewer/{p-4985fad5.js → p-e3fff448.js} +1 -1
  151. package/dist/viewer/{p-6e80f8b0.entry.js → p-e4934f47.entry.js} +1 -1
  152. package/dist/viewer/{p-df292b56.entry.js → p-e8f6cba6.entry.js} +1 -1
  153. package/dist/viewer/{p-353cfc7a.entry.js → p-ee86bed2.entry.js} +1 -1
  154. package/dist/viewer/{p-c62cb926.entry.js → p-f359a9ac.entry.js} +1 -1
  155. package/dist/viewer/{p-e07377fa.entry.js → p-fa7f2d0c.entry.js} +1 -1
  156. package/dist/viewer/{p-915d95ad.entry.js → p-ffde162f.entry.js} +1 -1
  157. package/dist/viewer/viewer.esm.js +1 -1
  158. package/package.json +8 -8
  159. package/dist/viewer/p-085e908a.js +0 -4
  160. package/dist/viewer/p-0aba71fd.js +0 -18
  161. package/dist/viewer/p-423410be.js +0 -4
  162. package/dist/viewer/p-432267bc.entry.js +0 -4
  163. package/dist/viewer/p-7cad9bf4.js +0 -4
  164. package/dist/viewer/p-d90f2f6d.entry.js +0 -4
  165. package/dist/viewer/p-f755af5a.entry.js +0 -4
  166. package/dist/viewer/p-f7cb7e59.js +0 -4
  167. package/dist/viewer/p-fe11d694.js +0 -4
@@ -72,5 +72,5 @@ const patchDynamicImport = (base, orgScriptElm) => {
72
72
 
73
73
  patchBrowser().then(options => {
74
74
  globalScripts();
75
- return bootstrapLazy([["vertex-viewer-default-toolbar",[[1,"vertex-viewer-default-toolbar",{"viewer":[16],"placement":[1],"direction":[1],"animationsDisabled":[4,"animations-disabled"],"animationMs":[2,"animation-ms"]}]]],["vertex-scene-tree",[[1,"vertex-scene-tree",{"overScanCount":[2,"over-scan-count"],"viewerSelector":[1,"viewer-selector"],"viewer":[1040],"rowData":[16],"config":[16],"configEnv":[1,"config-env"],"controller":[1040],"filterOnMetadata":[1028,"filter-on-metadata"],"metadataKeys":[16],"rows":[32],"totalRows":[32],"stateMap":[32],"connectionErrorDetails":[32],"attemptingRetry":[32],"invalidateRows":[64],"scrollToIndex":[64],"scrollToItem":[64],"expandAll":[64],"collapseAll":[64],"expandItem":[64],"collapseItem":[64],"toggleExpandItem":[64],"toggleItemVisibility":[64],"hideItem":[64],"showItem":[64],"selectItem":[64],"deselectItem":[64],"getRowAtIndex":[64],"getRowForEvent":[64],"getRowAtClientY":[64],"filterItems":[64],"fetchMetadataKeys":[64]},[[0,"search","handleSearch"]]]]],["vertex-viewer-measurement-tool",[[1,"vertex-viewer-measurement-tool",{"distanceTemplateId":[1,"distance-template-id"],"tool":[1],"units":[1],"fractionalDigits":[2,"fractional-digits"],"disabled":[4],"viewer":[16],"isMeasuring":[1540,"is-measuring"],"snapDistance":[2,"snap-distance"],"stateMap":[32]}]]],["vertex-viewer-markup",[[1,"vertex-viewer-markup",{"arrowTemplateId":[1,"arrow-template-id"],"circleTemplateId":[1,"circle-template-id"],"freeformTemplateId":[1,"freeform-template-id"],"tool":[1],"disabled":[4],"viewer":[16],"selectedMarkupId":[1025,"selected-markup-id"],"selectNew":[4,"select-new"],"toSelectMarkupId":[32],"pointerDownPosition":[32],"addMarkup":[64],"removeMarkup":[64],"getMarkupElements":[64],"getMarkupElement":[64]},[[0,"markupEnd","handleMarkupEnd"],[1,"pointerdown","handleMarkupPointerDown"]]]]],["vertex-viewer-markup-tool",[[1,"vertex-viewer-markup-tool",{"arrowTemplateId":[1,"arrow-template-id"],"circleTemplateId":[1,"circle-template-id"],"freeformTemplateId":[1,"freeform-template-id"],"tool":[1],"disabled":[4],"viewer":[16],"stateMap":[32],"reset":[64]}]]],["vertex-viewer-measurements",[[1,"vertex-viewer-measurements",{"distanceTemplateId":[1,"distance-template-id"],"tool":[1],"units":[1],"fractionalDigits":[2,"fractional-digits"],"disabled":[4],"viewer":[16],"selectedMeasurementId":[1025,"selected-measurement-id"],"snapDistance":[2,"snap-distance"],"showAxisReferenceLines":[4,"show-axis-reference-lines"],"measurementModel":[16],"addMeasurement":[64],"removeMeasurement":[64],"getMeasurementElement":[64],"getMeasurementElements":[64]},[[0,"measureEnd","handleMeasureEnd"],[1,"pointerdown","handleMeasurementPointerDown"]]]]],["vertex-viewer-view-cube",[[1,"vertex-viewer-view-cube",{"xPositiveLabel":[1,"x-positive-label"],"xNegativeLabel":[1,"x-negative-label"],"yPositiveLabel":[1,"y-positive-label"],"yNegativeLabel":[1,"y-negative-label"],"zPositiveLabel":[1,"z-positive-label"],"zNegativeLabel":[1,"z-negative-label"],"standardViewsOff":[4,"standard-views-off"],"animationDuration":[2,"animation-duration"],"triadOff":[4,"triad-off"],"worldOrientation":[1040],"camera":[1040],"viewer":[16],"boxLength":[32],"triadPosition":[32]}]]],["vertex-viewer-measurement-precise",[[1,"vertex-viewer-measurement-precise",{"measurementModel":[16],"measurementOverlays":[16],"measurementController":[1040],"measurableEntityTypes":[16],"viewer":[16],"configEnv":[1,"config-env"],"config":[16],"overlays":[32]}]]],["vertex-scene-tree-table-cell",[[1,"vertex-scene-tree-table-cell",{"node":[16],"tree":[16],"value":[1],"placeholder":[1],"hoveredNodeId":[1,"hovered-node-id"],"expandToggle":[4,"expand-toggle"],"visibilityToggle":[4,"visibility-toggle"],"interactionsDisabled":[4,"interactions-disabled"],"recurseParentSelectionDisabled":[4,"recurse-parent-selection-disabled"]}]]],["vertex-scene-tree-table-column",[[1,"vertex-scene-tree-table-column",{"initialWidth":[2,"initial-width"],"minWidth":[2,"min-width"],"maxWidth":[2,"max-width"]}]]],["vertex-scene-tree-table-header",[[1,"vertex-scene-tree-table-header"]]],["vertex-scene-tree-table-resize-divider",[[1,"vertex-scene-tree-table-resize-divider",{"dragging":[32]}]]],["vertex-scene-tree-toolbar-group",[[1,"vertex-scene-tree-toolbar-group"]]],["vertex-viewer",[[1,"vertex-viewer",{"src":[1],"clientId":[1,"client-id"],"deviceId":[1,"device-id"],"config":[1],"configEnv":[1,"config-env"],"resolvedConfig":[1040],"cameraControls":[4,"camera-controls"],"keyboardControls":[4,"keyboard-controls"],"rotateAroundTapPoint":[4,"rotate-around-tap-point"],"token":[1025],"depthBuffers":[1,"depth-buffers"],"experimentalGhostingOpacity":[2,"experimental-ghosting-opacity"],"featureLines":[16],"featureHighlighting":[16],"featureMaps":[1,"feature-maps"],"selectionMaterial":[1,"selection-material"],"resizeDebounce":[2,"resize-debounce"],"frame":[1040],"stream":[1040],"stencilBuffer":[1040],"viewport":[1040],"dimensions":[32],"hostDimensions":[32],"errorMessage":[32],"cursor":[32],"stateMap":[32],"dispatchFrameDrawn":[64],"registerInteractionHandler":[64],"registerTapKeyInteraction":[64],"getInteractionTarget":[64],"addCursor":[64],"getInteractionHandlers":[64],"getBaseInteractionHandler":[64],"getJwt":[64],"load":[64],"unload":[64],"scene":[64],"isSceneReady":[64]},[[0,"tap","handleTapEvent"]]]]],["vertex-viewer-measurement-details",[[1,"vertex-viewer-measurement-details",{"measurementModel":[16],"measurementOverlays":[16],"measurementOutcome":[1040],"distanceUnits":[1,"distance-units"],"angleUnits":[1,"angle-units"],"fractionalDigits":[2,"fractional-digits"],"distanceFormatter":[16],"angleFormatter":[16],"areaFormatter":[16],"resultTypes":[16],"overlay":[32],"distanceMeasurementUnits":[32],"angleMeasurementUnits":[32],"areaMeasurementUnits":[32]}]]],["vertex-viewer-measurement-distance",[[1,"vertex-viewer-measurement-distance",{"start":[1040],"startJson":[1,"start-json"],"end":[1040],"endJson":[1,"end-json"],"distance":[1026],"showAxisReferenceLines":[4,"show-axis-reference-lines"],"snapDistance":[2,"snap-distance"],"units":[1],"fractionalDigits":[2,"fractional-digits"],"labelFormatter":[16],"anchorLabelOffset":[2,"anchor-label-offset"],"lineCapLength":[2,"line-cap-length"],"mode":[513],"interactingAnchor":[1537,"interacting-anchor"],"invalid":[1540],"camera":[16],"hitProvider":[16],"indicatorPt":[1040],"viewer":[16],"measurementModel":[16],"viewport":[32],"elementBounds":[32],"interactionCount":[32],"internalCamera":[32],"invalidateStateCounter":[32],"stateMap":[32],"measurementUnits":[32],"computeElementMetrics":[64]}]]],["vertex-scene-tree-search_3",[[1,"vertex-scene-tree-search",{"debounce":[2],"disabled":[4],"placeholder":[1],"value":[1025],"focused":[32],"setFocus":[64]}],[1,"vertex-scene-tree-table-layout",{"tree":[16],"controller":[16],"rows":[16],"totalRows":[2,"total-rows"],"rowHeight":[1026,"row-height"],"overScanCount":[2,"over-scan-count"],"rowData":[16],"layoutOffset":[1026,"layout-offset"],"scrollOffset":[1026,"scroll-offset"],"layoutHeight":[1026,"layout-height"],"layoutWidth":[1026,"layout-width"],"viewportStartIndex":[1026,"viewport-start-index"],"viewportEndIndex":[1026,"viewport-end-index"],"columnGridLayout":[32],"columnGridFixedLayout":[32],"hoveredNodeId":[32],"isComputingCellHeight":[32],"lastDividerPointerPosition":[32],"resizingColumnIndex":[32],"stateMap":[32],"scrollToPosition":[64]}],[1,"vertex-scene-tree-toolbar"]]],["vertex-viewer-button_3",[[1,"vertex-viewer-toolbar",{"placement":[1],"direction":[1]}],[1,"vertex-viewer-button"],[1,"vertex-viewer-toolbar-group",{"direction":[1]}]]],["vertex-viewer-dom-element_3",[[1,"vertex-viewer-dom-element",{"position":[1040],"positionJson":[1,"position"],"rotation":[1040],"rotationJson":[1,"rotation"],"quaternion":[1040],"quaternionJson":[1,"quaternion"],"scale":[1040],"scaleJson":[1,"scale"],"matrix":[1040],"occlusionOff":[4,"occlusion-off"],"occluded":[516],"billboardOff":[4,"billboard-off"],"interactionsOff":[516,"interactions-off"]}],[1,"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]}],[1,"vertex-viewer-dom-renderer",{"drawMode":[1,"draw-mode"],"viewer":[16],"camera":[1040],"depthBuffer":[1040],"viewport":[32],"invalidateFrameCounter":[32]},[[0,"propertyChange","handlePropertyChange"]]]]],["vertex-viewer-icon",[[1,"vertex-viewer-icon",{"name":[1],"size":[1]}]]],["vertex-viewer-layer",[[1,"vertex-viewer-layer",{"stretchOff":[516,"stretch-off"]}]]],["vertex-viewer-markup-arrow_3",[[1,"vertex-viewer-markup-arrow",{"start":[1040],"startJson":[1,"start"],"end":[1040],"endJson":[1,"end"],"mode":[513],"viewer":[16],"elementBounds":[32],"editAnchor":[32],"dispose":[64]}],[1,"vertex-viewer-markup-circle",{"bounds":[1040],"boundsJson":[1,"bounds"],"mode":[513],"viewer":[16],"elementBounds":[32],"startPosition":[32],"editAnchor":[32],"resizeBounds":[32],"dispose":[64]}],[1,"vertex-viewer-markup-freeform",{"points":[1040],"pointsJson":[1,"points"],"bounds":[1040],"boundsJson":[1,"bounds"],"mode":[513],"viewer":[16],"elementBounds":[32],"resizeStartPosition":[32],"editAnchor":[32],"resizeBounds":[32],"resizePoints":[32],"screenPoints":[32],"dispose":[64]}]]],["vertex-viewer-measurement-line_2",[[1,"vertex-viewer-measurement-overlays",{"measurementOverlays":[16],"camera":[1040],"viewer":[16],"overlays":[32]}],[1,"vertex-viewer-measurement-line",{"start":[16],"end":[16],"capLength":[2,"cap-length"],"pointerEvents":[1,"pointer-events"]}]]]], options);
75
+ return bootstrapLazy([["vertex-viewer-default-toolbar",[[1,"vertex-viewer-default-toolbar",{"viewer":[16],"placement":[1],"direction":[1],"animationsDisabled":[4,"animations-disabled"],"animationMs":[2,"animation-ms"]}]]],["vertex-scene-tree",[[1,"vertex-scene-tree",{"overScanCount":[2,"over-scan-count"],"viewerSelector":[1,"viewer-selector"],"viewer":[1040],"rowData":[16],"config":[16],"configEnv":[1,"config-env"],"controller":[1040],"filterOnMetadata":[1028,"filter-on-metadata"],"metadataKeys":[16],"rows":[32],"totalRows":[32],"stateMap":[32],"connectionErrorDetails":[32],"attemptingRetry":[32],"invalidateRows":[64],"scrollToIndex":[64],"scrollToItem":[64],"expandAll":[64],"collapseAll":[64],"expandItem":[64],"collapseItem":[64],"toggleExpandItem":[64],"toggleItemVisibility":[64],"hideItem":[64],"showItem":[64],"selectItem":[64],"deselectItem":[64],"getRowAtIndex":[64],"getRowForEvent":[64],"getRowAtClientY":[64],"filterItems":[64],"fetchMetadataKeys":[64]},[[0,"search","handleSearch"]]]]],["vertex-viewer-measurement-tool",[[1,"vertex-viewer-measurement-tool",{"distanceTemplateId":[1,"distance-template-id"],"tool":[1],"units":[1],"fractionalDigits":[2,"fractional-digits"],"disabled":[4],"viewer":[16],"isMeasuring":[1540,"is-measuring"],"snapDistance":[2,"snap-distance"],"stateMap":[32]}]]],["vertex-viewer-markup",[[1,"vertex-viewer-markup",{"arrowTemplateId":[1,"arrow-template-id"],"circleTemplateId":[1,"circle-template-id"],"freeformTemplateId":[1,"freeform-template-id"],"tool":[1],"disabled":[4],"viewer":[16],"selectedMarkupId":[1025,"selected-markup-id"],"selectNew":[4,"select-new"],"toSelectMarkupId":[32],"pointerDownPosition":[32],"addMarkup":[64],"removeMarkup":[64],"getMarkupElements":[64],"getMarkupElement":[64]},[[0,"markupEnd","handleMarkupEnd"],[1,"pointerdown","handleMarkupPointerDown"]]]]],["vertex-viewer-markup-tool",[[1,"vertex-viewer-markup-tool",{"arrowTemplateId":[1,"arrow-template-id"],"circleTemplateId":[1,"circle-template-id"],"freeformTemplateId":[1,"freeform-template-id"],"tool":[1],"disabled":[4],"viewer":[16],"stateMap":[32],"reset":[64]}]]],["vertex-viewer-measurements",[[1,"vertex-viewer-measurements",{"distanceTemplateId":[1,"distance-template-id"],"tool":[1],"units":[1],"fractionalDigits":[2,"fractional-digits"],"disabled":[4],"viewer":[16],"selectedMeasurementId":[1025,"selected-measurement-id"],"snapDistance":[2,"snap-distance"],"showAxisReferenceLines":[4,"show-axis-reference-lines"],"measurementModel":[16],"addMeasurement":[64],"removeMeasurement":[64],"getMeasurementElement":[64],"getMeasurementElements":[64]},[[0,"measureEnd","handleMeasureEnd"],[1,"pointerdown","handleMeasurementPointerDown"]]]]],["vertex-viewer-view-cube",[[1,"vertex-viewer-view-cube",{"xPositiveLabel":[1,"x-positive-label"],"xNegativeLabel":[1,"x-negative-label"],"yPositiveLabel":[1,"y-positive-label"],"yNegativeLabel":[1,"y-negative-label"],"zPositiveLabel":[1,"z-positive-label"],"zNegativeLabel":[1,"z-negative-label"],"standardViewsOff":[4,"standard-views-off"],"animationDuration":[2,"animation-duration"],"triadOff":[4,"triad-off"],"worldOrientation":[1040],"camera":[1040],"viewer":[16],"boxLength":[32],"triadPosition":[32]}]]],["vertex-viewer-measurement-precise",[[1,"vertex-viewer-measurement-precise",{"measurementModel":[16],"measurementOverlays":[16],"measurementController":[1040],"measurableEntityTypes":[16],"viewer":[16],"configEnv":[1,"config-env"],"config":[16],"overlays":[32]}]]],["vertex-scene-tree-table-cell",[[1,"vertex-scene-tree-table-cell",{"node":[16],"tree":[16],"value":[1],"placeholder":[1],"hoveredNodeId":[1,"hovered-node-id"],"expandToggle":[4,"expand-toggle"],"visibilityToggle":[4,"visibility-toggle"],"interactionsDisabled":[4,"interactions-disabled"],"recurseParentSelectionDisabled":[4,"recurse-parent-selection-disabled"]}]]],["vertex-scene-tree-table-column",[[1,"vertex-scene-tree-table-column",{"initialWidth":[2,"initial-width"],"minWidth":[2,"min-width"],"maxWidth":[2,"max-width"]}]]],["vertex-scene-tree-table-header",[[1,"vertex-scene-tree-table-header"]]],["vertex-scene-tree-table-resize-divider",[[1,"vertex-scene-tree-table-resize-divider",{"dragging":[32]}]]],["vertex-scene-tree-toolbar-group",[[1,"vertex-scene-tree-toolbar-group"]]],["vertex-viewer",[[1,"vertex-viewer",{"src":[1],"clientId":[1,"client-id"],"deviceId":[1,"device-id"],"config":[1],"configEnv":[1,"config-env"],"resolvedConfig":[1040],"cameraControls":[4,"camera-controls"],"cameraType":[1,"camera-type"],"keyboardControls":[4,"keyboard-controls"],"rotateAroundTapPoint":[4,"rotate-around-tap-point"],"token":[1025],"depthBuffers":[1,"depth-buffers"],"experimentalGhostingOpacity":[2,"experimental-ghosting-opacity"],"featureLines":[16],"featureHighlighting":[16],"featureMaps":[1,"feature-maps"],"selectionMaterial":[1,"selection-material"],"resizeDebounce":[2,"resize-debounce"],"frame":[1040],"stream":[1040],"stencilBuffer":[1040],"viewport":[1040],"dimensions":[32],"hostDimensions":[32],"errorMessage":[32],"cursor":[32],"stateMap":[32],"dispatchFrameDrawn":[64],"registerInteractionHandler":[64],"registerTapKeyInteraction":[64],"getInteractionTarget":[64],"addCursor":[64],"getInteractionHandlers":[64],"getBaseInteractionHandler":[64],"getJwt":[64],"load":[64],"unload":[64],"scene":[64],"isSceneReady":[64]},[[0,"tap","handleTapEvent"]]]]],["vertex-viewer-measurement-details",[[1,"vertex-viewer-measurement-details",{"measurementModel":[16],"measurementOverlays":[16],"measurementOutcome":[1040],"distanceUnits":[1,"distance-units"],"angleUnits":[1,"angle-units"],"fractionalDigits":[2,"fractional-digits"],"distanceFormatter":[16],"angleFormatter":[16],"areaFormatter":[16],"resultTypes":[16],"overlay":[32],"distanceMeasurementUnits":[32],"angleMeasurementUnits":[32],"areaMeasurementUnits":[32]}]]],["vertex-viewer-measurement-distance",[[1,"vertex-viewer-measurement-distance",{"start":[1040],"startJson":[1,"start-json"],"end":[1040],"endJson":[1,"end-json"],"distance":[1026],"showAxisReferenceLines":[4,"show-axis-reference-lines"],"snapDistance":[2,"snap-distance"],"units":[1],"fractionalDigits":[2,"fractional-digits"],"labelFormatter":[16],"anchorLabelOffset":[2,"anchor-label-offset"],"lineCapLength":[2,"line-cap-length"],"mode":[513],"interactingAnchor":[1537,"interacting-anchor"],"invalid":[1540],"camera":[16],"hitProvider":[16],"indicatorPt":[1040],"viewer":[16],"measurementModel":[16],"viewport":[32],"elementBounds":[32],"interactionCount":[32],"internalCamera":[32],"invalidateStateCounter":[32],"stateMap":[32],"measurementUnits":[32],"computeElementMetrics":[64]}]]],["vertex-scene-tree-search_3",[[1,"vertex-scene-tree-search",{"debounce":[2],"disabled":[4],"placeholder":[1],"value":[1025],"focused":[32],"setFocus":[64]}],[1,"vertex-scene-tree-table-layout",{"tree":[16],"controller":[16],"rows":[16],"totalRows":[2,"total-rows"],"rowHeight":[1026,"row-height"],"overScanCount":[2,"over-scan-count"],"rowData":[16],"layoutOffset":[1026,"layout-offset"],"scrollOffset":[1026,"scroll-offset"],"layoutHeight":[1026,"layout-height"],"layoutWidth":[1026,"layout-width"],"viewportStartIndex":[1026,"viewport-start-index"],"viewportEndIndex":[1026,"viewport-end-index"],"columnGridLayout":[32],"columnGridFixedLayout":[32],"hoveredNodeId":[32],"isComputingCellHeight":[32],"lastDividerPointerPosition":[32],"resizingColumnIndex":[32],"stateMap":[32],"scrollToPosition":[64]}],[1,"vertex-scene-tree-toolbar"]]],["vertex-viewer-button_3",[[1,"vertex-viewer-toolbar",{"placement":[1],"direction":[1]}],[1,"vertex-viewer-button"],[1,"vertex-viewer-toolbar-group",{"direction":[1]}]]],["vertex-viewer-dom-element_3",[[1,"vertex-viewer-dom-element",{"position":[1040],"positionJson":[1,"position"],"rotation":[1040],"rotationJson":[1,"rotation"],"quaternion":[1040],"quaternionJson":[1,"quaternion"],"scale":[1040],"scaleJson":[1,"scale"],"matrix":[1040],"occlusionOff":[4,"occlusion-off"],"occluded":[516],"billboardOff":[4,"billboard-off"],"interactionsOff":[516,"interactions-off"]}],[1,"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]}],[1,"vertex-viewer-dom-renderer",{"drawMode":[1,"draw-mode"],"viewer":[16],"camera":[1040],"depthBuffer":[1040],"viewport":[32],"invalidateFrameCounter":[32]},[[0,"propertyChange","handlePropertyChange"]]]]],["vertex-viewer-icon",[[1,"vertex-viewer-icon",{"name":[1],"size":[1]}]]],["vertex-viewer-layer",[[1,"vertex-viewer-layer",{"stretchOff":[516,"stretch-off"]}]]],["vertex-viewer-markup-arrow_3",[[1,"vertex-viewer-markup-arrow",{"start":[1040],"startJson":[1,"start"],"end":[1040],"endJson":[1,"end"],"mode":[513],"viewer":[16],"elementBounds":[32],"editAnchor":[32],"dispose":[64]}],[1,"vertex-viewer-markup-circle",{"bounds":[1040],"boundsJson":[1,"bounds"],"mode":[513],"viewer":[16],"elementBounds":[32],"startPosition":[32],"editAnchor":[32],"resizeBounds":[32],"dispose":[64]}],[1,"vertex-viewer-markup-freeform",{"points":[1040],"pointsJson":[1,"points"],"bounds":[1040],"boundsJson":[1,"bounds"],"mode":[513],"viewer":[16],"elementBounds":[32],"resizeStartPosition":[32],"editAnchor":[32],"resizeBounds":[32],"resizePoints":[32],"screenPoints":[32],"dispose":[64]}]]],["vertex-viewer-measurement-line_2",[[1,"vertex-viewer-measurement-overlays",{"measurementOverlays":[16],"camera":[1040],"viewer":[16],"overlays":[32]}],[1,"vertex-viewer-measurement-line",{"start":[16],"end":[16],"capLength":[2,"cap-length"],"pointerEvents":[1,"pointer-events"]}]]]], options);
76
76
  });
@@ -1,7 +1,7 @@
1
1
  /**!
2
2
  * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import { d as dimensions, p as point, v as vector3, r as ray, g as rectangle } from './bundle.esm-d899b2d5.js';
4
+ import { d as dimensions, p as point, v as vector3, r as ray, h as rectangle } from './bundle.esm-df3a8a42.js';
5
5
 
6
6
  /**
7
7
  * A `Viewport` represents the drawing area in the viewer.
@@ -69,6 +69,11 @@ export declare class Viewer {
69
69
  * the viewer. Enabled by default.
70
70
  */
71
71
  cameraControls: boolean;
72
+ /**
73
+ * The type of camera model to represent the scene with. Can be either
74
+ * `perspective` or `orthographic`, and defaults to `perspective`.
75
+ */
76
+ cameraType: 'perspective' | 'orthographic';
72
77
  /**
73
78
  * Enables or disables the default keyboard shortcut interactions provided by
74
79
  * the viewer. Enabled by default, requires `cameraControls` being enabled.
@@ -372,6 +377,7 @@ export declare class Viewer {
372
377
  * @ignore
373
378
  */
374
379
  protected handleRotateAboutTapPointChanged(): void;
380
+ protected handleCameraTypeChanged(updatedCameraType: string, previousCameraType: string): void;
375
381
  /**
376
382
  * @ignore
377
383
  */
@@ -456,6 +462,8 @@ export declare class Viewer {
456
462
  private getStreamAttributes;
457
463
  private updateCanvasDimensions;
458
464
  private updateStreamAttributes;
465
+ private updateInteractionApi;
466
+ private updateCameraType;
459
467
  private getDepthBufferStreamAttributesValue;
460
468
  private updateResolvedConfig;
461
469
  private getResolvedConfig;
@@ -1,6 +1,6 @@
1
1
  import { FunctionalComponent } from '../../stencil-public-runtime';
2
2
  import { Matrix4 } from '@vertexvis/geometry';
3
3
  import { DepthBuffer, Viewport } from '../../lib/types';
4
- import { FramePerspectiveCamera } from '../../lib/types/frame';
4
+ import { FrameCameraWithMatrices } from '../../lib/types/frame';
5
5
  export declare const Renderer2d: FunctionalComponent;
6
- export declare function update2d(hostEl: HTMLElement, parentWorldMatrix: Matrix4.Matrix4, viewport: Viewport, camera: FramePerspectiveCamera, depthBuffer: DepthBuffer | undefined): void;
6
+ export declare function update2d(hostEl: HTMLElement, parentWorldMatrix: Matrix4.Matrix4, viewport: Viewport, camera: FrameCameraWithMatrices, depthBuffer: DepthBuffer | undefined): void;
@@ -1,11 +1,11 @@
1
1
  import { FunctionalComponent } from '../../stencil-public-runtime';
2
2
  import { Matrix4 } from '@vertexvis/geometry';
3
3
  import { DepthBuffer, Viewport } from '../../lib/types';
4
- import { FramePerspectiveCamera } from '../../lib/types/frame';
4
+ import { FrameCameraWithMatrices } from '../../lib/types/frame';
5
5
  interface Props {
6
- camera: FramePerspectiveCamera;
6
+ camera: FrameCameraWithMatrices;
7
7
  viewport: Viewport;
8
8
  }
9
9
  export declare const Renderer3d: FunctionalComponent<Props>;
10
- export declare function update3d(element: HTMLElement, parentWorldMatrix: Matrix4.Matrix4, viewport: Viewport, camera: FramePerspectiveCamera, depthBuffer: DepthBuffer | undefined): void;
10
+ export declare function update3d(element: HTMLElement, parentWorldMatrix: Matrix4.Matrix4, viewport: Viewport, camera: FrameCameraWithMatrices, depthBuffer: DepthBuffer | undefined): void;
11
11
  export {};
@@ -1,6 +1,6 @@
1
1
  import { h } from '../../stencil-public-runtime';
2
2
  import { DepthBuffer } from '../../lib/types';
3
- import { FramePerspectiveCamera } from '../../lib/types/frame';
3
+ import { FrameCameraBase } from '../../lib/types/frame';
4
4
  export declare type ViewerDomRendererDrawMode = '2d' | '3d';
5
5
  /**
6
6
  * The `ViewerDomRenderer` is responsible for managing a
@@ -27,7 +27,7 @@ export declare class ViewerDomRenderer {
27
27
  * This property will automatically be set when supplying a viewer to the
28
28
  * component, or when added as a child to `<vertex-viewer>`.
29
29
  */
30
- camera?: FramePerspectiveCamera;
30
+ camera?: FrameCameraBase;
31
31
  /**
32
32
  * The current depth buffer of the frame.
33
33
  *
@@ -1,5 +1,5 @@
1
1
  import { Line3, Point } from '@vertexvis/geometry';
2
- import { FramePerspectiveCamera, Viewport } from '../../lib/types';
2
+ import { FrameCameraBase, Viewport } from '../../lib/types';
3
3
  export declare type Anchor = 'start' | 'end';
4
4
  export interface MeasurementElementPositions {
5
5
  startPt?: Point.Point;
@@ -11,7 +11,7 @@ export interface MeasurementElementPositions {
11
11
  }
12
12
  export interface RenderParams {
13
13
  viewport: Viewport;
14
- camera: FramePerspectiveCamera;
14
+ camera: FrameCameraBase;
15
15
  }
16
16
  export declare function translateWorldLineToViewport(line: Line3.Line3, params: RenderParams): {
17
17
  start: Point.Point;
@@ -2,7 +2,7 @@ import { EventEmitter, h } from '../../stencil-public-runtime';
2
2
  import { Vector3 } from '@vertexvis/geometry';
3
3
  import { Formatter } from '../../lib/formatter';
4
4
  import { MeasurementModel } from '../../lib/measurement';
5
- import { DistanceUnitType, FramePerspectiveCamera } from '../../lib/types';
5
+ import { DistanceUnitType, FrameCameraBase } from '../../lib/types';
6
6
  import { PointToPointHitProvider } from './interactions';
7
7
  import { Anchor } from './utils';
8
8
  /**
@@ -138,7 +138,7 @@ export declare class ViewerMeasurementDistance {
138
138
  * The camera used to position the anchors. If `viewer` is defined, then the
139
139
  * projection view matrix of the viewer will be used.
140
140
  */
141
- camera?: FramePerspectiveCamera;
141
+ camera?: FrameCameraBase;
142
142
  /**
143
143
  * @internal
144
144
  */
@@ -1,10 +1,10 @@
1
1
  import { FunctionalComponent } from '../../stencil-public-runtime';
2
2
  import { MeasurementOverlay } from '../../lib/measurement';
3
- import { FramePerspectiveCamera, Viewport } from '../../lib/types';
3
+ import { FrameCameraBase, Viewport } from '../../lib/types';
4
4
  interface MeasurementOverlayViewProps<O extends MeasurementOverlay> {
5
5
  overlay: O;
6
6
  viewport: Viewport;
7
- camera: FramePerspectiveCamera;
7
+ camera: FrameCameraBase;
8
8
  }
9
9
  export declare const MeasurementOverlayView: FunctionalComponent<MeasurementOverlayViewProps<MeasurementOverlay>>;
10
10
  export {};
@@ -1,6 +1,6 @@
1
1
  import { h } from '../../stencil-public-runtime';
2
2
  import { MeasurementOverlayManager } from '../../lib/measurement';
3
- import { FramePerspectiveCamera } from '../../lib/types';
3
+ import { FrameCameraBase } from '../../lib/types';
4
4
  export declare class ViewerMeasurementOverlays {
5
5
  /**
6
6
  * The model that contains the overlays to present.
@@ -14,7 +14,7 @@ export declare class ViewerMeasurementOverlays {
14
14
  /**
15
15
  * @internal
16
16
  */
17
- camera?: FramePerspectiveCamera;
17
+ camera?: FrameCameraBase;
18
18
  /**
19
19
  * The viewer that this component is bound to.
20
20
  */
@@ -18,9 +18,9 @@ import { RowDataProvider as RowDataProvider1 } from "./components/scene-tree/sce
18
18
  import { DomScrollToOptions } from "./components/scene-tree-table-layout/lib/dom";
19
19
  import { FeatureHighlightOptions, FeatureLineOptions, FrameType } from "./interfaces";
20
20
  import { ColorMaterial } from "./lib/scenes/colorMaterial";
21
- import { Frame, FramePerspectiveCamera } from "./lib/types/frame";
21
+ import { Frame, FrameCameraBase } from "./lib/types/frame";
22
22
  import { ViewerStream } from "./lib/stream/stream";
23
- import { AngleUnitType, DepthBuffer, DistanceUnitType, EntityType, FramePerspectiveCamera as FramePerspectiveCamera1, Measurement, Orientation, StencilBufferManager, Viewport } from "./lib/types";
23
+ import { AngleUnitType, DepthBuffer, DistanceUnitType, EntityType, FrameCameraBase as FrameCameraBase1, FramePerspectiveCamera, Measurement, Orientation, StencilBufferManager, Viewport } from "./lib/types";
24
24
  import { TapEventDetails } from "./lib/interactions/tapEventDetails";
25
25
  import { ConnectionStatus } from "./components/viewer/viewer";
26
26
  import { Dimensions, Euler, Matrix4, Point, Quaternion, Rectangle, Vector3 } from "@vertexvis/geometry";
@@ -305,6 +305,10 @@ export namespace Components {
305
305
  * Enables or disables the default mouse and touch interactions provided by the viewer. Enabled by default.
306
306
  */
307
307
  "cameraControls": boolean;
308
+ /**
309
+ * The type of camera model to represent the scene with. Can be either `perspective` or `orthographic`, and defaults to `perspective`.
310
+ */
311
+ "cameraType": 'perspective' | 'orthographic';
308
312
  /**
309
313
  * The Client ID associated with your Vertex Application.
310
314
  */
@@ -542,7 +546,7 @@ export namespace Components {
542
546
  /**
543
547
  * The current camera of the frame. This property will automatically be set when supplying a viewer to the component, or when added as a child to `<vertex-viewer>`.
544
548
  */
545
- "camera"?: FramePerspectiveCamera;
549
+ "camera"?: FrameCameraBase;
546
550
  /**
547
551
  * The current depth buffer of the frame. This property will automatically be set when supplying a viewer to the component, or when added as a child to `<vertex-viewer>`.
548
552
  */
@@ -786,7 +790,7 @@ export namespace Components {
786
790
  /**
787
791
  * The camera used to position the anchors. If `viewer` is defined, then the projection view matrix of the viewer will be used.
788
792
  */
789
- "camera"?: FramePerspectiveCamera;
793
+ "camera"?: FrameCameraBase;
790
794
  /**
791
795
  * Computes the bounding boxes of the anchors and label. **Note:** invoking this function uses `getBoundingClientRect` internally and will cause a relayout of the DOM.
792
796
  */
@@ -877,7 +881,7 @@ export namespace Components {
877
881
  "start": Point.Point;
878
882
  }
879
883
  interface VertexViewerMeasurementOverlays {
880
- "camera"?: FramePerspectiveCamera;
884
+ "camera"?: FrameCameraBase;
881
885
  /**
882
886
  * The model that contains the overlays to present.
883
887
  */
@@ -1447,6 +1451,10 @@ declare namespace LocalJSX {
1447
1451
  * Enables or disables the default mouse and touch interactions provided by the viewer. Enabled by default.
1448
1452
  */
1449
1453
  "cameraControls"?: boolean;
1454
+ /**
1455
+ * The type of camera model to represent the scene with. Can be either `perspective` or `orthographic`, and defaults to `perspective`.
1456
+ */
1457
+ "cameraType"?: 'perspective' | 'orthographic';
1450
1458
  /**
1451
1459
  * The Client ID associated with your Vertex Application.
1452
1460
  */
@@ -1681,7 +1689,7 @@ declare namespace LocalJSX {
1681
1689
  /**
1682
1690
  * The current camera of the frame. This property will automatically be set when supplying a viewer to the component, or when added as a child to `<vertex-viewer>`.
1683
1691
  */
1684
- "camera"?: FramePerspectiveCamera;
1692
+ "camera"?: FrameCameraBase;
1685
1693
  /**
1686
1694
  * The current depth buffer of the frame. This property will automatically be set when supplying a viewer to the component, or when added as a child to `<vertex-viewer>`.
1687
1695
  */
@@ -1947,7 +1955,7 @@ declare namespace LocalJSX {
1947
1955
  /**
1948
1956
  * The camera used to position the anchors. If `viewer` is defined, then the projection view matrix of the viewer will be used.
1949
1957
  */
1950
- "camera"?: FramePerspectiveCamera;
1958
+ "camera"?: FrameCameraBase;
1951
1959
  /**
1952
1960
  * The distance between `start` and `end` in real world units. Value will be undefined if the start and end positions are undefined, or if the measurement is invalid.
1953
1961
  */
@@ -12,7 +12,7 @@ export * from './lib/interactions/interactionHandler';
12
12
  export * from './lib/interactions/keyInteraction';
13
13
  export * from './lib/measurement';
14
14
  export { Scene } from './lib/scenes';
15
- export { EntityType, LoadableResource, Frame as ReceivedFrame, FrameImage as ReceivedFrameImage, FrameScene as ReceivedFrameScene, FramePerspectiveCamera as ReceivedPerspectiveCamera, SynchronizedClock, Viewport, } from './lib/types';
15
+ export { EntityType, LoadableResource, Frame as ReceivedFrame, FrameImage as ReceivedFrameImage, FrameScene as ReceivedFrameScene, FrameOrthographicCamera as ReceivedOrthographicCamera, FramePerspectiveCamera as ReceivedPerspectiveCamera, SynchronizedClock, Viewport, } from './lib/types';
16
16
  export * from './lib/types/markup';
17
17
  export * from './lib/types/measurementUnits';
18
18
  import { TapEventDetails } from './lib/interactions/tapEventDetails';
@@ -43,3 +43,6 @@ export declare class NoImplementationFoundError extends CustomError {
43
43
  export declare class InvalidArgumentError extends CustomError {
44
44
  constructor(message: string, e?: Error);
45
45
  }
46
+ export declare class InvalidCameraError extends CustomError {
47
+ constructor(message: string, e?: Error);
48
+ }
@@ -3,6 +3,8 @@
3
3
  */
4
4
  export * from './flyToPartKeyInteraction';
5
5
  export * from './interactionApi';
6
+ export * from './interactionApiOrthographic';
7
+ export * from './interactionApiPerspective';
6
8
  export * from './interactionEvent';
7
9
  export * from './interactionHandler';
8
10
  export * from './interactionHandler';
@@ -8,33 +8,33 @@ import { Cursor, CursorManager } from '../cursors';
8
8
  import { Camera, Scene } from '../scenes';
9
9
  import { DepthBuffer, EntityType, Interactions, Viewport } from '../types';
10
10
  import { TapEventDetails, TapEventKeys } from './tapEventDetails';
11
- declare type SceneProvider = () => Scene;
12
- declare type InteractionConfigProvider = () => Interactions.InteractionConfig;
13
- declare type CameraTransform = (data: {
14
- camera: Camera;
11
+ export declare type SceneProvider = () => Scene;
12
+ export declare type InteractionConfigProvider = () => Interactions.InteractionConfig;
13
+ export declare type CameraTransform<T extends Camera = Camera, R extends Camera = Camera> = (data: {
14
+ camera: T;
15
15
  viewport: Viewport;
16
16
  scale: Point.Point;
17
17
  boundingBox: BoundingBox.BoundingBox;
18
18
  frame: ReceivedFrame;
19
19
  depthBuffer?: DepthBuffer;
20
- }) => Camera;
20
+ }) => R;
21
21
  /**
22
22
  * The `InteractionApi` provides methods that API developers can use to modify
23
23
  * the internal state of an interaction.
24
24
  */
25
- export declare class InteractionApi {
26
- private stream;
25
+ export declare abstract class InteractionApi {
26
+ protected stream: StreamApi;
27
27
  private cursors;
28
- private getConfig;
29
- private getScene;
30
- private getFrame;
31
- private getViewport;
28
+ protected getConfig: InteractionConfigProvider;
29
+ protected getScene: SceneProvider;
30
+ protected getFrame: () => ReceivedFrame | undefined;
31
+ protected getViewport: () => Viewport;
32
32
  private tapEmitter;
33
33
  private doubleTapEmitter;
34
34
  private longPressEmitter;
35
35
  private interactionStartedEmitter;
36
36
  private interactionFinishedEmitter;
37
- private currentCamera?;
37
+ protected currentCamera?: Camera;
38
38
  private lastAngle;
39
39
  private worldRotationPoint?;
40
40
  private panData?;
@@ -117,14 +117,6 @@ export declare class InteractionApi {
117
117
  * @param screenPt A point in screen coordinates.
118
118
  */
119
119
  panCameraToScreenPoint(screenPt: Point.Point): Promise<void>;
120
- /**
121
- * Performs a pan operation of the scene's camera, and requests a new image
122
- * for the updated scene.
123
- *
124
- * @param delta A position delta `{x, y}` in the 2D coordinate space of the
125
- * viewer.
126
- */
127
- panCameraByDelta(delta: Point.Point): Promise<void>;
128
120
  /**
129
121
  * Performs a view all operation for the scene's bounding box, and requests a
130
122
  * new image for the updated scene.
@@ -182,5 +174,12 @@ export declare class InteractionApi {
182
174
  private emitTapEvent;
183
175
  private isCoarseInputDevice;
184
176
  private getWorldPoint;
177
+ /**
178
+ * Performs a pan operation of the scene's camera, and requests a new image
179
+ * for the updated scene.
180
+ *
181
+ * @param delta A position delta `{x, y}` in the 2D coordinate space of the
182
+ * viewer.
183
+ */
184
+ abstract panCameraByDelta(delta: Point.Point): Promise<void>;
185
185
  }
186
- export {};
@@ -0,0 +1,21 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { Point } from '@vertexvis/geometry';
3
+ import { StreamApi } from '@vertexvis/stream-api';
4
+ import { ReceivedFrame } from '../..';
5
+ import { CursorManager } from '../cursors';
6
+ import { OrthographicCamera } from '../scenes';
7
+ import { Viewport } from '../types';
8
+ import { CameraTransform, InteractionApi, InteractionConfigProvider, SceneProvider } from './interactionApi';
9
+ import { TapEventDetails } from './tapEventDetails';
10
+ export declare class InteractionApiOrthographic extends InteractionApi {
11
+ constructor(stream: StreamApi, cursors: CursorManager, getConfig: InteractionConfigProvider, getScene: SceneProvider, getFrame: () => ReceivedFrame | undefined, getViewport: () => Viewport, tapEmitter: EventEmitter<TapEventDetails>, doubleTapEmitter: EventEmitter<TapEventDetails>, longPressEmitter: EventEmitter<TapEventDetails>, interactionStartedEmitter: EventEmitter<void>, interactionFinishedEmitter: EventEmitter<void>);
12
+ /**
13
+ * Performs a pan operation of the scene's camera, and requests a new image
14
+ * for the updated scene.
15
+ *
16
+ * @param delta A position delta `{x, y}` in the 2D coordinate space of the
17
+ * viewer.
18
+ */
19
+ panCameraByDelta(delta: Point.Point): Promise<void>;
20
+ transformCamera(t: CameraTransform<OrthographicCamera>): Promise<void>;
21
+ }
@@ -0,0 +1,21 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { Point } from '@vertexvis/geometry';
3
+ import { StreamApi } from '@vertexvis/stream-api';
4
+ import { ReceivedFrame } from '../..';
5
+ import { CursorManager } from '../cursors';
6
+ import { PerspectiveCamera } from '../scenes';
7
+ import { Viewport } from '../types';
8
+ import { CameraTransform, InteractionApi, InteractionConfigProvider, SceneProvider } from './interactionApi';
9
+ import { TapEventDetails } from './tapEventDetails';
10
+ export declare class InteractionApiPerspective extends InteractionApi {
11
+ constructor(stream: StreamApi, cursors: CursorManager, getConfig: InteractionConfigProvider, getScene: SceneProvider, getFrame: () => ReceivedFrame | undefined, getViewport: () => Viewport, tapEmitter: EventEmitter<TapEventDetails>, doubleTapEmitter: EventEmitter<TapEventDetails>, longPressEmitter: EventEmitter<TapEventDetails>, interactionStartedEmitter: EventEmitter<void>, interactionFinishedEmitter: EventEmitter<void>);
12
+ /**
13
+ * Performs a pan operation of the scene's camera, and requests a new image
14
+ * for the updated scene.
15
+ *
16
+ * @param delta A position delta `{x, y}` in the 2D coordinate space of the
17
+ * viewer.
18
+ */
19
+ panCameraByDelta(delta: Point.Point): Promise<void>;
20
+ transformCamera(t: CameraTransform<PerspectiveCamera>): Promise<void>;
21
+ }
@@ -2,6 +2,8 @@ import { vertexvis } from '@vertexvis/frame-streaming-protos';
2
2
  import { Mapper as M } from '@vertexvis/utils';
3
3
  import { Token } from '../token';
4
4
  import { CrossSectioning, Frame, FrameCamera, ImageAttributesLike, Orientation } from '../types';
5
+ export declare const fromPbPerspectiveCamera: M.Func<vertexvis.protobuf.stream.IPerspectiveCamera, FrameCamera.PerspectiveFrameCamera>;
6
+ export declare const fromPbOrthographicCamera: M.Func<vertexvis.protobuf.stream.IOrthographicCamera, FrameCamera.OrthographicFrameCamera>;
5
7
  export declare const fromPbCamera: M.Func<vertexvis.protobuf.stream.ICamera, FrameCamera.FrameCamera>;
6
8
  export declare const fromPbSectionPlane: M.Func<vertexvis.protobuf.stream.ISectionPlane, CrossSectioning.SectionPlane>;
7
9
  export declare const fromPbCrossSectioning: M.Func<vertexvis.protobuf.stream.ICrossSectioning, CrossSectioning.CrossSectioning>;
@@ -1,4 +1,4 @@
1
- import { Camera } from '../camera';
1
+ import { PerspectiveCamera } from '../camera';
2
2
  import { Scene } from '../scene';
3
- export declare const cameraMock: Camera;
3
+ export declare const cameraMock: PerspectiveCamera;
4
4
  export declare const sceneMock: Scene;