matterviz 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/EmptyState.svelte +10 -4
- package/dist/FilePicker.svelte +12 -14
- package/dist/Icon.svelte +7 -4
- package/dist/MillerIndexInput.svelte +2 -2
- package/dist/app.css +53 -0
- package/dist/brillouin/BrillouinZone.svelte +75 -85
- package/dist/brillouin/BrillouinZone.svelte.d.ts +5 -7
- package/dist/brillouin/BrillouinZoneControls.svelte +3 -6
- package/dist/brillouin/BrillouinZoneExportPane.svelte +18 -14
- package/dist/brillouin/BrillouinZoneInfoPane.svelte +6 -10
- package/dist/brillouin/BrillouinZoneScene.svelte +26 -39
- package/dist/brillouin/BrillouinZoneScene.svelte.d.ts +1 -1
- package/dist/chempot-diagram/ChemPotDiagram.svelte +33 -38
- package/dist/chempot-diagram/ChemPotDiagram2D.svelte +62 -74
- package/dist/chempot-diagram/ChemPotDiagram2D.svelte.d.ts +1 -1
- package/dist/chempot-diagram/ChemPotDiagram3D.svelte +511 -547
- package/dist/chempot-diagram/ChemPotDiagram3D.svelte.d.ts +1 -1
- package/dist/chempot-diagram/async-compute.svelte.js +1 -1
- package/dist/chempot-diagram/controls-state.svelte.js +1 -1
- package/dist/colors/index.d.ts +0 -4
- package/dist/colors/index.js +19 -20
- package/dist/composition/BarChart.svelte +37 -31
- package/dist/composition/BubbleChart.svelte +17 -17
- package/dist/composition/Composition.svelte +7 -11
- package/dist/composition/Formula.svelte +18 -25
- package/dist/composition/FormulaFilter.svelte +92 -95
- package/dist/composition/PieChart.svelte +55 -41
- package/dist/composition/format.js +1 -1
- package/dist/composition/index.d.ts +2 -0
- package/dist/composition/index.js +14 -0
- package/dist/composition/parse.d.ts +2 -2
- package/dist/composition/parse.js +11 -10
- package/dist/constants.js +11 -9
- package/dist/convex-hull/ConvexHull.svelte +12 -15
- package/dist/convex-hull/ConvexHull.svelte.d.ts +1 -1
- package/dist/convex-hull/ConvexHull2D.svelte +93 -92
- package/dist/convex-hull/ConvexHull2D.svelte.d.ts +1 -1
- package/dist/convex-hull/ConvexHull3D.svelte +109 -140
- package/dist/convex-hull/ConvexHull3D.svelte.d.ts +1 -1
- package/dist/convex-hull/ConvexHull4D.svelte +75 -94
- package/dist/convex-hull/ConvexHull4D.svelte.d.ts +1 -1
- package/dist/convex-hull/ConvexHullChrome.svelte +36 -40
- package/dist/convex-hull/ConvexHullControls.svelte +46 -48
- package/dist/convex-hull/ConvexHullStats.svelte +193 -195
- package/dist/convex-hull/ConvexHullTooltip.svelte +5 -12
- package/dist/convex-hull/GasPressureControls.svelte +5 -12
- package/dist/convex-hull/StructurePopup.svelte +17 -21
- package/dist/convex-hull/StructurePopup.svelte.d.ts +2 -0
- package/dist/convex-hull/TemperatureSlider.svelte +4 -10
- package/dist/convex-hull/canvas-interactions.svelte.js +2 -1
- package/dist/convex-hull/helpers.d.ts +8 -10
- package/dist/convex-hull/helpers.js +36 -36
- package/dist/convex-hull/hull-state.svelte.d.ts +1 -1
- package/dist/convex-hull/thermodynamics.js +18 -17
- package/dist/coordination/CoordinationBarPlot.svelte +38 -33
- package/dist/coordination/CoordinationBarPlot.svelte.d.ts +1 -1
- package/dist/coordination/calc-coordination.d.ts +1 -1
- package/dist/coordination/calc-coordination.js +28 -25
- package/dist/element/BohrAtom.svelte +5 -8
- package/dist/element/ElementHeading.svelte +4 -1
- package/dist/element/ElementPhoto.svelte +11 -9
- package/dist/element/ElementStats.svelte +12 -10
- package/dist/element/ElementTile.svelte +24 -29
- package/dist/element/Nucleus.svelte +4 -2
- package/dist/element/data.d.ts +1 -2
- package/dist/element/helpers.d.ts +4 -0
- package/dist/element/helpers.js +18 -0
- package/dist/element/index.d.ts +1 -4
- package/dist/element/index.js +3 -18
- package/dist/feedback/DragOverlay.svelte +5 -5
- package/dist/feedback/DragOverlay.svelte.d.ts +2 -2
- package/dist/feedback/StatusMessage.svelte +7 -4
- package/dist/fermi-surface/FermiSlice.svelte +21 -18
- package/dist/fermi-surface/FermiSurface.svelte +14 -22
- package/dist/fermi-surface/FermiSurface.svelte.d.ts +5 -7
- package/dist/fermi-surface/FermiSurfaceControls.svelte +6 -20
- package/dist/fermi-surface/FermiSurfaceControls.svelte.d.ts +1 -1
- package/dist/fermi-surface/FermiSurfaceScene.svelte +37 -64
- package/dist/fermi-surface/FermiSurfaceScene.svelte.d.ts +1 -1
- package/dist/fermi-surface/FermiSurfaceTooltip.svelte +9 -6
- package/dist/fermi-surface/compute.js +3 -3
- package/dist/fermi-surface/parse.js +22 -24
- package/dist/heatmap-matrix/HeatmapMatrix.svelte +109 -148
- package/dist/heatmap-matrix/HeatmapMatrix.svelte.d.ts +2 -2
- package/dist/heatmap-matrix/HeatmapMatrixControls.svelte +9 -7
- package/dist/heatmap-matrix/HeatmapMatrixControls.svelte.d.ts +1 -1
- package/dist/heatmap-matrix/index.d.ts +5 -0
- package/dist/icons.d.ts +4 -0
- package/dist/icons.js +4 -0
- package/dist/io/ExportPane.svelte +10 -6
- package/dist/io/decompress.d.ts +2 -1
- package/dist/io/decompress.js +22 -35
- package/dist/io/export.d.ts +4 -0
- package/dist/io/export.js +5 -1
- package/dist/io/fetch.d.ts +0 -3
- package/dist/io/fetch.js +0 -11
- package/dist/io/index.d.ts +0 -1
- package/dist/io/index.js +2 -9
- package/dist/io/is-binary.d.ts +9 -0
- package/dist/io/is-binary.js +45 -1
- package/dist/io/url-drop.js +13 -25
- package/dist/isosurface/Isosurface.svelte +17 -23
- package/dist/isosurface/IsosurfaceControls.svelte +37 -42
- package/dist/isosurface/parse-vaspwave.d.ts +3 -0
- package/dist/isosurface/parse-vaspwave.js +138 -0
- package/dist/isosurface/parse.js +6 -6
- package/dist/labels.d.ts +6 -2
- package/dist/labels.js +43 -13
- package/dist/layout/FullscreenButton.svelte +2 -1
- package/dist/layout/FullscreenToggle.svelte +10 -4
- package/dist/layout/InfoCard.svelte +7 -18
- package/dist/layout/InfoTag.svelte +1 -3
- package/dist/layout/NumberRangeInput.svelte +46 -0
- package/dist/layout/NumberRangeInput.svelte.d.ts +12 -0
- package/dist/layout/PropertyFilter.svelte +2 -6
- package/dist/layout/SettingsSection.svelte +21 -17
- package/dist/layout/SubpageGrid.svelte +3 -1
- package/dist/layout/ViewerChrome.svelte +9 -10
- package/dist/layout/ViewerChrome.svelte.d.ts +2 -1
- package/dist/layout/fullscreen.js +3 -5
- package/dist/layout/fullscreen.svelte.js +1 -2
- package/dist/layout/index.d.ts +1 -0
- package/dist/layout/index.js +1 -0
- package/dist/layout/json-tree/JsonNode.svelte +8 -11
- package/dist/layout/json-tree/JsonTree.svelte +53 -77
- package/dist/layout/json-tree/JsonValue.svelte +7 -15
- package/dist/layout/json-tree/utils.js +14 -23
- package/dist/math.d.ts +2 -0
- package/dist/math.js +19 -0
- package/dist/overlays/ContextMenu.svelte +4 -2
- package/dist/overlays/CopyButton.svelte +11 -5
- package/dist/overlays/DragControlTab.svelte +6 -1
- package/dist/overlays/DraggablePane.svelte +81 -26
- package/dist/overlays/DraggablePane.svelte.d.ts +1 -0
- package/dist/overlays/GlassChip.svelte +30 -0
- package/dist/overlays/GlassChip.svelte.d.ts +8 -0
- package/dist/overlays/InfoPaneCards.svelte +11 -23
- package/dist/overlays/index.d.ts +7 -0
- package/dist/overlays/index.js +26 -0
- package/dist/overlays/portal.d.ts +2 -0
- package/dist/overlays/portal.js +14 -0
- package/dist/periodic-table/PeriodicTable.svelte +113 -145
- package/dist/periodic-table/PeriodicTable.svelte.d.ts +5 -3
- package/dist/periodic-table/PeriodicTableControls.svelte +11 -63
- package/dist/periodic-table/TableInset.svelte +9 -4
- package/dist/phase-diagram/IsobaricBinaryPhaseDiagram.svelte +50 -71
- package/dist/phase-diagram/IsobaricBinaryPhaseDiagram.svelte.d.ts +6 -8
- package/dist/phase-diagram/PhaseDiagramControls.svelte +70 -94
- package/dist/phase-diagram/PhaseDiagramControls.svelte.d.ts +1 -1
- package/dist/phase-diagram/PhaseDiagramEditorPane.svelte +2 -1
- package/dist/phase-diagram/PhaseDiagramExportPane.svelte +12 -12
- package/dist/phase-diagram/PhaseDiagramTooltip.svelte +54 -58
- package/dist/phase-diagram/TdbInfoPanel.svelte +21 -15
- package/dist/phase-diagram/build-diagram.js +3 -3
- package/dist/phase-diagram/diagram-input.d.ts +1 -2
- package/dist/phase-diagram/parse.js +15 -15
- package/dist/phase-diagram/svg-to-diagram.js +21 -15
- package/dist/phase-diagram/utils.js +2 -3
- package/dist/plot/bar/BarPlot.svelte +430 -391
- package/dist/plot/bar/BarPlot.svelte.d.ts +2 -0
- package/dist/plot/bar/BarPlotControls.svelte +1 -3
- package/dist/plot/bar/BarPlotControls.svelte.d.ts +4 -6
- package/dist/plot/bar/SpacegroupBarPlot.svelte +29 -36
- package/dist/plot/bar/data.d.ts +5 -4
- package/dist/plot/bar/data.js +2 -1
- package/dist/plot/box/BoxPlot.svelte +301 -209
- package/dist/plot/box/BoxPlot.svelte.d.ts +2 -0
- package/dist/plot/box/Violin.svelte.d.ts +1 -0
- package/dist/plot/box/box-plot.js +1 -1
- package/dist/plot/core/auto-place.js +1 -1
- package/dist/plot/core/axis-utils.d.ts +12 -7
- package/dist/plot/core/axis-utils.js +48 -48
- package/dist/plot/core/components/AxisLabel.svelte +82 -20
- package/dist/plot/core/components/AxisLabel.svelte.d.ts +1 -0
- package/dist/plot/core/components/ColorBar.svelte +101 -106
- package/dist/plot/core/components/ColorScaleSelect.svelte +1 -1
- package/dist/plot/core/components/FillArea.svelte +10 -17
- package/dist/plot/core/components/HierarchyControls.svelte +249 -0
- package/dist/plot/{sunburst/SunburstControls.svelte.d.ts → core/components/HierarchyControls.svelte.d.ts} +12 -8
- package/dist/plot/core/components/InteractiveAxisLabel.svelte +1 -1
- package/dist/plot/core/components/InteractiveAxisLabel.svelte.d.ts +1 -1
- package/dist/plot/core/components/Line.svelte +18 -9
- package/dist/plot/core/components/Line.svelte.d.ts +2 -0
- package/dist/plot/core/components/PlotAxis.svelte +40 -17
- package/dist/plot/core/components/PlotControls.svelte +65 -41
- package/dist/plot/core/components/PlotLegend.svelte +31 -35
- package/dist/plot/core/components/PlotMarginals.svelte +616 -0
- package/dist/plot/core/components/PlotMarginals.svelte.d.ts +15 -0
- package/dist/plot/core/components/PlotTooltip.svelte +1 -1
- package/dist/plot/core/components/PortalSelect.svelte +4 -8
- package/dist/plot/core/components/ReferenceLine.svelte +27 -24
- package/dist/plot/core/components/ReferenceLine3D.svelte +54 -57
- package/dist/plot/core/components/ReferencePlane.svelte +7 -8
- package/dist/plot/core/components/ZeroLines.svelte +4 -8
- package/dist/plot/core/components/ZoomRect.svelte +1 -2
- package/dist/plot/core/components/index.d.ts +1 -0
- package/dist/plot/core/components/index.js +1 -0
- package/dist/plot/core/data-cleaning-signal.d.ts +46 -0
- package/dist/plot/core/data-cleaning-signal.js +467 -0
- package/dist/plot/core/data-cleaning.d.ts +2 -42
- package/dist/plot/core/data-cleaning.js +27 -474
- package/dist/plot/core/data-transform.js +9 -5
- package/dist/plot/core/fill-utils.d.ts +3 -1
- package/dist/plot/core/fill-utils.js +28 -6
- package/dist/plot/core/index.d.ts +1 -0
- package/dist/plot/core/index.js +1 -0
- package/dist/plot/core/interactions.js +0 -2
- package/dist/plot/core/layout.d.ts +3 -1
- package/dist/plot/core/layout.js +22 -13
- package/dist/plot/core/marginals.d.ts +170 -0
- package/dist/plot/core/marginals.js +436 -0
- package/dist/plot/core/reference-line.js +1 -1
- package/dist/plot/core/scales.d.ts +23 -0
- package/dist/plot/core/scales.js +39 -13
- package/dist/plot/core/types/fills.d.ts +101 -0
- package/dist/plot/core/types/fills.js +15 -0
- package/dist/plot/core/types/plot-3d.d.ts +87 -0
- package/dist/plot/core/types/plot-3d.js +4 -0
- package/dist/plot/core/types/reference-lines.d.ts +140 -0
- package/dist/plot/core/types/reference-lines.js +9 -0
- package/dist/plot/core/types.d.ts +29 -324
- package/dist/plot/core/types.js +23 -20
- package/dist/plot/core/utils/hierarchy-chart.d.ts +51 -0
- package/dist/plot/core/utils/hierarchy-chart.js +179 -0
- package/dist/plot/core/utils/hierarchy-labels.d.ts +20 -0
- package/dist/plot/core/utils/hierarchy-labels.js +99 -0
- package/dist/plot/core/utils/label-placement.js +2 -2
- package/dist/plot/histogram/Histogram.svelte +304 -325
- package/dist/plot/histogram/Histogram.svelte.d.ts +7 -7
- package/dist/plot/histogram/HistogramControls.svelte +30 -28
- package/dist/plot/histogram/histogram.d.ts +31 -0
- package/dist/plot/histogram/histogram.js +70 -0
- package/dist/plot/histogram/index.d.ts +1 -0
- package/dist/plot/histogram/index.js +1 -0
- package/dist/plot/index.d.ts +1 -0
- package/dist/plot/index.js +1 -0
- package/dist/plot/sankey/Sankey.svelte +78 -69
- package/dist/plot/sankey/Sankey.svelte.d.ts +2 -2
- package/dist/plot/sankey/SankeyControls.svelte +22 -16
- package/dist/plot/scatter/BinnedScatterPlot.svelte +263 -109
- package/dist/plot/scatter/BinnedScatterPlot.svelte.d.ts +7 -0
- package/dist/plot/scatter/ElementScatter.svelte +4 -1
- package/dist/plot/scatter/ScatterPlot.svelte +477 -385
- package/dist/plot/scatter/ScatterPlot.svelte.d.ts +2 -0
- package/dist/plot/scatter/ScatterPlotControls.svelte +18 -19
- package/dist/plot/scatter/ScatterPlotControls.svelte.d.ts +1 -1
- package/dist/plot/scatter/ScatterPoint.svelte +16 -9
- package/dist/plot/scatter/binned-scatter-types.d.ts +3 -2
- package/dist/plot/scatter/binned-scatter-types.js +6 -1
- package/dist/plot/scatter/scatter-data.d.ts +1 -1
- package/dist/plot/scatter/scatter-data.js +8 -7
- package/dist/plot/scatter-3d/ScatterPlot3D.svelte +25 -34
- package/dist/plot/scatter-3d/ScatterPlot3D.svelte.d.ts +2 -2
- package/dist/plot/scatter-3d/ScatterPlot3DControls.svelte +8 -5
- package/dist/plot/scatter-3d/ScatterPlot3DScene.svelte +113 -116
- package/dist/plot/scatter-3d/ScatterPlot3DScene.svelte.d.ts +2 -2
- package/dist/plot/scatter-3d/Surface3D.svelte +4 -13
- package/dist/plot/sunburst/Sunburst.svelte +251 -329
- package/dist/plot/sunburst/Sunburst.svelte.d.ts +2 -2
- package/dist/plot/sunburst/index.d.ts +1 -1
- package/dist/plot/sunburst/index.js +2 -1
- package/dist/plot/sunburst/render.d.ts +2 -2
- package/dist/plot/sunburst/render.js +47 -22
- package/dist/plot/sunburst/sunburst.d.ts +5 -1
- package/dist/plot/sunburst/sunburst.js +10 -3
- package/dist/plot/treemap/Treemap.svelte +907 -0
- package/dist/plot/treemap/Treemap.svelte.d.ts +84 -0
- package/dist/plot/treemap/index.d.ts +3 -0
- package/dist/plot/treemap/index.js +4 -0
- package/dist/plot/treemap/treemap.d.ts +26 -0
- package/dist/plot/treemap/treemap.js +99 -0
- package/dist/rdf/RdfPlot.svelte +22 -26
- package/dist/rdf/RdfPlot.svelte.d.ts +1 -1
- package/dist/rdf/calc-rdf.js +4 -8
- package/dist/sanitize.js +1 -1
- package/dist/scene/bind-renderer.svelte.js +14 -6
- package/dist/settings.d.ts +19 -9
- package/dist/settings.js +77 -50
- package/dist/spectral/Bands.svelte +223 -230
- package/dist/spectral/BandsAndDos.svelte +11 -9
- package/dist/spectral/BrillouinBandsDos.svelte +19 -27
- package/dist/spectral/Dos.svelte +70 -73
- package/dist/spectral/helpers.d.ts +3 -3
- package/dist/spectral/helpers.js +25 -35
- package/dist/state.svelte.js +5 -18
- package/dist/structure/Arrow.svelte +5 -18
- package/dist/structure/ArrowInstances.svelte +160 -0
- package/dist/structure/ArrowInstances.svelte.d.ts +16 -0
- package/dist/structure/AtomLegend.svelte +115 -75
- package/dist/structure/AtomLegend.svelte.d.ts +1 -1
- package/dist/structure/Bond.svelte +31 -23
- package/dist/structure/CanvasTooltip.svelte +15 -3
- package/dist/structure/CellSelect.svelte +11 -26
- package/dist/structure/Cylinder.svelte +24 -40
- package/dist/structure/InstancedAtoms.svelte +114 -0
- package/dist/structure/InstancedAtoms.svelte.d.ts +15 -0
- package/dist/structure/Lattice.svelte +85 -149
- package/dist/structure/SiteLabels.svelte +122 -0
- package/dist/structure/SiteLabels.svelte.d.ts +18 -0
- package/dist/structure/Structure.svelte +473 -419
- package/dist/structure/Structure.svelte.d.ts +4 -2
- package/dist/structure/StructureCarousel.svelte +630 -0
- package/dist/structure/StructureCarousel.svelte.d.ts +19 -0
- package/dist/structure/StructureControls.svelte +157 -399
- package/dist/structure/StructureControls.svelte.d.ts +1 -1
- package/dist/structure/StructureExportPane.svelte +17 -21
- package/dist/structure/StructureInfoPane.svelte +72 -66
- package/dist/structure/StructureInfoPane.svelte.d.ts +1 -1
- package/dist/structure/StructureScene.svelte +467 -476
- package/dist/structure/StructureScene.svelte.d.ts +3 -1
- package/dist/structure/StructureViewport.svelte +386 -0
- package/dist/structure/StructureViewport.svelte.d.ts +63 -0
- package/dist/structure/atom-label-placement.d.ts +16 -12
- package/dist/structure/atom-label-placement.js +70 -37
- package/dist/structure/atom-properties.d.ts +2 -0
- package/dist/structure/atom-properties.js +104 -38
- package/dist/structure/bonding.d.ts +10 -3
- package/dist/structure/bonding.js +84 -28
- package/dist/structure/edit-history.d.ts +6 -0
- package/dist/structure/edit-history.js +27 -0
- package/dist/structure/export.d.ts +1 -0
- package/dist/structure/export.js +39 -31
- package/dist/structure/format-detect.d.ts +1 -0
- package/dist/structure/format-detect.js +22 -0
- package/dist/structure/geometry.d.ts +9 -0
- package/dist/structure/geometry.js +27 -0
- package/dist/structure/index.d.ts +16 -1
- package/dist/structure/index.js +13 -2
- package/dist/structure/measure.d.ts +1 -1
- package/dist/structure/measure.js +6 -12
- package/dist/structure/parse.d.ts +2 -1
- package/dist/structure/parse.js +243 -222
- package/dist/structure/partial-occupancy.js +4 -2
- package/dist/structure/pbc.js +78 -98
- package/dist/structure/polyhedra.d.ts +0 -1
- package/dist/structure/polyhedra.js +3 -18
- package/dist/structure/supercell.d.ts +1 -2
- package/dist/structure/supercell.js +7 -13
- package/dist/symmetry/SymmetryElements.svelte +11 -15
- package/dist/symmetry/SymmetryStats.svelte +56 -68
- package/dist/symmetry/WyckoffTable.svelte +5 -24
- package/dist/symmetry/cell-transform.js +1 -0
- package/dist/symmetry/index.d.ts +1 -0
- package/dist/symmetry/index.js +8 -2
- package/dist/symmetry/spacegroups.js +3 -2
- package/dist/table/HeatmapTable.svelte +1102 -365
- package/dist/table/HeatmapTable.svelte.d.ts +12 -2
- package/dist/table/ToggleMenu.svelte +5 -12
- package/dist/table/index.d.ts +21 -6
- package/dist/table/index.js +34 -21
- package/dist/theme/ThemeControl.svelte +16 -8
- package/dist/theme/index.d.ts +1 -5
- package/dist/theme/index.js +4 -10
- package/dist/theme/themes.mjs +14 -7
- package/dist/tooltip/KCoords.svelte +4 -1
- package/dist/tooltip/TooltipContent.svelte +2 -5
- package/dist/trajectory/Trajectory.svelte +515 -308
- package/dist/trajectory/Trajectory.svelte.d.ts +1 -1
- package/dist/trajectory/TrajectoryError.svelte +11 -8
- package/dist/trajectory/TrajectoryExportPane.svelte +14 -31
- package/dist/trajectory/TrajectoryInfoPane.svelte +85 -97
- package/dist/trajectory/extract.js +56 -34
- package/dist/trajectory/format-detect.js +11 -9
- package/dist/trajectory/frame-reader.d.ts +2 -0
- package/dist/trajectory/frame-reader.js +33 -29
- package/dist/trajectory/helpers.d.ts +2 -0
- package/dist/trajectory/helpers.js +18 -7
- package/dist/trajectory/index.d.ts +1 -0
- package/dist/trajectory/index.js +3 -0
- package/dist/trajectory/parse/h5-utils.d.ts +13 -0
- package/dist/trajectory/parse/h5-utils.js +109 -0
- package/dist/trajectory/parse/hdf5.d.ts +1 -1
- package/dist/trajectory/parse/hdf5.js +116 -106
- package/dist/trajectory/parse/index.d.ts +2 -3
- package/dist/trajectory/parse/index.js +17 -20
- package/dist/trajectory/parse/lammps.js +8 -12
- package/dist/trajectory/parse/vasp.js +10 -7
- package/dist/trajectory/parse/vaspout-electronic.d.ts +13 -0
- package/dist/trajectory/parse/vaspout-electronic.js +207 -0
- package/dist/trajectory/parse/vaspout-h5.d.ts +5 -0
- package/dist/trajectory/parse/vaspout-h5.js +284 -0
- package/dist/trajectory/parse/xyz.js +11 -7
- package/dist/trajectory/plotting.d.ts +8 -9
- package/dist/trajectory/plotting.js +99 -27
- package/dist/utils.d.ts +3 -0
- package/dist/utils.js +7 -0
- package/dist/xrd/XrdPlot.svelte +47 -61
- package/dist/xrd/broadening.js +2 -1
- package/dist/xrd/calc-xrd.js +2 -4
- package/dist/xrd/parse.d.ts +0 -1
- package/dist/xrd/parse.js +56 -73
- package/package.json +61 -33
- package/dist/api/mp.d.ts +0 -6
- package/dist/api/mp.js +0 -22
- package/dist/plot/sunburst/SunburstControls.svelte +0 -200
|
@@ -7,8 +7,6 @@ export function get_relative_coords(evt, element = evt.currentTarget) {
|
|
|
7
7
|
if (!(element instanceof Element))
|
|
8
8
|
return null;
|
|
9
9
|
const box = element.getBoundingClientRect();
|
|
10
|
-
if (!box)
|
|
11
|
-
return null;
|
|
12
10
|
return { x: evt.clientX - box.left, y: evt.clientY - box.top };
|
|
13
11
|
}
|
|
14
12
|
// Resolve a delegated event to the integer value of the nearest ancestor's data
|
|
@@ -5,7 +5,8 @@ export type Sides = {
|
|
|
5
5
|
l?: number;
|
|
6
6
|
r?: number;
|
|
7
7
|
};
|
|
8
|
-
export declare const LABEL_GAP_DEFAULT =
|
|
8
|
+
export declare const LABEL_GAP_DEFAULT = 20;
|
|
9
|
+
export declare const DEFAULT_PLOT_PADDING: Required<Sides>;
|
|
9
10
|
export declare function y2_axis_label_x(axis: AxisConfig, width: number, pad_r: number, max_tick_width: number): number;
|
|
10
11
|
export declare const filter_padding: (padding: Partial<Sides> | undefined | null, defaults: Required<Sides>) => Required<Sides>;
|
|
11
12
|
export declare function measure_text_width(text: string, font?: string): number;
|
|
@@ -30,6 +31,7 @@ export interface AutoPaddingConfig {
|
|
|
30
31
|
export declare const measure_max_tick_width: (ticks: (string | number)[], format?: string) => number;
|
|
31
32
|
export declare const TICK_LABEL_HEIGHT = 16;
|
|
32
33
|
export declare const AXIS_LABEL_HEIGHT = 20;
|
|
34
|
+
export declare const AXIS_TITLE_OFFSET: number;
|
|
33
35
|
export declare const calc_auto_padding: ({ padding, default_padding, x2_axis, y_axis, y2_axis, label_gap, }: AutoPaddingConfig) => Required<Sides>;
|
|
34
36
|
export declare function constrain_tooltip_position(cursor_x: number, cursor_y: number, tooltip_width: number, tooltip_height: number, viewport_width: number, viewport_height: number, options?: {
|
|
35
37
|
offset?: number;
|
package/dist/plot/core/layout.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { format_value } from '../../labels';
|
|
2
2
|
import { euclidean_dist } from '../../math';
|
|
3
3
|
// Default gap between tick labels and axis labels
|
|
4
|
-
export const LABEL_GAP_DEFAULT =
|
|
4
|
+
export const LABEL_GAP_DEFAULT = 20;
|
|
5
|
+
// Default plot padding (px) reserved for axis ticks/labels, shared by
|
|
6
|
+
// Histogram/BarPlot/BoxPlot/BinnedScatterPlot (ScatterPlot keeps its own bespoke default)
|
|
7
|
+
export const DEFAULT_PLOT_PADDING = { t: 20, b: 60, l: 60, r: 20 };
|
|
5
8
|
// X position for a right-side (y2) axis label: past the plot edge plus tick shift and
|
|
6
9
|
// measured tick-label width (both zero when tick labels render inside the plot)
|
|
7
10
|
export function y2_axis_label_x(axis, width, pad_r, max_tick_width) {
|
|
@@ -56,22 +59,28 @@ export const measure_max_tick_width = (ticks, format = ``) => ticks.length === 0
|
|
|
56
59
|
export const TICK_LABEL_HEIGHT = 16;
|
|
57
60
|
// Estimated height of an axis label (font-size ~14px + margin)
|
|
58
61
|
export const AXIS_LABEL_HEIGHT = 20;
|
|
62
|
+
// Distance from an x/x2 axis baseline to the title center.
|
|
63
|
+
export const AXIS_TITLE_OFFSET = TICK_LABEL_HEIGHT + LABEL_GAP_DEFAULT;
|
|
59
64
|
export const calc_auto_padding = ({ padding, default_padding, x2_axis = {}, y_axis = {}, y2_axis = {}, label_gap = LABEL_GAP_DEFAULT, }) => {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
+
// Padding for a vertical-axis side (y/y2): when ticks render, reserve widest tick label + gap +
|
|
66
|
+
// the rotated axis-title width (mirrors the `t` branch's AXIS_LABEL_HEIGHT) so a wide tick label
|
|
67
|
+
// can't overlap the title. With no tick labels (e.g. no y2 series) reserve nothing extra.
|
|
68
|
+
const side_pad = (axis, default_side) => {
|
|
69
|
+
const ticks = axis.tick_values ?? [];
|
|
70
|
+
if (ticks.length === 0)
|
|
71
|
+
return default_side;
|
|
72
|
+
return Math.max(default_side, measure_max_tick_width(ticks, axis.format ?? ``) +
|
|
73
|
+
label_gap +
|
|
74
|
+
(axis.label ? AXIS_LABEL_HEIGHT : 0));
|
|
75
|
+
};
|
|
65
76
|
return {
|
|
66
77
|
t: padding.t ??
|
|
67
|
-
(
|
|
78
|
+
((x2_axis.tick_values ?? []).length > 0
|
|
68
79
|
? Math.max(default_padding.t, TICK_LABEL_HEIGHT + label_gap + (x2_axis.label ? AXIS_LABEL_HEIGHT : 0))
|
|
69
80
|
: default_padding.t),
|
|
70
81
|
b: padding.b ?? default_padding.b,
|
|
71
|
-
l: padding.l ??
|
|
72
|
-
|
|
73
|
-
r: padding.r ??
|
|
74
|
-
Math.max(default_padding.r, measure_max_tick_width(y2_ticks, y2_format) + label_gap),
|
|
82
|
+
l: padding.l ?? side_pad(y_axis, default_padding.l),
|
|
83
|
+
r: padding.r ?? side_pad(y2_axis, default_padding.r),
|
|
75
84
|
};
|
|
76
85
|
};
|
|
77
86
|
// Constrain tooltip position within bounds, flipping to opposite side if overflow
|
|
@@ -216,9 +225,9 @@ export function compute_element_placement(config) {
|
|
|
216
225
|
? (effective_y_max - effective_y_min) / (grid_resolution - 1)
|
|
217
226
|
: 0;
|
|
218
227
|
// Precompute plot corners (constant across all candidates)
|
|
219
|
-
const plot_left =
|
|
228
|
+
const plot_left = valid_x_min;
|
|
220
229
|
const plot_right = plot_bounds.x + plot_bounds.width - axis_clearance;
|
|
221
|
-
const plot_top =
|
|
230
|
+
const plot_top = valid_y_min;
|
|
222
231
|
const plot_bottom = plot_bounds.y + plot_bounds.height - axis_clearance;
|
|
223
232
|
const max_corner_dist = euclidean_dist([plot_left, plot_top], [plot_right, plot_bottom]);
|
|
224
233
|
for (let grid_x = 0; grid_x < grid_resolution; grid_x++) {
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import type { Vec2 } from '../../math';
|
|
2
|
+
import type { Rect, Sides } from './layout';
|
|
3
|
+
import type { LineCurve, ScaleType } from './types';
|
|
4
|
+
import type { Snippet } from 'svelte';
|
|
5
|
+
export type MarginalSide = `top` | `bottom` | `left` | `right`;
|
|
6
|
+
export type MarginalType = `histogram` | `kde` | `cdf` | `rug`;
|
|
7
|
+
export type MarginalPlacement = `auto` | `flush` | `outer`;
|
|
8
|
+
export type MarginalNormalize = `count` | `density` | `probability`;
|
|
9
|
+
export type MarginalAxisBinding = `x1` | `x2` | `y1` | `y2`;
|
|
10
|
+
export declare const MARGINAL_SIDES: readonly ["top", "bottom", "left", "right"];
|
|
11
|
+
export type MarginalCurve = {
|
|
12
|
+
kind: `bars`;
|
|
13
|
+
bins: {
|
|
14
|
+
pos0: number;
|
|
15
|
+
pos1: number;
|
|
16
|
+
value: number;
|
|
17
|
+
}[];
|
|
18
|
+
max: number;
|
|
19
|
+
} | {
|
|
20
|
+
kind: `line`;
|
|
21
|
+
points: {
|
|
22
|
+
pos: number;
|
|
23
|
+
value: number;
|
|
24
|
+
}[];
|
|
25
|
+
max: number;
|
|
26
|
+
} | {
|
|
27
|
+
kind: `rug`;
|
|
28
|
+
positions: number[];
|
|
29
|
+
};
|
|
30
|
+
export interface MarginalComputeContext {
|
|
31
|
+
config: ResolvedMarginalConfig;
|
|
32
|
+
side: MarginalSide;
|
|
33
|
+
positional_range: Vec2;
|
|
34
|
+
scale_type: ScaleType;
|
|
35
|
+
}
|
|
36
|
+
export interface MarginalConfig {
|
|
37
|
+
type?: MarginalType;
|
|
38
|
+
size?: number;
|
|
39
|
+
gap?: number;
|
|
40
|
+
placement?: MarginalPlacement;
|
|
41
|
+
axis?: MarginalAxisBinding;
|
|
42
|
+
bins?: number;
|
|
43
|
+
bandwidth?: number | `silverman` | `scott`;
|
|
44
|
+
normalize?: MarginalNormalize;
|
|
45
|
+
per_series?: boolean;
|
|
46
|
+
color?: string;
|
|
47
|
+
fill?: string;
|
|
48
|
+
fill_opacity?: number;
|
|
49
|
+
stroke?: string;
|
|
50
|
+
stroke_width?: number;
|
|
51
|
+
opacity?: number;
|
|
52
|
+
curve?: LineCurve;
|
|
53
|
+
value_range?: Vec2;
|
|
54
|
+
value_axis?: boolean;
|
|
55
|
+
label?: string;
|
|
56
|
+
data?: readonly number[] | ((ctx: MarginalComputeContext) => readonly number[]);
|
|
57
|
+
reduce?: (values: number[], weights: number[] | undefined, ctx: MarginalComputeContext) => MarginalCurve;
|
|
58
|
+
snippet?: Snippet<[MarginalRenderContext]>;
|
|
59
|
+
hover?: boolean;
|
|
60
|
+
tooltip?: Snippet<[MarginalHover]>;
|
|
61
|
+
class?: string;
|
|
62
|
+
style?: string;
|
|
63
|
+
}
|
|
64
|
+
export type ResolvedMarginalConfig = MarginalConfig & {
|
|
65
|
+
type: MarginalType;
|
|
66
|
+
size: number;
|
|
67
|
+
gap: number;
|
|
68
|
+
placement: MarginalPlacement;
|
|
69
|
+
per_series: boolean;
|
|
70
|
+
bins: number;
|
|
71
|
+
bandwidth: number | `silverman` | `scott`;
|
|
72
|
+
stroke_width: number;
|
|
73
|
+
opacity: number;
|
|
74
|
+
value_axis: boolean;
|
|
75
|
+
};
|
|
76
|
+
export type MarginalSideInput = boolean | MarginalType | MarginalConfig;
|
|
77
|
+
export type MarginalsProp = boolean | MarginalType | Partial<Record<MarginalSide, MarginalSideInput>>;
|
|
78
|
+
export type ResolvedMarginals = Record<MarginalSide, ResolvedMarginalConfig | null>;
|
|
79
|
+
export interface MarginalSeriesInput {
|
|
80
|
+
x?: ArrayLike<number>;
|
|
81
|
+
y?: ArrayLike<number>;
|
|
82
|
+
weight?: ArrayLike<number>;
|
|
83
|
+
color: string;
|
|
84
|
+
label?: string;
|
|
85
|
+
visible?: boolean;
|
|
86
|
+
x_axis?: `x1` | `x2`;
|
|
87
|
+
y_axis?: `y1` | `y2`;
|
|
88
|
+
}
|
|
89
|
+
export interface MarginalSeriesCurve {
|
|
90
|
+
series_idx: number;
|
|
91
|
+
color: string;
|
|
92
|
+
label?: string;
|
|
93
|
+
curve: MarginalCurve;
|
|
94
|
+
}
|
|
95
|
+
export type ScaleFn = (value: number) => number;
|
|
96
|
+
export interface MarginalAxis {
|
|
97
|
+
scale: ScaleFn;
|
|
98
|
+
range: Vec2;
|
|
99
|
+
scale_type?: ScaleType;
|
|
100
|
+
format?: string;
|
|
101
|
+
tick_label?: (value: number) => string | undefined;
|
|
102
|
+
label?: string;
|
|
103
|
+
}
|
|
104
|
+
export type MarginalAxes = {
|
|
105
|
+
x1: MarginalAxis;
|
|
106
|
+
x2?: MarginalAxis;
|
|
107
|
+
y1: MarginalAxis;
|
|
108
|
+
y2?: MarginalAxis;
|
|
109
|
+
};
|
|
110
|
+
export declare const marginal_axis: (scale: ScaleFn, range: Vec2, axis: {
|
|
111
|
+
scale_type?: ScaleType;
|
|
112
|
+
format?: string;
|
|
113
|
+
label?: string;
|
|
114
|
+
}, tick_label?: (value: number) => string | undefined) => MarginalAxis;
|
|
115
|
+
export interface MarginalRenderContext extends MarginalComputeContext {
|
|
116
|
+
rect: Rect;
|
|
117
|
+
positional_scale: ScaleFn;
|
|
118
|
+
value_scale: ScaleFn;
|
|
119
|
+
baseline: number;
|
|
120
|
+
curves: MarginalSeriesCurve[];
|
|
121
|
+
series: MarginalSeriesInput[];
|
|
122
|
+
format?: string;
|
|
123
|
+
tick_label?: (value: number) => string | undefined;
|
|
124
|
+
axis_title?: string;
|
|
125
|
+
}
|
|
126
|
+
export declare const MARGINAL_HIT_TOLERANCE_PX = 10;
|
|
127
|
+
export interface MarginalHover {
|
|
128
|
+
side: MarginalSide;
|
|
129
|
+
x: number;
|
|
130
|
+
y: number;
|
|
131
|
+
color: string;
|
|
132
|
+
label?: string;
|
|
133
|
+
kind: MarginalCurve[`kind`];
|
|
134
|
+
pos: number;
|
|
135
|
+
pos0?: number;
|
|
136
|
+
pos1?: number;
|
|
137
|
+
value?: number;
|
|
138
|
+
config: ResolvedMarginalConfig;
|
|
139
|
+
scale_type: ScaleType;
|
|
140
|
+
format?: string;
|
|
141
|
+
pos_label?: string;
|
|
142
|
+
axis_title?: string;
|
|
143
|
+
}
|
|
144
|
+
export declare function marginal_hit(ctx: MarginalRenderContext, px: number, py: number): MarginalHover | null;
|
|
145
|
+
export declare const MARGINAL_DEFAULTS: {
|
|
146
|
+
type: MarginalType;
|
|
147
|
+
size: number;
|
|
148
|
+
gap: number;
|
|
149
|
+
placement: MarginalPlacement;
|
|
150
|
+
per_series: boolean;
|
|
151
|
+
bins: number;
|
|
152
|
+
bandwidth: "silverman";
|
|
153
|
+
stroke_width: number;
|
|
154
|
+
opacity: number;
|
|
155
|
+
value_axis: boolean;
|
|
156
|
+
};
|
|
157
|
+
export declare function normalize_marginals(prop: MarginalsProp | undefined, default_sides?: Partial<Record<MarginalSide, MarginalSideInput>>): ResolvedMarginals;
|
|
158
|
+
export declare function reserve_marginal_pad(resolved: ResolvedMarginals): Required<Sides>;
|
|
159
|
+
export declare const add_sides: (a: Required<Sides>, b: Required<Sides>) => Required<Sides>;
|
|
160
|
+
export declare const default_axis_for_side: (side: MarginalSide) => MarginalAxisBinding;
|
|
161
|
+
export declare const marginal_axis_presence: (top: boolean, right: boolean) => Record<MarginalSide, boolean>;
|
|
162
|
+
export declare function marginal_strip_rect(side: MarginalSide, pad: Required<Sides>, width: number, height: number, config: ResolvedMarginalConfig, has_axis: boolean): Rect;
|
|
163
|
+
export declare function marginal_value_scale(side: MarginalSide, rect: Rect, domain: Vec2): {
|
|
164
|
+
scale: (value: number) => number;
|
|
165
|
+
baseline: number;
|
|
166
|
+
};
|
|
167
|
+
export declare function compute_marginal_curve(positions: ArrayLike<number>, weights: ArrayLike<number> | undefined, config: ResolvedMarginalConfig, positional_range: Vec2, scale_type: ScaleType): MarginalCurve;
|
|
168
|
+
export declare const curves_max: (curves: MarginalCurve[]) => number;
|
|
169
|
+
export declare const default_marginal_label: (config: ResolvedMarginalConfig) => string;
|
|
170
|
+
export declare const marginal_value_format: (config: ResolvedMarginalConfig) => string;
|