@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.
- package/dist/cjs/config-20ozv4y8.js.map +1 -1
- package/dist/cjs/controller-BhcNbaX_.js.map +1 -1
- package/dist/cjs/controller-CSwG6gbQ.js.map +1 -1
- package/dist/cjs/cursors-BZmDRtaZ.js.map +1 -1
- package/dist/cjs/dom-BBil4aN3.js.map +1 -1
- package/dist/cjs/dom-CvGkFQon.js.map +1 -1
- package/dist/cjs/entities-D6kgGria.js.map +1 -1
- package/dist/cjs/geometry_pb-BTko2Wi0.js.map +1 -1
- package/dist/cjs/grpc-BsWFEUrc.js.map +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/model-C9WvOKYT.js.map +1 -1
- package/dist/cjs/model-D17EQTIh.js.map +1 -1
- package/dist/cjs/model-DAB4oD5n.js.map +1 -1
- package/dist/cjs/model-DkXCzhs_.js.map +1 -1
- package/dist/cjs/multiElementInteractionHandler-BHvRKVIp.js.map +1 -1
- package/dist/cjs/overlays-B-06bUbI.js.map +1 -1
- package/dist/cjs/queries-Da9I-xMf.js.map +1 -1
- package/dist/cjs/regl-component-HhKCyGQ3.js.map +1 -1
- package/dist/cjs/representation_pb-CrCGjlyP.js.map +1 -1
- package/dist/cjs/results-1wRRZiYG.js.map +1 -1
- package/dist/cjs/row-Cet6xXup.js.map +1 -1
- package/dist/cjs/stencil-Hsr_8Chs.js.map +1 -1
- package/dist/cjs/streamAttributes-D_J-W8-2.js.map +1 -1
- package/dist/cjs/templates-DvjgjnlO.js.map +1 -1
- package/dist/cjs/util-DIJSIQXH.js.map +1 -1
- package/dist/cjs/utils-CibrnHQ4.js.map +1 -1
- package/dist/cjs/utils-D8MbXbwO.js.map +1 -1
- package/dist/cjs/utils-qErVs2Vt.js.map +1 -1
- package/dist/cjs/vertex-scene-tree-notification-banner_4.cjs.entry.js +6 -8
- package/dist/cjs/vertex-scene-tree-notification-banner_4.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-scene-tree.cjs.entry.js +2 -2
- package/dist/cjs/vertex-scene-tree.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-hit-result-indicator.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-hit-result-indicator.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-markup.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-markup.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-teleport-tool.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +4 -5
- package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-walk-mode-tool.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer.cjs.entry.js +9 -5
- package/dist/cjs/vertex-viewer.cjs.entry.js.map +1 -1
- package/dist/cjs/viewport-CG1VYkIU.js.map +1 -1
- package/dist/collection/components/scene-tree/errors.js.map +1 -1
- package/dist/collection/components/scene-tree/lib/controller.js.map +1 -1
- package/dist/collection/components/scene-tree/lib/dom.js.map +1 -1
- package/dist/collection/components/scene-tree/lib/errors.js.map +1 -1
- package/dist/collection/components/scene-tree/lib/grpc.js.map +1 -1
- package/dist/collection/components/scene-tree/lib/handlers.js.map +1 -1
- package/dist/collection/components/scene-tree/lib/row.js.map +1 -1
- package/dist/collection/components/scene-tree/lib/viewer-ops.js.map +1 -1
- package/dist/collection/components/scene-tree/scene-tree.js +2 -2
- package/dist/collection/components/scene-tree/scene-tree.js.map +1 -1
- package/dist/collection/components/scene-tree-search/scene-tree-search.js.map +1 -1
- package/dist/collection/components/scene-tree-table-cell/scene-tree-table-cell.js +1 -1
- package/dist/collection/components/scene-tree-table-cell/scene-tree-table-cell.js.map +1 -1
- package/dist/collection/components/scene-tree-table-cell/utils.js.map +1 -1
- package/dist/collection/components/scene-tree-table-layout/lib/dom.js.map +1 -1
- package/dist/collection/components/scene-tree-table-layout/lib/window.js.map +1 -1
- package/dist/collection/components/scene-tree-table-layout/scene-tree-table-layout.js +5 -5
- package/dist/collection/components/scene-tree-table-layout/scene-tree-table-layout.js.map +1 -1
- package/dist/collection/components/viewer/utils.js.map +1 -1
- package/dist/collection/components/viewer/viewer.js +9 -5
- package/dist/collection/components/viewer/viewer.js.map +1 -1
- package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +2 -2
- package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js.map +1 -1
- package/dist/collection/components/viewer-dom-element/utils.js.map +1 -1
- package/dist/collection/components/viewer-dom-element/viewer-dom-element.js +1 -1
- package/dist/collection/components/viewer-dom-element/viewer-dom-element.js.map +1 -1
- package/dist/collection/components/viewer-dom-group/utils.js.map +1 -1
- package/dist/collection/components/viewer-dom-group/viewer-dom-group.js +1 -1
- package/dist/collection/components/viewer-dom-group/viewer-dom-group.js.map +1 -1
- package/dist/collection/components/viewer-dom-renderer/renderer2d.js.map +1 -1
- package/dist/collection/components/viewer-dom-renderer/renderer3d.js.map +1 -1
- package/dist/collection/components/viewer-dom-renderer/viewer-dom-renderer.js.map +1 -1
- package/dist/collection/components/viewer-hit-result-indicator/lib/dom.js.map +1 -1
- package/dist/collection/components/viewer-hit-result-indicator/lib/indicator.js.map +1 -1
- package/dist/collection/components/viewer-hit-result-indicator/lib/plane.js.map +1 -1
- package/dist/collection/components/viewer-hit-result-indicator/lib/point.js.map +1 -1
- package/dist/collection/components/viewer-hit-result-indicator/viewer-hit-result-indicator.js +1 -1
- package/dist/collection/components/viewer-hit-result-indicator/viewer-hit-result-indicator.js.map +1 -1
- package/dist/collection/components/viewer-icon/viewer-icon.js.map +1 -1
- package/dist/collection/components/viewer-markup/markup-utils.js.map +1 -1
- package/dist/collection/components/viewer-markup/viewer-markup-components.js.map +1 -1
- package/dist/collection/components/viewer-markup/viewer-markup.js +1 -1
- package/dist/collection/components/viewer-markup/viewer-markup.js.map +1 -1
- package/dist/collection/components/viewer-markup-arrow/interactions.js.map +1 -1
- package/dist/collection/components/viewer-markup-arrow/utils.js.map +1 -1
- package/dist/collection/components/viewer-markup-arrow/viewer-markup-arrow-components.js.map +1 -1
- package/dist/collection/components/viewer-markup-arrow/viewer-markup-arrow.js.map +1 -1
- package/dist/collection/components/viewer-markup-circle/interactions.js.map +1 -1
- package/dist/collection/components/viewer-markup-circle/utils.js.map +1 -1
- package/dist/collection/components/viewer-markup-circle/viewer-markup-circle.js.map +1 -1
- package/dist/collection/components/viewer-markup-freeform/interactions.js.map +1 -1
- package/dist/collection/components/viewer-markup-freeform/utils.js.map +1 -1
- package/dist/collection/components/viewer-markup-freeform/viewer-markup-freeform.js.map +1 -1
- package/dist/collection/components/viewer-markup-tool/viewer-markup-tool.js.map +1 -1
- package/dist/collection/components/viewer-measurement-details/viewer-measurement-details.js.map +1 -1
- package/dist/collection/components/viewer-measurement-distance/hitTest.js.map +1 -1
- package/dist/collection/components/viewer-measurement-distance/interactions.js.map +1 -1
- package/dist/collection/components/viewer-measurement-distance/utils.js.map +1 -1
- package/dist/collection/components/viewer-measurement-distance/viewer-measurement-distance.js.map +1 -1
- package/dist/collection/components/viewer-measurement-line/viewer-measurement-line.js +1 -1
- package/dist/collection/components/viewer-measurement-line/viewer-measurement-line.js.map +1 -1
- package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.js +1 -1
- package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.js.map +1 -1
- package/dist/collection/components/viewer-measurement-precise/viewer-measurement-precise.js.map +1 -1
- package/dist/collection/components/viewer-pin-group/utils.js.map +1 -1
- package/dist/collection/components/viewer-pin-group/viewer-pin-group.js +2 -2
- package/dist/collection/components/viewer-pin-group/viewer-pin-group.js.map +1 -1
- package/dist/collection/components/viewer-pin-label/viewer-pin-label.js.map +1 -1
- package/dist/collection/components/viewer-pin-tool/utils.js.map +1 -1
- package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.js +1 -1
- package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.js.map +1 -1
- package/dist/collection/components/viewer-teleport-tool/viewer-teleport-tool.js.map +1 -1
- package/dist/collection/components/viewer-transform-widget/util.js +1 -2
- package/dist/collection/components/viewer-transform-widget/util.js.map +1 -1
- package/dist/collection/components/viewer-transform-widget/viewer-transform-widget-components.js.map +1 -1
- package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.js +3 -3
- package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.js.map +1 -1
- package/dist/collection/components/viewer-transform-widget/widget.js.map +1 -1
- package/dist/collection/components/viewer-view-cube/viewer-view-cube.js +1 -1
- package/dist/collection/components/viewer-view-cube/viewer-view-cube.js.map +1 -1
- package/dist/collection/components/viewer-walk-mode-tool/viewer-walk-mode-tool.js.map +1 -1
- package/dist/collection/lib/annotations/controller.js.map +1 -1
- package/dist/collection/lib/canvases/controller.js.map +1 -1
- package/dist/collection/lib/canvases/mapper.js.map +1 -1
- package/dist/collection/lib/config.js.map +1 -1
- package/dist/collection/lib/cursors.js.map +1 -1
- package/dist/collection/lib/dom.js.map +1 -1
- package/dist/collection/lib/grpc.js.map +1 -1
- package/dist/collection/lib/interactions/baseInteractionHandler.js.map +1 -1
- package/dist/collection/lib/interactions/flyToPartKeyInteraction.js.map +1 -1
- package/dist/collection/lib/interactions/flyToPositionKeyInteraction.js.map +1 -1
- package/dist/collection/lib/interactions/interactionApi.js.map +1 -1
- package/dist/collection/lib/interactions/interactionApiOrthographic.js.map +1 -1
- package/dist/collection/lib/interactions/interactionApiPerspective.js.map +1 -1
- package/dist/collection/lib/interactions/mouseInteractionHandler.js.map +1 -1
- package/dist/collection/lib/interactions/mouseInteractions.js.map +1 -1
- package/dist/collection/lib/interactions/multiElementInteractionHandler.js.map +1 -1
- package/dist/collection/lib/interactions/multiPointerInteractionHandler.js.map +1 -1
- package/dist/collection/lib/interactions/multiTouchInteractionHandler.js.map +1 -1
- package/dist/collection/lib/interactions/pointerInteractionHandler.js.map +1 -1
- package/dist/collection/lib/interactions/tapInteractionHandler.js.map +1 -1
- package/dist/collection/lib/interactions/touchInteractionHandler.js.map +1 -1
- package/dist/collection/lib/keyBinding.js.map +1 -1
- package/dist/collection/lib/mappers/annotation.js.map +1 -1
- package/dist/collection/lib/mappers/camera.js.map +1 -1
- package/dist/collection/lib/mappers/color.js.map +1 -1
- package/dist/collection/lib/mappers/colorMaterial.js.map +1 -1
- package/dist/collection/lib/mappers/corePb.js.map +1 -1
- package/dist/collection/lib/mappers/corePbJs.js.map +1 -1
- package/dist/collection/lib/mappers/frameStreaming.js.map +1 -1
- package/dist/collection/lib/mappers/geometry.js.map +1 -1
- package/dist/collection/lib/mappers/material.js.map +1 -1
- package/dist/collection/lib/mappers/pagination.js.map +1 -1
- package/dist/collection/lib/mappers/scalar.js.map +1 -1
- package/dist/collection/lib/mappers/streamAttributes.js.map +1 -1
- package/dist/collection/lib/markup/interactions.js.map +1 -1
- package/dist/collection/lib/measurement/controller.js.map +1 -1
- package/dist/collection/lib/measurement/entities.js.map +1 -1
- package/dist/collection/lib/measurement/interactions.js.map +1 -1
- package/dist/collection/lib/measurement/mapper.js.map +1 -1
- package/dist/collection/lib/measurement/model.js.map +1 -1
- package/dist/collection/lib/measurement/overlays.js.map +1 -1
- package/dist/collection/lib/measurement/results.js.map +1 -1
- package/dist/collection/lib/meters.js.map +1 -1
- package/dist/collection/lib/model-views/controller.js.map +1 -1
- package/dist/collection/lib/model-views/mapper.js.map +1 -1
- package/dist/collection/lib/pins/controller.js.map +1 -1
- package/dist/collection/lib/pins/interactions.js.map +1 -1
- package/dist/collection/lib/pmi/controller.js.map +1 -1
- package/dist/collection/lib/pmi/mapper.js.map +1 -1
- package/dist/collection/lib/rendering/canvas.js.map +1 -1
- package/dist/collection/lib/rendering/imageLoaders.js.map +1 -1
- package/dist/collection/lib/rendering/matrices.js.map +1 -1
- package/dist/collection/lib/rendering/timing.js.map +1 -1
- package/dist/collection/lib/rendering/utils.js.map +1 -1
- package/dist/collection/lib/rendering/vectors.js.map +1 -1
- package/dist/collection/lib/scene-items/controller.js.map +1 -1
- package/dist/collection/lib/scene-items/mapper.js.map +1 -1
- package/dist/collection/lib/scenes/camera.js.map +1 -1
- package/dist/collection/lib/scenes/cameraRenderResult.js.map +1 -1
- package/dist/collection/lib/scenes/colorMaterial.js.map +1 -1
- package/dist/collection/lib/scenes/crossSectioner.js.map +1 -1
- package/dist/collection/lib/scenes/mapper.js.map +1 -1
- package/dist/collection/lib/scenes/operations.js.map +1 -1
- package/dist/collection/lib/scenes/queries.js.map +1 -1
- package/dist/collection/lib/scenes/raycaster.js.map +1 -1
- package/dist/collection/lib/scenes/scene.js.map +1 -1
- package/dist/collection/lib/scenes/sceneOperationExecuteResult.js.map +1 -1
- package/dist/collection/lib/scenes/sceneViewStateLoader.js.map +1 -1
- package/dist/collection/lib/stencil.js.map +1 -1
- package/dist/collection/lib/storage.js.map +1 -1
- package/dist/collection/lib/stream/dispatcher.js.map +1 -1
- package/dist/collection/lib/stream/stream.js.map +1 -1
- package/dist/collection/lib/stream/utils.js.map +1 -1
- package/dist/collection/lib/teleportation/interactions.js.map +1 -1
- package/dist/collection/lib/templates.js.map +1 -1
- package/dist/collection/lib/token.js.map +1 -1
- package/dist/collection/lib/transforms/axis-lines.js.map +1 -1
- package/dist/collection/lib/transforms/axis-rotation.js.map +1 -1
- package/dist/collection/lib/transforms/axis-translation.js.map +1 -1
- package/dist/collection/lib/transforms/controller.js.map +1 -1
- package/dist/collection/lib/transforms/drawable.js.map +1 -1
- package/dist/collection/lib/transforms/hits.js.map +1 -1
- package/dist/collection/lib/transforms/line.js.map +1 -1
- package/dist/collection/lib/transforms/mesh.js.map +1 -1
- package/dist/collection/lib/transforms/shape.js.map +1 -1
- package/dist/collection/lib/transforms/transformation-delta.js.map +1 -1
- package/dist/collection/lib/transforms/util.js.map +1 -1
- package/dist/collection/lib/types/clippingPlanes.js.map +1 -1
- package/dist/collection/lib/types/depthBuffer.js.map +1 -1
- package/dist/collection/lib/types/featureMap.js.map +1 -1
- package/dist/collection/lib/types/flags.js.map +1 -1
- package/dist/collection/lib/types/frame.js.map +1 -1
- package/dist/collection/lib/types/frameCamera.js.map +1 -1
- package/dist/collection/lib/types/loadableResource.js.map +1 -1
- package/dist/collection/lib/types/orientation.js.map +1 -1
- package/dist/collection/lib/types/sceneViewStateIdentifier.js.map +1 -1
- package/dist/collection/lib/types/standardView.js.map +1 -1
- package/dist/collection/lib/types/stencilBuffer.js.map +1 -1
- package/dist/collection/lib/types/synchronizedClock.js.map +1 -1
- package/dist/collection/lib/types/viewport.js.map +1 -1
- package/dist/collection/lib/visibilityObserver.js.map +1 -1
- package/dist/collection/lib/volume-intersection/controller.js.map +1 -1
- package/dist/collection/lib/volume-intersection/interactions.js.map +1 -1
- package/dist/collection/lib/volume-intersection/model.js.map +1 -1
- package/dist/collection/lib/walk-mode/controller.js.map +1 -1
- package/dist/collection/lib/walk-mode/interactions.js.map +1 -1
- package/dist/collection/lib/walk-mode/model.js.map +1 -1
- package/dist/collection/lib/webgl/regl-component.js.map +1 -1
- package/dist/collection/testing/annotations.js.map +1 -1
- package/dist/collection/testing/canvases.js.map +1 -1
- package/dist/collection/testing/colors.js.map +1 -1
- package/dist/collection/testing/eventually.js.map +1 -1
- package/dist/collection/testing/fixtures.js.map +1 -1
- package/dist/collection/testing/grpc.js +3 -9
- package/dist/collection/testing/grpc.js.map +1 -1
- package/dist/collection/testing/modelViews.js.map +1 -1
- package/dist/collection/testing/pmi.js.map +1 -1
- package/dist/collection/testing/random.js.map +1 -1
- package/dist/collection/testing/resizeObserver.js.map +1 -1
- package/dist/collection/testing/scene-items-helper.js.map +1 -1
- package/dist/collection/testing/sceneTree.js.map +1 -1
- package/dist/collection/testing/viewer.js.map +1 -1
- package/dist/collection/testing/webgl.js.map +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-St4ctu2K.js → p-3-bKfpqr.js} +2 -2
- package/dist/components/{p-St4ctu2K.js.map → p-3-bKfpqr.js.map} +1 -1
- package/dist/components/p-3DqRAYgO.js.map +1 -1
- package/dist/components/p-B-ToCp8-.js.map +1 -1
- package/dist/components/p-B156bTbY.js +5 -0
- package/dist/components/p-B156bTbY.js.map +1 -0
- package/dist/components/p-B9R0QWr4.js.map +1 -1
- package/dist/components/p-BCOD9yfw.js.map +1 -1
- package/dist/components/p-BHAaIoH5.js.map +1 -1
- package/dist/components/{p-Doltf1wO.js → p-BOJJZ1cN.js} +2 -2
- package/dist/components/p-BOJJZ1cN.js.map +1 -0
- package/dist/components/p-BkHp-aAR.js.map +1 -1
- package/dist/components/p-Bkm6H5uq.js.map +1 -1
- package/dist/components/p-C-VWDW9n.js.map +1 -1
- package/dist/components/p-C79PxobX.js.map +1 -1
- package/dist/components/p-CAugdB_8.js.map +1 -1
- package/dist/components/p-CEzVEgdQ.js.map +1 -1
- package/dist/components/p-CGCJ5hbJ.js.map +1 -1
- package/dist/components/p-COlcifvm.js.map +1 -1
- package/dist/components/p-CXTH3zrN.js.map +1 -1
- package/dist/components/p-CZCXdo3t.js.map +1 -1
- package/dist/components/p-Cd7kap5W.js.map +1 -1
- package/dist/components/p-CiSHWNC4.js.map +1 -1
- package/dist/components/p-CjG1fMh1.js.map +1 -1
- package/dist/components/p-CkjXRDNL.js.map +1 -1
- package/dist/components/p-D0KZu516.js.map +1 -1
- package/dist/components/p-D12q-fpW.js.map +1 -1
- package/dist/components/p-D33gVA2W.js.map +1 -1
- package/dist/components/p-DC86ZXai.js.map +1 -1
- package/dist/components/{p-B80hfIq6.js → p-DF4kEsJU.js} +2 -2
- package/dist/components/p-DF4kEsJU.js.map +1 -0
- package/dist/components/p-DRh4_Z-g.js.map +1 -1
- package/dist/components/p-DRnMrHWY.js.map +1 -1
- package/dist/components/{p-b0ZzPHz8.js → p-DUC59SSO.js} +2 -2
- package/dist/components/p-DUC59SSO.js.map +1 -0
- package/dist/components/p-DVW2WZTq.js.map +1 -1
- package/dist/components/p-DZI8pnGz.js.map +1 -1
- package/dist/components/p-Dbz9yUqC.js.map +1 -1
- package/dist/components/p-Yfi0i5Kj.js.map +1 -1
- package/dist/components/p-abSJ29r7.js.map +1 -1
- package/dist/components/p-ahjMltGJ.js.map +1 -1
- package/dist/components/p-bal2RLiw.js.map +1 -1
- package/dist/components/{p-BopQW1sA.js → p-oK38ynrd.js} +2 -2
- package/dist/components/p-oK38ynrd.js.map +1 -0
- package/dist/components/vertex-scene-tree-table-cell.js +1 -1
- package/dist/components/vertex-scene-tree-table-cell.js.map +1 -1
- package/dist/components/vertex-scene-tree-table-layout.js +1 -1
- package/dist/components/vertex-scene-tree.js +1 -1
- package/dist/components/vertex-scene-tree.js.map +1 -1
- package/dist/components/vertex-viewer-box-query-tool.js +1 -1
- package/dist/components/vertex-viewer-box-query-tool.js.map +1 -1
- package/dist/components/vertex-viewer-dom-element.js +1 -1
- package/dist/components/vertex-viewer-dom-group.js +1 -1
- package/dist/components/vertex-viewer-hit-result-indicator.js +1 -1
- package/dist/components/vertex-viewer-hit-result-indicator.js.map +1 -1
- package/dist/components/vertex-viewer-markup-tool.js.map +1 -1
- package/dist/components/vertex-viewer-markup.js +1 -1
- package/dist/components/vertex-viewer-markup.js.map +1 -1
- package/dist/components/vertex-viewer-measurement-details.js.map +1 -1
- package/dist/components/vertex-viewer-measurement-distance.js +1 -1
- package/dist/components/vertex-viewer-measurement-distance.js.map +1 -1
- package/dist/components/vertex-viewer-measurement-line.js +1 -1
- package/dist/components/vertex-viewer-measurement-overlays.js +1 -1
- package/dist/components/vertex-viewer-measurement-precise.js +1 -1
- package/dist/components/vertex-viewer-measurement-precise.js.map +1 -1
- package/dist/components/vertex-viewer-pin-group.js +1 -1
- package/dist/components/vertex-viewer-pin-tool.js +1 -1
- package/dist/components/vertex-viewer-pin-tool.js.map +1 -1
- package/dist/components/vertex-viewer-transform-widget.js +1 -1
- package/dist/components/vertex-viewer-transform-widget.js.map +1 -1
- package/dist/components/vertex-viewer-view-cube.js +1 -1
- package/dist/components/vertex-viewer-view-cube.js.map +1 -1
- package/dist/components/vertex-viewer-walk-mode-tool.js.map +1 -1
- package/dist/components/vertex-viewer.js +1 -1
- package/dist/components/vertex-viewer.js.map +1 -1
- package/dist/esm/config-lglER3mU.js.map +1 -1
- package/dist/esm/controller-BMWGs-I6.js.map +1 -1
- package/dist/esm/controller-Iymb_J2R.js.map +1 -1
- package/dist/esm/cursors-BbBDEutb.js.map +1 -1
- package/dist/esm/dom-B3m2VjbN.js.map +1 -1
- package/dist/esm/dom-DX6pEG54.js.map +1 -1
- package/dist/esm/entities-zRken6VS.js.map +1 -1
- package/dist/esm/geometry_pb-BiZRfctN.js.map +1 -1
- package/dist/esm/grpc-CZAYqbTu.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/model-BYW5YIye.js.map +1 -1
- package/dist/esm/model-CLtwOS0o.js.map +1 -1
- package/dist/esm/model-D0EJdHmW.js.map +1 -1
- package/dist/esm/model-DHJ5aE4y.js.map +1 -1
- package/dist/esm/multiElementInteractionHandler-DwjL-r55.js.map +1 -1
- package/dist/esm/overlays-BE1oqniA.js.map +1 -1
- package/dist/esm/queries-DEzCmbTD.js.map +1 -1
- package/dist/esm/regl-component-DmkowWhg.js.map +1 -1
- package/dist/esm/representation_pb-g4f0WC4k.js.map +1 -1
- package/dist/esm/results-CFB6nKu8.js.map +1 -1
- package/dist/esm/row-CiSHWNC4.js.map +1 -1
- package/dist/esm/stencil-BV-7pO4q.js.map +1 -1
- package/dist/esm/streamAttributes-Cp8PEH9A.js.map +1 -1
- package/dist/esm/templates-DRh4_Z-g.js.map +1 -1
- package/dist/esm/util-BCZZYmp4.js.map +1 -1
- package/dist/esm/utils-BvZ9-fs0.js.map +1 -1
- package/dist/esm/utils-DC86ZXai.js.map +1 -1
- package/dist/esm/utils-D_pIldrS.js.map +1 -1
- package/dist/esm/vertex-scene-tree-notification-banner_4.entry.js +6 -8
- package/dist/esm/vertex-scene-tree-notification-banner_4.entry.js.map +1 -1
- package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
- package/dist/esm/vertex-scene-tree-table-cell.entry.js.map +1 -1
- package/dist/esm/vertex-scene-tree.entry.js +2 -2
- package/dist/esm/vertex-scene-tree.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-box-query-tool.entry.js +2 -2
- package/dist/esm/vertex-viewer-box-query-tool.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-dom-element_2.entry.js +1 -1
- package/dist/esm/vertex-viewer-dom-element_2.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-dom-group.entry.js +1 -1
- package/dist/esm/vertex-viewer-dom-group.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-hit-result-indicator.entry.js +1 -1
- package/dist/esm/vertex-viewer-hit-result-indicator.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-icon.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-markup-arrow_3.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-markup-tool.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-markup.entry.js +1 -1
- package/dist/esm/vertex-viewer-markup.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-measurement-details.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-measurement-distance.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-measurement-line_2.entry.js +2 -2
- package/dist/esm/vertex-viewer-measurement-line_2.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-measurement-precise.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-pin-group.entry.js +2 -2
- package/dist/esm/vertex-viewer-pin-group.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-pin-label_2.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-pin-tool.entry.js +1 -1
- package/dist/esm/vertex-viewer-pin-tool.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-teleport-tool.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-transform-widget.entry.js +4 -5
- package/dist/esm/vertex-viewer-transform-widget.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-view-cube.entry.js +1 -1
- package/dist/esm/vertex-viewer-view-cube.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-walk-mode-tool.entry.js.map +1 -1
- package/dist/esm/vertex-viewer.entry.js +9 -5
- package/dist/esm/vertex-viewer.entry.js.map +1 -1
- package/dist/esm/viewport-C8WQZxvx.js.map +1 -1
- package/dist/types/regl-shape.d.ts +1 -1
- package/dist/viewer/index.esm.js.map +1 -1
- package/dist/viewer/{p-eac63070.entry.js → p-051b5154.entry.js} +2 -2
- package/dist/viewer/p-051b5154.entry.js.map +1 -0
- package/dist/viewer/{p-3d3a7eeb.entry.js → p-0984c51f.entry.js} +2 -2
- package/dist/viewer/{p-3d3a7eeb.entry.js.map → p-0984c51f.entry.js.map} +1 -1
- package/dist/viewer/{p-864f40c7.entry.js → p-11cf755a.entry.js} +2 -2
- package/dist/viewer/p-11cf755a.entry.js.map +1 -0
- package/dist/viewer/{p-29d14611.entry.js → p-16775f7d.entry.js} +2 -2
- package/dist/viewer/p-16775f7d.entry.js.map +1 -0
- package/dist/viewer/{p-5a85cae5.entry.js → p-1eb636f8.entry.js} +2 -2
- package/dist/viewer/p-1eb636f8.entry.js.map +1 -0
- package/dist/viewer/{p-e993f300.entry.js → p-228d1d43.entry.js} +2 -2
- package/dist/viewer/p-228d1d43.entry.js.map +1 -0
- package/dist/viewer/p-33f44cc1.entry.js.map +1 -1
- package/dist/viewer/{p-3300d3dc.entry.js → p-35601c85.entry.js} +2 -2
- package/dist/viewer/p-35601c85.entry.js.map +1 -0
- package/dist/viewer/p-47766566.entry.js.map +1 -1
- package/dist/viewer/p-6e3a6bbd.entry.js.map +1 -1
- package/dist/viewer/p-7f388b45.entry.js.map +1 -1
- package/dist/viewer/p-89544066.entry.js.map +1 -1
- package/dist/viewer/{p-07b99ac9.entry.js → p-8c369777.entry.js} +2 -2
- package/dist/viewer/p-8c369777.entry.js.map +1 -0
- package/dist/viewer/{p-e59983dc.entry.js → p-9835c5e2.entry.js} +2 -2
- package/dist/viewer/p-9835c5e2.entry.js.map +1 -0
- package/dist/viewer/{p-aa95e21a.entry.js → p-9d8ff406.entry.js} +2 -2
- package/dist/viewer/p-9d8ff406.entry.js.map +1 -0
- package/dist/viewer/p-BDvACHun.js.map +1 -1
- package/dist/viewer/p-BIkuvTVH.js.map +1 -1
- package/dist/viewer/p-BRPkbTVP.js.map +1 -1
- package/dist/viewer/p-BsBIynwj.js.map +1 -1
- package/dist/viewer/p-BxtKMwBH.js.map +1 -1
- package/dist/viewer/p-C4y4Noe-.js.map +1 -1
- package/dist/viewer/p-C6KrfydC.js.map +1 -1
- package/dist/viewer/p-C7dYsPFU.js.map +1 -1
- package/dist/viewer/p-C9Cqbq6H.js.map +1 -1
- package/dist/viewer/p-CVWO4w6b.js.map +1 -1
- package/dist/viewer/p-ChqXy0cG.js.map +1 -1
- package/dist/viewer/p-CiSHWNC4.js.map +1 -1
- package/dist/viewer/p-CjG1fMh1.js.map +1 -1
- package/dist/viewer/p-Cs5KOvOQ.js.map +1 -1
- package/dist/viewer/p-CyGlYje2.js.map +1 -1
- package/dist/viewer/p-D6eJC1q4.js.map +1 -1
- package/dist/viewer/p-DC86ZXai.js.map +1 -1
- package/dist/viewer/p-DRh4_Z-g.js.map +1 -1
- package/dist/viewer/p-DUX5FvBC.js.map +1 -1
- package/dist/viewer/p-DX6pEG54.js.map +1 -1
- package/dist/viewer/p-D_ixWHO7.js.map +1 -1
- package/dist/viewer/p-DacE-wPp.js.map +1 -1
- package/dist/viewer/p-Dp56p_jX.js.map +1 -1
- package/dist/viewer/p-EsKoKfmx.js.map +1 -1
- package/dist/viewer/p-F8e15or2.js.map +1 -1
- package/dist/viewer/p-Jfxh0jq9.js.map +1 -1
- package/dist/viewer/p-WPRMWirY.js.map +1 -1
- package/dist/viewer/p-_93RRNxT.js.map +1 -1
- package/dist/viewer/p-a8a81cba.entry.js +5 -0
- package/dist/viewer/p-a8a81cba.entry.js.map +1 -0
- package/dist/viewer/p-a9282481.entry.js.map +1 -1
- package/dist/viewer/{p-63f4f702.entry.js → p-c7e62d66.entry.js} +2 -2
- package/dist/viewer/p-c7e62d66.entry.js.map +1 -0
- package/dist/viewer/p-d37e647b.entry.js.map +1 -1
- package/dist/viewer/{p-302f2078.entry.js → p-d9fe788f.entry.js} +2 -2
- package/dist/viewer/p-d9fe788f.entry.js.map +1 -0
- package/dist/viewer/p-e9b83dae.entry.js.map +1 -1
- package/dist/viewer/{p-70f3629d.entry.js → p-f271dc4a.entry.js} +2 -2
- package/dist/viewer/p-f271dc4a.entry.js.map +1 -0
- package/dist/viewer/p-f65c0769.entry.js.map +1 -1
- package/dist/viewer/viewer.esm.js +1 -1
- package/package.json +7 -7
- package/dist/components/p-B80hfIq6.js.map +0 -1
- package/dist/components/p-BopQW1sA.js.map +0 -1
- package/dist/components/p-DNtS2F8J.js +0 -5
- package/dist/components/p-DNtS2F8J.js.map +0 -1
- package/dist/components/p-Doltf1wO.js.map +0 -1
- package/dist/components/p-b0ZzPHz8.js.map +0 -1
- package/dist/viewer/p-07b99ac9.entry.js.map +0 -1
- package/dist/viewer/p-29d14611.entry.js.map +0 -1
- package/dist/viewer/p-302f2078.entry.js.map +0 -1
- package/dist/viewer/p-3300d3dc.entry.js.map +0 -1
- package/dist/viewer/p-5a85cae5.entry.js.map +0 -1
- package/dist/viewer/p-60c915e3.entry.js +0 -5
- package/dist/viewer/p-60c915e3.entry.js.map +0 -1
- package/dist/viewer/p-63f4f702.entry.js.map +0 -1
- package/dist/viewer/p-70f3629d.entry.js.map +0 -1
- package/dist/viewer/p-864f40c7.entry.js.map +0 -1
- package/dist/viewer/p-aa95e21a.entry.js.map +0 -1
- package/dist/viewer/p-e59983dc.entry.js.map +0 -1
- package/dist/viewer/p-e993f300.entry.js.map +0 -1
- package/dist/viewer/p-eac63070.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mouseInteractions.js","sourceRoot":"","sources":["../../../../../src/lib/interactions/mouseInteractions.ts"],"names":[],"mappings":"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","sourcesContent":["import { Point } from '@vertexvis/geometry';\n\nimport { getMouseClientPosition } from '../dom';\nimport { InteractionType } from './baseInteractionHandler';\nimport { InteractionApi, InteractionConfigProvider } from './interactionApi';\n\nexport abstract class MouseInteraction {\n protected currentPosition: Point.Point | undefined;\n\n protected abstract type: InteractionType;\n\n public setPosition(position?: Point.Point): void {\n this.currentPosition = position;\n }\n\n public getPosition(): Point.Point | undefined {\n return this.currentPosition;\n }\n\n public getType(): InteractionType {\n return this.type;\n }\n\n public beginDrag(\n event: MouseEvent,\n canvasPosition: Point.Point,\n api: InteractionApi,\n element: HTMLElement\n ): void {\n // noop\n }\n\n public drag(event: MouseEvent, api: InteractionApi): void {\n // noop\n }\n\n public endDrag(event: MouseEvent, api: InteractionApi): void {\n if (this.currentPosition != null) {\n api.endInteraction();\n this.currentPosition = undefined;\n }\n }\n\n public async zoom(delta: number, api: InteractionApi): Promise<void> {\n // noop\n }\n}\n\nexport class RotateInteraction extends MouseInteraction {\n public type: InteractionType = 'rotate';\n\n public beginDrag(\n event: MouseEvent,\n canvasPosition: Point.Point,\n api: InteractionApi\n ): void {\n if (this.currentPosition == null) {\n this.currentPosition = Point.create(event.screenX, event.screenY);\n api.beginInteraction();\n }\n }\n\n public drag(event: MouseEvent, api: InteractionApi): void {\n if (this.currentPosition != null) {\n const position = Point.create(event.screenX, event.screenY);\n const delta = Point.subtract(position, this.currentPosition);\n\n api.rotateCamera(delta);\n this.currentPosition = position;\n }\n }\n\n public endDrag(event: MouseEvent, api: InteractionApi): void {\n super.endDrag(event, api);\n }\n}\n\nexport class RotatePointInteraction extends MouseInteraction {\n public type: InteractionType = 'rotate-point';\n\n private startingPosition?: Point.Point;\n\n public beginDrag(\n event: MouseEvent,\n canvasPosition: Point.Point,\n api: InteractionApi\n ): void {\n if (this.currentPosition == null) {\n this.currentPosition = Point.create(event.screenX, event.screenY);\n this.startingPosition = canvasPosition;\n api.beginInteraction();\n }\n }\n\n public drag(event: MouseEvent, api: InteractionApi): void {\n if (this.currentPosition != null && this.startingPosition != null) {\n const position = Point.create(event.screenX, event.screenY);\n const delta = Point.subtract(position, this.currentPosition);\n\n api.rotateCameraAtPoint(delta, this.startingPosition);\n this.currentPosition = position;\n }\n }\n\n public endDrag(event: MouseEvent, api: InteractionApi): void {\n super.endDrag(event, api);\n }\n}\n\nexport class ZoomInteraction extends MouseInteraction {\n public type: InteractionType = 'zoom';\n\n private isTransforming = false;\n private interactionTimer: number | undefined;\n private startPt?: Point.Point;\n\n public constructor(\n private interactionConfigProvider: InteractionConfigProvider\n ) {\n super();\n }\n\n public async beginDrag(\n event: MouseEvent,\n canvasPosition: Point.Point,\n api: InteractionApi,\n element: HTMLElement\n ): Promise<void> {\n if (this.currentPosition == null) {\n this.currentPosition = Point.create(event.clientX, event.clientY);\n const rect = element.getBoundingClientRect();\n const point = getMouseClientPosition(event, rect);\n this.startPt = point;\n await api.beginInteraction();\n }\n }\n\n public async drag(event: MouseEvent, api: InteractionApi): Promise<void> {\n if (this.currentPosition != null) {\n const position = Point.create(event.clientX, event.clientY);\n const delta = Point.subtract(position, this.currentPosition);\n\n if (this.startPt != null) {\n await api.zoomCameraToPoint(this.startPt, delta.y);\n this.currentPosition = position;\n }\n }\n }\n\n public endDrag(event: MouseEvent, api: InteractionApi): void {\n super.endDrag(event, api);\n this.stopInteractionTimer();\n this.isTransforming = false;\n this.startPt = undefined;\n }\n\n public async zoom(\n delta: number,\n api: InteractionApi,\n extraDelayMs?: number\n ): Promise<void> {\n await this.runWheelZoomInteraction(\n api,\n () => api.zoomCamera(this.getDirectionalDelta(delta)),\n extraDelayMs\n );\n }\n\n public async zoomToPoint(\n pt: Point.Point,\n delta: number,\n api: InteractionApi,\n extraDelayMs?: number\n ): Promise<void> {\n await this.runWheelZoomInteraction(\n api,\n () => api.zoomCameraToPoint(pt, this.getDirectionalDelta(delta)),\n extraDelayMs\n );\n }\n\n private async beginInteraction(api: InteractionApi): Promise<void> {\n this.isTransforming = true;\n await api.beginInteraction();\n }\n\n private async endInteraction(api: InteractionApi): Promise<void> {\n this.isTransforming = false;\n await api.endInteraction();\n }\n\n private resetInteractionTimer(\n api: InteractionApi,\n extraDelayMs?: number\n ): void {\n this.stopInteractionTimer();\n this.startInteractionTimer(api, extraDelayMs);\n }\n\n private getDirectionalDelta(delta: number): number {\n return this.interactionConfigProvider().reverseMouseWheelDirection\n ? -delta\n : delta;\n }\n\n /**\n * If this value gets too low, can cause animation jitter in certain scenarios\n */\n private getInteractionDelay(): number {\n return this.interactionConfigProvider().mouseWheelInteractionEndDebounce;\n }\n\n /**\n * Uses a configured interaction delay, but certain interactions like wheel zoom benefit from extra delay\n */\n private startInteractionTimer(api: InteractionApi, extraDelayMs = 0): void {\n this.interactionTimer = window.setTimeout(async () => {\n this.interactionTimer = undefined;\n await this.endInteraction(api);\n }, extraDelayMs + this.getInteractionDelay());\n }\n\n private stopInteractionTimer(): void {\n if (this.interactionTimer != null) {\n window.clearTimeout(this.interactionTimer);\n this.interactionTimer = undefined;\n }\n }\n\n private async runWheelZoomInteraction(\n api: InteractionApi,\n f: () => void | Promise<void>,\n extraDelayMs?: number\n ): Promise<void> {\n if (!this.isTransforming) {\n await this.beginInteraction(api);\n }\n\n this.resetInteractionTimer(api, extraDelayMs);\n f();\n }\n}\n\nexport class PanInteraction extends MouseInteraction {\n public type: InteractionType = 'pan';\n\n private canvasRect?: DOMRect;\n\n public beginDrag(\n event: MouseEvent,\n canvasPosition: Point.Point,\n api: InteractionApi,\n element: HTMLElement\n ): void {\n if (this.currentPosition == null) {\n this.currentPosition = Point.create(event.screenX, event.screenY);\n this.canvasRect = element.getBoundingClientRect();\n api.beginInteraction();\n }\n }\n\n public drag(event: MouseEvent, api: InteractionApi): void {\n if (this.currentPosition != null && this.canvasRect != null) {\n const position = getMouseClientPosition(event, this.canvasRect);\n api.panCameraToScreenPoint(position);\n this.currentPosition = position;\n }\n }\n\n public endDrag(event: MouseEvent, api: InteractionApi): void {\n super.endDrag(event, api);\n }\n}\n\nexport class TwistInteraction extends MouseInteraction {\n public type: InteractionType = 'twist';\n\n private canvasRect?: DOMRect;\n\n public beginDrag(\n event: MouseEvent,\n canvasPosition: Point.Point,\n api: InteractionApi,\n element: HTMLElement\n ): void {\n this.currentPosition = Point.create(event.offsetX, event.offsetY);\n this.canvasRect = element.getBoundingClientRect();\n api.beginInteraction();\n }\n\n public drag(event: MouseEvent, api: InteractionApi): void {\n const position = getMouseClientPosition(event, this.canvasRect);\n this.currentPosition = position;\n\n api.twistCamera(position);\n }\n\n public endDrag(event: MouseEvent, api: InteractionApi): void {\n super.endDrag(event, api);\n }\n}\n\nexport class PivotInteraction extends MouseInteraction {\n public type: InteractionType = 'pivot';\n\n public beginDrag(\n event: MouseEvent,\n canvasPosition: Point.Point,\n api: InteractionApi\n ): void {\n if (this.currentPosition == null) {\n this.currentPosition = Point.create(event.screenX, event.screenY);\n api.beginInteraction();\n }\n }\n\n public drag(event: MouseEvent, api: InteractionApi): void {\n if (this.currentPosition != null) {\n const position = Point.create(event.screenX, event.screenY);\n const delta = Point.subtract(position, this.currentPosition);\n\n api.pivotCamera(-0.25 * delta.y, 0.25 * delta.x);\n this.currentPosition = position;\n }\n }\n\n public endDrag(event: MouseEvent, api: InteractionApi): void {\n super.endDrag(event, api);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mouseInteractions.js","sourceRoot":"","sources":["../../../../../src/lib/interactions/mouseInteractions.ts"],"names":[],"mappings":"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","sourcesContent":["import { Point } from '@vertexvis/geometry';\n\nimport { getMouseClientPosition } from '../dom';\nimport { InteractionType } from './baseInteractionHandler';\nimport { InteractionApi, InteractionConfigProvider } from './interactionApi';\n\nexport abstract class MouseInteraction {\n protected currentPosition: Point.Point | undefined;\n\n protected abstract type: InteractionType;\n\n public setPosition(position?: Point.Point): void {\n this.currentPosition = position;\n }\n\n public getPosition(): Point.Point | undefined {\n return this.currentPosition;\n }\n\n public getType(): InteractionType {\n return this.type;\n }\n\n public beginDrag(\n event: MouseEvent,\n canvasPosition: Point.Point,\n api: InteractionApi,\n element: HTMLElement,\n ): void {\n // noop\n }\n\n public drag(event: MouseEvent, api: InteractionApi): void {\n // noop\n }\n\n public endDrag(event: MouseEvent, api: InteractionApi): void {\n if (this.currentPosition != null) {\n api.endInteraction();\n this.currentPosition = undefined;\n }\n }\n\n public async zoom(delta: number, api: InteractionApi): Promise<void> {\n // noop\n }\n}\n\nexport class RotateInteraction extends MouseInteraction {\n public type: InteractionType = 'rotate';\n\n public beginDrag(\n event: MouseEvent,\n canvasPosition: Point.Point,\n api: InteractionApi,\n ): void {\n if (this.currentPosition == null) {\n this.currentPosition = Point.create(event.screenX, event.screenY);\n api.beginInteraction();\n }\n }\n\n public drag(event: MouseEvent, api: InteractionApi): void {\n if (this.currentPosition != null) {\n const position = Point.create(event.screenX, event.screenY);\n const delta = Point.subtract(position, this.currentPosition);\n\n api.rotateCamera(delta);\n this.currentPosition = position;\n }\n }\n\n public endDrag(event: MouseEvent, api: InteractionApi): void {\n super.endDrag(event, api);\n }\n}\n\nexport class RotatePointInteraction extends MouseInteraction {\n public type: InteractionType = 'rotate-point';\n\n private startingPosition?: Point.Point;\n\n public beginDrag(\n event: MouseEvent,\n canvasPosition: Point.Point,\n api: InteractionApi,\n ): void {\n if (this.currentPosition == null) {\n this.currentPosition = Point.create(event.screenX, event.screenY);\n this.startingPosition = canvasPosition;\n api.beginInteraction();\n }\n }\n\n public drag(event: MouseEvent, api: InteractionApi): void {\n if (this.currentPosition != null && this.startingPosition != null) {\n const position = Point.create(event.screenX, event.screenY);\n const delta = Point.subtract(position, this.currentPosition);\n\n api.rotateCameraAtPoint(delta, this.startingPosition);\n this.currentPosition = position;\n }\n }\n\n public endDrag(event: MouseEvent, api: InteractionApi): void {\n super.endDrag(event, api);\n }\n}\n\nexport class ZoomInteraction extends MouseInteraction {\n public type: InteractionType = 'zoom';\n\n private isTransforming = false;\n private interactionTimer: number | undefined;\n private startPt?: Point.Point;\n\n public constructor(\n private interactionConfigProvider: InteractionConfigProvider,\n ) {\n super();\n }\n\n public async beginDrag(\n event: MouseEvent,\n canvasPosition: Point.Point,\n api: InteractionApi,\n element: HTMLElement,\n ): Promise<void> {\n if (this.currentPosition == null) {\n this.currentPosition = Point.create(event.clientX, event.clientY);\n const rect = element.getBoundingClientRect();\n const point = getMouseClientPosition(event, rect);\n this.startPt = point;\n await api.beginInteraction();\n }\n }\n\n public async drag(event: MouseEvent, api: InteractionApi): Promise<void> {\n if (this.currentPosition != null) {\n const position = Point.create(event.clientX, event.clientY);\n const delta = Point.subtract(position, this.currentPosition);\n\n if (this.startPt != null) {\n await api.zoomCameraToPoint(this.startPt, delta.y);\n this.currentPosition = position;\n }\n }\n }\n\n public endDrag(event: MouseEvent, api: InteractionApi): void {\n super.endDrag(event, api);\n this.stopInteractionTimer();\n this.isTransforming = false;\n this.startPt = undefined;\n }\n\n public async zoom(\n delta: number,\n api: InteractionApi,\n extraDelayMs?: number,\n ): Promise<void> {\n await this.runWheelZoomInteraction(\n api,\n () => api.zoomCamera(this.getDirectionalDelta(delta)),\n extraDelayMs,\n );\n }\n\n public async zoomToPoint(\n pt: Point.Point,\n delta: number,\n api: InteractionApi,\n extraDelayMs?: number,\n ): Promise<void> {\n await this.runWheelZoomInteraction(\n api,\n () => api.zoomCameraToPoint(pt, this.getDirectionalDelta(delta)),\n extraDelayMs,\n );\n }\n\n private async beginInteraction(api: InteractionApi): Promise<void> {\n this.isTransforming = true;\n await api.beginInteraction();\n }\n\n private async endInteraction(api: InteractionApi): Promise<void> {\n this.isTransforming = false;\n await api.endInteraction();\n }\n\n private resetInteractionTimer(\n api: InteractionApi,\n extraDelayMs?: number,\n ): void {\n this.stopInteractionTimer();\n this.startInteractionTimer(api, extraDelayMs);\n }\n\n private getDirectionalDelta(delta: number): number {\n return this.interactionConfigProvider().reverseMouseWheelDirection\n ? -delta\n : delta;\n }\n\n /**\n * If this value gets too low, can cause animation jitter in certain scenarios\n */\n private getInteractionDelay(): number {\n return this.interactionConfigProvider().mouseWheelInteractionEndDebounce;\n }\n\n /**\n * Uses a configured interaction delay, but certain interactions like wheel zoom benefit from extra delay\n */\n private startInteractionTimer(api: InteractionApi, extraDelayMs = 0): void {\n this.interactionTimer = window.setTimeout(async () => {\n this.interactionTimer = undefined;\n await this.endInteraction(api);\n }, extraDelayMs + this.getInteractionDelay());\n }\n\n private stopInteractionTimer(): void {\n if (this.interactionTimer != null) {\n window.clearTimeout(this.interactionTimer);\n this.interactionTimer = undefined;\n }\n }\n\n private async runWheelZoomInteraction(\n api: InteractionApi,\n f: () => void | Promise<void>,\n extraDelayMs?: number,\n ): Promise<void> {\n if (!this.isTransforming) {\n await this.beginInteraction(api);\n }\n\n this.resetInteractionTimer(api, extraDelayMs);\n f();\n }\n}\n\nexport class PanInteraction extends MouseInteraction {\n public type: InteractionType = 'pan';\n\n private canvasRect?: DOMRect;\n\n public beginDrag(\n event: MouseEvent,\n canvasPosition: Point.Point,\n api: InteractionApi,\n element: HTMLElement,\n ): void {\n if (this.currentPosition == null) {\n this.currentPosition = Point.create(event.screenX, event.screenY);\n this.canvasRect = element.getBoundingClientRect();\n api.beginInteraction();\n }\n }\n\n public drag(event: MouseEvent, api: InteractionApi): void {\n if (this.currentPosition != null && this.canvasRect != null) {\n const position = getMouseClientPosition(event, this.canvasRect);\n api.panCameraToScreenPoint(position);\n this.currentPosition = position;\n }\n }\n\n public endDrag(event: MouseEvent, api: InteractionApi): void {\n super.endDrag(event, api);\n }\n}\n\nexport class TwistInteraction extends MouseInteraction {\n public type: InteractionType = 'twist';\n\n private canvasRect?: DOMRect;\n\n public beginDrag(\n event: MouseEvent,\n canvasPosition: Point.Point,\n api: InteractionApi,\n element: HTMLElement,\n ): void {\n this.currentPosition = Point.create(event.offsetX, event.offsetY);\n this.canvasRect = element.getBoundingClientRect();\n api.beginInteraction();\n }\n\n public drag(event: MouseEvent, api: InteractionApi): void {\n const position = getMouseClientPosition(event, this.canvasRect);\n this.currentPosition = position;\n\n api.twistCamera(position);\n }\n\n public endDrag(event: MouseEvent, api: InteractionApi): void {\n super.endDrag(event, api);\n }\n}\n\nexport class PivotInteraction extends MouseInteraction {\n public type: InteractionType = 'pivot';\n\n public beginDrag(\n event: MouseEvent,\n canvasPosition: Point.Point,\n api: InteractionApi,\n ): void {\n if (this.currentPosition == null) {\n this.currentPosition = Point.create(event.screenX, event.screenY);\n api.beginInteraction();\n }\n }\n\n public drag(event: MouseEvent, api: InteractionApi): void {\n if (this.currentPosition != null) {\n const position = Point.create(event.screenX, event.screenY);\n const delta = Point.subtract(position, this.currentPosition);\n\n api.pivotCamera(-0.25 * delta.y, 0.25 * delta.x);\n this.currentPosition = position;\n }\n }\n\n public endDrag(event: MouseEvent, api: InteractionApi): void {\n super.endDrag(event, api);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiElementInteractionHandler.js","sourceRoot":"","sources":["../../../../../src/lib/interactions/multiElementInteractionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,OAAgB,8BAA+B,SAAQ,sBAAsB;IAAnF;;QACY,+BAA0B,GAAkC,EAAE,CAAC;IA6B3E,CAAC;IA3BQ,yBAAyB,CAAC,QAAqB;QACpD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAE7D,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;QACjD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEM,+BAA+B,CAAC,EAAa;QAClD,MAAM,eAAe,GAAG,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAE5D,eAAe,CAAC,OAAO,EAAE,CAAC;QAE1B,IAAI,CAAC,0BAA0B,GAAG,MAAM,CAAC,WAAW,CAClD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,MAAM,CACpD,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CACtB,CACF,CAAC;IACJ,CAAC;IAES,sBAAsB;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAC1D,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC,CACzC,CAAC;IACJ,CAAC;CAGF","sourcesContent":["import { Disposable, UUID } from '@vertexvis/utils';\n\nimport { BaseInteractionHandler } from './baseInteractionHandler';\n\nexport abstract class MultiElementInteractionHandler extends BaseInteractionHandler {\n protected registeredExternalElements: Record<UUID.UUID, Disposable> = {};\n\n public registerAdditionalElement(external: HTMLElement): Disposable {\n const id = UUID.create();\n const disposable = this.addEventListenersToElement(external);\n\n this.registeredExternalElements[id] = disposable;\n return disposable;\n }\n\n public deregisterAdditionalElementById(id: UUID.UUID): void {\n const externalElement = this.registeredExternalElements[id];\n\n externalElement.dispose();\n\n this.registeredExternalElements = Object.fromEntries(\n Object.entries(this.registeredExternalElements).filter(\n ([key]) => key !== id
|
|
1
|
+
{"version":3,"file":"multiElementInteractionHandler.js","sourceRoot":"","sources":["../../../../../src/lib/interactions/multiElementInteractionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,OAAgB,8BAA+B,SAAQ,sBAAsB;IAAnF;;QACY,+BAA0B,GAAkC,EAAE,CAAC;IA6B3E,CAAC;IA3BQ,yBAAyB,CAAC,QAAqB;QACpD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAE7D,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;QACjD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEM,+BAA+B,CAAC,EAAa;QAClD,MAAM,eAAe,GAAG,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAE5D,eAAe,CAAC,OAAO,EAAE,CAAC;QAE1B,IAAI,CAAC,0BAA0B,GAAG,MAAM,CAAC,WAAW,CAClD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,MAAM,CACpD,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CACtB,CACF,CAAC;IACJ,CAAC;IAES,sBAAsB;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAC1D,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC,CACzC,CAAC;IACJ,CAAC;CAGF","sourcesContent":["import { Disposable, UUID } from '@vertexvis/utils';\n\nimport { BaseInteractionHandler } from './baseInteractionHandler';\n\nexport abstract class MultiElementInteractionHandler extends BaseInteractionHandler {\n protected registeredExternalElements: Record<UUID.UUID, Disposable> = {};\n\n public registerAdditionalElement(external: HTMLElement): Disposable {\n const id = UUID.create();\n const disposable = this.addEventListenersToElement(external);\n\n this.registeredExternalElements[id] = disposable;\n return disposable;\n }\n\n public deregisterAdditionalElementById(id: UUID.UUID): void {\n const externalElement = this.registeredExternalElements[id];\n\n externalElement.dispose();\n\n this.registeredExternalElements = Object.fromEntries(\n Object.entries(this.registeredExternalElements).filter(\n ([key]) => key !== id,\n ),\n );\n }\n\n protected deregisterAllListeners(): void {\n Object.keys(this.registeredExternalElements).forEach((id) =>\n this.deregisterAdditionalElementById(id),\n );\n }\n\n public abstract addEventListenersToElement(element?: HTMLElement): Disposable;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiPointerInteractionHandler.js","sourceRoot":"","sources":["../../../../../src/lib/interactions/multiPointerInteractionHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { Point } from '@vertexvis/geometry';\n\nimport { InteractionApi } from './interactionApi';\nimport { MultiTouchInteractionHandler } from './multiTouchInteractionHandler';\n\nexport class MultiPointerInteractionHandler extends MultiTouchInteractionHandler {\n private touchPoints: Record<string, Point.Point> = {};\n\n public constructor() {\n super();\n this.handlePointerDown = this.handlePointerDown.bind(this);\n this.handlePointerMove = this.handlePointerMove.bind(this);\n this.handlePointerUp = this.handlePointerUp.bind(this);\n }\n\n public dispose(): void {\n this.element?.removeEventListener('pointerdown', this.handlePointerDown);\n super.dispose();\n }\n\n public initialize(element: HTMLElement, api: InteractionApi): void {\n super.initialize(element, api);\n\n element.addEventListener('pointerdown', this.handlePointerDown);\n }\n\n private handlePointerDown(event: PointerEvent): void {\n const point = Point.create(event.screenX, event.screenY);\n this.touchPoints = {\n ...this.touchPoints,\n [event.pointerId]: point,\n };\n const keys = Object.keys(this.touchPoints);\n if (keys.length === 1) {\n window.addEventListener('pointermove', this.handlePointerMove);\n window.addEventListener('pointerup', this.handlePointerUp);\n } else if (keys.length === 2) {\n this.beginTwoPointTouch(this.touchPoints[0], this.touchPoints[1]);\n }\n }\n\n private handlePointerMove(event: PointerEvent): void {\n if (this.touchPoints[event.pointerId] != null) {\n this.touchPoints[event.pointerId] = Point.create(\n event.screenX,\n event.screenY
|
|
1
|
+
{"version":3,"file":"multiPointerInteractionHandler.js","sourceRoot":"","sources":["../../../../../src/lib/interactions/multiPointerInteractionHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { Point } from '@vertexvis/geometry';\n\nimport { InteractionApi } from './interactionApi';\nimport { MultiTouchInteractionHandler } from './multiTouchInteractionHandler';\n\nexport class MultiPointerInteractionHandler extends MultiTouchInteractionHandler {\n private touchPoints: Record<string, Point.Point> = {};\n\n public constructor() {\n super();\n this.handlePointerDown = this.handlePointerDown.bind(this);\n this.handlePointerMove = this.handlePointerMove.bind(this);\n this.handlePointerUp = this.handlePointerUp.bind(this);\n }\n\n public dispose(): void {\n this.element?.removeEventListener('pointerdown', this.handlePointerDown);\n super.dispose();\n }\n\n public initialize(element: HTMLElement, api: InteractionApi): void {\n super.initialize(element, api);\n\n element.addEventListener('pointerdown', this.handlePointerDown);\n }\n\n private handlePointerDown(event: PointerEvent): void {\n const point = Point.create(event.screenX, event.screenY);\n this.touchPoints = {\n ...this.touchPoints,\n [event.pointerId]: point,\n };\n const keys = Object.keys(this.touchPoints);\n if (keys.length === 1) {\n window.addEventListener('pointermove', this.handlePointerMove);\n window.addEventListener('pointerup', this.handlePointerUp);\n } else if (keys.length === 2) {\n this.beginTwoPointTouch(this.touchPoints[0], this.touchPoints[1]);\n }\n }\n\n private handlePointerMove(event: PointerEvent): void {\n if (this.touchPoints[event.pointerId] != null) {\n this.touchPoints[event.pointerId] = Point.create(\n event.screenX,\n event.screenY,\n );\n }\n\n const keys = Object.keys(this.touchPoints);\n if (keys.length === 2) {\n const point1 = this.touchPoints[keys[0]];\n const point2 = this.touchPoints[keys[1]];\n this.handleTwoPointTouchMove(point1, point2);\n }\n }\n\n private handlePointerUp(event: PointerEvent): void {\n delete this.touchPoints[event.pointerId];\n\n const keys = Object.keys(this.touchPoints);\n if (keys.length === 1) {\n this.interactionApi?.endInteraction();\n }\n if (keys.length === 0) {\n window.removeEventListener('pointermove', this.handlePointerMove);\n window.removeEventListener('pointerup', this.handlePointerUp);\n }\n this.endTwoPointTouch();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiTouchInteractionHandler.js","sourceRoot":"","sources":["../../../../../src/lib/interactions/multiTouchInteractionHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { Angle, Matrix2, Point } from '@vertexvis/geometry';\n\nimport { requestAnimationFrame } from '../window';\nimport { InteractionApi } from './interactionApi';\nimport { InteractionHandler } from './interactionHandler';\n\nexport abstract class MultiTouchInteractionHandler implements InteractionHandler {\n protected element?: HTMLElement;\n protected interactionApi?: InteractionApi;\n\n private previousFirstPoints: Point.Point[] = [];\n private previousSecondPoints: Point.Point[] = [];\n\n public initialize(element: HTMLElement, api: InteractionApi): void {\n this.element = element;\n this.interactionApi = api;\n }\n\n public dispose(): void {\n this.element = undefined;\n }\n\n protected beginTwoPointTouch(point1: Point.Point, point2: Point.Point): void {\n this.previousFirstPoints = [...this.previousFirstPoints, point1];\n this.previousSecondPoints = [...this.previousSecondPoints, point2];\n }\n\n protected handleTwoPointTouchMove(\n point1: Point.Point,\n point2: Point.Point
|
|
1
|
+
{"version":3,"file":"multiTouchInteractionHandler.js","sourceRoot":"","sources":["../../../../../src/lib/interactions/multiTouchInteractionHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { Angle, Matrix2, Point } from '@vertexvis/geometry';\n\nimport { requestAnimationFrame } from '../window';\nimport { InteractionApi } from './interactionApi';\nimport { InteractionHandler } from './interactionHandler';\n\nexport abstract class MultiTouchInteractionHandler implements InteractionHandler {\n protected element?: HTMLElement;\n protected interactionApi?: InteractionApi;\n\n private previousFirstPoints: Point.Point[] = [];\n private previousSecondPoints: Point.Point[] = [];\n\n public initialize(element: HTMLElement, api: InteractionApi): void {\n this.element = element;\n this.interactionApi = api;\n }\n\n public dispose(): void {\n this.element = undefined;\n }\n\n protected beginTwoPointTouch(point1: Point.Point, point2: Point.Point): void {\n this.previousFirstPoints = [...this.previousFirstPoints, point1];\n this.previousSecondPoints = [...this.previousSecondPoints, point2];\n }\n\n protected handleTwoPointTouchMove(\n point1: Point.Point,\n point2: Point.Point,\n ): void {\n this.previousFirstPoints = [...this.previousFirstPoints, point1];\n this.previousSecondPoints = [...this.previousSecondPoints, point2];\n\n // Process updates to touch points on animation frame callbacks to batch\n // the processing. Because each event can potentially only represent a single\n // touch point moving, two opposing angles can be computed sequentially. This\n // results in a wobbling effect if those angles are both sent, and this batched\n // processing helps to reduce that effect.\n requestAnimationFrame(() => {\n if (\n this.previousFirstPoints.length > 1 &&\n this.previousSecondPoints.length > 1 &&\n this.previousFirstPoints.length === this.previousSecondPoints.length\n ) {\n const previousFirstPoints = this.previousFirstPoints;\n const previousSecondPoints = this.previousSecondPoints;\n\n this.previousFirstPoints = this.previousFirstPoints.slice(-1);\n this.previousSecondPoints = this.previousSecondPoints.slice(-1);\n\n const changes = previousFirstPoints.reduce<{\n deltas: Point.Point[];\n zooms: number[];\n angles: number[];\n }>(\n (result, previousFirstPoint, i) => {\n if (i < previousFirstPoints.length - 1) {\n const firstPoint = previousFirstPoints[i + 1];\n const previousSecondPoint = previousSecondPoints[i];\n const secondPoint = previousSecondPoints[i + 1];\n\n return {\n deltas: [\n ...result.deltas,\n this.computeDelta(\n previousFirstPoint,\n previousSecondPoint,\n firstPoint,\n secondPoint,\n ),\n ],\n zooms: [\n ...result.zooms,\n this.computeZoom(\n previousFirstPoint,\n previousSecondPoint,\n firstPoint,\n secondPoint,\n ),\n ],\n angles: [\n ...result.angles,\n this.computeAngle(\n previousFirstPoint,\n previousSecondPoint,\n firstPoint,\n secondPoint,\n ),\n ],\n };\n }\n return result;\n },\n {\n deltas: [],\n zooms: [],\n angles: [],\n },\n );\n\n const delta = changes.deltas.reduce(\n (r, d) => Point.add(r, d),\n Point.create(),\n );\n const zoom = changes.zooms.reduce((z, d) => z + d, 0);\n const angle = changes.angles.reduce((a, d) => a + d, 0);\n\n const center = Point.create(\n (previousFirstPoints[previousFirstPoints.length - 1].x +\n previousSecondPoints[previousSecondPoints.length - 1].x) /\n 2,\n (previousFirstPoints[previousFirstPoints.length - 1].y +\n previousSecondPoints[previousSecondPoints.length - 1].y) /\n 2,\n );\n\n this.interactionApi?.beginInteraction();\n this.interactionApi?.zoomCameraToPoint(center, zoom);\n this.interactionApi?.panCameraByDelta(delta);\n this.interactionApi?.twistCamera(angle);\n }\n });\n }\n\n protected endTwoPointTouch(): void {\n this.previousFirstPoints = [];\n this.previousSecondPoints = [];\n }\n\n private computeDelta(\n previousPoint1: Point.Point,\n previousPoint2: Point.Point,\n point1: Point.Point,\n point2: Point.Point,\n ): Point.Point {\n return Point.add(\n Point.subtract(point1, previousPoint1),\n Point.subtract(point2, previousPoint2),\n );\n }\n\n private computeZoom(\n previousPoint1: Point.Point,\n previousPoint2: Point.Point,\n point1: Point.Point,\n point2: Point.Point,\n ): number {\n const distance =\n Point.distance(point1, point2) -\n Point.distance(previousPoint1, previousPoint2);\n return distance * 0.5;\n }\n\n private computeAngle(\n previousPoint1: Point.Point,\n previousPoint2: Point.Point,\n point1: Point.Point,\n point2: Point.Point,\n ): number {\n const previousToCurrent = Matrix2.create(\n Point.subtract(previousPoint1, previousPoint2),\n Point.subtract(point1, point2),\n );\n return Angle.toDegrees(\n Math.atan2(\n Matrix2.determinant(previousToCurrent),\n Matrix2.dot(previousToCurrent),\n ),\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointerInteractionHandler.js","sourceRoot":"","sources":["../../../../../src/lib/interactions/pointerInteractionHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { Point } from '@vertexvis/geometry';\nimport { Disposable } from '@vertexvis/utils';\n\nimport { ConfigProvider } from '../config';\nimport { InteractionApi } from './interactionApi';\nimport {\n PanInteraction,\n PivotInteraction,\n RotateInteraction,\n RotatePointInteraction,\n TwistInteraction,\n ZoomInteraction,\n} from './mouseInteractions';\nimport { MultiElementInteractionHandler } from './multiElementInteractionHandler';\n\nexport class PointerInteractionHandler extends MultiElementInteractionHandler {\n private touchPoints: Set<number>;\n\n public constructor(\n getConfig: ConfigProvider,\n rotateInteraction = new RotateInteraction(),\n rotatePointInteraction = new RotatePointInteraction(),\n zoomInteraction = new ZoomInteraction(() => getConfig().interactions),\n panInteraction = new PanInteraction(),\n twistInteraction = new TwistInteraction(),\n pivotInteraction = new PivotInteraction()
|
|
1
|
+
{"version":3,"file":"pointerInteractionHandler.js","sourceRoot":"","sources":["../../../../../src/lib/interactions/pointerInteractionHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { Point } from '@vertexvis/geometry';\nimport { Disposable } from '@vertexvis/utils';\n\nimport { ConfigProvider } from '../config';\nimport { InteractionApi } from './interactionApi';\nimport {\n PanInteraction,\n PivotInteraction,\n RotateInteraction,\n RotatePointInteraction,\n TwistInteraction,\n ZoomInteraction,\n} from './mouseInteractions';\nimport { MultiElementInteractionHandler } from './multiElementInteractionHandler';\n\nexport class PointerInteractionHandler extends MultiElementInteractionHandler {\n private touchPoints: Set<number>;\n\n public constructor(\n getConfig: ConfigProvider,\n rotateInteraction = new RotateInteraction(),\n rotatePointInteraction = new RotatePointInteraction(),\n zoomInteraction = new ZoomInteraction(() => getConfig().interactions),\n panInteraction = new PanInteraction(),\n twistInteraction = new TwistInteraction(),\n pivotInteraction = new PivotInteraction(),\n ) {\n super(\n 'pointerdown',\n 'pointerup',\n 'pointermove',\n rotateInteraction,\n rotatePointInteraction,\n zoomInteraction,\n panInteraction,\n twistInteraction,\n pivotInteraction,\n getConfig,\n );\n this.touchPoints = new Set();\n this.handlePointerDown = this.handlePointerDown.bind(this);\n this.handlePointerUp = this.handlePointerUp.bind(this);\n }\n\n public initialize(element: HTMLElement, api: InteractionApi): void {\n super.initialize(element, api);\n\n element.addEventListener('pointerdown', this.handlePointerDown);\n }\n\n public addEventListenersToElement(element: HTMLElement): Disposable {\n element.addEventListener(this.downEvent, this.handleDownEvent);\n element.addEventListener('wheel', this.handleMouseWheel, {\n passive: false,\n });\n\n return {\n dispose: () => {\n element.removeEventListener(this.downEvent, this.handleDownEvent);\n element.removeEventListener('wheel', this.handleMouseWheel);\n },\n };\n }\n\n private handlePointerDown(event: PointerEvent): void {\n this.downPosition = Point.create(event.screenX, event.screenY);\n this.touchPoints.add(event.pointerId);\n\n if (this.touchPoints.size === 1) {\n window.addEventListener('pointerup', this.handlePointerUp);\n }\n\n if (this.touchPoints.size === 2) {\n this.disableIndividualInteractions = true;\n }\n }\n\n private handlePointerUp(event: PointerEvent): void {\n this.touchPoints.delete(event.pointerId);\n\n if (this.touchPoints.size < 2) {\n this.disableIndividualInteractions = false;\n }\n\n if (this.touchPoints.size === 0) {\n window.removeEventListener('pointerup', this.handlePointerUp);\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tapInteractionHandler.js","sourceRoot":"","sources":["../../../../../src/lib/interactions/tapInteractionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAe5C,MAAM,OAAO,qBAAqB;IAgBhC,YACY,SAAsC,EACtC,OAAgC,EAChC,SAAsC,EACxC,SAAyB;QAHvB,cAAS,GAAT,SAAS,CAA6B;QACtC,YAAO,GAAP,OAAO,CAAyB;QAChC,cAAS,GAAT,SAAS,CAA6B;QACxC,cAAS,GAAT,SAAS,CAAgB;QAEjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,OAAO;;QACZ,MAAA,IAAI,CAAC,OAAO,0CAAE,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnE,MAAA,IAAI,CAAC,OAAO,0CAAE,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAEzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEM,UAAU,CAAC,OAAoB,EAAE,GAAmB;QACzD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAC1B,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAC5D,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,KAAiB;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,mBAAmB,CACtB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CACjE,CAAC;YAEF,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAE7B,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACzD,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,KAAiB;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,iBAAiB,CACpB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAChE,IAAI,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAiB;QACtC,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAC;YACrC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5D,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClD,CAAC;IAEO,UAAU,CAAC,KAAgB;QACjC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAE7B,MAAM,SAAS,GAAG;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAEO,UAAU,CAAC,KAAgB;QACjC,IAAI,CAAC,iBAAiB,CACpB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CACpB,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,KAAgB;QAC/B,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAC;YACrC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxD,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,gBAAgB,CACnB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAC1C;YACE,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,EACD,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CACpB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAEO,iBAAiB,CAAC,QAAqB,EAAE,OAAiB;;QAChE,4DAA4D;QAC5D,oDAAoD;QACpD,MAAM,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,cAAc,CAAC,OAAO,CAAC,KAAI,CAAC,CAAC;QACpE,IACE,IAAI,CAAC,mBAAmB,IAAI,IAAI;YAChC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,SAAS;YAC/D,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAC7B,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,gBAAgB,CACtB,QAAsB,EACtB,aAAoC,EAAE,EACtC,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,KAAK;;QAEf,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,cAAc,0CAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACrE,CAAC;YAED,IACE,IAAI,CAAC,cAAc,IAAI,IAAI;gBAC3B,IAAI,CAAC,yBAAyB,IAAI,IAAI,EACtC,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,cAAc,0CAAE,SAAS,CAAC,CACvC,QAAQ,EACR,UAAU,EACV,OAAO,EACP,IAAI,CAAC,yBAAyB,CAC/B,CAAC;gBACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QAErC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,IAAI,CAAC,OAAoB;QAC/B,OAAO,CACL,iBAA8B,EAC9B,aAAoC,EAAE,EACtC,OAAO,GAAG,CAAC,EACX,mBAAiC,EACjC,OAAO,GAAG,KAAK,EACT,EAAE;;YACR,MAAM,YAAY,GAAG,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC;YACrE,MAAM,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,cAAc,CAAC,OAAO,CAAC,KAAI,CAAC,CAAC;YAEpE,IAAI,eAAwC,CAAC;YAC7C,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;gBAClC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CACtC,YAAY,IAAI,iBAAiB,CAClC,CAAC;YACJ,CAAC;iBAAM,IACL,YAAY,IAAI,IAAI;gBACpB,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC,IAAI,SAAS,EAC5D,CAAC;gBACD,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,eAAe,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBAC/C,OAAO,CAAC,eAAe,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,KAAkB;;QAC1C,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,qBAAqB,EAAE,CAAC;QAC3D,MAAM,YAAY,GAChB,YAAY,IAAI,IAAI;YAClB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC;YACnD,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO,YAAY,IAAI,IAAI;YACzB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;YAC9D,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;QAC1C,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;QAE3C,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;YAChC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;QAC1C,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAC7C,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CACrC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAChC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAC3C,CAAC;IACJ,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;YAChC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IAClC,CAAC;IAEO,qBAAqB,CAAC,YAAmC,EAAE;QACjE,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;;YAC3C,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,cAAc,0CAAE,SAAS,CAAC,CACvC,IAAI,CAAC,mBAAmB,EACxB,SAAS,EACT,IAAI,CAAC,OAAO,CACb,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACjD,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YAC7C,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACpC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAEO,qBAAqB;QAC3B,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAClC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC3C,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,KAAkB;QAC5C,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,OAAO,CAAC,KAAgB;QAC9B,OAAO,MAAM,CAAC,YAAY,IAAI,IAAI,IAAI,KAAK,YAAY,YAAY;YACjE,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,OAAO;YAC/B,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;CACF","sourcesContent":["import { Point } from '@vertexvis/geometry';\n\nimport { ConfigProvider } from '../config';\nimport { InteractionApi } from './interactionApi';\nimport { BaseEvent } from './interactionEvent';\nimport { InteractionHandler } from './interactionHandler';\nimport { TapEventKeys } from './tapEventDetails';\n\ntype TapEmitter = (\n position: Point.Point,\n keyDetails?: Partial<TapEventKeys>,\n buttons?: number,\n downPosition?: Point.Point\n) => Promise<void> | void;\n\nexport class TapInteractionHandler implements InteractionHandler {\n private element?: HTMLElement;\n private interactionApi?: InteractionApi;\n\n private pointerDownPosition?: Point.Point;\n\n // Double tap positions\n private firstPointerDownPosition?: Point.Point;\n private secondPointerDownPosition?: Point.Point;\n\n private doubleTapTimer?: number;\n private longPressTimer?: number;\n private interactionTimer?: number;\n\n private buttons?: number;\n\n public constructor(\n protected downEvent: 'mousedown' | 'pointerdown',\n protected upEvent: 'mouseup' | 'pointerup',\n protected moveEvent: 'mousemove' | 'pointermove',\n private getConfig: ConfigProvider\n ) {\n this.handleDown = this.handleDown.bind(this);\n this.handleUp = this.handleUp.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleTouchStart = this.handleTouchStart.bind(this);\n this.handleTouchMove = this.handleTouchMove.bind(this);\n this.handleTouchEnd = this.handleTouchEnd.bind(this);\n this.handlePointerMove = this.handlePointerMove.bind(this);\n this.handlePointerEnd = this.handlePointerEnd.bind(this);\n this.clearPositions = this.clearPositions.bind(this);\n this.restartDoubleTapTimer = this.restartDoubleTapTimer.bind(this);\n this.clearDoubleTapTimer = this.clearDoubleTapTimer.bind(this);\n this.restartLongPressTimer = this.restartLongPressTimer.bind(this);\n this.clearLongPressTimer = this.clearLongPressTimer.bind(this);\n this.setPointerPositions = this.setPointerPositions.bind(this);\n this.emit = this.emit.bind(this);\n }\n\n public dispose(): void {\n this.element?.removeEventListener(this.downEvent, this.handleDown);\n this.element?.removeEventListener('touchstart', this.handleTouchStart);\n this.element = undefined;\n\n this.clearDoubleTapTimer();\n this.clearLongPressTimer();\n }\n\n public initialize(element: HTMLElement, api: InteractionApi): void {\n this.element = element;\n this.interactionApi = api;\n element.addEventListener(this.downEvent, this.handleDown);\n element.addEventListener('touchstart', this.handleTouchStart, {\n passive: true,\n });\n }\n\n private handleTouchStart(event: TouchEvent): void {\n if (event.touches.length === 1) {\n this.setPointerPositions(\n Point.create(event.touches[0].clientX, event.touches[0].clientY)\n );\n\n this.restartLongPressTimer();\n\n window.addEventListener('touchend', this.handleTouchEnd);\n window.addEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n private handleTouchMove(event: TouchEvent): void {\n if (event.touches.length > 0) {\n this.handlePointerMove(\n Point.create(event.touches[0].clientX, event.touches[0].clientY),\n true\n );\n }\n }\n\n private handleTouchEnd(event: TouchEvent): void {\n if (this.pointerDownPosition != null) {\n window.removeEventListener('touchend', this.handleTouchEnd);\n window.removeEventListener('touchmove', this.handleTouchMove);\n }\n\n this.handlePointerEnd(this.pointerDownPosition);\n }\n\n private handleDown(event: BaseEvent): void {\n this.setPointerPositions(Point.create(event.clientX, event.clientY));\n this.buttons = event.buttons;\n\n const eventKeys = {\n altKey: event.altKey,\n ctrlKey: event.ctrlKey,\n metaKey: event.metaKey,\n shiftKey: event.shiftKey,\n };\n this.restartLongPressTimer(eventKeys);\n\n window.addEventListener(this.upEvent, this.handleUp);\n window.addEventListener(this.moveEvent, this.handleMove);\n }\n\n private handleMove(event: BaseEvent): void {\n this.handlePointerMove(\n Point.create(event.clientX, event.clientY),\n this.isTouch(event)\n );\n }\n\n private handleUp(event: BaseEvent): void {\n if (this.pointerDownPosition != null) {\n window.removeEventListener(this.upEvent, this.handleUp);\n window.removeEventListener(this.moveEvent, this.handleMove);\n }\n\n this.handlePointerEnd(\n Point.create(event.clientX, event.clientY),\n {\n altKey: event.altKey,\n ctrlKey: event.ctrlKey,\n metaKey: event.metaKey,\n shiftKey: event.shiftKey,\n },\n this.buttons,\n this.isTouch(event)\n );\n this.buttons = undefined;\n }\n\n private handlePointerMove(position: Point.Point, isTouch?: boolean): void {\n // Ignore pointer end events for this associated touch start\n // since the distance from the start is large enough\n const threshold = this.interactionApi?.pixelThreshold(isTouch) || 2;\n if (\n this.pointerDownPosition != null &&\n Point.distance(position, this.pointerDownPosition) >= threshold &&\n this.interactionTimer == null\n ) {\n this.clearPositions();\n }\n }\n\n private handlePointerEnd(\n position?: Point.Point,\n keyDetails: Partial<TapEventKeys> = {},\n buttons = 0,\n isTouch = false\n ): void {\n if (position != null) {\n if (this.longPressTimer != null) {\n this.emit(this.interactionApi?.tap)(position, keyDetails, buttons);\n }\n\n if (\n this.doubleTapTimer != null &&\n this.secondPointerDownPosition != null\n ) {\n this.emit(this.interactionApi?.doubleTap)(\n position,\n keyDetails,\n buttons,\n this.secondPointerDownPosition\n );\n this.clearDoubleTapTimer();\n }\n }\n\n this.pointerDownPosition = undefined;\n\n this.clearLongPressTimer();\n }\n\n private emit(emitter?: TapEmitter): TapEmitter {\n return (\n pointerUpPosition: Point.Point,\n keyDetails: Partial<TapEventKeys> = {},\n buttons = 0,\n pointerDownPosition?: Point.Point,\n isTouch = false\n ): void => {\n const downPosition = pointerDownPosition || this.pointerDownPosition;\n const threshold = this.interactionApi?.pixelThreshold(isTouch) || 1;\n\n let emittedPosition: Point.Point | undefined;\n if (this.interactionTimer != null) {\n emittedPosition = this.getCanvasPosition(\n downPosition || pointerUpPosition\n );\n } else if (\n downPosition != null &&\n Point.distance(downPosition, pointerUpPosition) <= threshold\n ) {\n emittedPosition = this.getCanvasPosition(pointerUpPosition);\n }\n if (emittedPosition != null && emitter != null) {\n emitter(emittedPosition, keyDetails, buttons);\n }\n };\n }\n\n private getCanvasPosition(point: Point.Point): Point.Point | undefined {\n const canvasBounds = this.element?.getBoundingClientRect();\n const canvasOffset =\n canvasBounds != null\n ? Point.create(canvasBounds.left, canvasBounds.top)\n : undefined;\n\n return canvasOffset != null\n ? Point.subtract(Point.create(point.x, point.y), canvasOffset)\n : undefined;\n }\n\n private clearPositions(): void {\n this.pointerDownPosition = undefined;\n this.firstPointerDownPosition = undefined;\n this.secondPointerDownPosition = undefined;\n\n this.clearDoubleTapTimer();\n this.clearLongPressTimer();\n this.clearInteractionTimer();\n }\n\n private clearDoubleTapTimer(): void {\n if (this.doubleTapTimer != null) {\n window.clearTimeout(this.doubleTapTimer);\n }\n this.doubleTapTimer = undefined;\n this.firstPointerDownPosition = undefined;\n this.secondPointerDownPosition = undefined;\n }\n\n private restartDoubleTapTimer(): void {\n this.clearDoubleTapTimer();\n this.doubleTapTimer = window.setTimeout(\n () => this.clearDoubleTapTimer(),\n this.getConfig().events.doubleTapThreshold\n );\n }\n\n private clearLongPressTimer(): void {\n if (this.longPressTimer != null) {\n window.clearTimeout(this.longPressTimer);\n }\n this.longPressTimer = undefined;\n }\n\n private restartLongPressTimer(eventKeys: Partial<TapEventKeys> = {}): void {\n this.clearLongPressTimer();\n this.longPressTimer = window.setTimeout(() => {\n if (this.pointerDownPosition) {\n this.emit(this.interactionApi?.longPress)(\n this.pointerDownPosition,\n eventKeys,\n this.buttons\n );\n }\n this.clearLongPressTimer();\n }, this.getConfig().events.longPressThreshold);\n }\n\n private restartInteractionTimer(): void {\n this.clearInteractionTimer();\n this.interactionTimer = window.setTimeout(() => {\n this.interactionTimer = undefined;\n }, this.getConfig().interactions.interactionDelay);\n }\n\n private clearInteractionTimer(): void {\n if (this.interactionTimer != null) {\n window.clearTimeout(this.interactionTimer);\n this.interactionTimer = undefined;\n }\n }\n\n private setPointerPositions(point: Point.Point): void {\n this.pointerDownPosition = point;\n this.restartInteractionTimer();\n if (this.firstPointerDownPosition == null) {\n this.restartDoubleTapTimer();\n this.firstPointerDownPosition = point;\n } else {\n this.secondPointerDownPosition = point;\n }\n }\n\n private isTouch(event: BaseEvent): boolean {\n return window.PointerEvent != null && event instanceof PointerEvent\n ? event.pointerType === 'touch'\n : false;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tapInteractionHandler.js","sourceRoot":"","sources":["../../../../../src/lib/interactions/tapInteractionHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { Point } from '@vertexvis/geometry';\n\nimport { ConfigProvider } from '../config';\nimport { InteractionApi } from './interactionApi';\nimport { BaseEvent } from './interactionEvent';\nimport { InteractionHandler } from './interactionHandler';\nimport { TapEventKeys } from './tapEventDetails';\n\ntype TapEmitter = (\n position: Point.Point,\n keyDetails?: Partial<TapEventKeys>,\n buttons?: number,\n downPosition?: Point.Point,\n) => Promise<void> | void;\n\nexport class TapInteractionHandler implements InteractionHandler {\n private element?: HTMLElement;\n private interactionApi?: InteractionApi;\n\n private pointerDownPosition?: Point.Point;\n\n // Double tap positions\n private firstPointerDownPosition?: Point.Point;\n private secondPointerDownPosition?: Point.Point;\n\n private doubleTapTimer?: number;\n private longPressTimer?: number;\n private interactionTimer?: number;\n\n private buttons?: number;\n\n public constructor(\n protected downEvent: 'mousedown' | 'pointerdown',\n protected upEvent: 'mouseup' | 'pointerup',\n protected moveEvent: 'mousemove' | 'pointermove',\n private getConfig: ConfigProvider,\n ) {\n this.handleDown = this.handleDown.bind(this);\n this.handleUp = this.handleUp.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleTouchStart = this.handleTouchStart.bind(this);\n this.handleTouchMove = this.handleTouchMove.bind(this);\n this.handleTouchEnd = this.handleTouchEnd.bind(this);\n this.handlePointerMove = this.handlePointerMove.bind(this);\n this.handlePointerEnd = this.handlePointerEnd.bind(this);\n this.clearPositions = this.clearPositions.bind(this);\n this.restartDoubleTapTimer = this.restartDoubleTapTimer.bind(this);\n this.clearDoubleTapTimer = this.clearDoubleTapTimer.bind(this);\n this.restartLongPressTimer = this.restartLongPressTimer.bind(this);\n this.clearLongPressTimer = this.clearLongPressTimer.bind(this);\n this.setPointerPositions = this.setPointerPositions.bind(this);\n this.emit = this.emit.bind(this);\n }\n\n public dispose(): void {\n this.element?.removeEventListener(this.downEvent, this.handleDown);\n this.element?.removeEventListener('touchstart', this.handleTouchStart);\n this.element = undefined;\n\n this.clearDoubleTapTimer();\n this.clearLongPressTimer();\n }\n\n public initialize(element: HTMLElement, api: InteractionApi): void {\n this.element = element;\n this.interactionApi = api;\n element.addEventListener(this.downEvent, this.handleDown);\n element.addEventListener('touchstart', this.handleTouchStart, {\n passive: true,\n });\n }\n\n private handleTouchStart(event: TouchEvent): void {\n if (event.touches.length === 1) {\n this.setPointerPositions(\n Point.create(event.touches[0].clientX, event.touches[0].clientY),\n );\n\n this.restartLongPressTimer();\n\n window.addEventListener('touchend', this.handleTouchEnd);\n window.addEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n private handleTouchMove(event: TouchEvent): void {\n if (event.touches.length > 0) {\n this.handlePointerMove(\n Point.create(event.touches[0].clientX, event.touches[0].clientY),\n true,\n );\n }\n }\n\n private handleTouchEnd(event: TouchEvent): void {\n if (this.pointerDownPosition != null) {\n window.removeEventListener('touchend', this.handleTouchEnd);\n window.removeEventListener('touchmove', this.handleTouchMove);\n }\n\n this.handlePointerEnd(this.pointerDownPosition);\n }\n\n private handleDown(event: BaseEvent): void {\n this.setPointerPositions(Point.create(event.clientX, event.clientY));\n this.buttons = event.buttons;\n\n const eventKeys = {\n altKey: event.altKey,\n ctrlKey: event.ctrlKey,\n metaKey: event.metaKey,\n shiftKey: event.shiftKey,\n };\n this.restartLongPressTimer(eventKeys);\n\n window.addEventListener(this.upEvent, this.handleUp);\n window.addEventListener(this.moveEvent, this.handleMove);\n }\n\n private handleMove(event: BaseEvent): void {\n this.handlePointerMove(\n Point.create(event.clientX, event.clientY),\n this.isTouch(event),\n );\n }\n\n private handleUp(event: BaseEvent): void {\n if (this.pointerDownPosition != null) {\n window.removeEventListener(this.upEvent, this.handleUp);\n window.removeEventListener(this.moveEvent, this.handleMove);\n }\n\n this.handlePointerEnd(\n Point.create(event.clientX, event.clientY),\n {\n altKey: event.altKey,\n ctrlKey: event.ctrlKey,\n metaKey: event.metaKey,\n shiftKey: event.shiftKey,\n },\n this.buttons,\n this.isTouch(event),\n );\n this.buttons = undefined;\n }\n\n private handlePointerMove(position: Point.Point, isTouch?: boolean): void {\n // Ignore pointer end events for this associated touch start\n // since the distance from the start is large enough\n const threshold = this.interactionApi?.pixelThreshold(isTouch) || 2;\n if (\n this.pointerDownPosition != null &&\n Point.distance(position, this.pointerDownPosition) >= threshold &&\n this.interactionTimer == null\n ) {\n this.clearPositions();\n }\n }\n\n private handlePointerEnd(\n position?: Point.Point,\n keyDetails: Partial<TapEventKeys> = {},\n buttons = 0,\n isTouch = false,\n ): void {\n if (position != null) {\n if (this.longPressTimer != null) {\n this.emit(this.interactionApi?.tap)(position, keyDetails, buttons);\n }\n\n if (\n this.doubleTapTimer != null &&\n this.secondPointerDownPosition != null\n ) {\n this.emit(this.interactionApi?.doubleTap)(\n position,\n keyDetails,\n buttons,\n this.secondPointerDownPosition,\n );\n this.clearDoubleTapTimer();\n }\n }\n\n this.pointerDownPosition = undefined;\n\n this.clearLongPressTimer();\n }\n\n private emit(emitter?: TapEmitter): TapEmitter {\n return (\n pointerUpPosition: Point.Point,\n keyDetails: Partial<TapEventKeys> = {},\n buttons = 0,\n pointerDownPosition?: Point.Point,\n isTouch = false,\n ): void => {\n const downPosition = pointerDownPosition || this.pointerDownPosition;\n const threshold = this.interactionApi?.pixelThreshold(isTouch) || 1;\n\n let emittedPosition: Point.Point | undefined;\n if (this.interactionTimer != null) {\n emittedPosition = this.getCanvasPosition(\n downPosition || pointerUpPosition,\n );\n } else if (\n downPosition != null &&\n Point.distance(downPosition, pointerUpPosition) <= threshold\n ) {\n emittedPosition = this.getCanvasPosition(pointerUpPosition);\n }\n if (emittedPosition != null && emitter != null) {\n emitter(emittedPosition, keyDetails, buttons);\n }\n };\n }\n\n private getCanvasPosition(point: Point.Point): Point.Point | undefined {\n const canvasBounds = this.element?.getBoundingClientRect();\n const canvasOffset =\n canvasBounds != null\n ? Point.create(canvasBounds.left, canvasBounds.top)\n : undefined;\n\n return canvasOffset != null\n ? Point.subtract(Point.create(point.x, point.y), canvasOffset)\n : undefined;\n }\n\n private clearPositions(): void {\n this.pointerDownPosition = undefined;\n this.firstPointerDownPosition = undefined;\n this.secondPointerDownPosition = undefined;\n\n this.clearDoubleTapTimer();\n this.clearLongPressTimer();\n this.clearInteractionTimer();\n }\n\n private clearDoubleTapTimer(): void {\n if (this.doubleTapTimer != null) {\n window.clearTimeout(this.doubleTapTimer);\n }\n this.doubleTapTimer = undefined;\n this.firstPointerDownPosition = undefined;\n this.secondPointerDownPosition = undefined;\n }\n\n private restartDoubleTapTimer(): void {\n this.clearDoubleTapTimer();\n this.doubleTapTimer = window.setTimeout(\n () => this.clearDoubleTapTimer(),\n this.getConfig().events.doubleTapThreshold,\n );\n }\n\n private clearLongPressTimer(): void {\n if (this.longPressTimer != null) {\n window.clearTimeout(this.longPressTimer);\n }\n this.longPressTimer = undefined;\n }\n\n private restartLongPressTimer(eventKeys: Partial<TapEventKeys> = {}): void {\n this.clearLongPressTimer();\n this.longPressTimer = window.setTimeout(() => {\n if (this.pointerDownPosition) {\n this.emit(this.interactionApi?.longPress)(\n this.pointerDownPosition,\n eventKeys,\n this.buttons,\n );\n }\n this.clearLongPressTimer();\n }, this.getConfig().events.longPressThreshold);\n }\n\n private restartInteractionTimer(): void {\n this.clearInteractionTimer();\n this.interactionTimer = window.setTimeout(() => {\n this.interactionTimer = undefined;\n }, this.getConfig().interactions.interactionDelay);\n }\n\n private clearInteractionTimer(): void {\n if (this.interactionTimer != null) {\n window.clearTimeout(this.interactionTimer);\n this.interactionTimer = undefined;\n }\n }\n\n private setPointerPositions(point: Point.Point): void {\n this.pointerDownPosition = point;\n this.restartInteractionTimer();\n if (this.firstPointerDownPosition == null) {\n this.restartDoubleTapTimer();\n this.firstPointerDownPosition = point;\n } else {\n this.secondPointerDownPosition = point;\n }\n }\n\n private isTouch(event: BaseEvent): boolean {\n return window.PointerEvent != null && event instanceof PointerEvent\n ? event.pointerType === 'touch'\n : false;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"touchInteractionHandler.js","sourceRoot":"","sources":["../../../../../src/lib/interactions/touchInteractionHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { Point } from '@vertexvis/geometry';\n\nimport { InteractionApi } from './interactionApi';\nimport { MultiTouchInteractionHandler } from './multiTouchInteractionHandler';\n\nexport class TouchInteractionHandler extends MultiTouchInteractionHandler {\n private currentPosition1?: Point.Point;\n private isInteracting?: boolean;\n\n public constructor() {\n super();\n this.handleTouchStart = this.handleTouchStart.bind(this);\n this.handleTouchMove = this.handleTouchMove.bind(this);\n this.handleTouchEnd = this.handleTouchEnd.bind(this);\n }\n\n public dispose(): void {\n this.element?.removeEventListener('touchstart', this.handleTouchStart);\n super.dispose();\n }\n\n public initialize(element: HTMLElement, api: InteractionApi): void {\n super.initialize(element, api);\n\n element.addEventListener('touchstart', this.handleTouchStart);\n }\n\n private handleTouchStart(event: TouchEvent): void {\n if (event.touches.length >= 1) {\n event.preventDefault();\n\n const touch1 = event.touches[0];\n\n this.currentPosition1 = Point.create(touch1.screenX, touch1.screenY);\n\n if (event.touches[1] != null) {\n this.beginTwoPointTouch(\n this.currentPosition1,\n Point.create(event.touches[1].screenX, event.touches[1].screenY)
|
|
1
|
+
{"version":3,"file":"touchInteractionHandler.js","sourceRoot":"","sources":["../../../../../src/lib/interactions/touchInteractionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,MAAM,OAAO,uBAAwB,SAAQ,4BAA4B;IAIvE;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAEM,OAAO;;QACZ,MAAA,IAAI,CAAC,OAAO,0CAAE,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvE,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAEM,UAAU,CAAC,OAAoB,EAAE,GAAmB;QACzD,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAE/B,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;IAEO,gBAAgB,CAAC,KAAiB;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9B,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEhC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAErE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC7B,IAAI,CAAC,kBAAkB,CACrB,IAAI,CAAC,gBAAgB,EACrB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CACjE,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;gBACzD,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,KAAiB;QACvC,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CACzB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EACxB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CACzB,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CACzB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EACxB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CACzB,CAAC;YAEF,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAiB;;QACtC,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,MAAA,IAAI,CAAC,cAAc,0CAAE,cAAc,EAAE,CAAC;QAEtC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9D,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAE5D,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEO,uBAAuB,CAAC,KAAY;;QAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAE5D,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;YACjE,IACE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,SAAS;gBAC5D,IAAI,CAAC,aAAa,EAClB,CAAC;gBACD,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,EAAE,CAAC;gBACxC,MAAA,IAAI,CAAC,cAAc,0CAAE,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IACnC,CAAC;CACF","sourcesContent":["import { Point } from '@vertexvis/geometry';\n\nimport { InteractionApi } from './interactionApi';\nimport { MultiTouchInteractionHandler } from './multiTouchInteractionHandler';\n\nexport class TouchInteractionHandler extends MultiTouchInteractionHandler {\n private currentPosition1?: Point.Point;\n private isInteracting?: boolean;\n\n public constructor() {\n super();\n this.handleTouchStart = this.handleTouchStart.bind(this);\n this.handleTouchMove = this.handleTouchMove.bind(this);\n this.handleTouchEnd = this.handleTouchEnd.bind(this);\n }\n\n public dispose(): void {\n this.element?.removeEventListener('touchstart', this.handleTouchStart);\n super.dispose();\n }\n\n public initialize(element: HTMLElement, api: InteractionApi): void {\n super.initialize(element, api);\n\n element.addEventListener('touchstart', this.handleTouchStart);\n }\n\n private handleTouchStart(event: TouchEvent): void {\n if (event.touches.length >= 1) {\n event.preventDefault();\n\n const touch1 = event.touches[0];\n\n this.currentPosition1 = Point.create(touch1.screenX, touch1.screenY);\n\n if (event.touches[1] != null) {\n this.beginTwoPointTouch(\n this.currentPosition1,\n Point.create(event.touches[1].screenX, event.touches[1].screenY),\n );\n }\n\n window.addEventListener('touchmove', this.handleTouchMove, {\n passive: false,\n });\n window.addEventListener('touchend', this.handleTouchEnd);\n }\n }\n\n private handleTouchMove(event: TouchEvent): void {\n event.preventDefault();\n\n if (event.touches.length === 1) {\n this.handleOnePointTouchMove(event.touches[0]);\n } else if (event.touches.length === 2) {\n const point1 = Point.create(\n event.touches[0].clientX,\n event.touches[0].clientY,\n );\n const point2 = Point.create(\n event.touches[1].clientX,\n event.touches[1].clientY,\n );\n\n this.handleTwoPointTouchMove(point1, point2);\n }\n }\n\n private handleTouchEnd(event: TouchEvent): void {\n event.preventDefault();\n\n this.interactionApi?.endInteraction();\n\n this.isInteracting = false;\n\n window.removeEventListener('touchmove', this.handleTouchMove);\n window.removeEventListener('touchend', this.handleTouchEnd);\n\n this.endTwoPointTouch();\n }\n\n private handleOnePointTouchMove(touch: Touch): void {\n const position = Point.create(touch.screenX, touch.screenY);\n\n if (this.currentPosition1 != null) {\n const delta = Point.subtract(position, this.currentPosition1);\n const threshold = this.interactionApi?.pixelThreshold(true) || 2;\n if (\n Point.distance(position, this.currentPosition1) >= threshold ||\n this.isInteracting\n ) {\n this.interactionApi?.beginInteraction();\n this.interactionApi?.rotateCamera(delta);\n this.isInteracting = true;\n }\n }\n\n this.currentPosition1 = position;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyBinding.js","sourceRoot":"","sources":["../../../../src/lib/keyBinding.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAU;IAGrB,YAAmB,GAAG,QAAkB;QACtC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACnE,CAAC;IAEM,OAAO,CAAC,IAA6B;QAC1C,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CACrE,CAAC;IACJ,CAAC;IAEO,cAAc,CACpB,IAA6B,EAC7B,OAAe;QAEf,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAErC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;CACF","sourcesContent":["export class KeyBinding {\n private bindings: string[];\n\n public constructor(...bindings: string[]) {\n this.bindings = bindings.map((binding) => binding.toLowerCase());\n }\n\n public matches(keys: Record<string, boolean>): boolean {\n return (\n this.bindings.length > 0 &&\n this.bindings.every((binding) => this.bindingMatches(keys, binding))\n );\n }\n\n private bindingMatches(\n keys: Record<string, boolean>,\n binding: string
|
|
1
|
+
{"version":3,"file":"keyBinding.js","sourceRoot":"","sources":["../../../../src/lib/keyBinding.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAU;IAGrB,YAAmB,GAAG,QAAkB;QACtC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACnE,CAAC;IAEM,OAAO,CAAC,IAA6B;QAC1C,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CACrE,CAAC;IACJ,CAAC;IAEO,cAAc,CACpB,IAA6B,EAC7B,OAAe;QAEf,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAErC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;CACF","sourcesContent":["export class KeyBinding {\n private bindings: string[];\n\n public constructor(...bindings: string[]) {\n this.bindings = bindings.map((binding) => binding.toLowerCase());\n }\n\n public matches(keys: Record<string, boolean>): boolean {\n return (\n this.bindings.length > 0 &&\n this.bindings.every((binding) => this.bindingMatches(keys, binding))\n );\n }\n\n private bindingMatches(\n keys: Record<string, boolean>,\n binding: string,\n ): boolean {\n const negated = binding.includes('!');\n const key = binding.replace('!', '');\n\n return negated ? !keys[key] : keys[key];\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotation.js","sourceRoot":"","sources":["../../../../../src/lib/mappers/annotation.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n CalloutAnnotationData,\n CustomAnnotationData,\n SceneAnnotation,\n SceneAnnotationSet,\n} from '@vertexvis/scene-view-protos/core/protos/scene_annotations_pb';\nimport { Mapper as M } from '@vertexvis/utils';\n\nimport { ViewerIconName } from '../../components/viewer-icon/viewer-icon';\nimport type {\n Annotation,\n AnnotationData,\n AnnotationSet,\n} from '../annotations/annotation';\nimport { fromPbTimestamp, fromPbUuid2l } from './corePb';\nimport { fromPbVector3f } from './geometry';\nimport { fromPbStringValue } from './scalar';\n\nexport const fromPbAnnotationSet: M.Func<SceneAnnotationSet, AnnotationSet> =\n M.defineMapper(\n M.compose(\n (input) => input.toObject(),\n M.read(\n M.mapRequiredProp('id', fromPbUuid2l),\n M.mapRequiredProp('createdAt', fromPbTimestamp),\n M.mapRequiredProp('modifiedAt', fromPbTimestamp),\n M.mapProp('name', fromPbStringValue),\n M.mapProp('suppliedId', fromPbStringValue)
|
|
1
|
+
{"version":3,"file":"annotation.js","sourceRoot":"","sources":["../../../../../src/lib/mappers/annotation.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n CalloutAnnotationData,\n CustomAnnotationData,\n SceneAnnotation,\n SceneAnnotationSet,\n} from '@vertexvis/scene-view-protos/core/protos/scene_annotations_pb';\nimport { Mapper as M } from '@vertexvis/utils';\n\nimport { ViewerIconName } from '../../components/viewer-icon/viewer-icon';\nimport type {\n Annotation,\n AnnotationData,\n AnnotationSet,\n} from '../annotations/annotation';\nimport { fromPbTimestamp, fromPbUuid2l } from './corePb';\nimport { fromPbVector3f } from './geometry';\nimport { fromPbStringValue } from './scalar';\n\nexport const fromPbAnnotationSet: M.Func<SceneAnnotationSet, AnnotationSet> =\n M.defineMapper(\n M.compose(\n (input) => input.toObject(),\n M.read(\n M.mapRequiredProp('id', fromPbUuid2l),\n M.mapRequiredProp('createdAt', fromPbTimestamp),\n M.mapRequiredProp('modifiedAt', fromPbTimestamp),\n M.mapProp('name', fromPbStringValue),\n M.mapProp('suppliedId', fromPbStringValue),\n ),\n ),\n ([id, createdAt, modifiedAt, name, suppliedId]) => ({\n id,\n createdAt,\n modifiedAt,\n name,\n suppliedId,\n }),\n );\n\nexport const fromPbAnnotationSetOrThrow = M.ifInvalidThrow(fromPbAnnotationSet);\n\nexport const fromPbAnnotation: M.Func<SceneAnnotation, Annotation> =\n M.defineMapper(\n M.compose(\n (input) => input.toObject(),\n M.read(\n M.mapRequiredProp('id', fromPbUuid2l),\n M.mapRequiredProp('createdAt', fromPbTimestamp),\n M.mapRequiredProp('modifiedAt', fromPbTimestamp),\n M.mapProp('suppliedId', fromPbStringValue),\n M.mapRequiredProp('data', (data) => {\n if (data.callout != null) {\n return fromPbCalloutAnnotationData(data.callout);\n } else if (data.customJson != null) {\n return fromPbCustomAnnotationData(data.customJson);\n } else {\n throw new Error('Undefined or unknown annotation data.');\n }\n }),\n ),\n ),\n ([id, createdAt, modifiedAt, suppliedId, data]) => ({\n id,\n createdAt,\n modifiedAt,\n suppliedId,\n data,\n }),\n );\n\nexport const fromPbAnnotationOrThrow = M.ifInvalidThrow(fromPbAnnotation);\n\nconst fromPbCalloutAnnotationData: M.Func<\n CalloutAnnotationData.AsObject,\n AnnotationData\n> = M.defineMapper(\n M.read(\n M.mapRequiredProp('position', fromPbVector3f),\n M.mapProp('icon', fromPbStringValue),\n M.mapProp('primaryColor', fromPbStringValue),\n M.mapProp('accentColor', fromPbStringValue),\n ),\n ([position, icon, primaryColor, accentColor]) => ({\n type: 'callout',\n position,\n icon: icon as ViewerIconName,\n primaryColor,\n accentColor,\n }),\n);\n\nconst fromPbCustomAnnotationData: M.Func<\n CustomAnnotationData.AsObject,\n AnnotationData\n> = M.defineMapper(\n M.read(\n M.requiredProp('type'),\n M.mapRequiredProp('jsonData', (json) => JSON.parse(json)),\n ),\n ([jsonType, jsonData]) => ({ type: 'custom', jsonType, jsonData }),\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera.js","sourceRoot":"","sources":["../../../../../src/lib/mappers/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAI/C,MAAM,CAAC,MAAM,cAAc,GAGvB,CAAC,CAAC,YAAY,CAChB,CAAC,UAAU,EAAE,EAAE;IACb,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC;QACtE,KAAK,cAAc;YACjB,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAAC;QACvE;YACE,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC;IACpE,CAAC;AACH,CAAC,EACD,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAC3B,CAAC;AAOF,MAAM,UAAU,qBAAqB;IACnC,OAAO,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AAC1C,CAAC","sourcesContent":["import { vertexvis } from '@vertexvis/frame-streaming-protos';\nimport { Mapper as M } from '@vertexvis/utils';\n\nimport { CameraType } from '../../interfaces';\n\nexport const toPbCameraType: M.Func<\n CameraType,\n vertexvis.protobuf.stream.CameraType\n> = M.defineMapper(\n (cameraType) => {\n switch (cameraType) {\n case 'perspective':\n return vertexvis.protobuf.stream.CameraType.CAMERA_TYPE_PERSPECTIVE;\n case 'orthographic':\n return vertexvis.protobuf.stream.CameraType.CAMERA_TYPE_ORTHOGRAPHIC;\n default:\n return vertexvis.protobuf.stream.CameraType.CAMERA_TYPE_INVALID;\n }\n },\n (cameraType) => cameraType
|
|
1
|
+
{"version":3,"file":"camera.js","sourceRoot":"","sources":["../../../../../src/lib/mappers/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAI/C,MAAM,CAAC,MAAM,cAAc,GAGvB,CAAC,CAAC,YAAY,CAChB,CAAC,UAAU,EAAE,EAAE;IACb,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC;QACtE,KAAK,cAAc;YACjB,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAAC;QACvE;YACE,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC;IACpE,CAAC;AACH,CAAC,EACD,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAC3B,CAAC;AAOF,MAAM,UAAU,qBAAqB;IACnC,OAAO,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AAC1C,CAAC","sourcesContent":["import { vertexvis } from '@vertexvis/frame-streaming-protos';\nimport { Mapper as M } from '@vertexvis/utils';\n\nimport { CameraType } from '../../interfaces';\n\nexport const toPbCameraType: M.Func<\n CameraType,\n vertexvis.protobuf.stream.CameraType\n> = M.defineMapper(\n (cameraType) => {\n switch (cameraType) {\n case 'perspective':\n return vertexvis.protobuf.stream.CameraType.CAMERA_TYPE_PERSPECTIVE;\n case 'orthographic':\n return vertexvis.protobuf.stream.CameraType.CAMERA_TYPE_ORTHOGRAPHIC;\n default:\n return vertexvis.protobuf.stream.CameraType.CAMERA_TYPE_INVALID;\n }\n },\n (cameraType) => cameraType,\n);\n\nexport type CameraTypeEncoder = M.ThrowIfInvalidFunc<\n CameraType,\n vertexvis.protobuf.stream.CameraType\n>;\n\nexport function toPbCameraTypeOrThrow(): CameraTypeEncoder {\n return M.ifInvalidThrow(toPbCameraType);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.js","sourceRoot":"","sources":["../../../../../src/lib/mappers/color.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,CAAC,YAAY,CACZ,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EACnB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EACnB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EACnB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CACpB,EACD,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAC3C,CAAC","sourcesContent":["import { vertexvis } from '@vertexvis/frame-streaming-protos';\nimport { Color, Mapper as M } from '@vertexvis/utils';\n\nexport const fromPbRGBAi: M.Func<vertexvis.protobuf.core.IRGBAi, Color.Color> =\n M.defineMapper(\n M.read(\n M.requiredProp('r'),\n M.requiredProp('g'),\n M.requiredProp('b'),\n M.requiredProp('a')
|
|
1
|
+
{"version":3,"file":"color.js","sourceRoot":"","sources":["../../../../../src/lib/mappers/color.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,CAAC,YAAY,CACZ,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EACnB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EACnB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EACnB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CACpB,EACD,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAC3C,CAAC","sourcesContent":["import { vertexvis } from '@vertexvis/frame-streaming-protos';\nimport { Color, Mapper as M } from '@vertexvis/utils';\n\nexport const fromPbRGBAi: M.Func<vertexvis.protobuf.core.IRGBAi, Color.Color> =\n M.defineMapper(\n M.read(\n M.requiredProp('r'),\n M.requiredProp('g'),\n M.requiredProp('b'),\n M.requiredProp('a'),\n ),\n ([r, g, b, a]) => Color.create(r, g, b, a),\n );\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colorMaterial.js","sourceRoot":"","sources":["../../../../../src/lib/mappers/colorMaterial.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAG5B,CAAC,CAAC,YAAY,CAChB,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EACnB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EACpB,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,EACnC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,EACnC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,EACnC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CACpC,EACD,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;CACT,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAG/B,CAAC,CAAC,YAAY,CAChB,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,eAAe,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EACxD,CAAC,CAAC,eAAe,CAAC,eAAe,EAAE,mBAAmB,CAAC,CACxD,EACD,CAAC,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;IACrC,eAAe;IACf,aAAa;CACd,CAAC,CACH,CAAC","sourcesContent":["import type { vertexvis } from '@vertexvis/frame-streaming-protos';\nimport { Mapper as M } from '@vertexvis/utils';\n\nimport { ColorMaterial } from '../..';\nimport { MaterialOverride } from '../../interfaces';\nimport { defaultColor } from '../scenes/colorMaterial';\nimport { fromPbRGBi } from './material';\n\nexport const fromPbColorMaterial: M.Func<\n vertexvis.protobuf.core.IColorMaterial,\n ColorMaterial.ColorMaterial\n> = M.defineMapper(\n M.read(\n M.requiredProp('d'),\n M.requiredProp('ns'),\n M.mapRequiredProp('ka', fromPbRGBi),\n M.mapRequiredProp('kd', fromPbRGBi),\n M.mapRequiredProp('ks', fromPbRGBi),\n M.mapRequiredProp('ke', fromPbRGBi)
|
|
1
|
+
{"version":3,"file":"colorMaterial.js","sourceRoot":"","sources":["../../../../../src/lib/mappers/colorMaterial.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAG5B,CAAC,CAAC,YAAY,CAChB,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EACnB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EACpB,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,EACnC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,EACnC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,EACnC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CACpC,EACD,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;CACT,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAG/B,CAAC,CAAC,YAAY,CAChB,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,eAAe,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EACxD,CAAC,CAAC,eAAe,CAAC,eAAe,EAAE,mBAAmB,CAAC,CACxD,EACD,CAAC,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;IACrC,eAAe;IACf,aAAa;CACd,CAAC,CACH,CAAC","sourcesContent":["import type { vertexvis } from '@vertexvis/frame-streaming-protos';\nimport { Mapper as M } from '@vertexvis/utils';\n\nimport { ColorMaterial } from '../..';\nimport { MaterialOverride } from '../../interfaces';\nimport { defaultColor } from '../scenes/colorMaterial';\nimport { fromPbRGBi } from './material';\n\nexport const fromPbColorMaterial: M.Func<\n vertexvis.protobuf.core.IColorMaterial,\n ColorMaterial.ColorMaterial\n> = M.defineMapper(\n M.read(\n M.requiredProp('d'),\n M.requiredProp('ns'),\n M.mapRequiredProp('ka', fromPbRGBi),\n M.mapRequiredProp('kd', fromPbRGBi),\n M.mapRequiredProp('ks', fromPbRGBi),\n M.mapRequiredProp('ke', fromPbRGBi),\n ),\n ([opacity, glossiness, ambient, diffuse, specular, emissive]) => ({\n opacity,\n glossiness,\n ambient,\n diffuse,\n specular,\n emissive,\n }),\n);\n\nexport const fromPbMaterialOverride: M.Func<\n vertexvis.protobuf.core.IMaterialOverride,\n MaterialOverride\n> = M.defineMapper(\n M.read(\n M.mapRequiredProp('defaultMaterial', () => defaultColor),\n M.mapRequiredProp('colorMaterial', fromPbColorMaterial),\n ),\n ([defaultMaterial, colorMaterial]) => ({\n defaultMaterial,\n colorMaterial,\n }),\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corePb.js","sourceRoot":"","sources":["../../../../../src/lib/mappers/corePb.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,CAAC,MAAM,YAAY,GAAuC,CAAC,CAAC,YAAY,CAC5E,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EACpD,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAC1C,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAqC,CAAC,CAAC,YAAY,CAC7E,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAC1D,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CACtD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAmC,CAAC,CAAC,YAAY,CACzE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAC7B,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CACzB,CAAC","sourcesContent":["import { Instant } from '@vertexvis/scene-view-protos/core/protos/instant_pb';\nimport type { Uuid2l } from '@vertexvis/scene-view-protos/core/protos/uuid_pb';\nimport { protoToDate } from '@vertexvis/stream-api';\nimport { Mapper as M, UUID } from '@vertexvis/utils';\nimport { Timestamp } from 'google-protobuf/google/protobuf/timestamp_pb';\n\nexport const fromPbUuid2l: M.Func<Uuid2l.AsObject, UUID.UUID> = M.defineMapper(\n M.read(M.requiredProp('msb'), M.requiredProp('lsb')),\n ([msb, lsb]) => UUID.fromMsbLsb(msb, lsb)
|
|
1
|
+
{"version":3,"file":"corePb.js","sourceRoot":"","sources":["../../../../../src/lib/mappers/corePb.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,CAAC,MAAM,YAAY,GAAuC,CAAC,CAAC,YAAY,CAC5E,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EACpD,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAC1C,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAqC,CAAC,CAAC,YAAY,CAC7E,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAC1D,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CACtD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAmC,CAAC,CAAC,YAAY,CACzE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAC7B,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CACzB,CAAC","sourcesContent":["import { Instant } from '@vertexvis/scene-view-protos/core/protos/instant_pb';\nimport type { Uuid2l } from '@vertexvis/scene-view-protos/core/protos/uuid_pb';\nimport { protoToDate } from '@vertexvis/stream-api';\nimport { Mapper as M, UUID } from '@vertexvis/utils';\nimport { Timestamp } from 'google-protobuf/google/protobuf/timestamp_pb';\n\nexport const fromPbUuid2l: M.Func<Uuid2l.AsObject, UUID.UUID> = M.defineMapper(\n M.read(M.requiredProp('msb'), M.requiredProp('lsb')),\n ([msb, lsb]) => UUID.fromMsbLsb(msb, lsb),\n);\n\nexport const fromPbTimestamp: M.Func<Timestamp.AsObject, Date> = M.defineMapper(\n M.read(M.requiredProp('seconds'), M.requiredProp('nanos')),\n ([seconds, nanos]) => protoToDate({ seconds, nanos }),\n);\n\nexport const fromPbInstant: M.Func<Instant.AsObject, Date> = M.defineMapper(\n M.read(M.requiredProp('iso')),\n ([iso]) => new Date(iso),\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corePbJs.js","sourceRoot":"","sources":["../../../../../src/lib/mappers/corePbJs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GACvB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,cAAc,GAGvB,CAAC,CAAC,YAAY,CAChB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EACpD,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;IACb,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GACvB,CAAC,CAAC,YAAY,CACZ,CAAC,CAAC,OAAO,CACP,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC3B,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EACjC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAClC,CACF,EACD,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAC/B,CAAC","sourcesContent":["import type { vertexvis } from '@vertexvis/frame-streaming-protos';\nimport { UUID } from '@vertexvis/utils';\nimport { Mapper as M } from '@vertexvis/utils';\nimport Long from 'long';\n\nexport const fromPbJsUuid: M.Func<vertexvis.protobuf.core.IUuid, UUID.UUID> =\n M.defineMapper(M.read(M.requiredProp('hex')), ([uuid]) => uuid);\n\nexport const fromPbJsUuid2l: M.Func<\n vertexvis.protobuf.core.IUuid2l,\n UUID.UUID\n> = M.defineMapper(\n M.read(M.requiredProp('msb'), M.requiredProp('lsb')),\n ([msb, lsb]) => {\n const m = BigInt(typeof msb === 'number' ? msb : msb.toString());\n const l = BigInt(typeof lsb === 'number' ? lsb : lsb.toString());\n return UUID.fromMsbLsb(m, l);\n }
|
|
1
|
+
{"version":3,"file":"corePbJs.js","sourceRoot":"","sources":["../../../../../src/lib/mappers/corePbJs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GACvB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,cAAc,GAGvB,CAAC,CAAC,YAAY,CAChB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EACpD,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;IACb,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GACvB,CAAC,CAAC,YAAY,CACZ,CAAC,CAAC,OAAO,CACP,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC3B,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EACjC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAClC,CACF,EACD,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAC/B,CAAC","sourcesContent":["import type { vertexvis } from '@vertexvis/frame-streaming-protos';\nimport { UUID } from '@vertexvis/utils';\nimport { Mapper as M } from '@vertexvis/utils';\nimport Long from 'long';\n\nexport const fromPbJsUuid: M.Func<vertexvis.protobuf.core.IUuid, UUID.UUID> =\n M.defineMapper(M.read(M.requiredProp('hex')), ([uuid]) => uuid);\n\nexport const fromPbJsUuid2l: M.Func<\n vertexvis.protobuf.core.IUuid2l,\n UUID.UUID\n> = M.defineMapper(\n M.read(M.requiredProp('msb'), M.requiredProp('lsb')),\n ([msb, lsb]) => {\n const m = BigInt(typeof msb === 'number' ? msb : msb.toString());\n const l = BigInt(typeof lsb === 'number' ? lsb : lsb.toString());\n return UUID.fromMsbLsb(m, l);\n },\n);\n\nexport const toPbJsUuid2l: M.Func<string, vertexvis.protobuf.core.IUuid2l> =\n M.defineMapper(\n M.compose(\n (str) => UUID.toMsbLsb(str),\n M.read(\n M.mapProp('msb', Long.fromString),\n M.mapProp('lsb', Long.fromString),\n ),\n ),\n ([msb, lsb]) => ({ msb, lsb }),\n );\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frameStreaming.js","sourceRoot":"","sources":["../../../../../src/lib/mappers/frameStreaming.ts"],"names":[],"mappings":"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","sourcesContent":["import { vertexvis } from '@vertexvis/frame-streaming-protos';\nimport { BoundingBox, Dimensions, Vector3 } from '@vertexvis/geometry';\nimport { protoToDate } from '@vertexvis/stream-api';\nimport { Mapper as M, UUID } from '@vertexvis/utils';\n\nimport { Token } from '../token';\nimport {\n CrossSectioning,\n Frame,\n FrameCamera,\n FrameCameraBase,\n FrameImage,\n FrameScene,\n ImageAttributesLike,\n ItemModelView,\n Orientation,\n SceneViewSummary,\n} from '../types';\nimport { fromPbJsUuid, fromPbJsUuid2l } from './corePbJs';\nimport {\n fromPbBoundingBox3f,\n fromPbDim,\n fromPbRect,\n fromPbVector3f,\n} from './geometry';\nimport { fromPbRGBi } from './material';\nimport { fromPbBoolValue, fromPbBytesValue } from './scalar';\n\nexport const fromPbPerspectiveCamera: M.Func<\n vertexvis.protobuf.stream.IPerspectiveCamera,\n FrameCamera.PerspectiveFrameCamera\n> = M.defineMapper(\n M.read(\n M.mapProp('position', M.compose(M.required('position'), fromPbVector3f)),\n M.mapProp('lookAt', M.compose(M.required('lookAt'), fromPbVector3f)),\n M.mapProp('up', M.compose(M.required('up'), fromPbVector3f)),\n M.getProp('fovY')\n ),\n ([position, lookAt, up, fovY]) => {\n return {\n position,\n lookAt,\n up,\n fovY: fovY?.value != null ? fovY.value : 45,\n };\n }\n);\n\nexport const fromPbOrthographicCamera: M.Func<\n vertexvis.protobuf.stream.IOrthographicCamera,\n FrameCamera.OrthographicFrameCamera\n> = M.defineMapper(\n M.read(\n M.mapProp(\n 'viewVector',\n M.compose(M.required('viewVector'), fromPbVector3f)\n ),\n M.mapProp('lookAt', M.compose(M.required('lookAt'), fromPbVector3f)),\n M.mapProp('up', M.compose(M.required('up'), fromPbVector3f)),\n M.mapProp('fovHeight', M.required('fovHeight'))\n ),\n ([viewVector, lookAt, up, fovHeight]) => ({\n viewVector,\n lookAt,\n up,\n fovHeight,\n })\n);\n\nexport const fromPbCamera: M.Func<\n vertexvis.protobuf.stream.ICamera,\n FrameCamera.FrameCamera\n> = M.defineMapper(\n M.read(\n M.mapProp('position', M.ifDefined(fromPbVector3f)),\n M.mapProp('lookAt', M.ifDefined(fromPbVector3f)),\n M.mapProp('up', M.ifDefined(fromPbVector3f)),\n M.mapProp('perspective', M.ifDefined(fromPbPerspectiveCamera)),\n M.mapProp('orthographic', M.ifDefined(fromPbOrthographicCamera))\n ),\n ([position, lookAt, up, perspective, orthographic]) => {\n return (\n perspective ??\n orthographic ?? {\n position: position ?? Vector3.back(),\n lookAt: lookAt ?? Vector3.origin(),\n up: up ?? Vector3.up(),\n fovY: 45,\n }\n );\n }\n);\n\nexport const fromPbSectionPlane: M.Func<\n vertexvis.protobuf.stream.ISectionPlane,\n CrossSectioning.SectionPlane\n> = M.defineMapper(\n M.read(\n M.mapProp('normal', M.compose(M.required('normal'), fromPbVector3f)),\n M.requiredProp('offset')\n ),\n ([normal, offset]) => ({ normal, offset })\n);\n\nconst fromPbImageAttributes: M.Func<\n vertexvis.protobuf.stream.IImageAttributes,\n ImageAttributesLike\n> = M.defineMapper(\n M.read(\n M.mapProp(\n 'frameDimensions',\n M.compose(M.required('frameDimensions'), fromPbDim)\n ),\n M.mapProp('imageRect', M.compose(M.required('imageRect'), fromPbRect)),\n M.mapProp('scaleFactor', M.required('scaleFactor'))\n ),\n ([frameDimensions, imageRect, imageScale]) => ({\n frameDimensions,\n imageRect,\n imageScale,\n })\n);\n\nexport const fromPbCrossSectioning: M.Func<\n vertexvis.protobuf.stream.ICrossSectioning,\n CrossSectioning.CrossSectioning\n> = M.defineMapper(\n M.read(\n M.mapProp(\n 'sectionPlanes',\n M.compose(M.required('sectionPlanes'), M.mapArray(fromPbSectionPlane))\n ),\n M.mapProp('highlightColor', M.ifDefined(fromPbRGBi))\n ),\n ([sectionPlanes, highlightColor]) =>\n CrossSectioning.create({\n sectionPlanes,\n highlightColor: highlightColor || undefined,\n })\n);\n\nconst fromPbItemSetSummary: M.Func<\n vertexvis.protobuf.stream.IItemSetSummary,\n SceneViewSummary.ItemSetSummary\n> = M.defineMapper(\n M.read(\n M.requiredProp('count'),\n M.mapProp('boundingBox', M.ifDefined(fromPbBoundingBox3f))\n ),\n ([count, boundingBox]) => ({\n count,\n boundingBox: boundingBox ?? undefined,\n })\n);\n\nconst fromPbDisplayListSummary: M.Func<\n vertexvis.protobuf.stream.IDisplayListSummary,\n SceneViewSummary.SceneViewSummary\n> = M.defineMapper(\n M.read(\n M.mapProp('visibleSummary', M.ifDefined(fromPbItemSetSummary)),\n M.mapProp('selectedVisibleSummary', M.ifDefined(fromPbItemSetSummary))\n ),\n ([visibleSummary, selectedVisibleSummary]) =>\n SceneViewSummary.create({\n visibleSummary: visibleSummary ?? undefined,\n selectedVisibleSummary: selectedVisibleSummary ?? undefined,\n })\n);\n\nconst fromPbItemModelView: M.Func<\n vertexvis.protobuf.stream.IItemModelViewAttributes,\n ItemModelView.ItemModelView\n> = M.defineMapper(\n M.read(\n M.mapProp('modelViewId', M.ifDefined(fromPbJsUuid)),\n M.mapProp('sceneItemId', M.ifDefined(fromPbJsUuid))\n ),\n ([modelViewId, sceneItemId]) =>\n ItemModelView.create({\n modelViewId: modelViewId ?? undefined,\n sceneItemId: sceneItemId ?? undefined,\n })\n);\n\nconst fromPbFrameImageAttributes: M.Func<\n vertexvis.protobuf.stream.IDrawFramePayload,\n ImageAttributesLike\n> = M.defineMapper(\n M.read(\n M.mapProp(\n 'imageAttributes',\n M.compose(M.required('imageAttributes'), fromPbImageAttributes)\n )\n ),\n ([imageAttr]) => imageAttr\n);\n\nconst fromPbFrameImage: M.Func<\n vertexvis.protobuf.stream.IDrawFramePayload,\n FrameImage\n> = M.defineMapper(\n M.read(fromPbFrameImageAttributes, M.mapProp('image', M.required('image'))),\n ([imageAttr, image]) => new FrameImage(imageAttr, image)\n);\n\nconst fromPbSceneAttributes: M.Func<\n vertexvis.protobuf.stream.ISceneAttributes,\n {\n camera: FrameCamera.FrameCamera;\n boundingBox: BoundingBox.BoundingBox;\n crossSectioning: CrossSectioning.CrossSectioning;\n hasChanged: boolean;\n displayListSummary: SceneViewSummary.SceneViewSummary;\n modelViewId: UUID.UUID | undefined;\n itemModelView: ItemModelView.ItemModelView | undefined;\n }\n> = M.defineMapper(\n M.read(\n M.mapRequiredProp('camera', fromPbCamera),\n M.mapRequiredProp('visibleBoundingBox', fromPbBoundingBox3f),\n M.mapRequiredProp('crossSectioning', fromPbCrossSectioning),\n M.requiredProp('hasChanged'),\n M.mapRequiredProp('displayListSummary', fromPbDisplayListSummary),\n M.mapProp('modelViewId', M.ifDefined(fromPbJsUuid2l)),\n M.mapProp('itemModelView', M.ifDefined(fromPbItemModelView))\n ),\n ([\n camera,\n boundingBox,\n crossSectioning,\n hasChanged,\n displayListSummary,\n modelViewId,\n itemModelView,\n ]) => ({\n camera,\n boundingBox,\n crossSectioning,\n hasChanged,\n displayListSummary,\n modelViewId: modelViewId ?? undefined,\n itemModelView: itemModelView ?? undefined,\n })\n);\n\nconst fromPbFrameSceneAttributes: M.Func<\n vertexvis.protobuf.stream.IDrawFramePayload,\n {\n camera: FrameCamera.FrameCamera;\n boundingBox: BoundingBox.BoundingBox;\n crossSectioning: CrossSectioning.CrossSectioning;\n hasChanged: boolean;\n displayListSummary: SceneViewSummary.SceneViewSummary;\n modelViewId: UUID.UUID | undefined;\n itemModelView: ItemModelView.ItemModelView | undefined;\n }\n> = M.defineMapper(\n M.read(\n M.mapProp(\n 'sceneAttributes',\n M.compose(M.required('sceneAttributes'), fromPbSceneAttributes)\n )\n ),\n ([sceneAttr]) => sceneAttr\n);\n\nconst fromPbFrameCamera: M.Func<\n vertexvis.protobuf.stream.IDrawFramePayload,\n FrameCameraBase\n> = M.defineMapper(\n M.read(fromPbFrameSceneAttributes, fromPbFrameImageAttributes),\n ([sceneAttr, imageAttr]) =>\n FrameCameraBase.fromBoundingBox(\n sceneAttr.camera,\n sceneAttr.boundingBox,\n Dimensions.aspectRatio(imageAttr.frameDimensions)\n )\n);\n\nfunction fromPbFrameScene(\n worldOrientation: Orientation\n): M.Func<vertexvis.protobuf.stream.IDrawFramePayload, FrameScene> {\n return M.defineMapper(\n M.read(fromPbFrameSceneAttributes, fromPbFrameCamera),\n ([sceneAttr, camera]) =>\n new FrameScene(\n camera,\n sceneAttr.boundingBox,\n sceneAttr.crossSectioning,\n worldOrientation,\n sceneAttr.hasChanged,\n sceneAttr.displayListSummary,\n sceneAttr.modelViewId,\n sceneAttr.itemModelView\n )\n );\n}\n\nexport function fromPbFrame(\n worldOrientation: Orientation\n): M.Func<vertexvis.protobuf.stream.IDrawFramePayload, Frame> {\n return M.defineMapper(\n M.read(\n M.mapProp('frameCorrelationIds', (ids) => (ids != null ? ids : [])),\n M.requiredProp('sequenceNumber'),\n M.compose(fromPbFrameImageAttributes, M.getProp('frameDimensions')),\n fromPbFrameScene(worldOrientation),\n fromPbFrameImage,\n M.mapProp('depthBuffer', fromPbBytesValue),\n M.mapProp('featureMap', fromPbBytesValue),\n M.mapProp('temporalRefinementCorrelationId', (id) =>\n id != null ? fromPbJsUuid(id) : null\n ),\n M.mapProp('partialFrame', M.ifDefined(fromPbBoolValue))\n ),\n ([cIds, seq, fd, s, i, db, fm, trci, pF]) =>\n new Frame(cIds, trci || '', seq, fd, i, s, db, fm, pF ?? false)\n );\n}\n\nexport type FrameDecoder = M.ThrowIfInvalidFunc<\n vertexvis.protobuf.stream.IDrawFramePayload,\n Frame\n>;\n\nexport function fromPbFrameOrThrow(\n worldOrientation: Orientation\n): FrameDecoder {\n return M.ifInvalidThrow(fromPbFrame(worldOrientation));\n}\n\nexport const fromPbWorldOrientation: M.Func<\n vertexvis.protobuf.stream.IOrientation | null | undefined,\n Orientation\n> = M.defineMapper(\n M.compose(\n M.required('orientation'),\n M.read(\n M.mapProp('up', M.compose(M.required('up'), fromPbVector3f)),\n M.mapProp('front', M.compose(M.required('front'), fromPbVector3f))\n )\n ),\n ([up, front]) => new Orientation(up, front)\n);\n\nexport const fromPbWorldOrientationOrThrow: M.ThrowIfInvalidFunc<\n vertexvis.protobuf.stream.IOrientation | null | undefined,\n Orientation\n> = M.ifInvalidThrow(fromPbWorldOrientation);\n\nconst fromPbStencilBufferResult: M.Func<\n vertexvis.protobuf.stream.IGetStencilBufferResult,\n {\n stencilBuffer: Uint8Array;\n depthBuffer: Uint8Array;\n imageAttributes: ImageAttributesLike;\n }\n> = M.defineMapper(\n M.read(\n M.mapRequiredProp('imageAttributes', fromPbImageAttributes),\n M.requiredProp('stencilBuffer'),\n M.mapRequiredProp(\n 'depthBuffer',\n M.compose(fromPbBytesValue, M.required('depthBuffer'))\n )\n ),\n ([imageAttributes, stencilBuffer, depthBuffer]) => ({\n imageAttributes,\n stencilBuffer,\n depthBuffer,\n })\n);\n\nexport const fromPbStencilBuffer = fromPbStreamResponse(\n 'stencilBuffer',\n fromPbStencilBufferResult\n);\n\nexport const fromPbStencilBufferOrThrow = M.ifInvalidThrow(fromPbStencilBuffer);\n\nfunction fromPbStreamResponse<\n P extends keyof vertexvis.protobuf.stream.IStreamResponse,\n R,\n>(\n prop: P,\n mapper: M.Func<NonNullable<vertexvis.protobuf.stream.IStreamResponse[P]>, R>\n): M.Func<vertexvis.protobuf.stream.IStreamResponse, R> {\n return M.mapRequiredProp(prop, mapper);\n}\n\nexport const fromPbToken: M.Func<vertexvis.protobuf.stream.IToken, Token> =\n M.defineMapper(\n M.read(M.requiredProp('token'), M.requiredProp('expiresIn')),\n ([token, expiresIn]) => Token.create(token, expiresIn)\n );\n\nexport const fromPbStartStreamResponse: M.Func<\n vertexvis.protobuf.stream.IStreamResponse,\n {\n streamId: string;\n sceneId: string;\n sceneViewId: string;\n sessionId: string;\n worldOrientation: Orientation;\n token: Token;\n }\n> = M.defineMapper(\n M.read(\n M.compose(\n M.requiredProp('startStream'),\n M.mapRequiredProp('streamId', fromPbJsUuid)\n ),\n M.compose(\n M.requiredProp('startStream'),\n M.mapRequiredProp('sceneId', fromPbJsUuid)\n ),\n M.compose(\n M.requiredProp('startStream'),\n M.mapRequiredProp('sceneViewId', fromPbJsUuid)\n ),\n M.compose(\n M.requiredProp('startStream'),\n M.mapRequiredProp('sessionId', fromPbJsUuid)\n ),\n M.compose(\n M.requiredProp('startStream'),\n M.mapRequiredProp('worldOrientation', fromPbWorldOrientation)\n ),\n M.compose(\n M.requiredProp('startStream'),\n M.mapRequiredProp('token', fromPbToken)\n )\n ),\n ([streamId, sceneId, sceneViewId, sessionId, worldOrientation, token]) => ({\n streamId,\n sceneId,\n sceneViewId,\n sessionId: sessionId,\n worldOrientation,\n token,\n })\n);\n\nexport const fromPbStartStreamResponseOrThrow = M.ifInvalidThrow(\n fromPbStartStreamResponse\n);\n\nexport const fromPbReconnectResponse: M.Func<\n vertexvis.protobuf.stream.IStreamResponse,\n { token: Token }\n> = M.defineMapper(\n M.read(\n M.compose(\n M.requiredProp('reconnect'),\n M.mapRequiredProp('token', fromPbToken)\n )\n ),\n ([token]) => ({ token })\n);\n\nexport const fromPbReconnectResponseOrThrow = M.ifInvalidThrow(\n fromPbReconnectResponse\n);\n\nexport const fromPbRefreshTokenResponse: M.Func<\n vertexvis.protobuf.stream.IStreamResponse,\n Token\n> = M.defineMapper(\n M.compose(\n M.requiredProp('refreshToken'),\n M.requiredProp('token'),\n fromPbToken\n ),\n (token) => token\n);\n\nexport const fromPbRefreshTokenResponseOrThrow = M.ifInvalidThrow(\n fromPbRefreshTokenResponse\n);\n\nexport const fromPbSyncTimeResponse: M.Func<\n vertexvis.protobuf.stream.IStreamResponse,\n Date\n> = M.defineMapper(\n M.compose(\n M.requiredProp('syncTime'),\n M.requiredProp('replyTime'),\n M.read(M.requiredProp('seconds'), M.requiredProp('nanos'))\n ),\n ([seconds, nanos]) => protoToDate({ seconds, nanos })\n);\n\nexport const fromPbSyncTimeResponseOrThrow = M.ifInvalidThrow(\n fromPbSyncTimeResponse\n);\n"]}
|
|
1
|
+
{"version":3,"file":"frameStreaming.js","sourceRoot":"","sources":["../../../../../src/lib/mappers/frameStreaming.ts"],"names":[],"mappings":"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","sourcesContent":["import { vertexvis } from '@vertexvis/frame-streaming-protos';\nimport { BoundingBox, Dimensions, Vector3 } from '@vertexvis/geometry';\nimport { protoToDate } from '@vertexvis/stream-api';\nimport { Mapper as M, UUID } from '@vertexvis/utils';\n\nimport { Token } from '../token';\nimport {\n CrossSectioning,\n Frame,\n FrameCamera,\n FrameCameraBase,\n FrameImage,\n FrameScene,\n ImageAttributesLike,\n ItemModelView,\n Orientation,\n SceneViewSummary,\n} from '../types';\nimport { fromPbJsUuid, fromPbJsUuid2l } from './corePbJs';\nimport {\n fromPbBoundingBox3f,\n fromPbDim,\n fromPbRect,\n fromPbVector3f,\n} from './geometry';\nimport { fromPbRGBi } from './material';\nimport { fromPbBoolValue, fromPbBytesValue } from './scalar';\n\nexport const fromPbPerspectiveCamera: M.Func<\n vertexvis.protobuf.stream.IPerspectiveCamera,\n FrameCamera.PerspectiveFrameCamera\n> = M.defineMapper(\n M.read(\n M.mapProp('position', M.compose(M.required('position'), fromPbVector3f)),\n M.mapProp('lookAt', M.compose(M.required('lookAt'), fromPbVector3f)),\n M.mapProp('up', M.compose(M.required('up'), fromPbVector3f)),\n M.getProp('fovY'),\n ),\n ([position, lookAt, up, fovY]) => {\n return {\n position,\n lookAt,\n up,\n fovY: fovY?.value != null ? fovY.value : 45,\n };\n },\n);\n\nexport const fromPbOrthographicCamera: M.Func<\n vertexvis.protobuf.stream.IOrthographicCamera,\n FrameCamera.OrthographicFrameCamera\n> = M.defineMapper(\n M.read(\n M.mapProp(\n 'viewVector',\n M.compose(M.required('viewVector'), fromPbVector3f),\n ),\n M.mapProp('lookAt', M.compose(M.required('lookAt'), fromPbVector3f)),\n M.mapProp('up', M.compose(M.required('up'), fromPbVector3f)),\n M.mapProp('fovHeight', M.required('fovHeight')),\n ),\n ([viewVector, lookAt, up, fovHeight]) => ({\n viewVector,\n lookAt,\n up,\n fovHeight,\n }),\n);\n\nexport const fromPbCamera: M.Func<\n vertexvis.protobuf.stream.ICamera,\n FrameCamera.FrameCamera\n> = M.defineMapper(\n M.read(\n M.mapProp('position', M.ifDefined(fromPbVector3f)),\n M.mapProp('lookAt', M.ifDefined(fromPbVector3f)),\n M.mapProp('up', M.ifDefined(fromPbVector3f)),\n M.mapProp('perspective', M.ifDefined(fromPbPerspectiveCamera)),\n M.mapProp('orthographic', M.ifDefined(fromPbOrthographicCamera)),\n ),\n ([position, lookAt, up, perspective, orthographic]) => {\n return (\n perspective ??\n orthographic ?? {\n position: position ?? Vector3.back(),\n lookAt: lookAt ?? Vector3.origin(),\n up: up ?? Vector3.up(),\n fovY: 45,\n }\n );\n },\n);\n\nexport const fromPbSectionPlane: M.Func<\n vertexvis.protobuf.stream.ISectionPlane,\n CrossSectioning.SectionPlane\n> = M.defineMapper(\n M.read(\n M.mapProp('normal', M.compose(M.required('normal'), fromPbVector3f)),\n M.requiredProp('offset'),\n ),\n ([normal, offset]) => ({ normal, offset }),\n);\n\nconst fromPbImageAttributes: M.Func<\n vertexvis.protobuf.stream.IImageAttributes,\n ImageAttributesLike\n> = M.defineMapper(\n M.read(\n M.mapProp(\n 'frameDimensions',\n M.compose(M.required('frameDimensions'), fromPbDim),\n ),\n M.mapProp('imageRect', M.compose(M.required('imageRect'), fromPbRect)),\n M.mapProp('scaleFactor', M.required('scaleFactor')),\n ),\n ([frameDimensions, imageRect, imageScale]) => ({\n frameDimensions,\n imageRect,\n imageScale,\n }),\n);\n\nexport const fromPbCrossSectioning: M.Func<\n vertexvis.protobuf.stream.ICrossSectioning,\n CrossSectioning.CrossSectioning\n> = M.defineMapper(\n M.read(\n M.mapProp(\n 'sectionPlanes',\n M.compose(M.required('sectionPlanes'), M.mapArray(fromPbSectionPlane)),\n ),\n M.mapProp('highlightColor', M.ifDefined(fromPbRGBi)),\n ),\n ([sectionPlanes, highlightColor]) =>\n CrossSectioning.create({\n sectionPlanes,\n highlightColor: highlightColor || undefined,\n }),\n);\n\nconst fromPbItemSetSummary: M.Func<\n vertexvis.protobuf.stream.IItemSetSummary,\n SceneViewSummary.ItemSetSummary\n> = M.defineMapper(\n M.read(\n M.requiredProp('count'),\n M.mapProp('boundingBox', M.ifDefined(fromPbBoundingBox3f)),\n ),\n ([count, boundingBox]) => ({\n count,\n boundingBox: boundingBox ?? undefined,\n }),\n);\n\nconst fromPbDisplayListSummary: M.Func<\n vertexvis.protobuf.stream.IDisplayListSummary,\n SceneViewSummary.SceneViewSummary\n> = M.defineMapper(\n M.read(\n M.mapProp('visibleSummary', M.ifDefined(fromPbItemSetSummary)),\n M.mapProp('selectedVisibleSummary', M.ifDefined(fromPbItemSetSummary)),\n ),\n ([visibleSummary, selectedVisibleSummary]) =>\n SceneViewSummary.create({\n visibleSummary: visibleSummary ?? undefined,\n selectedVisibleSummary: selectedVisibleSummary ?? undefined,\n }),\n);\n\nconst fromPbItemModelView: M.Func<\n vertexvis.protobuf.stream.IItemModelViewAttributes,\n ItemModelView.ItemModelView\n> = M.defineMapper(\n M.read(\n M.mapProp('modelViewId', M.ifDefined(fromPbJsUuid)),\n M.mapProp('sceneItemId', M.ifDefined(fromPbJsUuid)),\n ),\n ([modelViewId, sceneItemId]) =>\n ItemModelView.create({\n modelViewId: modelViewId ?? undefined,\n sceneItemId: sceneItemId ?? undefined,\n }),\n);\n\nconst fromPbFrameImageAttributes: M.Func<\n vertexvis.protobuf.stream.IDrawFramePayload,\n ImageAttributesLike\n> = M.defineMapper(\n M.read(\n M.mapProp(\n 'imageAttributes',\n M.compose(M.required('imageAttributes'), fromPbImageAttributes),\n ),\n ),\n ([imageAttr]) => imageAttr,\n);\n\nconst fromPbFrameImage: M.Func<\n vertexvis.protobuf.stream.IDrawFramePayload,\n FrameImage\n> = M.defineMapper(\n M.read(fromPbFrameImageAttributes, M.mapProp('image', M.required('image'))),\n ([imageAttr, image]) => new FrameImage(imageAttr, image),\n);\n\nconst fromPbSceneAttributes: M.Func<\n vertexvis.protobuf.stream.ISceneAttributes,\n {\n camera: FrameCamera.FrameCamera;\n boundingBox: BoundingBox.BoundingBox;\n crossSectioning: CrossSectioning.CrossSectioning;\n hasChanged: boolean;\n displayListSummary: SceneViewSummary.SceneViewSummary;\n modelViewId: UUID.UUID | undefined;\n itemModelView: ItemModelView.ItemModelView | undefined;\n }\n> = M.defineMapper(\n M.read(\n M.mapRequiredProp('camera', fromPbCamera),\n M.mapRequiredProp('visibleBoundingBox', fromPbBoundingBox3f),\n M.mapRequiredProp('crossSectioning', fromPbCrossSectioning),\n M.requiredProp('hasChanged'),\n M.mapRequiredProp('displayListSummary', fromPbDisplayListSummary),\n M.mapProp('modelViewId', M.ifDefined(fromPbJsUuid2l)),\n M.mapProp('itemModelView', M.ifDefined(fromPbItemModelView)),\n ),\n ([\n camera,\n boundingBox,\n crossSectioning,\n hasChanged,\n displayListSummary,\n modelViewId,\n itemModelView,\n ]) => ({\n camera,\n boundingBox,\n crossSectioning,\n hasChanged,\n displayListSummary,\n modelViewId: modelViewId ?? undefined,\n itemModelView: itemModelView ?? undefined,\n }),\n);\n\nconst fromPbFrameSceneAttributes: M.Func<\n vertexvis.protobuf.stream.IDrawFramePayload,\n {\n camera: FrameCamera.FrameCamera;\n boundingBox: BoundingBox.BoundingBox;\n crossSectioning: CrossSectioning.CrossSectioning;\n hasChanged: boolean;\n displayListSummary: SceneViewSummary.SceneViewSummary;\n modelViewId: UUID.UUID | undefined;\n itemModelView: ItemModelView.ItemModelView | undefined;\n }\n> = M.defineMapper(\n M.read(\n M.mapProp(\n 'sceneAttributes',\n M.compose(M.required('sceneAttributes'), fromPbSceneAttributes),\n ),\n ),\n ([sceneAttr]) => sceneAttr,\n);\n\nconst fromPbFrameCamera: M.Func<\n vertexvis.protobuf.stream.IDrawFramePayload,\n FrameCameraBase\n> = M.defineMapper(\n M.read(fromPbFrameSceneAttributes, fromPbFrameImageAttributes),\n ([sceneAttr, imageAttr]) =>\n FrameCameraBase.fromBoundingBox(\n sceneAttr.camera,\n sceneAttr.boundingBox,\n Dimensions.aspectRatio(imageAttr.frameDimensions),\n ),\n);\n\nfunction fromPbFrameScene(\n worldOrientation: Orientation,\n): M.Func<vertexvis.protobuf.stream.IDrawFramePayload, FrameScene> {\n return M.defineMapper(\n M.read(fromPbFrameSceneAttributes, fromPbFrameCamera),\n ([sceneAttr, camera]) =>\n new FrameScene(\n camera,\n sceneAttr.boundingBox,\n sceneAttr.crossSectioning,\n worldOrientation,\n sceneAttr.hasChanged,\n sceneAttr.displayListSummary,\n sceneAttr.modelViewId,\n sceneAttr.itemModelView,\n ),\n );\n}\n\nexport function fromPbFrame(\n worldOrientation: Orientation,\n): M.Func<vertexvis.protobuf.stream.IDrawFramePayload, Frame> {\n return M.defineMapper(\n M.read(\n M.mapProp('frameCorrelationIds', (ids) => (ids != null ? ids : [])),\n M.requiredProp('sequenceNumber'),\n M.compose(fromPbFrameImageAttributes, M.getProp('frameDimensions')),\n fromPbFrameScene(worldOrientation),\n fromPbFrameImage,\n M.mapProp('depthBuffer', fromPbBytesValue),\n M.mapProp('featureMap', fromPbBytesValue),\n M.mapProp('temporalRefinementCorrelationId', (id) =>\n id != null ? fromPbJsUuid(id) : null,\n ),\n M.mapProp('partialFrame', M.ifDefined(fromPbBoolValue)),\n ),\n ([cIds, seq, fd, s, i, db, fm, trci, pF]) =>\n new Frame(cIds, trci || '', seq, fd, i, s, db, fm, pF ?? false),\n );\n}\n\nexport type FrameDecoder = M.ThrowIfInvalidFunc<\n vertexvis.protobuf.stream.IDrawFramePayload,\n Frame\n>;\n\nexport function fromPbFrameOrThrow(\n worldOrientation: Orientation,\n): FrameDecoder {\n return M.ifInvalidThrow(fromPbFrame(worldOrientation));\n}\n\nexport const fromPbWorldOrientation: M.Func<\n vertexvis.protobuf.stream.IOrientation | null | undefined,\n Orientation\n> = M.defineMapper(\n M.compose(\n M.required('orientation'),\n M.read(\n M.mapProp('up', M.compose(M.required('up'), fromPbVector3f)),\n M.mapProp('front', M.compose(M.required('front'), fromPbVector3f)),\n ),\n ),\n ([up, front]) => new Orientation(up, front),\n);\n\nexport const fromPbWorldOrientationOrThrow: M.ThrowIfInvalidFunc<\n vertexvis.protobuf.stream.IOrientation | null | undefined,\n Orientation\n> = M.ifInvalidThrow(fromPbWorldOrientation);\n\nconst fromPbStencilBufferResult: M.Func<\n vertexvis.protobuf.stream.IGetStencilBufferResult,\n {\n stencilBuffer: Uint8Array;\n depthBuffer: Uint8Array;\n imageAttributes: ImageAttributesLike;\n }\n> = M.defineMapper(\n M.read(\n M.mapRequiredProp('imageAttributes', fromPbImageAttributes),\n M.requiredProp('stencilBuffer'),\n M.mapRequiredProp(\n 'depthBuffer',\n M.compose(fromPbBytesValue, M.required('depthBuffer')),\n ),\n ),\n ([imageAttributes, stencilBuffer, depthBuffer]) => ({\n imageAttributes,\n stencilBuffer,\n depthBuffer,\n }),\n);\n\nexport const fromPbStencilBuffer = fromPbStreamResponse(\n 'stencilBuffer',\n fromPbStencilBufferResult,\n);\n\nexport const fromPbStencilBufferOrThrow = M.ifInvalidThrow(fromPbStencilBuffer);\n\nfunction fromPbStreamResponse<\n P extends keyof vertexvis.protobuf.stream.IStreamResponse,\n R,\n>(\n prop: P,\n mapper: M.Func<NonNullable<vertexvis.protobuf.stream.IStreamResponse[P]>, R>,\n): M.Func<vertexvis.protobuf.stream.IStreamResponse, R> {\n return M.mapRequiredProp(prop, mapper);\n}\n\nexport const fromPbToken: M.Func<vertexvis.protobuf.stream.IToken, Token> =\n M.defineMapper(\n M.read(M.requiredProp('token'), M.requiredProp('expiresIn')),\n ([token, expiresIn]) => Token.create(token, expiresIn),\n );\n\nexport const fromPbStartStreamResponse: M.Func<\n vertexvis.protobuf.stream.IStreamResponse,\n {\n streamId: string;\n sceneId: string;\n sceneViewId: string;\n sessionId: string;\n worldOrientation: Orientation;\n token: Token;\n }\n> = M.defineMapper(\n M.read(\n M.compose(\n M.requiredProp('startStream'),\n M.mapRequiredProp('streamId', fromPbJsUuid),\n ),\n M.compose(\n M.requiredProp('startStream'),\n M.mapRequiredProp('sceneId', fromPbJsUuid),\n ),\n M.compose(\n M.requiredProp('startStream'),\n M.mapRequiredProp('sceneViewId', fromPbJsUuid),\n ),\n M.compose(\n M.requiredProp('startStream'),\n M.mapRequiredProp('sessionId', fromPbJsUuid),\n ),\n M.compose(\n M.requiredProp('startStream'),\n M.mapRequiredProp('worldOrientation', fromPbWorldOrientation),\n ),\n M.compose(\n M.requiredProp('startStream'),\n M.mapRequiredProp('token', fromPbToken),\n ),\n ),\n ([streamId, sceneId, sceneViewId, sessionId, worldOrientation, token]) => ({\n streamId,\n sceneId,\n sceneViewId,\n sessionId: sessionId,\n worldOrientation,\n token,\n }),\n);\n\nexport const fromPbStartStreamResponseOrThrow = M.ifInvalidThrow(\n fromPbStartStreamResponse,\n);\n\nexport const fromPbReconnectResponse: M.Func<\n vertexvis.protobuf.stream.IStreamResponse,\n { token: Token }\n> = M.defineMapper(\n M.read(\n M.compose(\n M.requiredProp('reconnect'),\n M.mapRequiredProp('token', fromPbToken),\n ),\n ),\n ([token]) => ({ token }),\n);\n\nexport const fromPbReconnectResponseOrThrow = M.ifInvalidThrow(\n fromPbReconnectResponse,\n);\n\nexport const fromPbRefreshTokenResponse: M.Func<\n vertexvis.protobuf.stream.IStreamResponse,\n Token\n> = M.defineMapper(\n M.compose(\n M.requiredProp('refreshToken'),\n M.requiredProp('token'),\n fromPbToken,\n ),\n (token) => token,\n);\n\nexport const fromPbRefreshTokenResponseOrThrow = M.ifInvalidThrow(\n fromPbRefreshTokenResponse,\n);\n\nexport const fromPbSyncTimeResponse: M.Func<\n vertexvis.protobuf.stream.IStreamResponse,\n Date\n> = M.defineMapper(\n M.compose(\n M.requiredProp('syncTime'),\n M.requiredProp('replyTime'),\n M.read(M.requiredProp('seconds'), M.requiredProp('nanos')),\n ),\n ([seconds, nanos]) => protoToDate({ seconds, nanos }),\n);\n\nexport const fromPbSyncTimeResponseOrThrow = M.ifInvalidThrow(\n fromPbSyncTimeResponse,\n);\n"]}
|