react-cheminfo 0.10.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -22
- package/bin/check-deploy.mjs +132 -0
- package/bin/check-tokens.mjs +16 -29
- package/bin/cli.mjs +43 -0
- package/lib/about/core/about.d.ts +27 -0
- package/lib/about/core/about.d.ts.map +1 -1
- package/lib/about/core/about.js +3 -0
- package/lib/about/core/about.js.map +1 -1
- package/lib/about/core/index.d.ts +3 -1
- package/lib/about/core/index.d.ts.map +1 -1
- package/lib/about/core/index.js +1 -0
- package/lib/about/core/index.js.map +1 -1
- package/lib/about/core/providers.d.ts +31 -0
- package/lib/about/core/providers.d.ts.map +1 -0
- package/lib/about/core/providers.js +28 -0
- package/lib/about/core/providers.js.map +1 -0
- package/lib/about/ui/AboutCitations.d.ts +4 -2
- package/lib/about/ui/AboutCitations.d.ts.map +1 -1
- package/lib/about/ui/AboutCitations.js +6 -20
- package/lib/about/ui/AboutCitations.js.map +1 -1
- package/lib/about/ui/AboutPage.d.ts +11 -3
- package/lib/about/ui/AboutPage.d.ts.map +1 -1
- package/lib/about/ui/AboutPage.js +15 -5
- package/lib/about/ui/AboutPage.js.map +1 -1
- package/lib/about/ui/AboutProvidedBy.d.ts +18 -0
- package/lib/about/ui/AboutProvidedBy.d.ts.map +1 -0
- package/lib/about/ui/AboutProvidedBy.js +81 -0
- package/lib/about/ui/AboutProvidedBy.js.map +1 -0
- package/lib/about/ui/index.d.ts +2 -0
- package/lib/about/ui/index.d.ts.map +1 -1
- package/lib/about/ui/index.js +1 -0
- package/lib/about/ui/index.js.map +1 -1
- package/lib/capsule/ui/CapsuleFilter.d.ts +48 -8
- package/lib/capsule/ui/CapsuleFilter.d.ts.map +1 -1
- package/lib/capsule/ui/CapsuleFilter.js +43 -12
- package/lib/capsule/ui/CapsuleFilter.js.map +1 -1
- package/lib/capsule/ui/index.d.ts +1 -1
- package/lib/capsule/ui/index.d.ts.map +1 -1
- package/lib/capsule/ui/index.js.map +1 -1
- package/lib/chart/core/chartAxisPair.d.ts +33 -0
- package/lib/chart/core/chartAxisPair.d.ts.map +1 -0
- package/lib/chart/core/chartAxisPair.js +35 -0
- package/lib/chart/core/chartAxisPair.js.map +1 -0
- package/lib/chart/core/chartAxisScale.d.ts.map +1 -1
- package/lib/chart/core/chartAxisScale.js +4 -9
- package/lib/chart/core/chartAxisScale.js.map +1 -1
- package/lib/chart/core/chartBins.d.ts.map +1 -1
- package/lib/chart/core/chartBins.js +2 -9
- package/lib/chart/core/chartBins.js.map +1 -1
- package/lib/chart/core/chartGroups.d.ts +16 -0
- package/lib/chart/core/chartGroups.d.ts.map +1 -0
- package/lib/chart/core/chartGroups.js +22 -0
- package/lib/chart/core/chartGroups.js.map +1 -0
- package/lib/chart/core/chartLabels.d.ts.map +1 -1
- package/lib/chart/core/chartLabels.js +3 -8
- package/lib/chart/core/chartLabels.js.map +1 -1
- package/lib/chart/core/chartPalette.d.ts +2 -2
- package/lib/chart/core/chartPalette.d.ts.map +1 -1
- package/lib/chart/core/chartPalette.js +4 -4
- package/lib/chart/core/chartPalette.js.map +1 -1
- package/lib/chart/core/chartScale.d.ts +12 -0
- package/lib/chart/core/chartScale.d.ts.map +1 -1
- package/lib/chart/core/chartScale.js +15 -0
- package/lib/chart/core/chartScale.js.map +1 -1
- package/lib/chart/core/matrix.d.ts +9 -0
- package/lib/chart/core/matrix.d.ts.map +1 -1
- package/lib/chart/core/matrix.js +23 -0
- package/lib/chart/core/matrix.js.map +1 -1
- package/lib/chart/ui/ChartAxis.js +3 -3
- package/lib/chart/ui/ChartAxis.js.map +1 -1
- package/lib/chart/ui/ChartFrame.d.ts +12 -0
- package/lib/chart/ui/ChartFrame.d.ts.map +1 -1
- package/lib/chart/ui/ChartFrame.js +9 -26
- package/lib/chart/ui/ChartFrame.js.map +1 -1
- package/lib/chart/ui/ChartSeriesMarks.d.ts.map +1 -1
- package/lib/chart/ui/ChartSeriesMarks.js +6 -6
- package/lib/chart/ui/ChartSeriesMarks.js.map +1 -1
- package/lib/chart/ui/ChartTrackingLayer.d.ts.map +1 -1
- package/lib/chart/ui/ChartTrackingLayer.js +2 -2
- package/lib/chart/ui/ChartTrackingLayer.js.map +1 -1
- package/lib/chart/ui/TrackedLineChart.d.ts +6 -1
- package/lib/chart/ui/TrackedLineChart.d.ts.map +1 -1
- package/lib/chart/ui/TrackedLineChart.js +2 -2
- package/lib/chart/ui/TrackedLineChart.js.map +1 -1
- package/lib/chart/ui/TrackedStickChart.d.ts +5 -1
- package/lib/chart/ui/TrackedStickChart.d.ts.map +1 -1
- package/lib/chart/ui/TrackedStickChart.js +2 -2
- package/lib/chart/ui/TrackedStickChart.js.map +1 -1
- package/lib/chart/ui/chartFrameGeometry.d.ts +19 -0
- package/lib/chart/ui/chartFrameGeometry.d.ts.map +1 -0
- package/lib/chart/ui/chartFrameGeometry.js +41 -0
- package/lib/chart/ui/chartFrameGeometry.js.map +1 -0
- package/lib/chart/ui/index.d.ts +3 -1
- package/lib/chart/ui/index.d.ts.map +1 -1
- package/lib/chart/ui/index.js +1 -0
- package/lib/chart/ui/index.js.map +1 -1
- package/lib/chart/ui/stickChartModel.d.ts +3 -12
- package/lib/chart/ui/stickChartModel.d.ts.map +1 -1
- package/lib/chart/ui/stickChartModel.js +19 -21
- package/lib/chart/ui/stickChartModel.js.map +1 -1
- package/lib/chart/ui/useWheelZoom.d.ts +2 -1
- package/lib/chart/ui/useWheelZoom.d.ts.map +1 -1
- package/lib/chart/ui/useWheelZoom.js +26 -45
- package/lib/chart/ui/useWheelZoom.js.map +1 -1
- package/lib/chart/ui/wheelDwell.d.ts +77 -0
- package/lib/chart/ui/wheelDwell.d.ts.map +1 -0
- package/lib/chart/ui/wheelDwell.js +85 -0
- package/lib/chart/ui/wheelDwell.js.map +1 -0
- package/lib/chrome/ui/NavLink.d.ts.map +1 -1
- package/lib/chrome/ui/NavLink.js +8 -4
- package/lib/chrome/ui/NavLink.js.map +1 -1
- package/lib/chrome/ui/NavMenuButton.d.ts +6 -0
- package/lib/chrome/ui/NavMenuButton.d.ts.map +1 -1
- package/lib/chrome/ui/NavMenuButton.js +10 -3
- package/lib/chrome/ui/NavMenuButton.js.map +1 -1
- package/lib/chrome/ui/SiteFooter.d.ts +8 -0
- package/lib/chrome/ui/SiteFooter.d.ts.map +1 -1
- package/lib/chrome/ui/SiteFooter.js +7 -2
- package/lib/chrome/ui/SiteFooter.js.map +1 -1
- package/lib/chrome/ui/SiteHeader.d.ts +21 -0
- package/lib/chrome/ui/SiteHeader.d.ts.map +1 -1
- package/lib/chrome/ui/SiteHeader.js +13 -3
- package/lib/chrome/ui/SiteHeader.js.map +1 -1
- package/lib/chrome/ui/navItem.d.ts +17 -3
- package/lib/chrome/ui/navItem.d.ts.map +1 -1
- package/lib/chrome/ui/navItem.js.map +1 -1
- package/lib/citation/core/index.d.ts +1 -0
- package/lib/citation/core/index.d.ts.map +1 -1
- package/lib/citation/core/index.js +1 -0
- package/lib/citation/core/index.js.map +1 -1
- package/lib/citation/core/openchemlibPaper.d.ts +10 -0
- package/lib/citation/core/openchemlibPaper.d.ts.map +1 -0
- package/lib/citation/core/openchemlibPaper.js +29 -0
- package/lib/citation/core/openchemlibPaper.js.map +1 -0
- package/lib/citation/core/platformPaper.d.ts +2 -2
- package/lib/citation/core/platformPaper.js +2 -2
- package/lib/clipboard/core/clipboardItem.d.ts +13 -0
- package/lib/clipboard/core/clipboardItem.d.ts.map +1 -0
- package/lib/clipboard/core/clipboardItem.js +26 -0
- package/lib/clipboard/core/clipboardItem.js.map +1 -0
- package/lib/clipboard/core/index.d.ts +3 -0
- package/lib/clipboard/core/index.d.ts.map +1 -1
- package/lib/clipboard/core/index.js +1 -0
- package/lib/clipboard/core/index.js.map +1 -1
- package/lib/clipboard/core/writeBlobToClipboard.d.ts +23 -0
- package/lib/clipboard/core/writeBlobToClipboard.d.ts.map +1 -0
- package/lib/clipboard/core/writeBlobToClipboard.js +29 -0
- package/lib/clipboard/core/writeBlobToClipboard.js.map +1 -0
- package/lib/clipboard/core/writeToClipboard.d.ts +22 -7
- package/lib/clipboard/core/writeToClipboard.d.ts.map +1 -1
- package/lib/clipboard/core/writeToClipboard.js +20 -7
- package/lib/clipboard/core/writeToClipboard.js.map +1 -1
- package/lib/clipboard/ui/CodeBlock.d.ts +1 -0
- package/lib/clipboard/ui/CodeBlock.d.ts.map +1 -1
- package/lib/clipboard/ui/CodeBlock.js +5 -11
- package/lib/clipboard/ui/CodeBlock.js.map +1 -1
- package/lib/clipboard/ui/CopyButton.d.ts +8 -1
- package/lib/clipboard/ui/CopyButton.d.ts.map +1 -1
- package/lib/clipboard/ui/CopyButton.js +31 -8
- package/lib/clipboard/ui/CopyButton.js.map +1 -1
- package/lib/clipboard/ui/CopyableValue.d.ts +51 -0
- package/lib/clipboard/ui/CopyableValue.d.ts.map +1 -0
- package/lib/clipboard/ui/CopyableValue.js +51 -0
- package/lib/clipboard/ui/CopyableValue.js.map +1 -0
- package/lib/clipboard/ui/copyFeedback.d.ts +38 -0
- package/lib/clipboard/ui/copyFeedback.d.ts.map +1 -0
- package/lib/clipboard/ui/copyFeedback.js +40 -0
- package/lib/clipboard/ui/copyFeedback.js.map +1 -0
- package/lib/clipboard/ui/index.d.ts +3 -1
- package/lib/clipboard/ui/index.d.ts.map +1 -1
- package/lib/clipboard/ui/index.js +1 -0
- package/lib/clipboard/ui/index.js.map +1 -1
- package/lib/clipboard/ui/useCopyToClipboard.d.ts +23 -7
- package/lib/clipboard/ui/useCopyToClipboard.d.ts.map +1 -1
- package/lib/clipboard/ui/useCopyToClipboard.js +33 -20
- package/lib/clipboard/ui/useCopyToClipboard.js.map +1 -1
- package/lib/color/core/hex.d.ts +10 -0
- package/lib/color/core/hex.d.ts.map +1 -1
- package/lib/color/core/hex.js +19 -3
- package/lib/color/core/hex.js.map +1 -1
- package/lib/color/core/hsv.d.ts.map +1 -1
- package/lib/color/core/hsv.js +4 -10
- package/lib/color/core/hsv.js.map +1 -1
- package/lib/color/core/index.d.ts +2 -2
- package/lib/color/core/index.d.ts.map +1 -1
- package/lib/color/core/index.js +2 -2
- package/lib/color/core/index.js.map +1 -1
- package/lib/color/core/interpolate.d.ts.map +1 -1
- package/lib/color/core/interpolate.js +2 -6
- package/lib/color/core/interpolate.js.map +1 -1
- package/lib/color/core/scale.d.ts +0 -28
- package/lib/color/core/scale.d.ts.map +1 -1
- package/lib/color/core/scale.js +3 -38
- package/lib/color/core/scale.js.map +1 -1
- package/lib/color/core/scaleText.d.ts.map +1 -1
- package/lib/color/core/scaleText.js +4 -5
- package/lib/color/core/scaleText.js.map +1 -1
- package/lib/color/ui/ColorScaleBar.d.ts +5 -0
- package/lib/color/ui/ColorScaleBar.d.ts.map +1 -1
- package/lib/color/ui/ColorScaleBar.js +2 -2
- package/lib/color/ui/ColorScaleBar.js.map +1 -1
- package/lib/color/ui/ColorScaleEditor.d.ts +5 -0
- package/lib/color/ui/ColorScaleEditor.d.ts.map +1 -1
- package/lib/color/ui/ColorScaleEditor.js +9 -13
- package/lib/color/ui/ColorScaleEditor.js.map +1 -1
- package/lib/color/ui/ColorScaleEntry.d.ts +28 -0
- package/lib/color/ui/ColorScaleEntry.d.ts.map +1 -0
- package/lib/color/ui/ColorScaleEntry.js +28 -0
- package/lib/color/ui/ColorScaleEntry.js.map +1 -0
- package/lib/color/ui/ColorScaleLegend.d.ts +14 -3
- package/lib/color/ui/ColorScaleLegend.d.ts.map +1 -1
- package/lib/color/ui/ColorScaleLegend.js +46 -16
- package/lib/color/ui/ColorScaleLegend.js.map +1 -1
- package/lib/color/ui/ColorScaleSelect.d.ts +5 -0
- package/lib/color/ui/ColorScaleSelect.d.ts.map +1 -1
- package/lib/color/ui/ColorScaleSelect.js +7 -36
- package/lib/color/ui/ColorScaleSelect.js.map +1 -1
- package/lib/confirm/ui/ConfirmButton.d.ts +34 -0
- package/lib/confirm/ui/ConfirmButton.d.ts.map +1 -0
- package/lib/confirm/ui/ConfirmButton.js +32 -0
- package/lib/confirm/ui/ConfirmButton.js.map +1 -0
- package/lib/confirm/ui/index.d.ts +3 -0
- package/lib/confirm/ui/index.d.ts.map +1 -0
- package/lib/confirm/ui/index.js +2 -0
- package/lib/confirm/ui/index.js.map +1 -0
- package/lib/core.d.ts +4 -1
- package/lib/core.d.ts.map +1 -1
- package/lib/core.js +6 -1
- package/lib/core.js.map +1 -1
- package/lib/credits/core/credits.d.ts +8 -3
- package/lib/credits/core/credits.d.ts.map +1 -1
- package/lib/credits/core/credits.js +9 -3
- package/lib/credits/core/credits.js.map +1 -1
- package/lib/credits/ui/CreditsList.d.ts.map +1 -1
- package/lib/credits/ui/CreditsList.js +4 -2
- package/lib/credits/ui/CreditsList.js.map +1 -1
- package/lib/delimited/core/index.d.ts +2 -4
- package/lib/delimited/core/index.d.ts.map +1 -1
- package/lib/delimited/core/index.js +2 -3
- package/lib/delimited/core/index.js.map +1 -1
- package/lib/delimited/ui/DelimitedTextDialog.d.ts.map +1 -1
- package/lib/delimited/ui/DelimitedTextDialog.js +2 -2
- package/lib/delimited/ui/DelimitedTextDialog.js.map +1 -1
- package/lib/delimited/ui/DelimitedTextPanel.d.ts +5 -0
- package/lib/delimited/ui/DelimitedTextPanel.d.ts.map +1 -1
- package/lib/delimited/ui/DelimitedTextPanel.js +10 -6
- package/lib/delimited/ui/DelimitedTextPanel.js.map +1 -1
- package/lib/deploy/core/checkDeploy.d.ts +20 -0
- package/lib/deploy/core/checkDeploy.d.ts.map +1 -0
- package/lib/deploy/core/checkDeploy.js +74 -0
- package/lib/deploy/core/checkDeploy.js.map +1 -0
- package/lib/deploy/core/composeDocument.d.ts +40 -0
- package/lib/deploy/core/composeDocument.d.ts.map +1 -0
- package/lib/deploy/core/composeDocument.js +125 -0
- package/lib/deploy/core/composeDocument.js.map +1 -0
- package/lib/deploy/core/composeFile.d.ts +25 -0
- package/lib/deploy/core/composeFile.d.ts.map +1 -0
- package/lib/deploy/core/composeFile.js +138 -0
- package/lib/deploy/core/composeFile.js.map +1 -0
- package/lib/deploy/core/envExample.d.ts +10 -0
- package/lib/deploy/core/envExample.d.ts.map +1 -0
- package/lib/deploy/core/envExample.js +36 -0
- package/lib/deploy/core/envExample.js.map +1 -0
- package/lib/deploy/core/index.d.ts +4 -0
- package/lib/deploy/core/index.d.ts.map +1 -0
- package/lib/deploy/core/index.js +3 -0
- package/lib/deploy/core/index.js.map +1 -0
- package/lib/deploy/core/markers.d.ts +10 -0
- package/lib/deploy/core/markers.d.ts.map +1 -0
- package/lib/deploy/core/markers.js +21 -0
- package/lib/deploy/core/markers.js.map +1 -0
- package/lib/deploy/core/types.d.ts +70 -0
- package/lib/deploy/core/types.d.ts.map +1 -0
- package/lib/deploy/core/types.js +10 -0
- package/lib/deploy/core/types.js.map +1 -0
- package/lib/disclosure/ui/CollapsibleSection.d.ts.map +1 -1
- package/lib/disclosure/ui/CollapsibleSection.js +2 -3
- package/lib/disclosure/ui/CollapsibleSection.js.map +1 -1
- package/lib/download/core/figureLegend.d.ts +90 -0
- package/lib/download/core/figureLegend.d.ts.map +1 -0
- package/lib/download/core/figureLegend.js +77 -0
- package/lib/download/core/figureLegend.js.map +1 -0
- package/lib/download/core/figureSvg.d.ts.map +1 -1
- package/lib/download/core/figureSvg.js +71 -1
- package/lib/download/core/figureSvg.js.map +1 -1
- package/lib/download/core/figureSvgDocument.d.ts +9 -2
- package/lib/download/core/figureSvgDocument.d.ts.map +1 -1
- package/lib/download/core/figureSvgDocument.js +4 -1
- package/lib/download/core/figureSvgDocument.js.map +1 -1
- package/lib/download/core/figureTarget.d.ts +11 -0
- package/lib/download/core/figureTarget.d.ts.map +1 -1
- package/lib/download/core/figureTarget.js +19 -0
- package/lib/download/core/figureTarget.js.map +1 -1
- package/lib/download/core/index.d.ts +3 -1
- package/lib/download/core/index.d.ts.map +1 -1
- package/lib/download/core/index.js +2 -1
- package/lib/download/core/index.js.map +1 -1
- package/lib/download/ui/FigureDownloadPanel.d.ts +6 -0
- package/lib/download/ui/FigureDownloadPanel.d.ts.map +1 -1
- package/lib/download/ui/FigureDownloadPanel.js +8 -4
- package/lib/download/ui/FigureDownloadPanel.js.map +1 -1
- package/lib/ecosystem/core/groups.d.ts +30 -0
- package/lib/ecosystem/core/groups.d.ts.map +1 -0
- package/lib/ecosystem/core/groups.js +42 -0
- package/lib/ecosystem/core/groups.js.map +1 -0
- package/lib/ecosystem/core/index.d.ts +7 -3
- package/lib/ecosystem/core/index.d.ts.map +1 -1
- package/lib/ecosystem/core/index.js +4 -3
- package/lib/ecosystem/core/index.js.map +1 -1
- package/lib/ecosystem/core/lookup.d.ts +21 -0
- package/lib/ecosystem/core/lookup.d.ts.map +1 -1
- package/lib/ecosystem/core/lookup.js +29 -0
- package/lib/ecosystem/core/lookup.js.map +1 -1
- package/lib/ecosystem/core/nameColors.d.ts +33 -0
- package/lib/ecosystem/core/nameColors.d.ts.map +1 -0
- package/lib/ecosystem/core/nameColors.js +23 -0
- package/lib/ecosystem/core/nameColors.js.map +1 -0
- package/lib/ecosystem/core/sites.d.ts +2 -47
- package/lib/ecosystem/core/sites.d.ts.map +1 -1
- package/lib/ecosystem/core/sites.js +47 -4
- package/lib/ecosystem/core/sites.js.map +1 -1
- package/lib/ecosystem/core/tokens.d.ts +0 -8
- package/lib/ecosystem/core/tokens.d.ts.map +1 -1
- package/lib/ecosystem/core/tokens.js +0 -10
- package/lib/ecosystem/core/tokens.js.map +1 -1
- package/lib/ecosystem/core/types.d.ts +71 -0
- package/lib/ecosystem/core/types.d.ts.map +1 -0
- package/lib/ecosystem/core/types.js +2 -0
- package/lib/ecosystem/core/types.js.map +1 -0
- package/lib/ecosystem/ui/EcosystemButton.d.ts +6 -0
- package/lib/ecosystem/ui/EcosystemButton.d.ts.map +1 -1
- package/lib/ecosystem/ui/EcosystemButton.js +3 -2
- package/lib/ecosystem/ui/EcosystemButton.js.map +1 -1
- package/lib/ecosystem/ui/EcosystemLinks.d.ts +12 -6
- package/lib/ecosystem/ui/EcosystemLinks.d.ts.map +1 -1
- package/lib/ecosystem/ui/EcosystemLinks.js +27 -21
- package/lib/ecosystem/ui/EcosystemLinks.js.map +1 -1
- package/lib/ecosystem/ui/EcosystemMenu.d.ts +15 -5
- package/lib/ecosystem/ui/EcosystemMenu.d.ts.map +1 -1
- package/lib/ecosystem/ui/EcosystemMenu.js +19 -24
- package/lib/ecosystem/ui/EcosystemMenu.js.map +1 -1
- package/lib/ecosystem/ui/SiteGroupGrid.d.ts +30 -0
- package/lib/ecosystem/ui/SiteGroupGrid.d.ts.map +1 -0
- package/lib/ecosystem/ui/SiteGroupGrid.js +23 -0
- package/lib/ecosystem/ui/SiteGroupGrid.js.map +1 -0
- package/lib/ecosystem/ui/SiteGroupSection.d.ts +20 -0
- package/lib/ecosystem/ui/SiteGroupSection.d.ts.map +1 -0
- package/lib/ecosystem/ui/SiteGroupSection.js +44 -0
- package/lib/ecosystem/ui/SiteGroupSection.js.map +1 -0
- package/lib/ecosystem/ui/SiteTheme.d.ts +1 -0
- package/lib/ecosystem/ui/SiteTheme.d.ts.map +1 -1
- package/lib/ecosystem/ui/SiteTheme.js.map +1 -1
- package/lib/ecosystem/ui/SiteTile.d.ts +6 -0
- package/lib/ecosystem/ui/SiteTile.d.ts.map +1 -1
- package/lib/ecosystem/ui/SiteTile.js +14 -8
- package/lib/ecosystem/ui/SiteTile.js.map +1 -1
- package/lib/ecosystem/ui/Wordmark.d.ts +1 -0
- package/lib/ecosystem/ui/Wordmark.d.ts.map +1 -1
- package/lib/ecosystem/ui/Wordmark.js +5 -5
- package/lib/ecosystem/ui/Wordmark.js.map +1 -1
- package/lib/ecosystem/ui/ecosystemStyles.d.ts +4 -0
- package/lib/ecosystem/ui/ecosystemStyles.d.ts.map +1 -0
- package/lib/ecosystem/ui/ecosystemStyles.js +9 -0
- package/lib/ecosystem/ui/ecosystemStyles.js.map +1 -0
- package/lib/ecosystem/ui/glyphs.d.ts.map +1 -1
- package/lib/ecosystem/ui/glyphs.js +12 -3
- package/lib/ecosystem/ui/glyphs.js.map +1 -1
- package/lib/ecosystem/ui/marks.d.ts +6 -0
- package/lib/ecosystem/ui/marks.d.ts.map +1 -1
- package/lib/ecosystem/ui/marks.js +2 -2
- package/lib/ecosystem/ui/marks.js.map +1 -1
- package/lib/error/core/index.d.ts +2 -0
- package/lib/error/core/index.d.ts.map +1 -0
- package/lib/error/core/index.js +2 -0
- package/lib/error/core/index.js.map +1 -0
- package/lib/error/core/toError.d.ts +18 -0
- package/lib/error/core/toError.d.ts.map +1 -0
- package/lib/error/{ui → core}/toError.js +12 -3
- package/lib/error/core/toError.js.map +1 -0
- package/lib/error/ui/ErrorBoundary.d.ts.map +1 -1
- package/lib/error/ui/ErrorBoundary.js +1 -1
- package/lib/error/ui/ErrorBoundary.js.map +1 -1
- package/lib/error/ui/index.d.ts +1 -1
- package/lib/error/ui/index.d.ts.map +1 -1
- package/lib/error/ui/index.js.map +1 -1
- package/lib/format/core/clamp.d.ts +15 -0
- package/lib/format/core/clamp.d.ts.map +1 -0
- package/lib/format/core/clamp.js +23 -0
- package/lib/format/core/clamp.js.map +1 -0
- package/lib/format/core/index.d.ts +8 -1
- package/lib/format/core/index.d.ts.map +1 -1
- package/lib/format/core/index.js +5 -1
- package/lib/format/core/index.js.map +1 -1
- package/lib/format/core/numbers.d.ts +25 -8
- package/lib/format/core/numbers.d.ts.map +1 -1
- package/lib/format/core/numbers.js +35 -13
- package/lib/format/core/numbers.js.map +1 -1
- package/lib/format/core/relativeTime.d.ts +29 -0
- package/lib/format/core/relativeTime.d.ts.map +1 -0
- package/lib/format/core/relativeTime.js +52 -0
- package/lib/format/core/relativeTime.js.map +1 -0
- package/lib/format/core/roundTo.d.ts +12 -0
- package/lib/format/core/roundTo.d.ts.map +1 -0
- package/lib/format/core/roundTo.js +25 -0
- package/lib/format/core/roundTo.js.map +1 -0
- package/lib/format/core/superscript.d.ts +12 -0
- package/lib/format/core/superscript.d.ts.map +1 -0
- package/lib/format/core/superscript.js +23 -0
- package/lib/format/core/superscript.js.map +1 -0
- package/lib/format/core/units.d.ts +22 -2
- package/lib/format/core/units.d.ts.map +1 -1
- package/lib/format/core/units.js +25 -6
- package/lib/format/core/units.js.map +1 -1
- package/lib/help/ui/HelpBody.d.ts +18 -7
- package/lib/help/ui/HelpBody.d.ts.map +1 -1
- package/lib/help/ui/HelpBody.js +24 -2
- package/lib/help/ui/HelpBody.js.map +1 -1
- package/lib/help/ui/HelpIcon.d.ts +16 -2
- package/lib/help/ui/HelpIcon.d.ts.map +1 -1
- package/lib/help/ui/HelpIcon.js +4 -2
- package/lib/help/ui/HelpIcon.js.map +1 -1
- package/lib/help/ui/HelpToolbarButton.d.ts.map +1 -1
- package/lib/help/ui/HelpToolbarButton.js +2 -1
- package/lib/help/ui/HelpToolbarButton.js.map +1 -1
- package/lib/help/ui/HelpTooltip.d.ts +5 -0
- package/lib/help/ui/HelpTooltip.d.ts.map +1 -1
- package/lib/help/ui/HelpTooltip.js +2 -2
- package/lib/help/ui/HelpTooltip.js.map +1 -1
- package/lib/help/ui/helpName.d.ts +9 -0
- package/lib/help/ui/helpName.d.ts.map +1 -0
- package/lib/help/ui/helpName.js +10 -0
- package/lib/help/ui/helpName.js.map +1 -0
- package/lib/hooks/ui/activationKey.d.ts +34 -0
- package/lib/hooks/ui/activationKey.d.ts.map +1 -0
- package/lib/hooks/ui/activationKey.js +39 -0
- package/lib/hooks/ui/activationKey.js.map +1 -0
- package/lib/hooks/ui/activeHeading.d.ts +21 -0
- package/lib/hooks/ui/activeHeading.d.ts.map +1 -0
- package/lib/hooks/ui/activeHeading.js +24 -0
- package/lib/hooks/ui/activeHeading.js.map +1 -0
- package/lib/hooks/ui/asyncState.d.ts +31 -0
- package/lib/hooks/ui/asyncState.d.ts.map +1 -0
- package/lib/hooks/ui/asyncState.js +28 -0
- package/lib/hooks/ui/asyncState.js.map +1 -0
- package/lib/hooks/ui/documentListNavigation.d.ts +54 -0
- package/lib/hooks/ui/documentListNavigation.d.ts.map +1 -0
- package/lib/hooks/ui/documentListNavigation.js +41 -0
- package/lib/hooks/ui/documentListNavigation.js.map +1 -0
- package/lib/hooks/ui/elementTarget.d.ts +14 -0
- package/lib/hooks/ui/elementTarget.d.ts.map +1 -0
- package/lib/hooks/ui/elementTarget.js +11 -0
- package/lib/hooks/ui/elementTarget.js.map +1 -0
- package/lib/hooks/ui/index.d.ts +15 -0
- package/lib/hooks/ui/index.d.ts.map +1 -1
- package/lib/hooks/ui/index.js +6 -0
- package/lib/hooks/ui/index.js.map +1 -1
- package/lib/hooks/ui/keyTargets.d.ts +17 -0
- package/lib/hooks/ui/keyTargets.d.ts.map +1 -0
- package/lib/hooks/ui/keyTargets.js +59 -0
- package/lib/hooks/ui/keyTargets.js.map +1 -0
- package/lib/hooks/ui/listNavigation.d.ts +2 -3
- package/lib/hooks/ui/listNavigation.d.ts.map +1 -1
- package/lib/hooks/ui/listNavigation.js +8 -13
- package/lib/hooks/ui/listNavigation.js.map +1 -1
- package/lib/hooks/ui/pollingController.d.ts +63 -0
- package/lib/hooks/ui/pollingController.d.ts.map +1 -0
- package/lib/hooks/ui/pollingController.js +86 -0
- package/lib/hooks/ui/pollingController.js.map +1 -0
- package/lib/hooks/ui/useActiveHeading.d.ts +29 -0
- package/lib/hooks/ui/useActiveHeading.d.ts.map +1 -0
- package/lib/hooks/ui/useActiveHeading.js +50 -0
- package/lib/hooks/ui/useActiveHeading.js.map +1 -0
- package/lib/hooks/ui/useAsync.d.ts +19 -0
- package/lib/hooks/ui/useAsync.d.ts.map +1 -0
- package/lib/hooks/ui/useAsync.js +36 -0
- package/lib/hooks/ui/useAsync.js.map +1 -0
- package/lib/hooks/ui/useDocumentListNavigation.d.ts +28 -0
- package/lib/hooks/ui/useDocumentListNavigation.d.ts.map +1 -0
- package/lib/hooks/ui/useDocumentListNavigation.js +53 -0
- package/lib/hooks/ui/useDocumentListNavigation.js.map +1 -0
- package/lib/hooks/ui/usePolling.d.ts +30 -0
- package/lib/hooks/ui/usePolling.d.ts.map +1 -0
- package/lib/hooks/ui/usePolling.js +52 -0
- package/lib/hooks/ui/usePolling.js.map +1 -0
- package/lib/hooks/ui/useResizeObserver.d.ts +5 -3
- package/lib/hooks/ui/useResizeObserver.d.ts.map +1 -1
- package/lib/hooks/ui/useResizeObserver.js +7 -4
- package/lib/hooks/ui/useResizeObserver.js.map +1 -1
- package/lib/molecule3d/core/exportImage.d.ts +29 -0
- package/lib/molecule3d/core/exportImage.d.ts.map +1 -0
- package/lib/molecule3d/core/exportImage.js +42 -0
- package/lib/molecule3d/core/exportImage.js.map +1 -0
- package/lib/molecule3d/core/gestures.d.ts +17 -0
- package/lib/molecule3d/core/gestures.d.ts.map +1 -0
- package/lib/molecule3d/core/gestures.js +23 -0
- package/lib/molecule3d/core/gestures.js.map +1 -0
- package/lib/molecule3d/core/index.d.ts +9 -0
- package/lib/molecule3d/core/index.d.ts.map +1 -0
- package/lib/molecule3d/core/index.js +5 -0
- package/lib/molecule3d/core/index.js.map +1 -0
- package/lib/molecule3d/core/measurement.d.ts +30 -0
- package/lib/molecule3d/core/measurement.d.ts.map +1 -0
- package/lib/molecule3d/core/measurement.js +24 -0
- package/lib/molecule3d/core/measurement.js.map +1 -0
- package/lib/molecule3d/core/settings.d.ts +120 -0
- package/lib/molecule3d/core/settings.d.ts.map +1 -0
- package/lib/molecule3d/core/settings.js +133 -0
- package/lib/molecule3d/core/settings.js.map +1 -0
- package/lib/molecule3d/ui/Molecule3DExport.d.ts +21 -0
- package/lib/molecule3d/ui/Molecule3DExport.d.ts.map +1 -0
- package/lib/molecule3d/ui/Molecule3DExport.js +32 -0
- package/lib/molecule3d/ui/Molecule3DExport.js.map +1 -0
- package/lib/molecule3d/ui/Molecule3DHelp.d.ts +11 -0
- package/lib/molecule3d/ui/Molecule3DHelp.d.ts.map +1 -0
- package/lib/molecule3d/ui/Molecule3DHelp.js +43 -0
- package/lib/molecule3d/ui/Molecule3DHelp.js.map +1 -0
- package/lib/molecule3d/ui/Molecule3DOptions.d.ts +21 -0
- package/lib/molecule3d/ui/Molecule3DOptions.d.ts.map +1 -0
- package/lib/molecule3d/ui/Molecule3DOptions.js +65 -0
- package/lib/molecule3d/ui/Molecule3DOptions.js.map +1 -0
- package/lib/molecule3d/ui/Molecule3DSurfaceColors.d.ts +21 -0
- package/lib/molecule3d/ui/Molecule3DSurfaceColors.d.ts.map +1 -0
- package/lib/molecule3d/ui/Molecule3DSurfaceColors.js +69 -0
- package/lib/molecule3d/ui/Molecule3DSurfaceColors.js.map +1 -0
- package/lib/molecule3d/ui/Molecule3DToolbar.d.ts +33 -0
- package/lib/molecule3d/ui/Molecule3DToolbar.d.ts.map +1 -0
- package/lib/molecule3d/ui/Molecule3DToolbar.js +57 -0
- package/lib/molecule3d/ui/Molecule3DToolbar.js.map +1 -0
- package/lib/molecule3d/ui/MoleculeCanvas3D.d.ts +20 -0
- package/lib/molecule3d/ui/MoleculeCanvas3D.d.ts.map +1 -0
- package/lib/molecule3d/ui/MoleculeCanvas3D.js +132 -0
- package/lib/molecule3d/ui/MoleculeCanvas3D.js.map +1 -0
- package/lib/molecule3d/ui/MoleculeViewer3D.d.ts +26 -0
- package/lib/molecule3d/ui/MoleculeViewer3D.d.ts.map +1 -0
- package/lib/molecule3d/ui/MoleculeViewer3D.js +56 -0
- package/lib/molecule3d/ui/MoleculeViewer3D.js.map +1 -0
- package/lib/molecule3d/ui/camera.d.ts +29 -0
- package/lib/molecule3d/ui/camera.d.ts.map +1 -0
- package/lib/molecule3d/ui/camera.js +58 -0
- package/lib/molecule3d/ui/camera.js.map +1 -0
- package/lib/molecule3d/ui/drawScene.d.ts +15 -0
- package/lib/molecule3d/ui/drawScene.d.ts.map +1 -0
- package/lib/molecule3d/ui/drawScene.js +34 -0
- package/lib/molecule3d/ui/drawScene.js.map +1 -0
- package/lib/molecule3d/ui/exportMoleculeImage.d.ts +21 -0
- package/lib/molecule3d/ui/exportMoleculeImage.d.ts.map +1 -0
- package/lib/molecule3d/ui/exportMoleculeImage.js +26 -0
- package/lib/molecule3d/ui/exportMoleculeImage.js.map +1 -0
- package/lib/molecule3d/ui/index.d.ts +11 -0
- package/lib/molecule3d/ui/index.d.ts.map +1 -0
- package/lib/molecule3d/ui/index.js +10 -0
- package/lib/molecule3d/ui/index.js.map +1 -0
- package/lib/molecule3d/ui/measurements.d.ts +46 -0
- package/lib/molecule3d/ui/measurements.d.ts.map +1 -0
- package/lib/molecule3d/ui/measurements.js +148 -0
- package/lib/molecule3d/ui/measurements.js.map +1 -0
- package/lib/molecule3d/ui/molecule3dIcons.d.ts +29 -0
- package/lib/molecule3d/ui/molecule3dIcons.d.ts.map +1 -0
- package/lib/molecule3d/ui/molecule3dIcons.js +47 -0
- package/lib/molecule3d/ui/molecule3dIcons.js.map +1 -0
- package/lib/molecule3d/ui/moleculeViewer3DProps.d.ts +93 -0
- package/lib/molecule3d/ui/moleculeViewer3DProps.d.ts.map +1 -0
- package/lib/molecule3d/ui/moleculeViewer3DProps.js +2 -0
- package/lib/molecule3d/ui/moleculeViewer3DProps.js.map +1 -0
- package/lib/molecule3d/ui/polarityColorTheme.d.ts +20 -0
- package/lib/molecule3d/ui/polarityColorTheme.d.ts.map +1 -0
- package/lib/molecule3d/ui/polarityColorTheme.js +105 -0
- package/lib/molecule3d/ui/polarityColorTheme.js.map +1 -0
- package/lib/molecule3d/ui/renderMolecule.d.ts +38 -0
- package/lib/molecule3d/ui/renderMolecule.d.ts.map +1 -0
- package/lib/molecule3d/ui/renderMolecule.js +135 -0
- package/lib/molecule3d/ui/renderMolecule.js.map +1 -0
- package/lib/molecule3d/ui/renderSurface.d.ts +22 -0
- package/lib/molecule3d/ui/renderSurface.d.ts.map +1 -0
- package/lib/molecule3d/ui/renderSurface.js +69 -0
- package/lib/molecule3d/ui/renderSurface.js.map +1 -0
- package/lib/molecule3d/ui/useControlledState.d.ts +11 -0
- package/lib/molecule3d/ui/useControlledState.d.ts.map +1 -0
- package/lib/molecule3d/ui/useControlledState.js +25 -0
- package/lib/molecule3d/ui/useControlledState.js.map +1 -0
- package/lib/molecule3d/ui/useImageExport.d.ts +20 -0
- package/lib/molecule3d/ui/useImageExport.d.ts.map +1 -0
- package/lib/molecule3d/ui/useImageExport.js +29 -0
- package/lib/molecule3d/ui/useImageExport.js.map +1 -0
- package/lib/molecule3d/ui/usePolarSurfaceArea.d.ts +11 -0
- package/lib/molecule3d/ui/usePolarSurfaceArea.d.ts.map +1 -0
- package/lib/molecule3d/ui/usePolarSurfaceArea.js +37 -0
- package/lib/molecule3d/ui/usePolarSurfaceArea.js.map +1 -0
- package/lib/molecule3d/ui/viewer.d.ts +99 -0
- package/lib/molecule3d/ui/viewer.d.ts.map +1 -0
- package/lib/molecule3d/ui/viewer.js +203 -0
- package/lib/molecule3d/ui/viewer.js.map +1 -0
- package/lib/molecule3d/ui/viewerTypes.d.ts +57 -0
- package/lib/molecule3d/ui/viewerTypes.d.ts.map +1 -0
- package/lib/molecule3d/ui/viewerTypes.js +6 -0
- package/lib/molecule3d/ui/viewerTypes.js.map +1 -0
- package/lib/molecule3d.d.ts +11 -0
- package/lib/molecule3d.d.ts.map +1 -0
- package/lib/molecule3d.js +11 -0
- package/lib/molecule3d.js.map +1 -0
- package/lib/orbital/core/atomicGrid.d.ts +3 -2
- package/lib/orbital/core/atomicGrid.d.ts.map +1 -1
- package/lib/orbital/core/atomicGrid.js +3 -2
- package/lib/orbital/core/atomicGrid.js.map +1 -1
- package/lib/orbital/core/atomicOrbitals.d.ts +1 -8
- package/lib/orbital/core/atomicOrbitals.d.ts.map +1 -1
- package/lib/orbital/core/atomicOrbitals.js +1 -1
- package/lib/orbital/core/atomicOrbitals.js.map +1 -1
- package/lib/orbital/core/constants.d.ts +3 -0
- package/lib/orbital/core/constants.d.ts.map +1 -1
- package/lib/orbital/core/electronConfiguration.d.ts +4 -12
- package/lib/orbital/core/electronConfiguration.d.ts.map +1 -1
- package/lib/orbital/core/electronConfiguration.js +26 -38
- package/lib/orbital/core/electronConfiguration.js.map +1 -1
- package/lib/orbital/core/grid.d.ts +3 -0
- package/lib/orbital/core/grid.d.ts.map +1 -1
- package/lib/orbital/core/grid.js.map +1 -1
- package/lib/orbital/core/index.d.ts +2 -0
- package/lib/orbital/core/index.d.ts.map +1 -1
- package/lib/orbital/core/index.js +1 -0
- package/lib/orbital/core/index.js.map +1 -1
- package/lib/orbital/core/isovalue.d.ts +3 -2
- package/lib/orbital/core/isovalue.d.ts.map +1 -1
- package/lib/orbital/core/isovalue.js +3 -2
- package/lib/orbital/core/isovalue.js.map +1 -1
- package/lib/orbital/core/occupancy.d.ts.map +1 -1
- package/lib/orbital/core/occupancy.js +2 -3
- package/lib/orbital/core/occupancy.js.map +1 -1
- package/lib/orbital/core/palette.d.ts +8 -4
- package/lib/orbital/core/palette.d.ts.map +1 -1
- package/lib/orbital/core/palette.js +3 -3
- package/lib/orbital/core/palette.js.map +1 -1
- package/lib/orbital/core/radialDistribution.d.ts +51 -0
- package/lib/orbital/core/radialDistribution.d.ts.map +1 -0
- package/lib/orbital/core/radialDistribution.js +47 -0
- package/lib/orbital/core/radialDistribution.js.map +1 -0
- package/lib/orbital/core/realHarmonics.d.ts +3 -3
- package/lib/orbital/core/realHarmonics.js +3 -3
- package/lib/orbital/ui/AtomicOrbitalCanvas.d.ts +5 -3
- package/lib/orbital/ui/AtomicOrbitalCanvas.d.ts.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalCanvas.js +27 -85
- package/lib/orbital/ui/AtomicOrbitalCanvas.js.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalControls.d.ts +23 -0
- package/lib/orbital/ui/AtomicOrbitalControls.d.ts.map +1 -0
- package/lib/orbital/ui/AtomicOrbitalControls.js +40 -0
- package/lib/orbital/ui/AtomicOrbitalControls.js.map +1 -0
- package/lib/orbital/ui/AtomicOrbitalViewer.d.ts +6 -0
- package/lib/orbital/ui/AtomicOrbitalViewer.d.ts.map +1 -1
- package/lib/orbital/ui/AtomicOrbitalViewer.js +23 -14
- package/lib/orbital/ui/AtomicOrbitalViewer.js.map +1 -1
- package/lib/orbital/ui/RadialPlot.d.ts +79 -0
- package/lib/orbital/ui/RadialPlot.d.ts.map +1 -0
- package/lib/orbital/ui/RadialPlot.js +59 -0
- package/lib/orbital/ui/RadialPlot.js.map +1 -0
- package/lib/orbital/ui/RadialPlotMarks.d.ts +31 -0
- package/lib/orbital/ui/RadialPlotMarks.d.ts.map +1 -0
- package/lib/orbital/ui/RadialPlotMarks.js +22 -0
- package/lib/orbital/ui/RadialPlotMarks.js.map +1 -0
- package/lib/orbital/ui/camera.d.ts +0 -6
- package/lib/orbital/ui/camera.d.ts.map +1 -1
- package/lib/orbital/ui/camera.js +1 -1
- package/lib/orbital/ui/camera.js.map +1 -1
- package/lib/orbital/ui/index.d.ts +3 -1
- package/lib/orbital/ui/index.d.ts.map +1 -1
- package/lib/orbital/ui/index.js +1 -0
- package/lib/orbital/ui/index.js.map +1 -1
- package/lib/orbital/ui/orbitalCanvasHelpers.d.ts +24 -0
- package/lib/orbital/ui/orbitalCanvasHelpers.d.ts.map +1 -0
- package/lib/orbital/ui/orbitalCanvasHelpers.js +34 -0
- package/lib/orbital/ui/orbitalCanvasHelpers.js.map +1 -0
- package/lib/orbital/ui/orbitalPluginSpec.d.ts +20 -0
- package/lib/orbital/ui/orbitalPluginSpec.d.ts.map +1 -0
- package/lib/orbital/ui/orbitalPluginSpec.js +34 -0
- package/lib/orbital/ui/orbitalPluginSpec.js.map +1 -0
- package/lib/orbital/ui/radialPlotGeometry.d.ts +41 -0
- package/lib/orbital/ui/radialPlotGeometry.d.ts.map +1 -0
- package/lib/orbital/ui/radialPlotGeometry.js +80 -0
- package/lib/orbital/ui/radialPlotGeometry.js.map +1 -0
- package/lib/orbital/ui/renderAxes.d.ts +2 -2
- package/lib/orbital/ui/renderAxes.d.ts.map +1 -1
- package/lib/orbital/ui/renderAxes.js +11 -11
- package/lib/orbital/ui/renderAxes.js.map +1 -1
- package/lib/orbital/ui/renderVolume.d.ts +2 -2
- package/lib/orbital/ui/renderVolume.d.ts.map +1 -1
- package/lib/orbital/ui/renderVolume.js +9 -9
- package/lib/orbital/ui/renderVolume.js.map +1 -1
- package/lib/orbital/ui/serial.d.ts +2 -1
- package/lib/orbital/ui/serial.d.ts.map +1 -1
- package/lib/orbital/ui/viewer.d.ts +4 -11
- package/lib/orbital/ui/viewer.d.ts.map +1 -1
- package/lib/orbital/ui/viewer.js +5 -27
- package/lib/orbital/ui/viewer.js.map +1 -1
- package/lib/orbital.d.ts +5 -4
- package/lib/orbital.d.ts.map +1 -1
- package/lib/orbital.js +5 -4
- package/lib/orbital.js.map +1 -1
- package/lib/overlay/core/index.d.ts +2 -1
- package/lib/overlay/core/index.d.ts.map +1 -1
- package/lib/overlay/core/index.js +1 -1
- package/lib/overlay/core/index.js.map +1 -1
- package/lib/overlay/core/overlayCollapse.d.ts +25 -0
- package/lib/overlay/core/overlayCollapse.d.ts.map +1 -1
- package/lib/overlay/core/overlayCollapse.js +17 -0
- package/lib/overlay/core/overlayCollapse.js.map +1 -1
- package/lib/overlay/core/placeOverlayCard.d.ts.map +1 -1
- package/lib/overlay/core/placeOverlayCard.js +2 -4
- package/lib/overlay/core/placeOverlayCard.js.map +1 -1
- package/lib/overlay/ui/OverlayBar.d.ts +3 -6
- package/lib/overlay/ui/OverlayBar.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayBar.js +2 -3
- package/lib/overlay/ui/OverlayBar.js.map +1 -1
- package/lib/overlay/ui/OverlayBarButton.d.ts +2 -1
- package/lib/overlay/ui/OverlayBarButton.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayBarButton.js.map +1 -1
- package/lib/overlay/ui/OverlayBarCard.d.ts +2 -1
- package/lib/overlay/ui/OverlayBarCard.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayChip.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayChip.js +3 -3
- package/lib/overlay/ui/OverlayChip.js.map +1 -1
- package/lib/overlay/ui/OverlayIconButton.d.ts +2 -1
- package/lib/overlay/ui/OverlayIconButton.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayIconButton.js +5 -4
- package/lib/overlay/ui/OverlayIconButton.js.map +1 -1
- package/lib/overlay/ui/OverlayLayer.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayLayer.js +2 -1
- package/lib/overlay/ui/OverlayLayer.js.map +1 -1
- package/lib/overlay/ui/OverlayLegend.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayLegend.js +3 -2
- package/lib/overlay/ui/OverlayLegend.js.map +1 -1
- package/lib/overlay/ui/OverlayNumber.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayNumber.js +9 -11
- package/lib/overlay/ui/OverlayNumber.js.map +1 -1
- package/lib/overlay/ui/OverlayPanel.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayPanel.js +4 -3
- package/lib/overlay/ui/OverlayPanel.js.map +1 -1
- package/lib/overlay/ui/OverlayRow.d.ts +2 -2
- package/lib/overlay/ui/OverlayRow.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayRow.js +2 -2
- package/lib/overlay/ui/OverlayRow.js.map +1 -1
- package/lib/overlay/ui/OverlayToggle.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayToggle.js.map +1 -1
- package/lib/overlay/ui/OverlayValueButton.d.ts +2 -3
- package/lib/overlay/ui/OverlayValueButton.d.ts.map +1 -1
- package/lib/overlay/ui/OverlayValueButton.js +5 -7
- package/lib/overlay/ui/OverlayValueButton.js.map +1 -1
- package/lib/overlay/ui/overlayBarShape.d.ts +1 -34
- package/lib/overlay/ui/overlayBarShape.d.ts.map +1 -1
- package/lib/overlay/ui/overlayBarShape.js +2 -40
- package/lib/overlay/ui/overlayBarShape.js.map +1 -1
- package/lib/overlay/ui/overlayControlStyles.d.ts +9 -2
- package/lib/overlay/ui/overlayControlStyles.d.ts.map +1 -1
- package/lib/overlay/ui/overlayControlStyles.js +4 -1
- package/lib/overlay/ui/overlayControlStyles.js.map +1 -1
- package/lib/overlay/ui/overlayPanelContext.d.ts.map +1 -1
- package/lib/overlay/ui/overlayPanelContext.js.map +1 -1
- package/lib/overlay/ui/overlayPanelStyles.d.ts +11 -4
- package/lib/overlay/ui/overlayPanelStyles.d.ts.map +1 -1
- package/lib/overlay/ui/overlayPanelStyles.js +9 -3
- package/lib/overlay/ui/overlayPanelStyles.js.map +1 -1
- package/lib/overlay/ui/overlayPillStyles.d.ts +2 -1
- package/lib/overlay/ui/overlayPillStyles.d.ts.map +1 -1
- package/lib/overlay/ui/overlayRowStyles.d.ts +2 -10
- package/lib/overlay/ui/overlayRowStyles.d.ts.map +1 -1
- package/lib/overlay/ui/overlayRowStyles.js +1 -1
- package/lib/overlay/ui/overlayRowStyles.js.map +1 -1
- package/lib/overlay/ui/overlaySurface.d.ts.map +1 -1
- package/lib/overlay/ui/overlaySurface.js.map +1 -1
- package/lib/overlay/ui/overlaySwitchStyles.d.ts +2 -1
- package/lib/overlay/ui/overlaySwitchStyles.d.ts.map +1 -1
- package/lib/overlay/ui/overlayValueStyles.d.ts +19 -7
- package/lib/overlay/ui/overlayValueStyles.d.ts.map +1 -1
- package/lib/overlay/ui/overlayValueStyles.js +45 -52
- package/lib/overlay/ui/overlayValueStyles.js.map +1 -1
- package/lib/overlay/ui/useOverlayInteraction.d.ts +31 -0
- package/lib/overlay/ui/useOverlayInteraction.d.ts.map +1 -0
- package/lib/overlay/ui/useOverlayInteraction.js +21 -0
- package/lib/overlay/ui/useOverlayInteraction.js.map +1 -0
- package/lib/pedagogy/core/bucketProgressStore.d.ts +51 -0
- package/lib/pedagogy/core/bucketProgressStore.d.ts.map +1 -0
- package/lib/pedagogy/core/bucketProgressStore.js +42 -0
- package/lib/pedagogy/core/bucketProgressStore.js.map +1 -0
- package/lib/pedagogy/core/glossary.d.ts +31 -9
- package/lib/pedagogy/core/glossary.d.ts.map +1 -1
- package/lib/pedagogy/core/glossary.js +12 -4
- package/lib/pedagogy/core/glossary.js.map +1 -1
- package/lib/pedagogy/core/glossarySearch.d.ts +23 -0
- package/lib/pedagogy/core/glossarySearch.d.ts.map +1 -0
- package/lib/pedagogy/core/glossarySearch.js +52 -0
- package/lib/pedagogy/core/glossarySearch.js.map +1 -0
- package/lib/pedagogy/core/index.d.ts +8 -2
- package/lib/pedagogy/core/index.d.ts.map +1 -1
- package/lib/pedagogy/core/index.js +5 -2
- package/lib/pedagogy/core/index.js.map +1 -1
- package/lib/pedagogy/core/inlineMarks.d.ts +57 -0
- package/lib/pedagogy/core/inlineMarks.d.ts.map +1 -0
- package/lib/pedagogy/core/inlineMarks.js +78 -0
- package/lib/pedagogy/core/inlineMarks.js.map +1 -0
- package/lib/pedagogy/core/progress.d.ts +18 -18
- package/lib/pedagogy/core/progress.d.ts.map +1 -1
- package/lib/pedagogy/core/progress.js +25 -51
- package/lib/pedagogy/core/progress.js.map +1 -1
- package/lib/pedagogy/core/types.d.ts +4 -0
- package/lib/pedagogy/core/types.d.ts.map +1 -1
- package/lib/pedagogy/core/validation.d.ts +3 -0
- package/lib/pedagogy/core/validation.d.ts.map +1 -1
- package/lib/pedagogy/core/validation.js.map +1 -1
- package/lib/pedagogy/ui/ExerciseActions.d.ts +1 -0
- package/lib/pedagogy/ui/ExerciseActions.d.ts.map +1 -1
- package/lib/pedagogy/ui/ExerciseActions.js.map +1 -1
- package/lib/pedagogy/ui/ExerciseProgressHeader.d.ts +1 -0
- package/lib/pedagogy/ui/ExerciseProgressHeader.d.ts.map +1 -1
- package/lib/pedagogy/ui/ExerciseProgressHeader.js +2 -1
- package/lib/pedagogy/ui/ExerciseProgressHeader.js.map +1 -1
- package/lib/pedagogy/ui/ExerciseTags.d.ts +14 -0
- package/lib/pedagogy/ui/ExerciseTags.d.ts.map +1 -1
- package/lib/pedagogy/ui/ExerciseTags.js +4 -4
- package/lib/pedagogy/ui/ExerciseTags.js.map +1 -1
- package/lib/pedagogy/ui/GlossaryDefinition.d.ts +39 -0
- package/lib/pedagogy/ui/GlossaryDefinition.d.ts.map +1 -0
- package/lib/pedagogy/ui/GlossaryDefinition.js +59 -0
- package/lib/pedagogy/ui/GlossaryDefinition.js.map +1 -0
- package/lib/pedagogy/ui/GlossaryIndex.d.ts +59 -0
- package/lib/pedagogy/ui/GlossaryIndex.d.ts.map +1 -0
- package/lib/pedagogy/ui/GlossaryIndex.js +63 -0
- package/lib/pedagogy/ui/GlossaryIndex.js.map +1 -0
- package/lib/pedagogy/ui/GlossaryProvider.d.ts +22 -6
- package/lib/pedagogy/ui/GlossaryProvider.d.ts.map +1 -1
- package/lib/pedagogy/ui/GlossaryProvider.js +12 -4
- package/lib/pedagogy/ui/GlossaryProvider.js.map +1 -1
- package/lib/pedagogy/ui/GlossaryText.d.ts +22 -21
- package/lib/pedagogy/ui/GlossaryText.d.ts.map +1 -1
- package/lib/pedagogy/ui/GlossaryText.js +21 -61
- package/lib/pedagogy/ui/GlossaryText.js.map +1 -1
- package/lib/pedagogy/ui/HintLadder.d.ts +6 -0
- package/lib/pedagogy/ui/HintLadder.d.ts.map +1 -1
- package/lib/pedagogy/ui/HintLadder.js +4 -5
- package/lib/pedagogy/ui/HintLadder.js.map +1 -1
- package/lib/pedagogy/ui/InlineText.d.ts +28 -0
- package/lib/pedagogy/ui/InlineText.d.ts.map +1 -0
- package/lib/pedagogy/ui/InlineText.js +19 -0
- package/lib/pedagogy/ui/InlineText.js.map +1 -0
- package/lib/pedagogy/ui/ReferenceGrid.d.ts +1 -0
- package/lib/pedagogy/ui/ReferenceGrid.d.ts.map +1 -1
- package/lib/pedagogy/ui/ReferenceGrid.js +2 -3
- package/lib/pedagogy/ui/ReferenceGrid.js.map +1 -1
- package/lib/pedagogy/ui/ReferenceSectionBlock.d.ts +4 -0
- package/lib/pedagogy/ui/ReferenceSectionBlock.d.ts.map +1 -1
- package/lib/pedagogy/ui/ReferenceSectionBlock.js +10 -15
- package/lib/pedagogy/ui/ReferenceSectionBlock.js.map +1 -1
- package/lib/pedagogy/ui/SyntaxTooltip.d.ts +15 -16
- package/lib/pedagogy/ui/SyntaxTooltip.d.ts.map +1 -1
- package/lib/pedagogy/ui/SyntaxTooltip.js +16 -12
- package/lib/pedagogy/ui/SyntaxTooltip.js.map +1 -1
- package/lib/pedagogy/ui/TestCaseList.d.ts +1 -0
- package/lib/pedagogy/ui/TestCaseList.d.ts.map +1 -1
- package/lib/pedagogy/ui/TestCaseList.js +4 -3
- package/lib/pedagogy/ui/TestCaseList.js.map +1 -1
- package/lib/pedagogy/ui/TutorialStepStrip.d.ts +3 -0
- package/lib/pedagogy/ui/TutorialStepStrip.d.ts.map +1 -1
- package/lib/pedagogy/ui/TutorialStepStrip.js +11 -10
- package/lib/pedagogy/ui/TutorialStepStrip.js.map +1 -1
- package/lib/pedagogy/ui/exampleText.d.ts +12 -0
- package/lib/pedagogy/ui/exampleText.d.ts.map +1 -0
- package/lib/pedagogy/ui/exampleText.js +17 -0
- package/lib/pedagogy/ui/exampleText.js.map +1 -0
- package/lib/pedagogy/ui/glossaryContext.d.ts +23 -6
- package/lib/pedagogy/ui/glossaryContext.d.ts.map +1 -1
- package/lib/pedagogy/ui/glossaryContext.js +8 -5
- package/lib/pedagogy/ui/glossaryContext.js.map +1 -1
- package/lib/pedagogy/ui/index.d.ts +9 -1
- package/lib/pedagogy/ui/index.d.ts.map +1 -1
- package/lib/pedagogy/ui/index.js +4 -1
- package/lib/pedagogy/ui/index.js.map +1 -1
- package/lib/pedagogy/ui/inlineSegments.d.ts +27 -0
- package/lib/pedagogy/ui/inlineSegments.d.ts.map +1 -0
- package/lib/pedagogy/ui/inlineSegments.js +42 -0
- package/lib/pedagogy/ui/inlineSegments.js.map +1 -0
- package/lib/pedagogy/ui/pedagogyStyle.d.ts +31 -0
- package/lib/pedagogy/ui/pedagogyStyle.d.ts.map +1 -0
- package/lib/pedagogy/ui/pedagogyStyle.js +33 -0
- package/lib/pedagogy/ui/pedagogyStyle.js.map +1 -0
- package/lib/periodic/core/categories.d.ts +1 -1
- package/lib/periodic/core/categories.d.ts.map +1 -1
- package/lib/periodic/core/elements.d.ts +2 -0
- package/lib/periodic/core/elements.d.ts.map +1 -1
- package/lib/periodic/core/elements.js.map +1 -1
- package/lib/periodic/core/layout.d.ts +4 -0
- package/lib/periodic/core/layout.d.ts.map +1 -1
- package/lib/periodic/core/layout.js +9 -9
- package/lib/periodic/core/layout.js.map +1 -1
- package/lib/periodic/ui/CategoryLegend.d.ts +5 -0
- package/lib/periodic/ui/CategoryLegend.d.ts.map +1 -1
- package/lib/periodic/ui/CategoryLegend.js +4 -3
- package/lib/periodic/ui/CategoryLegend.js.map +1 -1
- package/lib/periodic/ui/ElementCell.d.ts +7 -1
- package/lib/periodic/ui/ElementCell.d.ts.map +1 -1
- package/lib/periodic/ui/ElementCell.js +2 -2
- package/lib/periodic/ui/ElementCell.js.map +1 -1
- package/lib/periodic/ui/PeriodicTable.d.ts +8 -2
- package/lib/periodic/ui/PeriodicTable.d.ts.map +1 -1
- package/lib/periodic/ui/PeriodicTable.js +2 -2
- package/lib/periodic/ui/PeriodicTable.js.map +1 -1
- package/lib/periodic/ui/PeriodicTableChrome.d.ts +3 -2
- package/lib/periodic/ui/PeriodicTableChrome.d.ts.map +1 -1
- package/lib/periodic/ui/PeriodicTableChrome.js +4 -3
- package/lib/periodic/ui/PeriodicTableChrome.js.map +1 -1
- package/lib/projection/core/explainedShares.d.ts +1 -1
- package/lib/projection/core/explainedShares.d.ts.map +1 -1
- package/lib/projection/core/fillCopy.d.ts +12 -0
- package/lib/projection/core/fillCopy.d.ts.map +1 -0
- package/lib/projection/core/fillCopy.js +18 -0
- package/lib/projection/core/fillCopy.js.map +1 -0
- package/lib/projection/core/index.d.ts +7 -3
- package/lib/projection/core/index.d.ts.map +1 -1
- package/lib/projection/core/index.js +5 -2
- package/lib/projection/core/index.js.map +1 -1
- package/lib/projection/core/loadingProfiles.d.ts +7 -1
- package/lib/projection/core/loadingProfiles.d.ts.map +1 -1
- package/lib/projection/core/loadingProfiles.js +3 -4
- package/lib/projection/core/loadingProfiles.js.map +1 -1
- package/lib/projection/core/mergeProjectionCopy.d.ts +10 -0
- package/lib/projection/core/mergeProjectionCopy.d.ts.map +1 -0
- package/lib/projection/core/mergeProjectionCopy.js +30 -0
- package/lib/projection/core/mergeProjectionCopy.js.map +1 -0
- package/lib/projection/core/pcaColumns.d.ts +23 -0
- package/lib/projection/core/pcaColumns.d.ts.map +1 -0
- package/lib/projection/core/pcaColumns.js +73 -0
- package/lib/projection/core/pcaColumns.js.map +1 -0
- package/lib/projection/core/pcaLike.d.ts +29 -4
- package/lib/projection/core/pcaLike.d.ts.map +1 -1
- package/lib/projection/core/pcaResult.d.ts +8 -5
- package/lib/projection/core/pcaResult.d.ts.map +1 -1
- package/lib/projection/core/pcaResult.js +10 -35
- package/lib/projection/core/pcaResult.js.map +1 -1
- package/lib/projection/core/projectionCopy.d.ts +30 -20
- package/lib/projection/core/projectionCopy.d.ts.map +1 -1
- package/lib/projection/core/projectionCopy.js +15 -45
- package/lib/projection/core/projectionCopy.js.map +1 -1
- package/lib/projection/core/projectionOptions.d.ts +12 -15
- package/lib/projection/core/projectionOptions.d.ts.map +1 -1
- package/lib/projection/core/projectionOptions.js +2 -64
- package/lib/projection/core/projectionOptions.js.map +1 -1
- package/lib/projection/core/projectionPanelWords.d.ts +91 -0
- package/lib/projection/core/projectionPanelWords.d.ts.map +1 -0
- package/lib/projection/core/projectionPanelWords.js +56 -0
- package/lib/projection/core/projectionPanelWords.js.map +1 -0
- package/lib/projection/core/projectionResult.d.ts +1 -1
- package/lib/projection/core/projectionResult.d.ts.map +1 -1
- package/lib/projection/core/projectionStrings.d.ts +2 -28
- package/lib/projection/core/projectionStrings.d.ts.map +1 -1
- package/lib/projection/core/projectionStrings.js +10 -46
- package/lib/projection/core/projectionStrings.js.map +1 -1
- package/lib/projection/core/projectionTabDefaults.d.ts.map +1 -1
- package/lib/projection/core/projectionTabDefaults.js +12 -0
- package/lib/projection/core/projectionTabDefaults.js.map +1 -1
- package/lib/projection/core/projectionTabs.d.ts +1 -1
- package/lib/projection/core/projectionTabs.d.ts.map +1 -1
- package/lib/projection/core/projectionTabs.js +9 -0
- package/lib/projection/core/projectionTabs.js.map +1 -1
- package/lib/projection/core/resolveProjectionOptions.d.ts +17 -0
- package/lib/projection/core/resolveProjectionOptions.d.ts.map +1 -0
- package/lib/projection/core/resolveProjectionOptions.js +79 -0
- package/lib/projection/core/resolveProjectionOptions.js.map +1 -0
- package/lib/projection/core/variableAxis.d.ts.map +1 -1
- package/lib/projection/core/variableAxis.js +4 -17
- package/lib/projection/core/variableAxis.js.map +1 -1
- package/lib/projection/ui/ProjectionBar.d.ts +2 -1
- package/lib/projection/ui/ProjectionBar.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionBar.js +2 -2
- package/lib/projection/ui/ProjectionMapCaption.d.ts +2 -1
- package/lib/projection/ui/ProjectionMapCaption.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionMapControls.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionMapControls.js +6 -24
- package/lib/projection/ui/ProjectionMapControls.js.map +1 -1
- package/lib/projection/ui/ProjectionMapLegend.d.ts +2 -1
- package/lib/projection/ui/ProjectionMapLegend.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionMapMore.d.ts +2 -1
- package/lib/projection/ui/ProjectionMapMore.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionMapMore.js +4 -37
- package/lib/projection/ui/ProjectionMapMore.js.map +1 -1
- package/lib/projection/ui/ProjectionMapTab.d.ts +8 -1
- package/lib/projection/ui/ProjectionMapTab.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionMapTab.js +2 -1
- package/lib/projection/ui/ProjectionMapTab.js.map +1 -1
- package/lib/projection/ui/ProjectionPairsControls.d.ts +2 -1
- package/lib/projection/ui/ProjectionPairsControls.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionPairsMore.d.ts +2 -1
- package/lib/projection/ui/ProjectionPairsMore.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionPairsMore.js +2 -3
- package/lib/projection/ui/ProjectionPairsMore.js.map +1 -1
- package/lib/projection/ui/ProjectionPairsTab.d.ts +2 -1
- package/lib/projection/ui/ProjectionPairsTab.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionPairsTab.js +2 -1
- package/lib/projection/ui/ProjectionPairsTab.js.map +1 -1
- package/lib/projection/ui/ProjectionPanel.d.ts +9 -2
- package/lib/projection/ui/ProjectionPanel.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionPanel.js +15 -1
- package/lib/projection/ui/ProjectionPanel.js.map +1 -1
- package/lib/projection/ui/ProjectionReadout.d.ts +9 -1
- package/lib/projection/ui/ProjectionReadout.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionReadout.js +5 -4
- package/lib/projection/ui/ProjectionReadout.js.map +1 -1
- package/lib/projection/ui/ProjectionSharesAxis.d.ts +25 -0
- package/lib/projection/ui/ProjectionSharesAxis.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionSharesAxis.js +20 -0
- package/lib/projection/ui/ProjectionSharesAxis.js.map +1 -0
- package/lib/projection/ui/ProjectionSharesMarks.d.ts +5 -22
- package/lib/projection/ui/ProjectionSharesMarks.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionSharesMarks.js +27 -29
- package/lib/projection/ui/ProjectionSharesMarks.js.map +1 -1
- package/lib/projection/ui/ProjectionSharesMore.d.ts +2 -1
- package/lib/projection/ui/ProjectionSharesMore.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionSharesMore.js +2 -3
- package/lib/projection/ui/ProjectionSharesMore.js.map +1 -1
- package/lib/projection/ui/ProjectionSharesTab.d.ts +2 -1
- package/lib/projection/ui/ProjectionSharesTab.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionSharesTab.js +3 -2
- package/lib/projection/ui/ProjectionSharesTab.js.map +1 -1
- package/lib/projection/ui/ProjectionSpaceControls.d.ts +51 -0
- package/lib/projection/ui/ProjectionSpaceControls.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionSpaceControls.js +54 -0
- package/lib/projection/ui/ProjectionSpaceControls.js.map +1 -0
- package/lib/projection/ui/ProjectionSpaceMore.d.ts +33 -0
- package/lib/projection/ui/ProjectionSpaceMore.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionSpaceMore.js +30 -0
- package/lib/projection/ui/ProjectionSpaceMore.js.map +1 -0
- package/lib/projection/ui/ProjectionSpaceTab.d.ts +99 -0
- package/lib/projection/ui/ProjectionSpaceTab.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionSpaceTab.js +66 -0
- package/lib/projection/ui/ProjectionSpaceTab.js.map +1 -0
- package/lib/projection/ui/ProjectionSurface.d.ts +2 -1
- package/lib/projection/ui/ProjectionSurface.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionTabStrip.d.ts +2 -1
- package/lib/projection/ui/ProjectionTabStrip.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionTabStrip.js +15 -5
- package/lib/projection/ui/ProjectionTabStrip.js.map +1 -1
- package/lib/projection/ui/ProjectionVariablesControls.d.ts +2 -1
- package/lib/projection/ui/ProjectionVariablesControls.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionVariablesMore.d.ts +2 -1
- package/lib/projection/ui/ProjectionVariablesMore.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionVariablesMore.js +4 -15
- package/lib/projection/ui/ProjectionVariablesMore.js.map +1 -1
- package/lib/projection/ui/ProjectionVariablesTab.d.ts +3 -3
- package/lib/projection/ui/ProjectionVariablesTab.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionVariablesTab.js +1 -1
- package/lib/projection/ui/ProjectionVariablesTab.js.map +1 -1
- package/lib/projection/ui/ProjectionViewer.d.ts +2 -5
- package/lib/projection/ui/ProjectionViewer.d.ts.map +1 -1
- package/lib/projection/ui/ProjectionViewer.js +7 -6
- package/lib/projection/ui/ProjectionViewer.js.map +1 -1
- package/lib/projection/ui/index.d.ts +1 -0
- package/lib/projection/ui/index.d.ts.map +1 -1
- package/lib/projection/ui/index.js.map +1 -1
- package/lib/projection/ui/projectionAxisChoices.d.ts +12 -0
- package/lib/projection/ui/projectionAxisChoices.d.ts.map +1 -0
- package/lib/projection/ui/projectionAxisChoices.js +26 -0
- package/lib/projection/ui/projectionAxisChoices.js.map +1 -0
- package/lib/projection/ui/projectionBarModel.d.ts.map +1 -1
- package/lib/projection/ui/projectionBarModel.js +3 -2
- package/lib/projection/ui/projectionBarModel.js.map +1 -1
- package/lib/projection/ui/projectionBarReadings.d.ts +10 -1
- package/lib/projection/ui/projectionBarReadings.d.ts.map +1 -1
- package/lib/projection/ui/projectionBarReadings.js +37 -3
- package/lib/projection/ui/projectionBarReadings.js.map +1 -1
- package/lib/projection/ui/projectionBarSlots.d.ts +3 -2
- package/lib/projection/ui/projectionBarSlots.d.ts.map +1 -1
- package/lib/projection/ui/projectionBarSlots.js +17 -0
- package/lib/projection/ui/projectionBarSlots.js.map +1 -1
- package/lib/projection/ui/projectionBarStyles.d.ts +2 -2
- package/lib/projection/ui/projectionBarStyles.js +2 -2
- package/lib/projection/ui/projectionEllipse.d.ts +21 -7
- package/lib/projection/ui/projectionEllipse.d.ts.map +1 -1
- package/lib/projection/ui/projectionEllipse.js +45 -18
- package/lib/projection/ui/projectionEllipse.js.map +1 -1
- package/lib/projection/ui/projectionFormat.d.ts.map +1 -1
- package/lib/projection/ui/projectionFormat.js +2 -1
- package/lib/projection/ui/projectionFormat.js.map +1 -1
- package/lib/projection/ui/projectionMapChoices.d.ts +4 -2
- package/lib/projection/ui/projectionMapChoices.d.ts.map +1 -1
- package/lib/projection/ui/projectionMapChoices.js +5 -4
- package/lib/projection/ui/projectionMapChoices.js.map +1 -1
- package/lib/projection/ui/projectionMapChrome.d.ts +10 -1
- package/lib/projection/ui/projectionMapChrome.d.ts.map +1 -1
- package/lib/projection/ui/projectionMapChrome.js +23 -21
- package/lib/projection/ui/projectionMapChrome.js.map +1 -1
- package/lib/projection/ui/projectionMapModel.d.ts +2 -1
- package/lib/projection/ui/projectionMapModel.d.ts.map +1 -1
- package/lib/projection/ui/projectionMapModel.js.map +1 -1
- package/lib/projection/ui/projectionMapView.d.ts +15 -1
- package/lib/projection/ui/projectionMapView.d.ts.map +1 -1
- package/lib/projection/ui/projectionMapView.js +26 -0
- package/lib/projection/ui/projectionMapView.js.map +1 -1
- package/lib/projection/ui/projectionPairsCeiling.d.ts +2 -1
- package/lib/projection/ui/projectionPairsCeiling.d.ts.map +1 -1
- package/lib/projection/ui/projectionSpaceModel.d.ts +14 -0
- package/lib/projection/ui/projectionSpaceModel.d.ts.map +1 -0
- package/lib/projection/ui/projectionSpaceModel.js +14 -0
- package/lib/projection/ui/projectionSpaceModel.js.map +1 -0
- package/lib/projection/ui/projectionTabInfo.d.ts +5 -17
- package/lib/projection/ui/projectionTabInfo.d.ts.map +1 -1
- package/lib/projection/ui/projectionTabInfo.js +7 -8
- package/lib/projection/ui/projectionTabInfo.js.map +1 -1
- package/lib/projection/ui/projectionTabModels.d.ts +5 -1
- package/lib/projection/ui/projectionTabModels.d.ts.map +1 -1
- package/lib/projection/ui/projectionTabModels.js +4 -2
- package/lib/projection/ui/projectionTabModels.js.map +1 -1
- package/lib/projection/ui/projectionVariablesModel.d.ts +3 -3
- package/lib/projection/ui/projectionVariablesModel.d.ts.map +1 -1
- package/lib/projection/ui/projectionVariablesModel.js +3 -2
- package/lib/projection/ui/projectionVariablesModel.js.map +1 -1
- package/lib/projection/ui/projectionVariablesWords.d.ts.map +1 -1
- package/lib/projection/ui/projectionVariablesWords.js +1 -1
- package/lib/projection/ui/projectionVariablesWords.js.map +1 -1
- package/lib/projection/ui/projectionViewChoices.d.ts.map +1 -1
- package/lib/projection/ui/projectionViewChoices.js +4 -7
- package/lib/projection/ui/projectionViewChoices.js.map +1 -1
- package/lib/projection/ui/projectionViewerProps.d.ts +35 -1
- package/lib/projection/ui/projectionViewerProps.d.ts.map +1 -1
- package/lib/projection/ui/projectionWordChoices.d.ts +31 -0
- package/lib/projection/ui/projectionWordChoices.d.ts.map +1 -0
- package/lib/projection/ui/projectionWordChoices.js +48 -0
- package/lib/projection/ui/projectionWordChoices.js.map +1 -0
- package/lib/projection/ui/useProjectionState.d.ts +2 -1
- package/lib/projection/ui/useProjectionState.d.ts.map +1 -1
- package/lib/projection/ui/useProjectionState.js +1 -1
- package/lib/projection/ui/useProjectionState.js.map +1 -1
- package/lib/router/core/address.d.ts +15 -6
- package/lib/router/core/address.d.ts.map +1 -1
- package/lib/router/core/address.js +20 -7
- package/lib/router/core/address.js.map +1 -1
- package/lib/router/core/basePath.d.ts.map +1 -1
- package/lib/router/core/basePath.js +3 -3
- package/lib/router/core/basePath.js.map +1 -1
- package/lib/router/core/history.d.ts +69 -0
- package/lib/router/core/history.d.ts.map +1 -0
- package/lib/router/core/history.js +122 -0
- package/lib/router/core/history.js.map +1 -0
- package/lib/router/core/index.d.ts +7 -2
- package/lib/router/core/index.d.ts.map +1 -1
- package/lib/router/core/index.js +4 -1
- package/lib/router/core/index.js.map +1 -1
- package/lib/router/core/query.d.ts +36 -6
- package/lib/router/core/query.d.ts.map +1 -1
- package/lib/router/core/query.js +67 -19
- package/lib/router/core/query.js.map +1 -1
- package/lib/router/core/siteAddresses.d.ts +49 -0
- package/lib/router/core/siteAddresses.d.ts.map +1 -0
- package/lib/router/core/siteAddresses.js +47 -0
- package/lib/router/core/siteAddresses.js.map +1 -0
- package/lib/router/core/tabRouter.d.ts +9 -0
- package/lib/router/core/tabRouter.d.ts.map +1 -1
- package/lib/router/core/tabRouter.js +15 -6
- package/lib/router/core/tabRouter.js.map +1 -1
- package/lib/router/ui/index.d.ts +2 -0
- package/lib/router/ui/index.d.ts.map +1 -0
- package/lib/router/ui/index.js +2 -0
- package/lib/router/ui/index.js.map +1 -0
- package/lib/router/ui/useTabRoute.d.ts +12 -0
- package/lib/router/ui/useTabRoute.d.ts.map +1 -0
- package/lib/router/ui/useTabRoute.js +20 -0
- package/lib/router/ui/useTabRoute.js.map +1 -0
- package/lib/scatter/core/confidenceEllipse.d.ts +26 -19
- package/lib/scatter/core/confidenceEllipse.d.ts.map +1 -1
- package/lib/scatter/core/confidenceEllipse.js +63 -85
- package/lib/scatter/core/confidenceEllipse.js.map +1 -1
- package/lib/scatter/core/ellipseAxes.d.ts +40 -0
- package/lib/scatter/core/ellipseAxes.d.ts.map +1 -0
- package/lib/scatter/core/ellipseAxes.js +57 -0
- package/lib/scatter/core/ellipseAxes.js.map +1 -0
- package/lib/scatter/core/ellipseProjection.js +1 -1
- package/lib/scatter/core/ellipseProjection.js.map +1 -1
- package/lib/scatter/core/index.d.ts +7 -2
- package/lib/scatter/core/index.d.ts.map +1 -1
- package/lib/scatter/core/index.js +3 -1
- package/lib/scatter/core/index.js.map +1 -1
- package/lib/scatter/core/lassoPath.d.ts.map +1 -1
- package/lib/scatter/core/lassoPath.js +2 -3
- package/lib/scatter/core/lassoPath.js.map +1 -1
- package/lib/scatter/core/scatterGroupMoments.d.ts +42 -0
- package/lib/scatter/core/scatterGroupMoments.d.ts.map +1 -0
- package/lib/scatter/core/scatterGroupMoments.js +101 -0
- package/lib/scatter/core/scatterGroupMoments.js.map +1 -0
- package/lib/scatter/{ui → core}/scatterGroupSpread.d.ts +17 -15
- package/lib/scatter/core/scatterGroupSpread.d.ts.map +1 -0
- package/lib/scatter/core/scatterGroupSpread.js +79 -0
- package/lib/scatter/core/scatterGroupSpread.js.map +1 -0
- package/lib/scatter/core/screenPoints.d.ts +13 -0
- package/lib/scatter/core/screenPoints.d.ts.map +1 -1
- package/lib/scatter/core/screenPoints.js +34 -1
- package/lib/scatter/core/screenPoints.js.map +1 -1
- package/lib/scatter/ui/ScatterEllipseLayer.d.ts +3 -9
- package/lib/scatter/ui/ScatterEllipseLayer.d.ts.map +1 -1
- package/lib/scatter/ui/ScatterEllipseLayer.js +17 -49
- package/lib/scatter/ui/ScatterEllipseLayer.js.map +1 -1
- package/lib/scatter/ui/ScatterLabelLayer.d.ts.map +1 -1
- package/lib/scatter/ui/ScatterLabelLayer.js +3 -7
- package/lib/scatter/ui/ScatterLabelLayer.js.map +1 -1
- package/lib/scatter/ui/ScatterMarkLayer.d.ts +0 -1
- package/lib/scatter/ui/ScatterMarkLayer.d.ts.map +1 -1
- package/lib/scatter/ui/ScatterMarkLayer.js +5 -28
- package/lib/scatter/ui/ScatterMarkLayer.js.map +1 -1
- package/lib/scatter/ui/ScatterMatrix.d.ts +0 -1
- package/lib/scatter/ui/ScatterMatrix.d.ts.map +1 -1
- package/lib/scatter/ui/ScatterMatrix.js +5 -10
- package/lib/scatter/ui/ScatterMatrix.js.map +1 -1
- package/lib/scatter/ui/ScatterMatrixCell.js +1 -1
- package/lib/scatter/ui/ScatterMatrixCell.js.map +1 -1
- package/lib/scatter/ui/ScatterMatrixDiagonal.d.ts +1 -1
- package/lib/scatter/ui/ScatterMatrixDiagonal.d.ts.map +1 -1
- package/lib/scatter/ui/ScatterMatrixDiagonal.js +2 -1
- package/lib/scatter/ui/ScatterMatrixDiagonal.js.map +1 -1
- package/lib/scatter/ui/ScatterOverlayLayers.d.ts +22 -0
- package/lib/scatter/ui/ScatterOverlayLayers.d.ts.map +1 -0
- package/lib/scatter/ui/ScatterOverlayLayers.js +16 -0
- package/lib/scatter/ui/ScatterOverlayLayers.js.map +1 -0
- package/lib/scatter/ui/ScatterPlot.d.ts +0 -1
- package/lib/scatter/ui/ScatterPlot.d.ts.map +1 -1
- package/lib/scatter/ui/ScatterPlot.js +34 -42
- package/lib/scatter/ui/ScatterPlot.js.map +1 -1
- package/lib/scatter/ui/ScatterPointLayer.d.ts +12 -0
- package/lib/scatter/ui/ScatterPointLayer.d.ts.map +1 -1
- package/lib/scatter/ui/ScatterPointLayer.js +13 -13
- package/lib/scatter/ui/ScatterPointLayer.js.map +1 -1
- package/lib/scatter/ui/index.d.ts +7 -6
- package/lib/scatter/ui/index.d.ts.map +1 -1
- package/lib/scatter/ui/index.js +0 -1
- package/lib/scatter/ui/index.js.map +1 -1
- package/lib/scatter/ui/lassoGesture.d.ts +14 -2
- package/lib/scatter/ui/lassoGesture.d.ts.map +1 -1
- package/lib/scatter/ui/lassoGesture.js +4 -1
- package/lib/scatter/ui/lassoGesture.js.map +1 -1
- package/lib/scatter/ui/scatterFigureProps.d.ts +185 -0
- package/lib/scatter/ui/scatterFigureProps.d.ts.map +1 -0
- package/lib/scatter/ui/scatterFigureProps.js +10 -0
- package/lib/scatter/ui/scatterFigureProps.js.map +1 -0
- package/lib/scatter/ui/scatterInteractionTypes.d.ts +117 -0
- package/lib/scatter/ui/scatterInteractionTypes.d.ts.map +1 -0
- package/lib/scatter/ui/scatterInteractionTypes.js +6 -0
- package/lib/scatter/ui/scatterInteractionTypes.js.map +1 -0
- package/lib/scatter/ui/scatterLabels.d.ts.map +1 -1
- package/lib/scatter/ui/scatterLabels.js +4 -17
- package/lib/scatter/ui/scatterLabels.js.map +1 -1
- package/lib/scatter/ui/scatterMarkGlyph.d.ts.map +1 -1
- package/lib/scatter/ui/scatterMarkGlyph.js +6 -6
- package/lib/scatter/ui/scatterMarkGlyph.js.map +1 -1
- package/lib/scatter/ui/scatterMatrixDots.d.ts.map +1 -1
- package/lib/scatter/ui/scatterMatrixDots.js +21 -16
- package/lib/scatter/ui/scatterMatrixDots.js.map +1 -1
- package/lib/scatter/ui/scatterMatrixLayout.d.ts +1 -1
- package/lib/scatter/ui/scatterMatrixLayout.js +1 -1
- package/lib/scatter/ui/scatterMatrixOutlines.d.ts.map +1 -1
- package/lib/scatter/ui/scatterMatrixOutlines.js +1 -1
- package/lib/scatter/ui/scatterMatrixOutlines.js.map +1 -1
- package/lib/scatter/ui/scatterMatrixProps.d.ts +7 -2
- package/lib/scatter/ui/scatterMatrixProps.d.ts.map +1 -1
- package/lib/scatter/ui/scatterOutlineShape.d.ts.map +1 -1
- package/lib/scatter/ui/scatterOutlineShape.js +5 -5
- package/lib/scatter/ui/scatterOutlineShape.js.map +1 -1
- package/lib/scatter/ui/scatterPlotModel.d.ts +25 -8
- package/lib/scatter/ui/scatterPlotModel.d.ts.map +1 -1
- package/lib/scatter/ui/scatterPlotModel.js +36 -23
- package/lib/scatter/ui/scatterPlotModel.js.map +1 -1
- package/lib/scatter/ui/scatterPlotProps.d.ts +9 -140
- package/lib/scatter/ui/scatterPlotProps.d.ts.map +1 -1
- package/lib/scatter/ui/scatterPlotProps.js +4 -4
- package/lib/scatter/ui/useCapturedPointer.d.ts +60 -0
- package/lib/scatter/ui/useCapturedPointer.d.ts.map +1 -0
- package/lib/scatter/ui/useCapturedPointer.js +87 -0
- package/lib/scatter/ui/useCapturedPointer.js.map +1 -0
- package/lib/scatter/ui/useLassoGesture.d.ts +4 -9
- package/lib/scatter/ui/useLassoGesture.d.ts.map +1 -1
- package/lib/scatter/ui/useLassoGesture.js +39 -83
- package/lib/scatter/ui/useLassoGesture.js.map +1 -1
- package/lib/scatter/ui/useScatterFrame.d.ts.map +1 -1
- package/lib/scatter/ui/useScatterFrame.js +2 -16
- package/lib/scatter/ui/useScatterFrame.js.map +1 -1
- package/lib/scatter/ui/useScatterInteraction.d.ts +1 -85
- package/lib/scatter/ui/useScatterInteraction.d.ts.map +1 -1
- package/lib/scatter/ui/useScatterInteraction.js +35 -5
- package/lib/scatter/ui/useScatterInteraction.js.map +1 -1
- package/lib/scatter/ui/useScatterLabels.d.ts +45 -0
- package/lib/scatter/ui/useScatterLabels.d.ts.map +1 -0
- package/lib/scatter/ui/useScatterLabels.js +32 -0
- package/lib/scatter/ui/useScatterLabels.js.map +1 -0
- package/lib/scatter3d/core/cloudGesture.d.ts +17 -0
- package/lib/scatter3d/core/cloudGesture.d.ts.map +1 -0
- package/lib/scatter3d/core/cloudGesture.js +2 -0
- package/lib/scatter3d/core/cloudGesture.js.map +1 -0
- package/lib/scatter3d/core/confidenceEllipsoid.d.ts +62 -0
- package/lib/scatter3d/core/confidenceEllipsoid.d.ts.map +1 -0
- package/lib/scatter3d/core/confidenceEllipsoid.js +93 -0
- package/lib/scatter3d/core/confidenceEllipsoid.js.map +1 -0
- package/lib/scatter3d/core/cubeFrame.d.ts +40 -0
- package/lib/scatter3d/core/cubeFrame.d.ts.map +1 -0
- package/lib/scatter3d/core/cubeFrame.js +58 -0
- package/lib/scatter3d/core/cubeFrame.js.map +1 -0
- package/lib/scatter3d/core/cubePoints.d.ts +35 -0
- package/lib/scatter3d/core/cubePoints.d.ts.map +1 -0
- package/lib/scatter3d/core/cubePoints.js +50 -0
- package/lib/scatter3d/core/cubePoints.js.map +1 -0
- package/lib/scatter3d/core/ellipsoidCoverage.d.ts +32 -0
- package/lib/scatter3d/core/ellipsoidCoverage.d.ts.map +1 -0
- package/lib/scatter3d/core/ellipsoidCoverage.js +83 -0
- package/lib/scatter3d/core/ellipsoidCoverage.js.map +1 -0
- package/lib/scatter3d/core/ellipsoidSilhouette.d.ts +41 -0
- package/lib/scatter3d/core/ellipsoidSilhouette.d.ts.map +1 -0
- package/lib/scatter3d/core/ellipsoidSilhouette.js +46 -0
- package/lib/scatter3d/core/ellipsoidSilhouette.js.map +1 -0
- package/lib/scatter3d/core/index.d.ts +29 -0
- package/lib/scatter3d/core/index.d.ts.map +1 -0
- package/lib/scatter3d/core/index.js +22 -0
- package/lib/scatter3d/core/index.js.map +1 -0
- package/lib/scatter3d/core/orbitCamera.d.ts +113 -0
- package/lib/scatter3d/core/orbitCamera.d.ts.map +1 -0
- package/lib/scatter3d/core/orbitCamera.js +104 -0
- package/lib/scatter3d/core/orbitCamera.js.map +1 -0
- package/lib/scatter3d/core/symmetricEigen.d.ts +47 -0
- package/lib/scatter3d/core/symmetricEigen.d.ts.map +1 -0
- package/lib/scatter3d/core/symmetricEigen.js +219 -0
- package/lib/scatter3d/core/symmetricEigen.js.map +1 -0
- package/lib/scatter3d/ui/CloudFrameLayer.d.ts +33 -0
- package/lib/scatter3d/ui/CloudFrameLayer.d.ts.map +1 -0
- package/lib/scatter3d/ui/CloudFrameLayer.js +39 -0
- package/lib/scatter3d/ui/CloudFrameLayer.js.map +1 -0
- package/lib/scatter3d/ui/CloudShellLayer.d.ts +51 -0
- package/lib/scatter3d/ui/CloudShellLayer.d.ts.map +1 -0
- package/lib/scatter3d/ui/CloudShellLayer.js +39 -0
- package/lib/scatter3d/ui/CloudShellLayer.js.map +1 -0
- package/lib/scatter3d/ui/ScatterCloud.d.ts +23 -0
- package/lib/scatter3d/ui/ScatterCloud.d.ts.map +1 -0
- package/lib/scatter3d/ui/ScatterCloud.js +151 -0
- package/lib/scatter3d/ui/ScatterCloud.js.map +1 -0
- package/lib/scatter3d/ui/cloudGeometry.d.ts +119 -0
- package/lib/scatter3d/ui/cloudGeometry.d.ts.map +1 -0
- package/lib/scatter3d/ui/cloudGeometry.js +140 -0
- package/lib/scatter3d/ui/cloudGeometry.js.map +1 -0
- package/lib/scatter3d/ui/cloudShellStyles.d.ts +34 -0
- package/lib/scatter3d/ui/cloudShellStyles.d.ts.map +1 -0
- package/lib/scatter3d/ui/cloudShellStyles.js +61 -0
- package/lib/scatter3d/ui/cloudShellStyles.js.map +1 -0
- package/lib/scatter3d/ui/cloudZoom.d.ts +21 -0
- package/lib/scatter3d/ui/cloudZoom.d.ts.map +1 -0
- package/lib/scatter3d/ui/cloudZoom.js +21 -0
- package/lib/scatter3d/ui/cloudZoom.js.map +1 -0
- package/lib/scatter3d/ui/index.d.ts +27 -0
- package/lib/scatter3d/ui/index.d.ts.map +1 -0
- package/lib/scatter3d/ui/index.js +20 -0
- package/lib/scatter3d/ui/index.js.map +1 -0
- package/lib/scatter3d/ui/orbitDragTrack.d.ts +83 -0
- package/lib/scatter3d/ui/orbitDragTrack.d.ts.map +1 -0
- package/lib/scatter3d/ui/orbitDragTrack.js +91 -0
- package/lib/scatter3d/ui/orbitDragTrack.js.map +1 -0
- package/lib/scatter3d/ui/scatterCloudModel.d.ts +60 -0
- package/lib/scatter3d/ui/scatterCloudModel.d.ts.map +1 -0
- package/lib/scatter3d/ui/scatterCloudModel.js +67 -0
- package/lib/scatter3d/ui/scatterCloudModel.js.map +1 -0
- package/lib/scatter3d/ui/scatterCloudProps.d.ts +86 -0
- package/lib/scatter3d/ui/scatterCloudProps.d.ts.map +1 -0
- package/lib/scatter3d/ui/scatterCloudProps.js +9 -0
- package/lib/scatter3d/ui/scatterCloudProps.js.map +1 -0
- package/lib/scatter3d/ui/useOrbitDrag.d.ts +60 -0
- package/lib/scatter3d/ui/useOrbitDrag.d.ts.map +1 -0
- package/lib/scatter3d/ui/useOrbitDrag.js +72 -0
- package/lib/scatter3d/ui/useOrbitDrag.js.map +1 -0
- package/lib/seo/core/documentMeta.d.ts.map +1 -1
- package/lib/seo/core/documentMeta.js +2 -5
- package/lib/seo/core/documentMeta.js.map +1 -1
- package/lib/seo/core/index.d.ts +5 -2
- package/lib/seo/core/index.d.ts.map +1 -1
- package/lib/seo/core/index.js +4 -2
- package/lib/seo/core/index.js.map +1 -1
- package/lib/seo/core/noscript.js +1 -1
- package/lib/seo/core/noscript.js.map +1 -1
- package/lib/seo/core/plainDescription.d.ts +37 -0
- package/lib/seo/core/plainDescription.d.ts.map +1 -0
- package/lib/seo/core/plainDescription.js +80 -0
- package/lib/seo/core/plainDescription.js.map +1 -0
- package/lib/seo/core/routes.d.ts +9 -17
- package/lib/seo/core/routes.d.ts.map +1 -1
- package/lib/seo/core/routes.js +30 -27
- package/lib/seo/core/routes.js.map +1 -1
- package/lib/seo/core/siteFiles.d.ts.map +1 -1
- package/lib/seo/core/siteFiles.js +1 -1
- package/lib/seo/core/siteFiles.js.map +1 -1
- package/lib/seo/core/startDocumentMeta.d.ts +3 -4
- package/lib/seo/core/startDocumentMeta.d.ts.map +1 -1
- package/lib/seo/core/startDocumentMeta.js +3 -4
- package/lib/seo/core/startDocumentMeta.js.map +1 -1
- package/lib/seo/core/trackingScript.d.ts +15 -0
- package/lib/seo/core/trackingScript.d.ts.map +1 -0
- package/lib/seo/core/trackingScript.js +24 -0
- package/lib/seo/core/trackingScript.js.map +1 -0
- package/lib/seo/vite/ogCard.d.ts.map +1 -1
- package/lib/seo/vite/ogCard.js +11 -8
- package/lib/seo/vite/ogCard.js.map +1 -1
- package/lib/seo/vite/prerender.d.ts.map +1 -1
- package/lib/seo/vite/prerender.js +2 -1
- package/lib/seo/vite/prerender.js.map +1 -1
- package/lib/share/core/config.d.ts +10 -1
- package/lib/share/core/config.d.ts.map +1 -1
- package/lib/share/core/config.js +19 -1
- package/lib/share/core/config.js.map +1 -1
- package/lib/share/core/index.d.ts +7 -3
- package/lib/share/core/index.d.ts.map +1 -1
- package/lib/share/core/index.js +4 -2
- package/lib/share/core/index.js.map +1 -1
- package/lib/share/core/params.d.ts +27 -0
- package/lib/share/core/params.d.ts.map +1 -1
- package/lib/share/core/params.js +37 -0
- package/lib/share/core/params.js.map +1 -1
- package/lib/share/core/preferences.d.ts +107 -0
- package/lib/share/core/preferences.d.ts.map +1 -0
- package/lib/share/core/preferences.js +130 -0
- package/lib/share/core/preferences.js.map +1 -0
- package/lib/share/core/presets.d.ts +50 -0
- package/lib/share/core/presets.d.ts.map +1 -0
- package/lib/share/core/presets.js +39 -0
- package/lib/share/core/presets.js.map +1 -0
- package/lib/share/core/vocabulary.d.ts +8 -0
- package/lib/share/core/vocabulary.d.ts.map +1 -1
- package/lib/share/ui/ShareButton.d.ts.map +1 -1
- package/lib/share/ui/ShareButton.js +3 -1
- package/lib/share/ui/ShareButton.js.map +1 -1
- package/lib/share/ui/ShareConfigOptions.d.ts +21 -0
- package/lib/share/ui/ShareConfigOptions.d.ts.map +1 -0
- package/lib/share/ui/ShareConfigOptions.js +22 -0
- package/lib/share/ui/ShareConfigOptions.js.map +1 -0
- package/lib/share/ui/ShareDialog.d.ts +15 -1
- package/lib/share/ui/ShareDialog.d.ts.map +1 -1
- package/lib/share/ui/ShareDialog.js +4 -1
- package/lib/share/ui/ShareDialog.js.map +1 -1
- package/lib/share/ui/ShareDialogContent.d.ts.map +1 -1
- package/lib/share/ui/ShareDialogContent.js +37 -18
- package/lib/share/ui/ShareDialogContent.js.map +1 -1
- package/lib/share/ui/SharePresetTabs.d.ts +20 -0
- package/lib/share/ui/SharePresetTabs.d.ts.map +1 -0
- package/lib/share/ui/SharePresetTabs.js +25 -0
- package/lib/share/ui/SharePresetTabs.js.map +1 -0
- package/lib/shared/ui/MenuButton.d.ts +1 -0
- package/lib/shared/ui/MenuButton.d.ts.map +1 -1
- package/lib/shared/ui/MenuButton.js.map +1 -1
- package/lib/shared/ui/joinClassNames.d.ts +12 -0
- package/lib/shared/ui/joinClassNames.d.ts.map +1 -0
- package/lib/shared/ui/joinClassNames.js +20 -0
- package/lib/shared/ui/joinClassNames.js.map +1 -0
- package/lib/slides/core/familyFrame.d.ts +19 -0
- package/lib/slides/core/familyFrame.d.ts.map +1 -0
- package/lib/slides/core/familyFrame.js +44 -0
- package/lib/slides/core/familyFrame.js.map +1 -0
- package/lib/slides/core/index.d.ts +1 -1
- package/lib/slides/core/index.d.ts.map +1 -1
- package/lib/slides/core/index.js +1 -1
- package/lib/slides/core/index.js.map +1 -1
- package/lib/slides/ui/BackToSlides.d.ts +5 -0
- package/lib/slides/ui/BackToSlides.d.ts.map +1 -1
- package/lib/slides/ui/BackToSlides.js +3 -2
- package/lib/slides/ui/BackToSlides.js.map +1 -1
- package/lib/slides/ui/EmbedSlide.d.ts.map +1 -1
- package/lib/slides/ui/EmbedSlide.js +1 -13
- package/lib/slides/ui/EmbedSlide.js.map +1 -1
- package/lib/slides/ui/SlideBody.d.ts +5 -3
- package/lib/slides/ui/SlideBody.d.ts.map +1 -1
- package/lib/slides/ui/SlideBody.js +14 -4
- package/lib/slides/ui/SlideBody.js.map +1 -1
- package/lib/slides/ui/Slideshow.d.ts +2 -6
- package/lib/slides/ui/Slideshow.d.ts.map +1 -1
- package/lib/slides/ui/Slideshow.js +7 -37
- package/lib/slides/ui/Slideshow.js.map +1 -1
- package/lib/slides/ui/SlideshowBar.d.ts +1 -1
- package/lib/slides/ui/SlideshowBar.d.ts.map +1 -1
- package/lib/slides/ui/SlideshowBar.js +3 -3
- package/lib/slides/ui/SlideshowBar.js.map +1 -1
- package/lib/slides/ui/TalkList.d.ts +5 -0
- package/lib/slides/ui/TalkList.d.ts.map +1 -1
- package/lib/slides/ui/TalkList.js +3 -2
- package/lib/slides/ui/TalkList.js.map +1 -1
- package/lib/slides/ui/index.d.ts +1 -0
- package/lib/slides/ui/index.d.ts.map +1 -1
- package/lib/slides/ui/slideSanitizeSchema.d.ts +11 -0
- package/lib/slides/ui/slideSanitizeSchema.d.ts.map +1 -0
- package/lib/slides/ui/slideSanitizeSchema.js +28 -0
- package/lib/slides/ui/slideSanitizeSchema.js.map +1 -0
- package/lib/slides/ui/useSlideshowFullscreen.d.ts +26 -0
- package/lib/slides/ui/useSlideshowFullscreen.d.ts.map +1 -0
- package/lib/slides/ui/useSlideshowFullscreen.js +39 -0
- package/lib/slides/ui/useSlideshowFullscreen.js.map +1 -0
- package/lib/spectra/core/axisEntries.d.ts +15 -0
- package/lib/spectra/core/axisEntries.d.ts.map +1 -1
- package/lib/spectra/core/axisEntries.js +15 -0
- package/lib/spectra/core/axisEntries.js.map +1 -1
- package/lib/spectra/core/chainProblems.d.ts.map +1 -1
- package/lib/spectra/core/chainProblems.js +57 -23
- package/lib/spectra/core/chainProblems.js.map +1 -1
- package/lib/spectra/core/filterCatalog.d.ts +4 -5
- package/lib/spectra/core/filterCatalog.d.ts.map +1 -1
- package/lib/spectra/core/filterCatalog.js +4 -5
- package/lib/spectra/core/filterCatalog.js.map +1 -1
- package/lib/spectra/core/filterChain.d.ts +43 -9
- package/lib/spectra/core/filterChain.d.ts.map +1 -1
- package/lib/spectra/core/filterChain.js +41 -27
- package/lib/spectra/core/filterChain.js.map +1 -1
- package/lib/spectra/core/filterEntries.d.ts +14 -1
- package/lib/spectra/core/filterEntries.d.ts.map +1 -1
- package/lib/spectra/core/filterEntries.js +20 -6
- package/lib/spectra/core/filterEntries.js.map +1 -1
- package/lib/spectra/core/index.d.ts +6 -3
- package/lib/spectra/core/index.d.ts.map +1 -1
- package/lib/spectra/core/index.js +2 -1
- package/lib/spectra/core/index.js.map +1 -1
- package/lib/spectra/core/matrixCatalog.d.ts +64 -0
- package/lib/spectra/core/matrixCatalog.d.ts.map +1 -0
- package/lib/spectra/core/matrixCatalog.js +76 -0
- package/lib/spectra/core/matrixCatalog.js.map +1 -0
- package/lib/spectra/core/principalComponents.d.ts.map +1 -1
- package/lib/spectra/core/principalComponents.js +6 -24
- package/lib/spectra/core/principalComponents.js.map +1 -1
- package/lib/spectra/core/problems.d.ts +25 -4
- package/lib/spectra/core/problems.d.ts.map +1 -1
- package/lib/spectra/core/problems.js +16 -5
- package/lib/spectra/core/problems.js.map +1 -1
- package/lib/spectra/core/settings.d.ts +12 -14
- package/lib/spectra/core/settings.d.ts.map +1 -1
- package/lib/spectra/core/settings.js +4 -4
- package/lib/spectra/core/settings.js.map +1 -1
- package/lib/spectra/core/settingsProblems.d.ts +1 -5
- package/lib/spectra/core/settingsProblems.d.ts.map +1 -1
- package/lib/spectra/core/settingsProblems.js +45 -50
- package/lib/spectra/core/settingsProblems.js.map +1 -1
- package/lib/spectra/core/stepProblems.d.ts +3 -3
- package/lib/spectra/core/stepProblems.d.ts.map +1 -1
- package/lib/spectra/core/stepProblems.js +29 -44
- package/lib/spectra/core/stepProblems.js.map +1 -1
- package/lib/spectra/core/zones.d.ts +35 -0
- package/lib/spectra/core/zones.d.ts.map +1 -0
- package/lib/spectra/core/zones.js +49 -0
- package/lib/spectra/core/zones.js.map +1 -0
- package/lib/spectra/ui/CalculationRows.d.ts +2 -1
- package/lib/spectra/ui/CalculationRows.d.ts.map +1 -1
- package/lib/spectra/ui/CalculationRows.js +29 -63
- package/lib/spectra/ui/CalculationRows.js.map +1 -1
- package/lib/spectra/ui/EditableRows.d.ts +47 -0
- package/lib/spectra/ui/EditableRows.d.ts.map +1 -0
- package/lib/spectra/ui/EditableRows.js +30 -0
- package/lib/spectra/ui/EditableRows.js.map +1 -0
- package/lib/spectra/ui/FilterChainEditor.d.ts +5 -0
- package/lib/spectra/ui/FilterChainEditor.d.ts.map +1 -1
- package/lib/spectra/ui/FilterChainEditor.js +19 -34
- package/lib/spectra/ui/FilterChainEditor.js.map +1 -1
- package/lib/spectra/ui/FilterChoiceControl.d.ts +2 -1
- package/lib/spectra/ui/FilterChoiceControl.d.ts.map +1 -1
- package/lib/spectra/ui/FilterChoiceControl.js +3 -30
- package/lib/spectra/ui/FilterChoiceControl.js.map +1 -1
- package/lib/spectra/ui/FilterFieldControl.d.ts +5 -2
- package/lib/spectra/ui/FilterFieldControl.d.ts.map +1 -1
- package/lib/spectra/ui/FilterFieldControl.js +5 -37
- package/lib/spectra/ui/FilterFieldControl.js.map +1 -1
- package/lib/spectra/ui/FilterRow.d.ts +2 -1
- package/lib/spectra/ui/FilterRow.d.ts.map +1 -1
- package/lib/spectra/ui/FilterRow.js +8 -10
- package/lib/spectra/ui/FilterRow.js.map +1 -1
- package/lib/spectra/ui/MatrixFilterRows.d.ts +2 -1
- package/lib/spectra/ui/MatrixFilterRows.d.ts.map +1 -1
- package/lib/spectra/ui/MatrixFilterRows.js +27 -36
- package/lib/spectra/ui/MatrixFilterRows.js.map +1 -1
- package/lib/spectra/ui/NormalizationEditor.d.ts +2 -1
- package/lib/spectra/ui/NormalizationEditor.d.ts.map +1 -1
- package/lib/spectra/ui/NormalizationEditor.js +9 -18
- package/lib/spectra/ui/NormalizationEditor.js.map +1 -1
- package/lib/spectra/ui/NumberField.d.ts +2 -1
- package/lib/spectra/ui/NumberField.d.ts.map +1 -1
- package/lib/spectra/ui/NumberField.js +2 -16
- package/lib/spectra/ui/NumberField.js.map +1 -1
- package/lib/spectra/ui/PostProcessingEditor.d.ts +2 -1
- package/lib/spectra/ui/PostProcessingEditor.d.ts.map +1 -1
- package/lib/spectra/ui/PostProcessingEditor.js +4 -4
- package/lib/spectra/ui/PostProcessingEditor.js.map +1 -1
- package/lib/spectra/ui/PrincipalComponentSelect.d.ts +5 -0
- package/lib/spectra/ui/PrincipalComponentSelect.d.ts.map +1 -1
- package/lib/spectra/ui/PrincipalComponentSelect.js +7 -30
- package/lib/spectra/ui/PrincipalComponentSelect.js.map +1 -1
- package/lib/spectra/ui/ProblemList.d.ts +7 -1
- package/lib/spectra/ui/ProblemList.d.ts.map +1 -1
- package/lib/spectra/ui/ProblemList.js +6 -4
- package/lib/spectra/ui/ProblemList.js.map +1 -1
- package/lib/spectra/ui/RangeRows.d.ts +2 -1
- package/lib/spectra/ui/RangeRows.d.ts.map +1 -1
- package/lib/spectra/ui/RangeRows.js +31 -60
- package/lib/spectra/ui/RangeRows.js.map +1 -1
- package/lib/spectra/ui/ScaleFields.d.ts +2 -1
- package/lib/spectra/ui/ScaleFields.d.ts.map +1 -1
- package/lib/spectra/ui/ScaleFields.js +6 -35
- package/lib/spectra/ui/ScaleFields.js.map +1 -1
- package/lib/spectra/ui/SettingsPart.d.ts +2 -1
- package/lib/spectra/ui/SettingsPart.d.ts.map +1 -1
- package/lib/spectra/ui/SettingsPart.js +6 -9
- package/lib/spectra/ui/SettingsPart.js.map +1 -1
- package/lib/spectra/ui/SpectraSettingsEditor.d.ts +5 -0
- package/lib/spectra/ui/SpectraSettingsEditor.d.ts.map +1 -1
- package/lib/spectra/ui/SpectraSettingsEditor.js +2 -2
- package/lib/spectra/ui/SpectraSettingsEditor.js.map +1 -1
- package/lib/spectra/ui/SpectrumSelection.d.ts +2 -1
- package/lib/spectra/ui/SpectrumSelection.d.ts.map +1 -1
- package/lib/spectra/ui/SpectrumSelection.js +2 -19
- package/lib/spectra/ui/SpectrumSelection.js.map +1 -1
- package/lib/spectra/ui/XWindowFields.d.ts +26 -0
- package/lib/spectra/ui/XWindowFields.d.ts.map +1 -0
- package/lib/spectra/ui/XWindowFields.js +24 -0
- package/lib/spectra/ui/XWindowFields.js.map +1 -0
- package/lib/spectra/ui/ZoneRows.d.ts +10 -15
- package/lib/spectra/ui/ZoneRows.d.ts.map +1 -1
- package/lib/spectra/ui/ZoneRows.js +23 -57
- package/lib/spectra/ui/ZoneRows.js.map +1 -1
- package/lib/spectra/ui/fieldStyles.d.ts +54 -0
- package/lib/spectra/ui/fieldStyles.d.ts.map +1 -0
- package/lib/spectra/ui/fieldStyles.js +61 -0
- package/lib/spectra/ui/fieldStyles.js.map +1 -0
- package/lib/spectra/ui/problemsAbout.d.ts +8 -8
- package/lib/spectra/ui/problemsAbout.d.ts.map +1 -1
- package/lib/spectra/ui/problemsAbout.js +8 -8
- package/lib/spectra/ui/problemsAbout.js.map +1 -1
- package/lib/spectra/ui/rowKeys.d.ts +24 -10
- package/lib/spectra/ui/rowKeys.d.ts.map +1 -1
- package/lib/spectra/ui/rowKeys.js +32 -16
- package/lib/spectra/ui/rowKeys.js.map +1 -1
- package/lib/spectra/ui/scaleOptions.d.ts +5 -0
- package/lib/spectra/ui/scaleOptions.d.ts.map +1 -1
- package/lib/spectra/ui/scaleOptions.js +11 -10
- package/lib/spectra/ui/scaleOptions.js.map +1 -1
- package/lib/spectra.d.ts +13 -0
- package/lib/spectra.d.ts.map +1 -0
- package/lib/spectra.js +13 -0
- package/lib/spectra.js.map +1 -0
- package/lib/state/core/index.d.ts +5 -0
- package/lib/state/core/index.d.ts.map +1 -0
- package/lib/state/core/index.js +3 -0
- package/lib/state/core/index.js.map +1 -0
- package/lib/state/core/mergeStored.d.ts.map +1 -0
- package/lib/state/core/mergeStored.js.map +1 -0
- package/lib/state/core/persistBucket.d.ts.map +1 -0
- package/lib/state/core/persistBucket.js +36 -0
- package/lib/state/core/persistBucket.js.map +1 -0
- package/lib/state/core/persistSignalBucket.d.ts +51 -0
- package/lib/state/core/persistSignalBucket.d.ts.map +1 -0
- package/lib/state/core/persistSignalBucket.js +79 -0
- package/lib/state/core/persistSignalBucket.js.map +1 -0
- package/lib/state/core/storageEntry.d.ts +36 -0
- package/lib/state/core/storageEntry.d.ts.map +1 -0
- package/lib/state/core/storageEntry.js +93 -0
- package/lib/state/core/storageEntry.js.map +1 -0
- package/lib/structure/core/atomLabels.d.ts +41 -0
- package/lib/structure/core/atomLabels.d.ts.map +1 -0
- package/lib/structure/core/atomLabels.js +43 -0
- package/lib/structure/core/atomLabels.js.map +1 -0
- package/lib/structure/core/editorValue.d.ts +5 -1
- package/lib/structure/core/editorValue.d.ts.map +1 -1
- package/lib/structure/core/editorValue.js.map +1 -1
- package/lib/structure/core/index.d.ts +7 -2
- package/lib/structure/core/index.d.ts.map +1 -1
- package/lib/structure/core/index.js +4 -2
- package/lib/structure/core/index.js.map +1 -1
- package/lib/structure/core/readStructure.d.ts +1 -0
- package/lib/structure/core/readStructure.d.ts.map +1 -1
- package/lib/structure/core/readStructure.js.map +1 -1
- package/lib/structure/core/structureError.d.ts +25 -0
- package/lib/structure/core/structureError.d.ts.map +1 -0
- package/lib/structure/core/structureError.js +47 -0
- package/lib/structure/core/structureError.js.map +1 -0
- package/lib/structure/core/structureSource.d.ts +20 -5
- package/lib/structure/core/structureSource.d.ts.map +1 -1
- package/lib/structure/core/structureSource.js.map +1 -1
- package/lib/structure/ui/EditorCanvas.d.ts +2 -1
- package/lib/structure/ui/EditorCanvas.d.ts.map +1 -1
- package/lib/structure/ui/Structure.d.ts +32 -0
- package/lib/structure/ui/Structure.d.ts.map +1 -1
- package/lib/structure/ui/Structure.js +2 -2
- package/lib/structure/ui/Structure.js.map +1 -1
- package/lib/structure/ui/StructureEditor.d.ts +9 -2
- package/lib/structure/ui/StructureEditor.d.ts.map +1 -1
- package/lib/structure/ui/StructureEditor.js +3 -2
- package/lib/structure/ui/StructureEditor.js.map +1 -1
- package/lib/structure/ui/StructurePlaceholder.d.ts +2 -1
- package/lib/structure/ui/StructurePlaceholder.d.ts.map +1 -1
- package/lib/structure/ui/StructurePlaceholder.js +2 -1
- package/lib/structure/ui/StructurePlaceholder.js.map +1 -1
- package/lib/structure/ui/StructureSvg.d.ts +27 -6
- package/lib/structure/ui/StructureSvg.d.ts.map +1 -1
- package/lib/structure/ui/StructureSvg.js +60 -19
- package/lib/structure/ui/StructureSvg.js.map +1 -1
- package/lib/structure/ui/useToolbarFloor.d.ts +1 -0
- package/lib/structure/ui/useToolbarFloor.d.ts.map +1 -1
- package/lib/structure/ui/useToolbarFloor.js.map +1 -1
- package/lib/tokens/core/checkTokens.d.ts +12 -4
- package/lib/tokens/core/checkTokens.d.ts.map +1 -1
- package/lib/tokens/core/checkTokens.js +29 -43
- package/lib/tokens/core/checkTokens.js.map +1 -1
- package/lib/tokens/core/colors.d.ts +2 -1
- package/lib/tokens/core/colors.d.ts.map +1 -1
- package/lib/tokens/core/cssReading.d.ts +62 -0
- package/lib/tokens/core/cssReading.d.ts.map +1 -0
- package/lib/tokens/core/cssReading.js +129 -0
- package/lib/tokens/core/cssReading.js.map +1 -0
- package/lib/tokens/core/familyTokens.d.ts +60 -0
- package/lib/tokens/core/familyTokens.d.ts.map +1 -0
- package/lib/tokens/core/familyTokens.js +63 -0
- package/lib/tokens/core/familyTokens.js.map +1 -0
- package/lib/tokens/core/index.d.ts +4 -1
- package/lib/tokens/core/index.d.ts.map +1 -1
- package/lib/tokens/core/index.js +1 -0
- package/lib/tokens/core/index.js.map +1 -1
- package/lib/tokens/core/rules.d.ts +3 -2
- package/lib/tokens/core/rules.d.ts.map +1 -1
- package/lib/tokens/core/types.d.ts +3 -0
- package/lib/tokens/core/types.d.ts.map +1 -0
- package/lib/tokens/core/types.js +2 -0
- package/lib/tokens/core/types.js.map +1 -0
- package/lib/ui.d.ts +5 -2
- package/lib/ui.d.ts.map +1 -1
- package/lib/ui.js +4 -2
- package/lib/ui.js.map +1 -1
- package/lib/worker/core/chunks.d.ts +58 -0
- package/lib/worker/core/chunks.d.ts.map +1 -0
- package/lib/worker/core/chunks.js +77 -0
- package/lib/worker/core/chunks.js.map +1 -0
- package/lib/worker/core/index.d.ts +6 -2
- package/lib/worker/core/index.d.ts.map +1 -1
- package/lib/worker/core/index.js +2 -0
- package/lib/worker/core/index.js.map +1 -1
- package/lib/worker/core/messages.d.ts +46 -4
- package/lib/worker/core/messages.d.ts.map +1 -1
- package/lib/worker/core/messages.js +42 -1
- package/lib/worker/core/messages.js.map +1 -1
- package/lib/worker/core/serveWorkerRequests.d.ts +45 -0
- package/lib/worker/core/serveWorkerRequests.d.ts.map +1 -0
- package/lib/worker/core/serveWorkerRequests.js +88 -0
- package/lib/worker/core/serveWorkerRequests.js.map +1 -0
- package/lib/worker/core/workerChannel.d.ts +12 -61
- package/lib/worker/core/workerChannel.d.ts.map +1 -1
- package/lib/worker/core/workerChannel.js +175 -88
- package/lib/worker/core/workerChannel.js.map +1 -1
- package/lib/worker/core/workerChannelParts.d.ts +105 -0
- package/lib/worker/core/workerChannelParts.d.ts.map +1 -0
- package/lib/worker/core/workerChannelParts.js +93 -0
- package/lib/worker/core/workerChannelParts.js.map +1 -0
- package/lib/worker/core/workerChannelTypes.d.ts +118 -0
- package/lib/worker/core/workerChannelTypes.d.ts.map +1 -0
- package/lib/worker/core/workerChannelTypes.js +2 -0
- package/lib/worker/core/workerChannelTypes.js.map +1 -0
- package/package.json +15 -6
- package/src/about/core/about.ts +32 -0
- package/src/about/core/index.ts +3 -1
- package/src/about/core/providers.ts +45 -0
- package/src/about/ui/AboutCitations.tsx +10 -36
- package/src/about/ui/AboutPage.tsx +37 -8
- package/src/about/ui/AboutProvidedBy.tsx +165 -0
- package/src/about/ui/index.ts +2 -0
- package/src/capsule/ui/CapsuleFilter.tsx +167 -42
- package/src/capsule/ui/index.ts +8 -1
- package/src/chart/core/chartAxisPair.ts +47 -0
- package/src/chart/core/chartAxisScale.ts +4 -8
- package/src/chart/core/chartBins.ts +2 -6
- package/src/chart/core/chartGroups.ts +24 -0
- package/src/chart/core/chartLabels.ts +4 -8
- package/src/chart/core/chartPalette.ts +7 -7
- package/src/chart/core/chartScale.ts +17 -0
- package/src/chart/core/matrix.ts +24 -0
- package/src/chart/ui/ChartAxis.tsx +5 -2
- package/src/chart/ui/ChartFrame.tsx +22 -31
- package/src/chart/ui/ChartSeriesMarks.tsx +6 -7
- package/src/chart/ui/ChartTrackingLayer.tsx +2 -3
- package/src/chart/ui/TrackedLineChart.tsx +17 -2
- package/src/chart/ui/TrackedStickChart.tsx +8 -3
- package/src/chart/ui/chartFrameGeometry.ts +53 -0
- package/src/chart/ui/index.ts +3 -4
- package/src/chart/ui/stickChartModel.ts +20 -23
- package/src/chart/ui/useWheelZoom.ts +29 -43
- package/src/chart/ui/wheelDwell.ts +123 -0
- package/src/chrome/ui/NavLink.tsx +23 -5
- package/src/chrome/ui/NavMenuButton.tsx +25 -4
- package/src/chrome/ui/SiteFooter.tsx +16 -1
- package/src/chrome/ui/SiteHeader.tsx +42 -1
- package/src/chrome/ui/navItem.ts +17 -3
- package/src/citation/core/index.ts +1 -0
- package/src/citation/core/openchemlibPaper.ts +33 -0
- package/src/citation/core/platformPaper.ts +2 -2
- package/src/clipboard/core/clipboardItem.ts +28 -0
- package/src/clipboard/core/index.ts +3 -0
- package/src/clipboard/core/writeBlobToClipboard.ts +43 -0
- package/src/clipboard/core/writeToClipboard.ts +39 -7
- package/src/clipboard/ui/CodeBlock.tsx +14 -10
- package/src/clipboard/ui/CopyButton.tsx +53 -13
- package/src/clipboard/ui/CopyableValue.tsx +138 -0
- package/src/clipboard/ui/copyFeedback.ts +68 -0
- package/src/clipboard/ui/index.ts +3 -1
- package/src/clipboard/ui/useCopyToClipboard.ts +54 -26
- package/src/color/core/hex.ts +19 -3
- package/src/color/core/hsv.ts +5 -9
- package/src/color/core/index.ts +2 -7
- package/src/color/core/interpolate.ts +3 -6
- package/src/color/core/scale.ts +5 -52
- package/src/color/core/scaleText.ts +5 -4
- package/src/color/ui/ColorScaleBar.tsx +7 -0
- package/src/color/ui/ColorScaleEditor.tsx +17 -15
- package/src/color/ui/ColorScaleEntry.tsx +67 -0
- package/src/color/ui/ColorScaleLegend.tsx +86 -31
- package/src/color/ui/ColorScaleSelect.tsx +19 -66
- package/src/confirm/ui/ConfirmButton.tsx +83 -0
- package/src/confirm/ui/index.ts +2 -0
- package/src/core.ts +6 -1
- package/src/credits/core/credits.ts +10 -3
- package/src/credits/ui/CreditsList.tsx +4 -4
- package/src/delimited/core/index.ts +6 -7
- package/src/delimited/ui/DelimitedTextDialog.tsx +8 -1
- package/src/delimited/ui/DelimitedTextPanel.tsx +15 -5
- package/src/deploy/core/checkDeploy.ts +84 -0
- package/src/deploy/core/composeDocument.ts +181 -0
- package/src/deploy/core/composeFile.ts +195 -0
- package/src/deploy/core/envExample.ts +46 -0
- package/src/deploy/core/index.ts +8 -0
- package/src/deploy/core/markers.ts +21 -0
- package/src/deploy/core/types.ts +87 -0
- package/src/disclosure/ui/CollapsibleSection.tsx +3 -5
- package/src/download/core/figureLegend.ts +167 -0
- package/src/download/core/figureSvg.ts +81 -1
- package/src/download/core/figureSvgDocument.ts +13 -3
- package/src/download/core/figureTarget.ts +21 -0
- package/src/download/core/index.ts +8 -0
- package/src/download/ui/FigureDownloadPanel.tsx +14 -3
- package/src/ecosystem/core/groups.ts +59 -0
- package/src/ecosystem/core/index.ts +12 -3
- package/src/ecosystem/core/lookup.ts +38 -0
- package/src/ecosystem/core/nameColors.ts +50 -0
- package/src/ecosystem/core/sites.ts +54 -71
- package/src/ecosystem/core/tokens.ts +0 -11
- package/src/ecosystem/core/types.ts +94 -0
- package/src/ecosystem/ui/EcosystemButton.tsx +9 -2
- package/src/ecosystem/ui/EcosystemLinks.tsx +67 -49
- package/src/ecosystem/ui/EcosystemMenu.tsx +30 -37
- package/src/ecosystem/ui/SiteGroupGrid.tsx +65 -0
- package/src/ecosystem/ui/SiteGroupSection.tsx +64 -0
- package/src/ecosystem/ui/SiteTheme.tsx +1 -0
- package/src/ecosystem/ui/SiteTile.tsx +29 -9
- package/src/ecosystem/ui/Wordmark.tsx +12 -12
- package/src/ecosystem/ui/ecosystemStyles.ts +11 -0
- package/src/ecosystem/ui/glyphs.tsx +55 -10
- package/src/ecosystem/ui/marks.tsx +15 -1
- package/src/error/core/index.ts +1 -0
- package/src/error/{ui → core}/toError.ts +13 -3
- package/src/error/ui/ErrorBoundary.tsx +2 -1
- package/src/error/ui/index.ts +4 -1
- package/src/format/core/clamp.ts +24 -0
- package/src/format/core/index.ts +8 -0
- package/src/format/core/numbers.ts +51 -13
- package/src/format/core/relativeTime.ts +80 -0
- package/src/format/core/roundTo.ts +27 -0
- package/src/format/core/superscript.ts +22 -0
- package/src/format/core/units.ts +53 -6
- package/src/help/ui/HelpBody.tsx +55 -19
- package/src/help/ui/HelpIcon.tsx +30 -8
- package/src/help/ui/HelpToolbarButton.tsx +2 -1
- package/src/help/ui/HelpTooltip.tsx +7 -0
- package/src/help/ui/helpName.ts +11 -0
- package/src/hooks/ui/activationKey.ts +58 -0
- package/src/hooks/ui/activeHeading.ts +30 -0
- package/src/hooks/ui/asyncState.ts +38 -0
- package/src/hooks/ui/documentListNavigation.ts +87 -0
- package/src/hooks/ui/elementTarget.ts +18 -0
- package/src/hooks/ui/index.ts +22 -0
- package/src/hooks/ui/keyTargets.ts +73 -0
- package/src/hooks/ui/listNavigation.ts +10 -16
- package/src/hooks/ui/pollingController.ts +139 -0
- package/src/hooks/ui/useActiveHeading.ts +73 -0
- package/src/hooks/ui/useAsync.ts +44 -0
- package/src/hooks/ui/useDocumentListNavigation.ts +70 -0
- package/src/hooks/ui/usePolling.ts +97 -0
- package/src/hooks/ui/useResizeObserver.ts +9 -5
- package/src/molecule3d/core/exportImage.ts +50 -0
- package/src/molecule3d/core/gestures.ts +35 -0
- package/src/molecule3d/core/index.ts +35 -0
- package/src/molecule3d/core/measurement.ts +43 -0
- package/src/molecule3d/core/settings.ts +214 -0
- package/src/molecule3d/ui/Molecule3DExport.tsx +65 -0
- package/src/molecule3d/ui/Molecule3DHelp.tsx +77 -0
- package/src/molecule3d/ui/Molecule3DOptions.tsx +168 -0
- package/src/molecule3d/ui/Molecule3DSurfaceColors.tsx +150 -0
- package/src/molecule3d/ui/Molecule3DToolbar.tsx +190 -0
- package/src/molecule3d/ui/MoleculeCanvas3D.tsx +235 -0
- package/src/molecule3d/ui/MoleculeViewer3D.tsx +84 -0
- package/src/molecule3d/ui/camera.ts +76 -0
- package/src/molecule3d/ui/drawScene.ts +43 -0
- package/src/molecule3d/ui/exportMoleculeImage.ts +49 -0
- package/src/molecule3d/ui/index.ts +11 -0
- package/src/molecule3d/ui/measurements.ts +178 -0
- package/src/molecule3d/ui/molecule3dIcons.tsx +108 -0
- package/src/molecule3d/ui/moleculeViewer3DProps.ts +98 -0
- package/src/molecule3d/ui/polarityColorTheme.ts +125 -0
- package/src/molecule3d/ui/renderMolecule.ts +179 -0
- package/src/molecule3d/ui/renderSurface.ts +88 -0
- package/src/molecule3d/ui/useControlledState.ts +31 -0
- package/src/molecule3d/ui/useImageExport.ts +50 -0
- package/src/molecule3d/ui/usePolarSurfaceArea.ts +47 -0
- package/src/molecule3d/ui/viewer.ts +240 -0
- package/src/molecule3d/ui/viewerTypes.ts +60 -0
- package/src/molecule3d.ts +11 -0
- package/src/orbital/core/atomicGrid.ts +3 -2
- package/src/orbital/core/atomicOrbitals.ts +2 -5
- package/src/orbital/core/constants.ts +3 -0
- package/src/orbital/core/electronConfiguration.ts +29 -40
- package/src/orbital/core/grid.ts +3 -0
- package/src/orbital/core/index.ts +5 -0
- package/src/orbital/core/isovalue.ts +3 -2
- package/src/orbital/core/occupancy.ts +2 -4
- package/src/orbital/core/palette.ts +10 -6
- package/src/orbital/core/radialDistribution.ts +97 -0
- package/src/orbital/core/realHarmonics.ts +3 -3
- package/src/orbital/ui/AtomicOrbitalCanvas.tsx +35 -112
- package/src/orbital/ui/AtomicOrbitalControls.tsx +81 -0
- package/src/orbital/ui/AtomicOrbitalViewer.tsx +22 -22
- package/src/orbital/ui/RadialPlot.tsx +183 -0
- package/src/orbital/ui/RadialPlotMarks.tsx +129 -0
- package/src/orbital/ui/camera.ts +1 -1
- package/src/orbital/ui/index.ts +3 -1
- package/src/orbital/ui/orbitalCanvasHelpers.ts +42 -0
- package/src/orbital/ui/orbitalPluginSpec.ts +47 -0
- package/src/orbital/ui/radialPlotGeometry.ts +131 -0
- package/src/orbital/ui/renderAxes.ts +14 -14
- package/src/orbital/ui/renderVolume.ts +13 -13
- package/src/orbital/ui/serial.ts +1 -1
- package/src/orbital/ui/viewer.ts +6 -36
- package/src/orbital.ts +5 -4
- package/src/overlay/core/index.ts +2 -1
- package/src/overlay/core/overlayCollapse.ts +32 -0
- package/src/overlay/core/placeOverlayCard.ts +3 -3
- package/src/overlay/ui/OverlayBar.tsx +6 -12
- package/src/overlay/ui/OverlayBarButton.tsx +2 -1
- package/src/overlay/ui/OverlayBarCard.tsx +1 -1
- package/src/overlay/ui/OverlayChip.tsx +3 -6
- package/src/overlay/ui/OverlayIconButton.tsx +6 -8
- package/src/overlay/ui/OverlayLayer.tsx +2 -3
- package/src/overlay/ui/OverlayLegend.tsx +9 -2
- package/src/overlay/ui/OverlayNumber.tsx +13 -9
- package/src/overlay/ui/OverlayPanel.tsx +8 -7
- package/src/overlay/ui/OverlayRow.tsx +6 -2
- package/src/overlay/ui/OverlayToggle.tsx +1 -0
- package/src/overlay/ui/OverlayValueButton.tsx +5 -10
- package/src/overlay/ui/overlayBarShape.ts +1 -60
- package/src/overlay/ui/overlayControlStyles.ts +13 -3
- package/src/overlay/ui/overlayPanelContext.ts +3 -0
- package/src/overlay/ui/overlayPanelStyles.ts +10 -4
- package/src/overlay/ui/overlayPillStyles.ts +1 -1
- package/src/overlay/ui/overlayRowStyles.ts +2 -2
- package/src/overlay/ui/overlaySurface.ts +2 -0
- package/src/overlay/ui/overlaySwitchStyles.ts +1 -1
- package/src/overlay/ui/overlayValueStyles.ts +68 -54
- package/src/overlay/ui/useOverlayInteraction.ts +46 -0
- package/src/pedagogy/core/bucketProgressStore.ts +83 -0
- package/src/pedagogy/core/glossary.ts +40 -16
- package/src/pedagogy/core/glossarySearch.ts +67 -0
- package/src/pedagogy/core/index.ts +16 -2
- package/src/pedagogy/core/inlineMarks.ts +117 -0
- package/src/pedagogy/core/progress.ts +48 -57
- package/src/pedagogy/core/types.ts +4 -0
- package/src/pedagogy/core/validation.ts +3 -0
- package/src/pedagogy/ui/ExerciseActions.tsx +1 -0
- package/src/pedagogy/ui/ExerciseProgressHeader.tsx +3 -1
- package/src/pedagogy/ui/ExerciseTags.tsx +18 -2
- package/src/pedagogy/ui/GlossaryDefinition.tsx +136 -0
- package/src/pedagogy/ui/GlossaryIndex.tsx +171 -0
- package/src/pedagogy/ui/GlossaryProvider.tsx +36 -8
- package/src/pedagogy/ui/GlossaryText.tsx +62 -113
- package/src/pedagogy/ui/HintLadder.tsx +11 -3
- package/src/pedagogy/ui/InlineText.tsx +39 -0
- package/src/pedagogy/ui/ReferenceGrid.tsx +4 -5
- package/src/pedagogy/ui/ReferenceSectionBlock.tsx +19 -17
- package/src/pedagogy/ui/SyntaxTooltip.tsx +32 -28
- package/src/pedagogy/ui/TestCaseList.tsx +5 -3
- package/src/pedagogy/ui/TutorialStepStrip.tsx +14 -10
- package/src/pedagogy/ui/exampleText.ts +18 -0
- package/src/pedagogy/ui/glossaryContext.ts +26 -6
- package/src/pedagogy/ui/index.ts +14 -1
- package/src/pedagogy/ui/inlineSegments.tsx +69 -0
- package/src/pedagogy/ui/pedagogyStyle.ts +53 -0
- package/src/periodic/core/categories.ts +1 -1
- package/src/periodic/core/elements.ts +2 -0
- package/src/periodic/core/layout.ts +16 -10
- package/src/periodic/ui/CategoryLegend.tsx +9 -3
- package/src/periodic/ui/ElementCell.tsx +9 -1
- package/src/periodic/ui/PeriodicTable.tsx +10 -3
- package/src/periodic/ui/PeriodicTableChrome.tsx +6 -5
- package/src/projection/core/explainedShares.ts +1 -1
- package/src/projection/core/fillCopy.ts +21 -0
- package/src/projection/core/index.ts +12 -10
- package/src/projection/core/loadingProfiles.ts +10 -4
- package/src/projection/core/mergeProjectionCopy.ts +39 -0
- package/src/projection/core/pcaColumns.ts +84 -0
- package/src/projection/core/pcaLike.ts +30 -4
- package/src/projection/core/pcaResult.ts +17 -45
- package/src/projection/core/projectionCopy.ts +59 -65
- package/src/projection/core/projectionOptions.ts +14 -100
- package/src/projection/core/projectionPanelWords.ts +152 -0
- package/src/projection/core/projectionResult.ts +1 -1
- package/src/projection/core/projectionStrings.ts +12 -48
- package/src/projection/core/projectionTabDefaults.ts +12 -0
- package/src/projection/core/projectionTabs.ts +10 -1
- package/src/projection/core/resolveProjectionOptions.ts +132 -0
- package/src/projection/core/variableAxis.ts +5 -14
- package/src/projection/ui/ProjectionBar.tsx +3 -3
- package/src/projection/ui/ProjectionMapCaption.tsx +1 -1
- package/src/projection/ui/ProjectionMapControls.tsx +8 -32
- package/src/projection/ui/ProjectionMapLegend.tsx +1 -1
- package/src/projection/ui/ProjectionMapMore.tsx +23 -55
- package/src/projection/ui/ProjectionMapTab.tsx +9 -1
- package/src/projection/ui/ProjectionPairsControls.tsx +1 -1
- package/src/projection/ui/ProjectionPairsMore.tsx +5 -6
- package/src/projection/ui/ProjectionPairsTab.tsx +5 -4
- package/src/projection/ui/ProjectionPanel.tsx +65 -2
- package/src/projection/ui/ProjectionReadout.tsx +17 -7
- package/src/projection/ui/ProjectionSharesAxis.tsx +67 -0
- package/src/projection/ui/ProjectionSharesMarks.tsx +36 -78
- package/src/projection/ui/ProjectionSharesMore.tsx +3 -7
- package/src/projection/ui/ProjectionSharesTab.tsx +4 -2
- package/src/projection/ui/ProjectionSpaceControls.tsx +203 -0
- package/src/projection/ui/ProjectionSpaceMore.tsx +146 -0
- package/src/projection/ui/ProjectionSpaceTab.tsx +217 -0
- package/src/projection/ui/ProjectionSurface.tsx +1 -1
- package/src/projection/ui/ProjectionTabStrip.tsx +40 -7
- package/src/projection/ui/ProjectionVariablesControls.tsx +1 -1
- package/src/projection/ui/ProjectionVariablesMore.tsx +12 -30
- package/src/projection/ui/ProjectionVariablesTab.tsx +2 -4
- package/src/projection/ui/ProjectionViewer.tsx +8 -12
- package/src/projection/ui/index.ts +1 -0
- package/src/projection/ui/projectionAxisChoices.ts +31 -0
- package/src/projection/ui/projectionBarModel.ts +3 -2
- package/src/projection/ui/projectionBarReadings.ts +43 -4
- package/src/projection/ui/projectionBarSlots.tsx +21 -2
- package/src/projection/ui/projectionBarStyles.ts +2 -2
- package/src/projection/ui/projectionEllipse.ts +57 -17
- package/src/projection/ui/projectionFormat.ts +3 -1
- package/src/projection/ui/projectionMapChoices.ts +6 -4
- package/src/projection/ui/projectionMapChrome.ts +40 -24
- package/src/projection/ui/projectionMapModel.ts +2 -4
- package/src/projection/ui/projectionMapView.ts +46 -1
- package/src/projection/ui/projectionPairsCeiling.ts +1 -1
- package/src/projection/ui/projectionSpaceModel.ts +14 -0
- package/src/projection/ui/projectionTabInfo.ts +7 -8
- package/src/projection/ui/projectionTabModels.ts +8 -3
- package/src/projection/ui/projectionVariablesModel.ts +6 -5
- package/src/projection/ui/projectionVariablesWords.ts +1 -1
- package/src/projection/ui/projectionViewChoices.ts +4 -9
- package/src/projection/ui/projectionViewerProps.ts +37 -1
- package/src/projection/ui/projectionWordChoices.ts +66 -0
- package/src/projection/ui/useProjectionState.ts +2 -2
- package/src/router/core/address.ts +24 -8
- package/src/router/core/basePath.ts +4 -2
- package/src/router/core/history.ts +160 -0
- package/src/router/core/index.ts +18 -6
- package/src/router/core/query.ts +77 -20
- package/src/router/core/siteAddresses.ts +98 -0
- package/src/router/core/tabRouter.ts +23 -6
- package/src/router/ui/index.ts +1 -0
- package/src/router/ui/useTabRoute.ts +35 -0
- package/src/scatter/core/confidenceEllipse.ts +80 -109
- package/src/scatter/core/ellipseAxes.ts +85 -0
- package/src/scatter/core/ellipseProjection.ts +1 -1
- package/src/scatter/core/index.ts +12 -2
- package/src/scatter/core/lassoPath.ts +3 -2
- package/src/scatter/core/scatterGroupMoments.ts +127 -0
- package/src/scatter/core/scatterGroupSpread.ts +131 -0
- package/src/scatter/core/screenPoints.ts +38 -1
- package/src/scatter/ui/ScatterEllipseLayer.tsx +24 -68
- package/src/scatter/ui/ScatterLabelLayer.tsx +8 -12
- package/src/scatter/ui/ScatterMarkLayer.tsx +7 -35
- package/src/scatter/ui/ScatterMatrix.tsx +9 -17
- package/src/scatter/ui/ScatterMatrixCell.tsx +1 -1
- package/src/scatter/ui/ScatterMatrixDiagonal.tsx +3 -2
- package/src/scatter/ui/ScatterOverlayLayers.tsx +40 -0
- package/src/scatter/ui/ScatterPlot.tsx +42 -114
- package/src/scatter/ui/ScatterPointLayer.tsx +28 -15
- package/src/scatter/ui/index.ts +11 -17
- package/src/scatter/ui/lassoGesture.ts +15 -2
- package/src/scatter/ui/scatterFigureProps.ts +191 -0
- package/src/scatter/ui/scatterInteractionTypes.ts +127 -0
- package/src/scatter/ui/scatterLabels.ts +4 -15
- package/src/scatter/ui/scatterMarkGlyph.tsx +7 -8
- package/src/scatter/ui/scatterMatrixDots.tsx +20 -16
- package/src/scatter/ui/scatterMatrixLayout.ts +1 -1
- package/src/scatter/ui/scatterMatrixOutlines.tsx +1 -1
- package/src/scatter/ui/scatterMatrixProps.ts +8 -2
- package/src/scatter/ui/scatterOutlineShape.tsx +12 -13
- package/src/scatter/ui/scatterPlotModel.ts +59 -35
- package/src/scatter/ui/scatterPlotProps.ts +13 -142
- package/src/scatter/ui/useCapturedPointer.ts +157 -0
- package/src/scatter/ui/useLassoGesture.ts +58 -118
- package/src/scatter/ui/useScatterFrame.ts +5 -24
- package/src/scatter/ui/useScatterInteraction.ts +48 -93
- package/src/scatter/ui/useScatterLabels.ts +88 -0
- package/src/scatter3d/core/cloudGesture.ts +16 -0
- package/src/scatter3d/core/confidenceEllipsoid.ts +139 -0
- package/src/scatter3d/core/cubeFrame.ts +72 -0
- package/src/scatter3d/core/cubePoints.ts +75 -0
- package/src/scatter3d/core/ellipsoidCoverage.ts +86 -0
- package/src/scatter3d/core/ellipsoidSilhouette.ts +70 -0
- package/src/scatter3d/core/index.ts +52 -0
- package/src/scatter3d/core/orbitCamera.ts +159 -0
- package/src/scatter3d/core/symmetricEigen.ts +273 -0
- package/src/scatter3d/ui/CloudFrameLayer.tsx +102 -0
- package/src/scatter3d/ui/CloudShellLayer.tsx +106 -0
- package/src/scatter3d/ui/ScatterCloud.tsx +247 -0
- package/src/scatter3d/ui/cloudGeometry.ts +223 -0
- package/src/scatter3d/ui/cloudShellStyles.ts +73 -0
- package/src/scatter3d/ui/cloudZoom.ts +23 -0
- package/src/scatter3d/ui/index.ts +39 -0
- package/src/scatter3d/ui/orbitDragTrack.ts +133 -0
- package/src/scatter3d/ui/scatterCloudModel.ts +99 -0
- package/src/scatter3d/ui/scatterCloudProps.ts +91 -0
- package/src/scatter3d/ui/useOrbitDrag.ts +158 -0
- package/src/seo/core/documentMeta.ts +3 -6
- package/src/seo/core/index.ts +5 -12
- package/src/seo/core/noscript.ts +4 -2
- package/src/seo/core/plainDescription.ts +107 -0
- package/src/seo/core/routes.ts +34 -29
- package/src/seo/core/siteFiles.ts +1 -1
- package/src/seo/core/startDocumentMeta.ts +3 -4
- package/src/seo/core/trackingScript.ts +25 -0
- package/src/seo/vite/ogCard.ts +11 -9
- package/src/seo/vite/prerender.ts +2 -1
- package/src/share/core/config.ts +24 -1
- package/src/share/core/index.ts +17 -0
- package/src/share/core/params.ts +54 -0
- package/src/share/core/preferences.ts +211 -0
- package/src/share/core/presets.ts +89 -0
- package/src/share/core/vocabulary.ts +8 -0
- package/src/share/ui/ShareButton.tsx +8 -2
- package/src/share/ui/ShareConfigOptions.tsx +68 -0
- package/src/share/ui/ShareDialog.tsx +19 -1
- package/src/share/ui/ShareDialogContent.tsx +64 -39
- package/src/share/ui/SharePresetTabs.tsx +70 -0
- package/src/shared/ui/MenuButton.tsx +1 -0
- package/src/shared/ui/joinClassNames.ts +20 -0
- package/src/slides/core/familyFrame.ts +44 -0
- package/src/slides/core/index.ts +1 -6
- package/src/slides/ui/BackToSlides.tsx +8 -2
- package/src/slides/ui/EmbedSlide.tsx +1 -13
- package/src/slides/ui/SlideBody.tsx +21 -4
- package/src/slides/ui/Slideshow.tsx +13 -50
- package/src/slides/ui/SlideshowBar.tsx +4 -4
- package/src/slides/ui/TalkList.tsx +8 -1
- package/src/slides/ui/index.ts +1 -0
- package/src/slides/ui/slideSanitizeSchema.ts +29 -0
- package/src/slides/ui/useSlideshowFullscreen.ts +59 -0
- package/src/spectra/core/axisEntries.ts +17 -0
- package/src/spectra/core/chainProblems.ts +89 -50
- package/src/spectra/core/filterCatalog.ts +4 -5
- package/src/spectra/core/filterChain.ts +88 -23
- package/src/spectra/core/filterEntries.ts +22 -7
- package/src/spectra/core/index.ts +9 -8
- package/src/spectra/core/matrixCatalog.ts +111 -0
- package/src/spectra/core/principalComponents.ts +7 -21
- package/src/spectra/core/problems.ts +43 -6
- package/src/spectra/core/settings.ts +19 -16
- package/src/spectra/core/settingsProblems.ts +64 -55
- package/src/spectra/core/stepProblems.ts +34 -50
- package/src/spectra/core/zones.ts +64 -0
- package/src/spectra/ui/CalculationRows.tsx +45 -99
- package/src/spectra/ui/EditableRows.tsx +118 -0
- package/src/spectra/ui/FilterChainEditor.tsx +26 -55
- package/src/spectra/ui/FilterChoiceControl.tsx +12 -36
- package/src/spectra/ui/FilterFieldControl.tsx +6 -39
- package/src/spectra/ui/FilterRow.tsx +10 -21
- package/src/spectra/ui/MatrixFilterRows.tsx +40 -50
- package/src/spectra/ui/NormalizationEditor.tsx +13 -35
- package/src/spectra/ui/NumberField.tsx +5 -20
- package/src/spectra/ui/PostProcessingEditor.tsx +5 -5
- package/src/spectra/ui/PrincipalComponentSelect.tsx +18 -33
- package/src/spectra/ui/ProblemList.tsx +22 -8
- package/src/spectra/ui/RangeRows.tsx +46 -125
- package/src/spectra/ui/ScaleFields.tsx +16 -67
- package/src/spectra/ui/SettingsPart.tsx +8 -13
- package/src/spectra/ui/SpectraSettingsEditor.tsx +8 -2
- package/src/spectra/ui/SpectrumSelection.tsx +10 -25
- package/src/spectra/ui/XWindowFields.tsx +73 -0
- package/src/spectra/ui/ZoneRows.tsx +41 -106
- package/src/spectra/ui/fieldStyles.ts +72 -0
- package/src/spectra/ui/problemsAbout.ts +9 -11
- package/src/spectra/ui/rowKeys.ts +51 -20
- package/src/spectra/ui/scaleOptions.ts +16 -10
- package/src/spectra.ts +13 -0
- package/src/state/core/index.ts +11 -0
- package/src/state/{ui → core}/persistBucket.ts +13 -62
- package/src/state/core/persistSignalBucket.ts +118 -0
- package/src/state/core/storageEntry.ts +93 -0
- package/src/structure/core/atomLabels.ts +63 -0
- package/src/structure/core/editorValue.ts +5 -1
- package/src/structure/core/index.ts +11 -2
- package/src/structure/core/readStructure.ts +1 -0
- package/src/structure/core/structureError.ts +58 -0
- package/src/structure/core/structureSource.ts +20 -5
- package/src/structure/ui/EditorCanvas.tsx +1 -1
- package/src/structure/ui/Structure.tsx +41 -0
- package/src/structure/ui/StructureEditor.tsx +13 -4
- package/src/structure/ui/StructurePlaceholder.tsx +4 -2
- package/src/structure/ui/StructureSvg.tsx +118 -42
- package/src/structure/ui/useToolbarFloor.ts +1 -0
- package/src/tokens/core/checkTokens.ts +48 -51
- package/src/tokens/core/colors.ts +1 -1
- package/src/tokens/core/cssReading.ts +166 -0
- package/src/tokens/core/familyTokens.ts +69 -0
- package/src/tokens/core/index.ts +9 -5
- package/src/tokens/core/rules.ts +2 -2
- package/src/tokens/core/types.ts +7 -0
- package/src/ui.ts +9 -2
- package/src/worker/core/chunks.ts +126 -0
- package/src/worker/core/index.ts +20 -3
- package/src/worker/core/messages.ts +79 -4
- package/src/worker/core/serveWorkerRequests.ts +144 -0
- package/src/worker/core/workerChannel.ts +209 -177
- package/src/worker/core/workerChannelParts.ts +183 -0
- package/src/worker/core/workerChannelTypes.ts +129 -0
- package/styles/chrome.css +111 -4
- package/lib/delimited/core/rowsToDelimited.d.ts +0 -59
- package/lib/delimited/core/rowsToDelimited.d.ts.map +0 -1
- package/lib/delimited/core/rowsToDelimited.js +0 -87
- package/lib/delimited/core/rowsToDelimited.js.map +0 -1
- package/lib/ecosystem/core/links.d.ts +0 -11
- package/lib/ecosystem/core/links.d.ts.map +0 -1
- package/lib/ecosystem/core/links.js +0 -28
- package/lib/ecosystem/core/links.js.map +0 -1
- package/lib/error/ui/toError.d.ts +0 -11
- package/lib/error/ui/toError.d.ts.map +0 -1
- package/lib/error/ui/toError.js.map +0 -1
- package/lib/pedagogy/core/jsonStorage.d.ts +0 -21
- package/lib/pedagogy/core/jsonStorage.d.ts.map +0 -1
- package/lib/pedagogy/core/jsonStorage.js +0 -55
- package/lib/pedagogy/core/jsonStorage.js.map +0 -1
- package/lib/router/core/pageAddresses.d.ts +0 -50
- package/lib/router/core/pageAddresses.d.ts.map +0 -1
- package/lib/router/core/pageAddresses.js +0 -56
- package/lib/router/core/pageAddresses.js.map +0 -1
- package/lib/scatter/ui/scatterGroupSpread.d.ts.map +0 -1
- package/lib/scatter/ui/scatterGroupSpread.js +0 -147
- package/lib/scatter/ui/scatterGroupSpread.js.map +0 -1
- package/lib/spectra/ui/matrixSteps.d.ts +0 -61
- package/lib/spectra/ui/matrixSteps.d.ts.map +0 -1
- package/lib/spectra/ui/matrixSteps.js +0 -92
- package/lib/spectra/ui/matrixSteps.js.map +0 -1
- package/lib/state/ui/index.d.ts +0 -3
- package/lib/state/ui/index.d.ts.map +0 -1
- package/lib/state/ui/index.js +0 -2
- package/lib/state/ui/index.js.map +0 -1
- package/lib/state/ui/mergeStored.d.ts.map +0 -1
- package/lib/state/ui/mergeStored.js.map +0 -1
- package/lib/state/ui/persistBucket.d.ts.map +0 -1
- package/lib/state/ui/persistBucket.js +0 -90
- package/lib/state/ui/persistBucket.js.map +0 -1
- package/src/delimited/core/rowsToDelimited.ts +0 -135
- package/src/ecosystem/core/links.ts +0 -29
- package/src/pedagogy/core/jsonStorage.ts +0 -51
- package/src/router/core/pageAddresses.ts +0 -106
- package/src/scatter/ui/scatterGroupSpread.ts +0 -206
- package/src/spectra/ui/matrixSteps.ts +0 -128
- package/src/state/ui/index.ts +0 -6
- /package/lib/state/{ui → core}/mergeStored.d.ts +0 -0
- /package/lib/state/{ui → core}/mergeStored.js +0 -0
- /package/lib/state/{ui → core}/persistBucket.d.ts +0 -0
- /package/src/state/{ui → core}/mergeStored.ts +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { OrbitCamera, OrbitViewport } from '../core/orbitCamera.ts';
|
|
3
|
+
/** What {@link CloudFrameLayer} draws. */
|
|
4
|
+
export interface CloudFrameLayerProps {
|
|
5
|
+
/** Where the reader is standing. */
|
|
6
|
+
camera: OrbitCamera;
|
|
7
|
+
/** Where the middle of the cube is, and how large it is drawn. */
|
|
8
|
+
viewport: OrbitViewport;
|
|
9
|
+
/** What the axis running left to right is called. */
|
|
10
|
+
xLabel: string;
|
|
11
|
+
/** What the axis running bottom to top is called. */
|
|
12
|
+
yLabel: string;
|
|
13
|
+
/** What the axis running away from the reader is called. */
|
|
14
|
+
zLabel: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The box the cloud sits in, and the three arms that name its axes.
|
|
18
|
+
*
|
|
19
|
+
* A cloud of dots on an empty background has no orientation: turn it and
|
|
20
|
+
* nothing says it turned, and a dot near the top of the picture could be near
|
|
21
|
+
* or far. The frame is what fixes that, and it is why the projection can stay
|
|
22
|
+
* orthographic — it carries the depth that perspective would otherwise have
|
|
23
|
+
* to, and unlike perspective it distorts no distance the reader is there to
|
|
24
|
+
* compare.
|
|
25
|
+
*
|
|
26
|
+
* All twelve edges are drawn, not the three at the back: which edges are
|
|
27
|
+
* hidden changes as the box turns, and a frame that kept rearranging itself
|
|
28
|
+
* would read as three axes rather than as one box.
|
|
29
|
+
* @param props - See {@link CloudFrameLayerProps}.
|
|
30
|
+
* @returns The frame.
|
|
31
|
+
*/
|
|
32
|
+
export declare const CloudFrameLayer: import("react").MemoExoticComponent<(props: CloudFrameLayerProps) => ReactElement>;
|
|
33
|
+
//# sourceMappingURL=CloudFrameLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CloudFrameLayer.d.ts","sourceRoot":"","sources":["../../../src/scatter3d/ui/CloudFrameLayer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAI1C,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAKzE,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,oCAAoC;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,kEAAkE;IAClE,QAAQ,EAAE,aAAa,CAAC;IACxB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,8CACnB,oBAAoB,KAC1B,YAAY,CAiDb,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from 'react';
|
|
3
|
+
import { CUBE_ARMS, CUBE_ORIGIN, cubeEdges } from "../core/cubeFrame.js";
|
|
4
|
+
import { projectPoint } from "../core/orbitCamera.js";
|
|
5
|
+
import { projectSegments } from "./cloudGeometry.js";
|
|
6
|
+
/**
|
|
7
|
+
* The box the cloud sits in, and the three arms that name its axes.
|
|
8
|
+
*
|
|
9
|
+
* A cloud of dots on an empty background has no orientation: turn it and
|
|
10
|
+
* nothing says it turned, and a dot near the top of the picture could be near
|
|
11
|
+
* or far. The frame is what fixes that, and it is why the projection can stay
|
|
12
|
+
* orthographic — it carries the depth that perspective would otherwise have
|
|
13
|
+
* to, and unlike perspective it distorts no distance the reader is there to
|
|
14
|
+
* compare.
|
|
15
|
+
*
|
|
16
|
+
* All twelve edges are drawn, not the three at the back: which edges are
|
|
17
|
+
* hidden changes as the box turns, and a frame that kept rearranging itself
|
|
18
|
+
* would read as three axes rather than as one box.
|
|
19
|
+
* @param props - See {@link CloudFrameLayerProps}.
|
|
20
|
+
* @returns The frame.
|
|
21
|
+
*/
|
|
22
|
+
export const CloudFrameLayer = memo(function CloudFrameLayer(props) {
|
|
23
|
+
const { camera, viewport, xLabel, yLabel, zLabel } = props;
|
|
24
|
+
const edges = projectSegments(EDGES, camera, viewport);
|
|
25
|
+
const origin = projectPoint(CUBE_ORIGIN, camera, viewport);
|
|
26
|
+
const names = { x: xLabel, y: yLabel, z: zLabel };
|
|
27
|
+
return (_jsxs("g", { "data-layer": "frame", pointerEvents: "none", children: [edges.map((edge, at) => (_jsx("line", { x1: edge.x1, y1: edge.y1, x2: edge.x2, y2: edge.y2, stroke: "var(--border)", strokeWidth: 1 }, EDGE_KEYS[at]))), CUBE_ARMS.map((arm) => {
|
|
28
|
+
const end = projectPoint(arm.end, camera, viewport);
|
|
29
|
+
const label = projectPoint(arm.label, camera, viewport);
|
|
30
|
+
return (_jsxs("g", { children: [_jsx("line", { x1: origin.x, y1: origin.y, x2: end.x, y2: end.y, stroke: "var(--border-strong)", strokeWidth: 1.5 }), _jsx("text", { x: label.x, y: label.y, textAnchor: "middle", dominantBaseline: "central", fontSize: ARM_LABEL_SIZE, fontWeight: 600, fill: "var(--text-muted)", children: names[arm.axis] })] }, arm.axis));
|
|
31
|
+
})] }));
|
|
32
|
+
});
|
|
33
|
+
/** Cut once, because the corners of a cube do not depend on the camera. */
|
|
34
|
+
const EDGES = cubeEdges();
|
|
35
|
+
/** Each edge named by its two corners, which stay put however the box turns. */
|
|
36
|
+
const EDGE_KEYS = EDGES.map(([from, to]) => `${from.join(' ')}|${to.join(' ')}`);
|
|
37
|
+
/** The same size a chart writes an axis title at, so the two read alike. */
|
|
38
|
+
const ARM_LABEL_SIZE = 11;
|
|
39
|
+
//# sourceMappingURL=CloudFrameLayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CloudFrameLayer.js","sourceRoot":"","sources":["../../../src/scatter3d/ui/CloudFrameLayer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAgBrD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,eAAe,CAC1D,KAA2B;IAE3B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAE3D,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IAElD,OAAO,CACL,2BAAc,OAAO,EAAC,aAAa,EAAC,MAAM,aACvC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CACvB,eAEE,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,MAAM,EAAC,eAAe,EACtB,WAAW,EAAE,CAAC,IANT,SAAS,CAAC,EAAE,CAAC,CAOlB,CACH,CAAC,EACD,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrB,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACpD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACxD,OAAO,CACL,wBACE,eACE,EAAE,EAAE,MAAM,CAAC,CAAC,EACZ,EAAE,EAAE,MAAM,CAAC,CAAC,EACZ,EAAE,EAAE,GAAG,CAAC,CAAC,EACT,EAAE,EAAE,GAAG,CAAC,CAAC,EACT,MAAM,EAAC,sBAAsB,EAC7B,WAAW,EAAE,GAAG,GAChB,EACF,eACE,CAAC,EAAE,KAAK,CAAC,CAAC,EACV,CAAC,EAAE,KAAK,CAAC,CAAC,EACV,UAAU,EAAC,QAAQ,EACnB,gBAAgB,EAAC,SAAS,EAC1B,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,GAAG,EACf,IAAI,EAAC,mBAAmB,YAEvB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GACX,KAnBD,GAAG,CAAC,IAAI,CAoBZ,CACL,CAAC;YACJ,CAAC,CAAC,IACA,CACL,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;AAE1B,gFAAgF;AAChF,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CACzB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACpD,CAAC;AAEF,4EAA4E;AAC5E,MAAM,cAAc,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { ConfidenceEllipsoid } from '../core/confidenceEllipsoid.ts';
|
|
3
|
+
import type { OrbitCamera, OrbitViewport } from '../core/orbitCamera.ts';
|
|
4
|
+
/** One group's shell, fitted once and ready to be turned. */
|
|
5
|
+
export interface CloudShell {
|
|
6
|
+
/** A stable key, so a re-render does not rebuild every shell. */
|
|
7
|
+
id: string;
|
|
8
|
+
/** Its colour, which is its group's. */
|
|
9
|
+
color: string;
|
|
10
|
+
/** The shape it summarises, in cube units. */
|
|
11
|
+
ellipsoid: ConfidenceEllipsoid;
|
|
12
|
+
/**
|
|
13
|
+
* How strongly it is drawn, from a legend entry switching its group off.
|
|
14
|
+
* @default 1
|
|
15
|
+
*/
|
|
16
|
+
opacity?: number;
|
|
17
|
+
}
|
|
18
|
+
/** What {@link CloudShellLayer} draws. */
|
|
19
|
+
export interface CloudShellLayerProps {
|
|
20
|
+
/** The shells, one per group that has one. */
|
|
21
|
+
shells: readonly CloudShell[];
|
|
22
|
+
/** Where the reader is standing. */
|
|
23
|
+
camera: OrbitCamera;
|
|
24
|
+
/** Where the middle of the cube is, and how large it is drawn. */
|
|
25
|
+
viewport: OrbitViewport;
|
|
26
|
+
/**
|
|
27
|
+
* How solid one wall of the glass is. Turn it down when many groups overlap,
|
|
28
|
+
* since two shells crossing compound to twice this.
|
|
29
|
+
* @default 0.1
|
|
30
|
+
*/
|
|
31
|
+
fillOpacity?: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The group shells, as translucent glass.
|
|
35
|
+
*
|
|
36
|
+
* Each one is drawn as a single ellipse, because that is exactly what a shell
|
|
37
|
+
* looks like: an orthographic camera sends a sphere carried by three axes to
|
|
38
|
+
* an ellipse, whatever it is turned to. So the outline is a curve rather than
|
|
39
|
+
* a ring of facets, it stays a curve at any zoom, and there are no seams
|
|
40
|
+
* between neighbouring faces to read as a wireframe.
|
|
41
|
+
*
|
|
42
|
+
* The depth is carried by the fill. A ray through a shell crosses it twice —
|
|
43
|
+
* the near wall and the far one — so the glass is darkest where the reader
|
|
44
|
+
* looks through both walls at a glancing angle, which is the rim, and lightest
|
|
45
|
+
* through the middle where the far wall is turned away. One radial gradient
|
|
46
|
+
* says the shell is a solid.
|
|
47
|
+
* @param props - See {@link CloudShellLayerProps}.
|
|
48
|
+
* @returns The shells.
|
|
49
|
+
*/
|
|
50
|
+
export declare const CloudShellLayer: import("react").MemoExoticComponent<(props: CloudShellLayerProps) => ReactElement>;
|
|
51
|
+
//# sourceMappingURL=CloudShellLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CloudShellLayer.d.ts","sourceRoot":"","sources":["../../../src/scatter3d/ui/CloudShellLayer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAKzE,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,iEAAiE;IACjE,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,SAAS,EAAE,mBAAmB,CAAC;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9B,oCAAoC;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,kEAAkE;IAClE,QAAQ,EAAE,aAAa,CAAC;IACxB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,eAAe,8CACnB,oBAAoB,KAC1B,YAAY,CA8Cb,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { memo, useId } from 'react';
|
|
3
|
+
import { projectShellOutline } from "./cloudGeometry.js";
|
|
4
|
+
import { SHELL_FILL_OPACITY, shellGlassStops } from "./cloudShellStyles.js";
|
|
5
|
+
/**
|
|
6
|
+
* The group shells, as translucent glass.
|
|
7
|
+
*
|
|
8
|
+
* Each one is drawn as a single ellipse, because that is exactly what a shell
|
|
9
|
+
* looks like: an orthographic camera sends a sphere carried by three axes to
|
|
10
|
+
* an ellipse, whatever it is turned to. So the outline is a curve rather than
|
|
11
|
+
* a ring of facets, it stays a curve at any zoom, and there are no seams
|
|
12
|
+
* between neighbouring faces to read as a wireframe.
|
|
13
|
+
*
|
|
14
|
+
* The depth is carried by the fill. A ray through a shell crosses it twice —
|
|
15
|
+
* the near wall and the far one — so the glass is darkest where the reader
|
|
16
|
+
* looks through both walls at a glancing angle, which is the rim, and lightest
|
|
17
|
+
* through the middle where the far wall is turned away. One radial gradient
|
|
18
|
+
* says the shell is a solid.
|
|
19
|
+
* @param props - See {@link CloudShellLayerProps}.
|
|
20
|
+
* @returns The shells.
|
|
21
|
+
*/
|
|
22
|
+
export const CloudShellLayer = memo(function CloudShellLayer(props) {
|
|
23
|
+
const { shells, camera, viewport, fillOpacity = SHELL_FILL_OPACITY } = props;
|
|
24
|
+
const prefix = useId();
|
|
25
|
+
const drawn = [];
|
|
26
|
+
for (const shell of shells) {
|
|
27
|
+
const outline = projectShellOutline(shell.ellipsoid, camera, viewport);
|
|
28
|
+
if (outline === null)
|
|
29
|
+
continue;
|
|
30
|
+
drawn.push({ shell, outline });
|
|
31
|
+
}
|
|
32
|
+
// Furthest first, so a shell in front of another is drawn over it.
|
|
33
|
+
drawn.sort((a, b) => a.outline.depth - b.outline.depth);
|
|
34
|
+
return (_jsx("g", { "data-layer": "shells", pointerEvents: "none", children: drawn.map(({ shell, outline }) => {
|
|
35
|
+
const paint = `${prefix}${shell.id}`;
|
|
36
|
+
return (_jsxs("g", { "data-shell": shell.id, children: [_jsx("defs", { children: _jsx("radialGradient", { id: paint, children: shellGlassStops((shell.opacity ?? 1) * fillOpacity).map((stop) => (_jsx("stop", { offset: stop.offset, stopColor: shell.color, stopOpacity: stop.opacity }, stop.offset))) }) }), _jsx("ellipse", { cx: outline.cx, cy: outline.cy, rx: outline.rx, ry: outline.ry, transform: `rotate(${outline.angle} ${outline.cx} ${outline.cy})`, fill: `url(#${paint})` })] }, shell.id));
|
|
37
|
+
}) }));
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=CloudShellLayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CloudShellLayer.js","sourceRoot":"","sources":["../../../src/scatter3d/ui/CloudShellLayer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAKpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAiC5E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,eAAe,CAC1D,KAA2B;IAE3B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,kBAAkB,EAAE,GAAG,KAAK,CAAC;IAC7E,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;IAEvB,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvE,IAAI,OAAO,KAAK,IAAI;YAAE,SAAS;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,mEAAmE;IACnE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAExD,OAAO,CACL,0BAAc,QAAQ,EAAC,aAAa,EAAC,MAAM,YACxC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAChC,MAAM,KAAK,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;YACrC,OAAO,CACL,2BAA8B,KAAK,CAAC,EAAE,aACpC,yBACE,yBAAgB,EAAE,EAAE,KAAK,YACtB,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,CACtD,CAAC,IAAI,EAAE,EAAE,CAAC,CACR,eAEE,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,SAAS,EAAE,KAAK,CAAC,KAAK,EACtB,WAAW,EAAE,IAAI,CAAC,OAAO,IAHpB,IAAI,CAAC,MAAM,CAIhB,CACH,CACF,GACc,GACZ,EACP,kBACE,EAAE,EAAE,OAAO,CAAC,EAAE,EACd,EAAE,EAAE,OAAO,CAAC,EAAE,EACd,EAAE,EAAE,OAAO,CAAC,EAAE,EACd,EAAE,EAAE,OAAO,CAAC,EAAE,EACd,SAAS,EAAE,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,GAAG,EACjE,IAAI,EAAE,QAAQ,KAAK,GAAG,GACtB,KAtBI,KAAK,CAAC,EAAE,CAuBZ,CACL,CAAC;QACJ,CAAC,CAAC,GACA,CACL,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { ScatterCloudProps } from './scatterCloudProps.ts';
|
|
3
|
+
/**
|
|
4
|
+
* A cloud of samples in a box the reader can turn, with a glass shell around
|
|
5
|
+
* each group.
|
|
6
|
+
*
|
|
7
|
+
* It is the flat scatter's twin and shares with it everything it can — the
|
|
8
|
+
* selection, the lasso, the keyboard cursor, the hover card, the labels and
|
|
9
|
+
* the group colours are the same hooks and the same layers — because a reader
|
|
10
|
+
* who has learned the map must not have to learn this separately. What it
|
|
11
|
+
* cannot share is the frame: three axes seen from an angle have no room for
|
|
12
|
+
* three sets of tick labels, so the axes are all stretched to one cube, the
|
|
13
|
+
* frame names them, and the numbers stay in the card the pointer raises.
|
|
14
|
+
*
|
|
15
|
+
* It draws in SVG rather than in WebGL, and that is a decision about saving
|
|
16
|
+
* rather than about drawing. Every other figure in this package is saved from
|
|
17
|
+
* the bar above it as an SVG, and a canvas laid over the same picture would
|
|
18
|
+
* leave a hole in that file exactly where the shells are.
|
|
19
|
+
* @param props - See {@link ScatterCloudProps}.
|
|
20
|
+
* @returns The cloud.
|
|
21
|
+
*/
|
|
22
|
+
export declare function ScatterCloud(props: ScatterCloudProps): ReactElement;
|
|
23
|
+
//# sourceMappingURL=ScatterCloud.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScatterCloud.d.ts","sourceRoot":"","sources":["../../../src/scatter3d/ui/ScatterCloud.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiC,YAAY,EAAE,MAAM,OAAO,CAAC;AAwBzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAyLnE"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
+
import { CHART_WHEEL_DWELL, useWheelZoom, } from "../../chart/ui/useWheelZoom.js";
|
|
4
|
+
import { ScatterMarkLayer } from "../../scatter/ui/ScatterMarkLayer.js";
|
|
5
|
+
import { ScatterOverlayLayers } from "../../scatter/ui/ScatterOverlayLayers.js";
|
|
6
|
+
import { ScatterPointLayer } from "../../scatter/ui/ScatterPointLayer.js";
|
|
7
|
+
import { scatterGroupInk } from "../../scatter/ui/scatterPlotModel.js";
|
|
8
|
+
import { useScatterInteraction } from "../../scatter/ui/useScatterInteraction.js";
|
|
9
|
+
import { useScatterLabels } from "../../scatter/ui/useScatterLabels.js";
|
|
10
|
+
import { cubePoints } from "../core/cubePoints.js";
|
|
11
|
+
import { DEFAULT_ORBIT_CAMERA } from "../core/orbitCamera.js";
|
|
12
|
+
import { CloudFrameLayer } from "./CloudFrameLayer.js";
|
|
13
|
+
import { CloudShellLayer } from "./CloudShellLayer.js";
|
|
14
|
+
import { cloudPointRadii, cloudView, projectCloud } from "./cloudGeometry.js";
|
|
15
|
+
import { clampCloudZoom } from "./cloudZoom.js";
|
|
16
|
+
import { cloudLabel, cloudShells } from "./scatterCloudModel.js";
|
|
17
|
+
import { useOrbitDrag } from "./useOrbitDrag.js";
|
|
18
|
+
/**
|
|
19
|
+
* A cloud of samples in a box the reader can turn, with a glass shell around
|
|
20
|
+
* each group.
|
|
21
|
+
*
|
|
22
|
+
* It is the flat scatter's twin and shares with it everything it can — the
|
|
23
|
+
* selection, the lasso, the keyboard cursor, the hover card, the labels and
|
|
24
|
+
* the group colours are the same hooks and the same layers — because a reader
|
|
25
|
+
* who has learned the map must not have to learn this separately. What it
|
|
26
|
+
* cannot share is the frame: three axes seen from an angle have no room for
|
|
27
|
+
* three sets of tick labels, so the axes are all stretched to one cube, the
|
|
28
|
+
* frame names them, and the numbers stay in the card the pointer raises.
|
|
29
|
+
*
|
|
30
|
+
* It draws in SVG rather than in WebGL, and that is a decision about saving
|
|
31
|
+
* rather than about drawing. Every other figure in this package is saved from
|
|
32
|
+
* the bar above it as an SVG, and a canvas laid over the same picture would
|
|
33
|
+
* leave a hole in that file exactly where the shells are.
|
|
34
|
+
* @param props - See {@link ScatterCloudProps}.
|
|
35
|
+
* @returns The cloud.
|
|
36
|
+
*/
|
|
37
|
+
export function ScatterCloud(props) {
|
|
38
|
+
const { x, y, z, width, height, xLabel, yLabel, zLabel } = props;
|
|
39
|
+
const { groupOf, groups, mutedGroups, ellipsoid = null } = props;
|
|
40
|
+
const { ellipsoidMinimumPoints, ellipsoidFillOpacity } = props;
|
|
41
|
+
const { showGroupLabels = false, pointLabels, pointRadius = 3.5 } = props;
|
|
42
|
+
const { outlinedFrom, selected, defaultSelected, onSelectionChange } = props;
|
|
43
|
+
const { selectMode = 'replace', onHoverChange, onPinChange } = props;
|
|
44
|
+
const { onLassoChange, onPointDoubleClick, overlay } = props;
|
|
45
|
+
const { gesture = 'turn', wheelZoom = true, wheelZoomDelay } = props;
|
|
46
|
+
const { label, className, testId } = props;
|
|
47
|
+
const [ownCamera, setOwnCamera] = useState(DEFAULT_ORBIT_CAMERA);
|
|
48
|
+
const [ownZoom, setOwnZoom] = useState(1);
|
|
49
|
+
const camera = props.camera ?? ownCamera;
|
|
50
|
+
const zoom = props.zoom ?? ownZoom;
|
|
51
|
+
const selecting = gesture === 'select';
|
|
52
|
+
const view = useMemo(() => cloudView(width, height, zoom), [height, width, zoom]);
|
|
53
|
+
const cube = useMemo(() => cubePoints(x, y, z), [x, y, z]);
|
|
54
|
+
const cloud = useMemo(() => projectCloud(cube, camera, view.viewport), [camera, cube, view.viewport]);
|
|
55
|
+
const radii = useMemo(() => cloudPointRadii(cloud.depths, pointRadius), [cloud.depths, pointRadius]);
|
|
56
|
+
const ink = useMemo(() => scatterGroupInk(groups, mutedGroups), [groups, mutedGroups]);
|
|
57
|
+
const shells = useMemo(() => ellipsoid === null || groupOf === undefined || groups === undefined
|
|
58
|
+
? NO_SHELLS
|
|
59
|
+
: cloudShells({
|
|
60
|
+
cube,
|
|
61
|
+
groupOf,
|
|
62
|
+
groups,
|
|
63
|
+
ink,
|
|
64
|
+
size: ellipsoid,
|
|
65
|
+
minimumPoints: ellipsoidMinimumPoints,
|
|
66
|
+
}), [cube, ellipsoid, ellipsoidMinimumPoints, groupOf, groups, ink]);
|
|
67
|
+
const interaction = useScatterInteraction({
|
|
68
|
+
points: cloud.points,
|
|
69
|
+
selected,
|
|
70
|
+
defaultSelected,
|
|
71
|
+
onSelectionChange,
|
|
72
|
+
selectMode,
|
|
73
|
+
enabled: selecting,
|
|
74
|
+
touchLasso: selecting,
|
|
75
|
+
hoverRadius: pointRadius + HOVER_SLACK,
|
|
76
|
+
onHoverChange,
|
|
77
|
+
onPinChange,
|
|
78
|
+
onLassoChange,
|
|
79
|
+
});
|
|
80
|
+
const labels = useScatterLabels(cloud.points, {
|
|
81
|
+
pointLabels,
|
|
82
|
+
showGroupLabels,
|
|
83
|
+
groups,
|
|
84
|
+
groupOf,
|
|
85
|
+
colors: ink.colors,
|
|
86
|
+
radius: pointRadius,
|
|
87
|
+
bounds: view.rect,
|
|
88
|
+
});
|
|
89
|
+
// Everything a gesture callback reads is taken from here rather than from
|
|
90
|
+
// the closure, so a caller that owns the camera and answers with an inline
|
|
91
|
+
// arrow — which is how every caller writes it — does not rebuild the drag
|
|
92
|
+
// sixty times during its own turn.
|
|
93
|
+
const live = useRef({ camera, zoom, interaction, props });
|
|
94
|
+
useLayoutEffect(() => {
|
|
95
|
+
live.current = { camera, zoom, interaction, props };
|
|
96
|
+
});
|
|
97
|
+
const onOrbit = useCallback((turn) => {
|
|
98
|
+
const next = turn(live.current.camera);
|
|
99
|
+
// Written back so the frames of one drag compose, rather than each of them
|
|
100
|
+
// turning the camera React has not re-rendered with yet.
|
|
101
|
+
live.current.camera = next;
|
|
102
|
+
if (live.current.props.camera === undefined)
|
|
103
|
+
setOwnCamera(next);
|
|
104
|
+
live.current.props.onCameraChange?.(next);
|
|
105
|
+
}, []);
|
|
106
|
+
const onTap = useCallback((tapX, tapY, mode) => {
|
|
107
|
+
live.current.interaction.clickAt(tapX, tapY, mode);
|
|
108
|
+
}, []);
|
|
109
|
+
const onWheel = useCallback((_x, _y, factor) => {
|
|
110
|
+
// A factor above one widens a frame, which on a box means standing back.
|
|
111
|
+
const next = clampCloudZoom(live.current.zoom / factor);
|
|
112
|
+
live.current.zoom = next;
|
|
113
|
+
if (live.current.props.zoom === undefined)
|
|
114
|
+
setOwnZoom(next);
|
|
115
|
+
live.current.props.onZoomChange?.(next);
|
|
116
|
+
}, []);
|
|
117
|
+
function handleDoubleClick(event) {
|
|
118
|
+
if (onPointDoubleClick === undefined)
|
|
119
|
+
return;
|
|
120
|
+
const opened = interaction.openAt(event);
|
|
121
|
+
if (opened !== null)
|
|
122
|
+
onPointDoubleClick(opened);
|
|
123
|
+
}
|
|
124
|
+
const orbit = useOrbitDrag({
|
|
125
|
+
enabled: !selecting,
|
|
126
|
+
onOrbit,
|
|
127
|
+
onTap,
|
|
128
|
+
onMove: interaction.hover.moveTo,
|
|
129
|
+
onLeave: interaction.hover.leave,
|
|
130
|
+
mode: selectMode,
|
|
131
|
+
});
|
|
132
|
+
const { ref: wheelSurface } = useWheelZoom({
|
|
133
|
+
enabled: wheelZoom,
|
|
134
|
+
delay: wheelZoomDelay ?? CHART_WHEEL_DWELL,
|
|
135
|
+
onZoom: onWheel,
|
|
136
|
+
});
|
|
137
|
+
return (_jsxs("div", { className: className, "data-testid": testId, style: { position: 'relative', width, height }, role: "img", "aria-label": label ?? cloudLabel(xLabel, yLabel, zLabel, cube.length), children: [_jsxs("svg", { width: width, height: height, style: SVG_STYLE, children: [_jsx(CloudFrameLayer, { camera: camera, viewport: view.viewport, xLabel: xLabel, yLabel: yLabel, zLabel: zLabel }), _jsx(CloudShellLayer, { shells: shells, camera: camera, viewport: view.viewport, fillOpacity: ellipsoidFillOpacity }), _jsx(ScatterPointLayer, { points: cloud.points, order: cloud.order, radii: radii, groupOf: groupOf, colors: ink.colors, opacities: ink.opacities, radius: pointRadius, outlinedFrom: outlinedFrom }), _jsx(ScatterMarkLayer, { points: cloud.points, selected: interaction.selection.mask, hovered: interaction.hover.hovered, focused: interaction.keyboard.cursor, radius: pointRadius }), _jsx(ScatterOverlayLayers, { labels: labels, radius: pointRadius, lassoPath: interaction.lasso.pathData }), _jsx("rect", { x: 0, y: 0, width: Math.max(0, width), height: Math.max(0, height), ref: wheelSurface, fill: "transparent", tabIndex: 0, onKeyDown: interaction.keyboard.onKeyDown, onDoubleClick: handleDoubleClick, ...(selecting ? interaction.surface : orbit.surface) })] }), overlay] }));
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* How much further than a dot's own radius the pointer may be and still catch
|
|
141
|
+
* it.
|
|
142
|
+
*
|
|
143
|
+
* More slack than the map allows, because a dot in a cloud is a smaller target
|
|
144
|
+
* than the same dot on a map: the box is turned, so the dots are packed into a
|
|
145
|
+
* hexagon rather than spread over a rectangle, and the ones at the back are
|
|
146
|
+
* drawn smaller still.
|
|
147
|
+
*/
|
|
148
|
+
const HOVER_SLACK = 8.5;
|
|
149
|
+
const NO_SHELLS = [];
|
|
150
|
+
const SVG_STYLE = { display: 'block', touchAction: 'none' };
|
|
151
|
+
//# sourceMappingURL=ScatterCloud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScatterCloud.js","sourceRoot":"","sources":["../../../src/scatter3d/ui/ScatterCloud.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEhF,OAAO,EACL,iBAAiB,EACjB,YAAY,GACb,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAuC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA2C,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAwC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAuB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,EAAE,eAAe,GAAG,KAAK,EAAE,WAAW,EAAE,WAAW,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC;IAC1E,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IAC7E,MAAM,EAAE,UAAU,GAAG,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IACrE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC7D,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IACrE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAE3C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAc,oBAAoB,CAAC,CAAC;IAC9E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;IACzC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC;IACnC,MAAM,SAAS,GAAG,OAAO,KAAK,QAAQ,CAAC;IAEvC,MAAM,IAAI,GAAG,OAAO,CAClB,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EACpC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CACtB,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAC/C,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAC9B,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,EAChD,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAC5B,CAAC;IACF,MAAM,GAAG,GAAG,OAAO,CACjB,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,EAC1C,CAAC,MAAM,EAAE,WAAW,CAAC,CACtB,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CACH,SAAS,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;QACjE,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,WAAW,CAAC;YACV,IAAI;YACJ,OAAO;YACP,MAAM;YACN,GAAG;YACH,IAAI,EAAE,SAAS;YACf,aAAa,EAAE,sBAAsB;SACtC,CAAC,EACR,CAAC,IAAI,EAAE,SAAS,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAChE,CAAC;IAEF,MAAM,WAAW,GAAG,qBAAqB,CAAC;QACxC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ;QACR,eAAe;QACf,iBAAiB;QACjB,UAAU;QACV,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,WAAW,GAAG,WAAW;QACtC,aAAa;QACb,WAAW;QACX,aAAa;KACd,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE;QAC5C,WAAW;QACX,eAAe;QACf,MAAM;QACN,OAAO;QACP,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,IAAI,CAAC,IAAI;KAClB,CAAC,CAAC;IAEH,0EAA0E;IAC1E,2EAA2E;IAC3E,0EAA0E;IAC1E,mCAAmC;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,IAAuC,EAAE,EAAE;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,2EAA2E;QAC3E,yDAAyD;QACzD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,WAAW,CACvB,CAAC,IAAY,EAAE,IAAY,EAAE,IAA0B,EAAE,EAAE;QACzD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,EAAU,EAAE,MAAc,EAAE,EAAE;QACrE,yEAAyE;QACzE,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,iBAAiB,CAAC,KAAsC;QAC/D,IAAI,kBAAkB,KAAK,SAAS;YAAE,OAAO;QAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,IAAI;YAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC;QACzB,OAAO,EAAE,CAAC,SAAS;QACnB,OAAO;QACP,KAAK;QACL,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM;QAChC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,KAAK;QAChC,IAAI,EAAE,UAAU;KACjB,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,YAAY,CAAiB;QACzD,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,cAAc,IAAI,iBAAiB;QAC1C,MAAM,EAAE,OAAO;KAChB,CAAC,CAAC;IAEH,OAAO,CACL,eACE,SAAS,EAAE,SAAS,iBACP,MAAM,EACnB,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAC9C,IAAI,EAAC,KAAK,gBACE,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,aAEpE,eAAK,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,aACjD,KAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACd,EACF,KAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,oBAAoB,GACjC,EACF,KAAC,iBAAiB,IAChB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,YAAY,GAC1B,EACF,KAAC,gBAAgB,IACf,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,IAAI,EACpC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,EAClC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,EACpC,MAAM,EAAE,WAAW,GACnB,EACF,KAAC,oBAAoB,IACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,GACrC,EACF,eACE,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EACzB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,EAC3B,GAAG,EAAE,YAAY,EACjB,IAAI,EAAC,aAAa,EAClB,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,EACzC,aAAa,EAAE,iBAAiB,KAC5B,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GACrD,IACE,EACL,OAAO,IACJ,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB,MAAM,SAAS,GAA0B,EAAE,CAAC;AAE5C,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAW,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where the cube, the cloud and the shells land on screen for one camera.
|
|
3
|
+
*
|
|
4
|
+
* Everything a cloud draws is fitted once, in cube units, and re-projected on
|
|
5
|
+
* every turn — so an orbit costs one rotation per sample and one silhouette
|
|
6
|
+
* per shell, and nothing is fitted again while the box is turning.
|
|
7
|
+
*/
|
|
8
|
+
import type { ScreenPoints } from '../../scatter/core/screenPoints.ts';
|
|
9
|
+
import type { ConfidenceEllipsoid } from '../core/confidenceEllipsoid.ts';
|
|
10
|
+
import type { OrbitCamera, OrbitViewport, Vector3 } from '../core/orbitCamera.ts';
|
|
11
|
+
/** Room kept between the figure's edge and the cube, in pixels. */
|
|
12
|
+
export declare const CLOUD_MARGIN = 16;
|
|
13
|
+
/**
|
|
14
|
+
* How much of the shorter side the cube spans before the reader zooms.
|
|
15
|
+
*
|
|
16
|
+
* Well short of the whole: the cube is drawn turned, so its silhouette is a
|
|
17
|
+
* hexagon as wide as its body diagonal, and a cube sized to the box edge-on
|
|
18
|
+
* would push two of its corners past the frame the moment it was turned.
|
|
19
|
+
*/
|
|
20
|
+
export declare const CLOUD_FILL = 0.62;
|
|
21
|
+
/** The rectangle the cloud is drawn in, and how the cube maps into it. */
|
|
22
|
+
export interface CloudView {
|
|
23
|
+
/** The drawing area, ready to spread onto a `<rect>`. */
|
|
24
|
+
rect: {
|
|
25
|
+
x: number;
|
|
26
|
+
y: number;
|
|
27
|
+
width: number;
|
|
28
|
+
height: number;
|
|
29
|
+
};
|
|
30
|
+
/** Where the middle of the cube sits, and how large it is drawn. */
|
|
31
|
+
viewport: OrbitViewport;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The drawing area and the cube's place in it.
|
|
35
|
+
* @param width - Total width of the figure, in pixels.
|
|
36
|
+
* @param height - Total height.
|
|
37
|
+
* @param zoom - What the reader has zoomed to; `1` is the resting size.
|
|
38
|
+
* @returns See {@link CloudView}.
|
|
39
|
+
*/
|
|
40
|
+
export declare function cloudView(width: number, height: number, zoom: number): CloudView;
|
|
41
|
+
/** Where every sample landed, and in what order they are painted. */
|
|
42
|
+
export interface CloudCloud {
|
|
43
|
+
/** The positions, in the same space a gesture arrives in. */
|
|
44
|
+
points: ScreenPoints;
|
|
45
|
+
/** How far towards the reader each one is, in cube units. */
|
|
46
|
+
depths: Float64Array;
|
|
47
|
+
/** The rows, furthest first, which is the order they are drawn in. */
|
|
48
|
+
order: Uint32Array;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Every sample, projected and ordered back to front.
|
|
52
|
+
*
|
|
53
|
+
* The order is what makes the cloud read as a solid: a dot at the front drawn
|
|
54
|
+
* over a dot at the back says which is which, where the same two dots in row
|
|
55
|
+
* order say nothing at all. It is a separate array rather than a sorted copy
|
|
56
|
+
* of the points because the hit test, the labels and the selection all index
|
|
57
|
+
* by row and must not be reordered with the painting.
|
|
58
|
+
* @param cube - Every sample, in cube units.
|
|
59
|
+
* @param camera - Where the reader is standing.
|
|
60
|
+
* @param viewport - Where the middle of the cube is, and how large it is drawn.
|
|
61
|
+
* @returns See {@link CloudCloud}.
|
|
62
|
+
*/
|
|
63
|
+
export declare function projectCloud(cube: readonly Vector3[], camera: OrbitCamera, viewport: OrbitViewport): CloudCloud;
|
|
64
|
+
/**
|
|
65
|
+
* How large each dot is drawn, from how near the front of the box it sits.
|
|
66
|
+
*
|
|
67
|
+
* A fifth larger at the front than at the back: enough that the eye reads it
|
|
68
|
+
* as depth when it is looking for depth, and little enough that nobody takes
|
|
69
|
+
* it for a value — a dot size that carried a measurement would be a fourth
|
|
70
|
+
* dimension nothing labelled. It is read from the projection rather than from
|
|
71
|
+
* the data, so a turn changes it and a filter does not.
|
|
72
|
+
* @param depths - How far towards the reader each sample is, in cube units.
|
|
73
|
+
* @param radius - Radius of a dot at the middle of the box, in pixels.
|
|
74
|
+
* @returns One radius per sample, in pixels.
|
|
75
|
+
*/
|
|
76
|
+
export declare function cloudPointRadii(depths: Float64Array, radius: number): Float64Array;
|
|
77
|
+
/** One shell's outline, ready to be filled. */
|
|
78
|
+
export interface CloudOutline {
|
|
79
|
+
/** Where its middle landed, in pixels from the left. */
|
|
80
|
+
cx: number;
|
|
81
|
+
/** And from the top. */
|
|
82
|
+
cy: number;
|
|
83
|
+
/** Half its longest width, in pixels. */
|
|
84
|
+
rx: number;
|
|
85
|
+
/** Half its width across that, in pixels. */
|
|
86
|
+
ry: number;
|
|
87
|
+
/** How far the long axis is turned from the horizontal, in degrees. */
|
|
88
|
+
angle: number;
|
|
89
|
+
/** How far towards the reader its middle is, in cube units. */
|
|
90
|
+
depth: number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Where one shell's outline lands on screen.
|
|
94
|
+
* @param ellipsoid - The shell, in cube units.
|
|
95
|
+
* @param camera - Where the reader is standing.
|
|
96
|
+
* @param viewport - Where the middle of the cube is, and how large it is drawn.
|
|
97
|
+
* @returns See {@link CloudOutline}, or `null` when the camera sends the shell nowhere a browser can draw.
|
|
98
|
+
*/
|
|
99
|
+
export declare function projectShellOutline(ellipsoid: ConfidenceEllipsoid, camera: OrbitCamera, viewport: OrbitViewport): CloudOutline | null;
|
|
100
|
+
/** A segment of the frame, in pixels. */
|
|
101
|
+
export interface CloudSegment {
|
|
102
|
+
/** Where it starts. */
|
|
103
|
+
x1: number;
|
|
104
|
+
/** Where it starts. */
|
|
105
|
+
y1: number;
|
|
106
|
+
/** Where it ends. */
|
|
107
|
+
x2: number;
|
|
108
|
+
/** Where it ends. */
|
|
109
|
+
y2: number;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* A run of cube-space segments, projected.
|
|
113
|
+
* @param segments - The segments, as pairs of corners in cube units.
|
|
114
|
+
* @param camera - Where the reader is standing.
|
|
115
|
+
* @param viewport - Where the middle of the cube is, and how large it is drawn.
|
|
116
|
+
* @returns The segments, in pixels, in the order they were given.
|
|
117
|
+
*/
|
|
118
|
+
export declare function projectSegments(segments: ReadonlyArray<readonly [Vector3, Vector3]>, camera: OrbitCamera, viewport: OrbitViewport): CloudSegment[];
|
|
119
|
+
//# sourceMappingURL=cloudGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudGeometry.d.ts","sourceRoot":"","sources":["../../../src/scatter3d/ui/cloudGeometry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,OAAO,EACR,MAAM,wBAAwB,CAAC;AAGhC,mEAAmE;AACnE,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,OAAO,CAAC;AAE/B,0EAA0E;AAC1E,MAAM,WAAW,SAAS;IACxB,yDAAyD;IACzD,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,oEAAoE;IACpE,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,SAAS,CAYX;AAED,qEAAqE;AACrE,MAAM,WAAW,UAAU;IACzB,6DAA6D;IAC7D,MAAM,EAAE,YAAY,CAAC;IACrB,6DAA6D;IAC7D,MAAM,EAAE,YAAY,CAAC;IACrB,sEAAsE;IACtE,KAAK,EAAE,WAAW,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,aAAa,GACtB,UAAU,CAmBZ;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,GACb,YAAY,CAOd;AAQD,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,mBAAmB,EAC9B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,aAAa,GACtB,YAAY,GAAG,IAAI,CAerB;AAED,yCAAyC;AACzC,MAAM,WAAW,YAAY;IAC3B,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EACpD,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,aAAa,GACtB,YAAY,EAAE,CAahB"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where the cube, the cloud and the shells land on screen for one camera.
|
|
3
|
+
*
|
|
4
|
+
* Everything a cloud draws is fitted once, in cube units, and re-projected on
|
|
5
|
+
* every turn — so an orbit costs one rotation per sample and one silhouette
|
|
6
|
+
* per shell, and nothing is fitted again while the box is turning.
|
|
7
|
+
*/
|
|
8
|
+
import { chartRoundPixel } from "../../chart/core/chartScale.js";
|
|
9
|
+
import { ellipsoidSilhouette } from "../core/ellipsoidSilhouette.js";
|
|
10
|
+
import { depthFraction, projectPoint } from "../core/orbitCamera.js";
|
|
11
|
+
/** Room kept between the figure's edge and the cube, in pixels. */
|
|
12
|
+
export const CLOUD_MARGIN = 16;
|
|
13
|
+
/**
|
|
14
|
+
* How much of the shorter side the cube spans before the reader zooms.
|
|
15
|
+
*
|
|
16
|
+
* Well short of the whole: the cube is drawn turned, so its silhouette is a
|
|
17
|
+
* hexagon as wide as its body diagonal, and a cube sized to the box edge-on
|
|
18
|
+
* would push two of its corners past the frame the moment it was turned.
|
|
19
|
+
*/
|
|
20
|
+
export const CLOUD_FILL = 0.62;
|
|
21
|
+
/**
|
|
22
|
+
* The drawing area and the cube's place in it.
|
|
23
|
+
* @param width - Total width of the figure, in pixels.
|
|
24
|
+
* @param height - Total height.
|
|
25
|
+
* @param zoom - What the reader has zoomed to; `1` is the resting size.
|
|
26
|
+
* @returns See {@link CloudView}.
|
|
27
|
+
*/
|
|
28
|
+
export function cloudView(width, height, zoom) {
|
|
29
|
+
const inner = Math.max(0, width - CLOUD_MARGIN * 2);
|
|
30
|
+
const tall = Math.max(0, height - CLOUD_MARGIN * 2);
|
|
31
|
+
const factor = Number.isFinite(zoom) && zoom > 0 ? zoom : 1;
|
|
32
|
+
return {
|
|
33
|
+
rect: { x: CLOUD_MARGIN, y: CLOUD_MARGIN, width: inner, height: tall },
|
|
34
|
+
viewport: {
|
|
35
|
+
scale: (Math.min(inner, tall) / 2) * CLOUD_FILL * factor,
|
|
36
|
+
centerX: CLOUD_MARGIN + inner / 2,
|
|
37
|
+
centerY: CLOUD_MARGIN + tall / 2,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Every sample, projected and ordered back to front.
|
|
43
|
+
*
|
|
44
|
+
* The order is what makes the cloud read as a solid: a dot at the front drawn
|
|
45
|
+
* over a dot at the back says which is which, where the same two dots in row
|
|
46
|
+
* order say nothing at all. It is a separate array rather than a sorted copy
|
|
47
|
+
* of the points because the hit test, the labels and the selection all index
|
|
48
|
+
* by row and must not be reordered with the painting.
|
|
49
|
+
* @param cube - Every sample, in cube units.
|
|
50
|
+
* @param camera - Where the reader is standing.
|
|
51
|
+
* @param viewport - Where the middle of the cube is, and how large it is drawn.
|
|
52
|
+
* @returns See {@link CloudCloud}.
|
|
53
|
+
*/
|
|
54
|
+
export function projectCloud(cube, camera, viewport) {
|
|
55
|
+
const count = cube.length;
|
|
56
|
+
const x = new Float64Array(count);
|
|
57
|
+
const y = new Float64Array(count);
|
|
58
|
+
const depths = new Float64Array(count);
|
|
59
|
+
for (let index = 0; index < count; index++) {
|
|
60
|
+
const at = projectPoint(cube[index], camera, viewport);
|
|
61
|
+
x[index] = at.x;
|
|
62
|
+
y[index] = at.y;
|
|
63
|
+
depths[index] = at.depth;
|
|
64
|
+
}
|
|
65
|
+
const rows = new Uint32Array(count);
|
|
66
|
+
for (let index = 0; index < count; index++)
|
|
67
|
+
rows[index] = index;
|
|
68
|
+
const order = rows.toSorted((a, b) => depths[a] - depths[b]);
|
|
69
|
+
return { points: { x, y }, depths, order };
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* How large each dot is drawn, from how near the front of the box it sits.
|
|
73
|
+
*
|
|
74
|
+
* A fifth larger at the front than at the back: enough that the eye reads it
|
|
75
|
+
* as depth when it is looking for depth, and little enough that nobody takes
|
|
76
|
+
* it for a value — a dot size that carried a measurement would be a fourth
|
|
77
|
+
* dimension nothing labelled. It is read from the projection rather than from
|
|
78
|
+
* the data, so a turn changes it and a filter does not.
|
|
79
|
+
* @param depths - How far towards the reader each sample is, in cube units.
|
|
80
|
+
* @param radius - Radius of a dot at the middle of the box, in pixels.
|
|
81
|
+
* @returns One radius per sample, in pixels.
|
|
82
|
+
*/
|
|
83
|
+
export function cloudPointRadii(depths, radius) {
|
|
84
|
+
const radii = new Float64Array(depths.length);
|
|
85
|
+
for (let index = 0; index < depths.length; index++) {
|
|
86
|
+
const fraction = depthFraction(depths[index]);
|
|
87
|
+
radii[index] = radius * (NEAREST_SHRINK + DEPTH_RANGE * fraction);
|
|
88
|
+
}
|
|
89
|
+
return radii;
|
|
90
|
+
}
|
|
91
|
+
/** How much smaller than `radius` the dot at the very back is drawn. */
|
|
92
|
+
const NEAREST_SHRINK = 0.9;
|
|
93
|
+
/** How much the radius grows from the back of the box to its front. */
|
|
94
|
+
const DEPTH_RANGE = 0.4;
|
|
95
|
+
/**
|
|
96
|
+
* Where one shell's outline lands on screen.
|
|
97
|
+
* @param ellipsoid - The shell, in cube units.
|
|
98
|
+
* @param camera - Where the reader is standing.
|
|
99
|
+
* @param viewport - Where the middle of the cube is, and how large it is drawn.
|
|
100
|
+
* @returns See {@link CloudOutline}, or `null` when the camera sends the shell nowhere a browser can draw.
|
|
101
|
+
*/
|
|
102
|
+
export function projectShellOutline(ellipsoid, camera, viewport) {
|
|
103
|
+
const at = projectPoint(ellipsoid.center, camera, viewport);
|
|
104
|
+
const { rx, ry, angle } = ellipsoidSilhouette(ellipsoid, camera);
|
|
105
|
+
const outline = {
|
|
106
|
+
cx: chartRoundPixel(at.x),
|
|
107
|
+
cy: chartRoundPixel(at.y),
|
|
108
|
+
rx: chartRoundPixel(rx * viewport.scale),
|
|
109
|
+
ry: chartRoundPixel(ry * viewport.scale),
|
|
110
|
+
angle: chartRoundPixel((angle * 180) / Math.PI),
|
|
111
|
+
depth: at.depth,
|
|
112
|
+
};
|
|
113
|
+
for (const value of [outline.cx, outline.cy, outline.rx, outline.ry]) {
|
|
114
|
+
if (!Number.isFinite(value))
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
return outline;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* A run of cube-space segments, projected.
|
|
121
|
+
* @param segments - The segments, as pairs of corners in cube units.
|
|
122
|
+
* @param camera - Where the reader is standing.
|
|
123
|
+
* @param viewport - Where the middle of the cube is, and how large it is drawn.
|
|
124
|
+
* @returns The segments, in pixels, in the order they were given.
|
|
125
|
+
*/
|
|
126
|
+
export function projectSegments(segments, camera, viewport) {
|
|
127
|
+
const lines = [];
|
|
128
|
+
for (const [from, to] of segments) {
|
|
129
|
+
const start = projectPoint(from, camera, viewport);
|
|
130
|
+
const end = projectPoint(to, camera, viewport);
|
|
131
|
+
lines.push({
|
|
132
|
+
x1: chartRoundPixel(start.x),
|
|
133
|
+
y1: chartRoundPixel(start.y),
|
|
134
|
+
x2: chartRoundPixel(end.x),
|
|
135
|
+
y2: chartRoundPixel(end.y),
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
return lines;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=cloudGeometry.js.map
|