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
|
@@ -61,9 +61,8 @@
|
|
|
61
61
|
const crystal_sys = spg.spacegroup_to_crystal_sys(sym_data.number)
|
|
62
62
|
const lattice_sys = spg.spacegroup_num_to_lattice_system(sym_data.number)
|
|
63
63
|
if (!crystal_sys) return `?`
|
|
64
|
-
const suffix =
|
|
65
|
-
? ` (${lattice_sys} lattice)`
|
|
66
|
-
: ``
|
|
64
|
+
const suffix =
|
|
65
|
+
lattice_sys && lattice_sys !== crystal_sys ? ` (${lattice_sys} lattice)` : ``
|
|
67
66
|
return `${crystal_sys}${suffix}`
|
|
68
67
|
})
|
|
69
68
|
|
|
@@ -89,30 +88,18 @@
|
|
|
89
88
|
})
|
|
90
89
|
|
|
91
90
|
const titles = {
|
|
92
|
-
symprec:
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
pearson_symbol:
|
|
105
|
-
`Pearson symbol. Format: Crystal system + Number of atoms per unit cell. Example: tP2 = tetragonal primitive with 2 atoms`,
|
|
106
|
-
symmetry_operations:
|
|
107
|
-
`Total symmetry operations that map the crystal structure onto itself. Includes rotations, translations, and combinations.`,
|
|
108
|
-
distinct_orbits:
|
|
109
|
-
`Number of unique Wyckoff positions (symmetry-equivalent atomic sites) in the crystal structure.`,
|
|
110
|
-
wyckoff_sequence:
|
|
111
|
-
`Wyckoff sequence: letters of all occupied Wyckoff positions in descending alphabetical order, with superscript counts for letters occupied by multiple orbits. A standard structure-type fingerprint (complements the Pearson symbol).`,
|
|
112
|
-
free_params:
|
|
113
|
-
`Internal degrees of freedom: number of free fractional-coordinate parameters (x, y, z in the ITA representative coordinates) summed over occupied Wyckoff orbits. 0 means all atomic positions are fully fixed by symmetry.`,
|
|
114
|
-
settings:
|
|
115
|
-
`All settings of this space group in the International Tables (origin choices, unique axes, cell choices, hexagonal vs rhombohedral axes). The setting detected for this structure is highlighted.`,
|
|
91
|
+
symprec: `Symmetry precision control in spglib/moyo. Lower values (e.g. 1e-4, the default) are more strict, higher values (e.g. 1e-1) are more tolerant of numerical errors in atomic positions.`,
|
|
92
|
+
algo: `Symmetry detection algorithm: Moyo uses moyo's newer recommended settings, Spglib is useful if you need compatible results to an existing set of spglib-detected symmetries.`,
|
|
93
|
+
space_group: `International Tables Space group number (1-230) - unique identifier for each space group. Higher numbers indicate more symmetries in the crystal.`,
|
|
94
|
+
crystal_system: `Crystal system classification based on the unit cell symmetry. Seven systems: triclinic, monoclinic, orthorhombic, tetragonal, trigonal, hexagonal, and cubic. For trigonal space groups, the lattice system (rhombohedral for R-centered groups, hexagonal otherwise) is shown in parentheses when it differs from the crystal system.`,
|
|
95
|
+
hermann_mauguin: `Hermann-Mauguin symbol describes symmetry operations. Format: Lattice type + Point group symmetry. Example: P4/mmm = Primitive + 4-fold rotation + mirror planes`,
|
|
96
|
+
hall_number: `Hall number: alternative numbering system for space groups. Useful for crystallographic software compatibility.`,
|
|
97
|
+
pearson_symbol: `Pearson symbol. Format: Crystal system + Number of atoms per unit cell. Example: tP2 = tetragonal primitive with 2 atoms`,
|
|
98
|
+
symmetry_operations: `Total symmetry operations that map the crystal structure onto itself. Includes rotations, translations, and combinations.`,
|
|
99
|
+
distinct_orbits: `Number of unique Wyckoff positions (symmetry-equivalent atomic sites) in the crystal structure.`,
|
|
100
|
+
wyckoff_sequence: `Wyckoff sequence: letters of all occupied Wyckoff positions in descending alphabetical order, with superscript counts for letters occupied by multiple orbits. A standard structure-type fingerprint (complements the Pearson symbol).`,
|
|
101
|
+
free_params: `Internal degrees of freedom: number of free fractional-coordinate parameters (x, y, z in the ITA representative coordinates) summed over occupied Wyckoff orbits. 0 means all atomic positions are fully fixed by symmetry.`,
|
|
102
|
+
settings: `All settings of this space group in the International Tables (origin choices, unique axes, cell choices, hexagonal vs rhombohedral axes). The setting detected for this structure is highlighted.`,
|
|
116
103
|
translations: `Number of translations in the crystal structure.`,
|
|
117
104
|
rotations: `Number of rotations in the crystal structure.`,
|
|
118
105
|
roto_translations: `Number of roto-translations in the crystal structure.`,
|
|
@@ -128,7 +115,7 @@
|
|
|
128
115
|
const symprec_step = $derived(get_step_from_order_of_magnitude(settings.symprec))
|
|
129
116
|
</script>
|
|
130
117
|
|
|
131
|
-
<div {...rest} class=
|
|
118
|
+
<div {...rest} class={[`symmetry-stats`, rest.class]}>
|
|
132
119
|
{#if sym_data}
|
|
133
120
|
{@render header?.({ sym_data, settings })}
|
|
134
121
|
{/if}
|
|
@@ -168,10 +155,10 @@
|
|
|
168
155
|
<select
|
|
169
156
|
value={settings.algo}
|
|
170
157
|
onchange={(evt) =>
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
158
|
+
(settings = {
|
|
159
|
+
...settings,
|
|
160
|
+
algo: evt.currentTarget.value as `Moyo` | `Spglib`,
|
|
161
|
+
})}
|
|
175
162
|
>
|
|
176
163
|
{#each Object.keys(SETTINGS_CONFIG.symmetry.algo.enum ?? {}) as value (value)}
|
|
177
164
|
<option {value}>{value}</option>
|
|
@@ -182,48 +169,50 @@
|
|
|
182
169
|
|
|
183
170
|
{@render children?.({ sym_data, settings })}
|
|
184
171
|
{#if sym_data}
|
|
172
|
+
{@const stat_tiles = [
|
|
173
|
+
{
|
|
174
|
+
label: `Space Group`,
|
|
175
|
+
title: `${tooltips?.space_group} at ${settings.symprec} (using ${settings.algo} algo). ${tooltips?.hermann_mauguin}`,
|
|
176
|
+
value: `${sym_data.number} (${display_hm_symbol})`,
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
label: `Crystal System`,
|
|
180
|
+
title: tooltips?.crystal_system,
|
|
181
|
+
value: crystal_system_label,
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
label: `Hall Number`,
|
|
185
|
+
title: tooltips?.hall_number,
|
|
186
|
+
value: `${sym_data.hall_number}${
|
|
187
|
+
current_setting ? ` (${current_setting.hall_symbol})` : ``
|
|
188
|
+
}`,
|
|
189
|
+
},
|
|
190
|
+
{ label: `Pearson`, title: tooltips?.pearson_symbol, value: sym_data.pearson_symbol },
|
|
191
|
+
{ label: `Wyckoff Positions`, title: tooltips?.distinct_orbits, value: wyckoff_count },
|
|
192
|
+
wyckoff_seq && {
|
|
193
|
+
label: `Wyckoff Sequence`,
|
|
194
|
+
title: tooltips?.wyckoff_sequence,
|
|
195
|
+
value: wyckoff_seq,
|
|
196
|
+
},
|
|
197
|
+
free_params !== null && {
|
|
198
|
+
label: `Free Parameters`,
|
|
199
|
+
title: tooltips?.free_params,
|
|
200
|
+
value: free_params,
|
|
201
|
+
},
|
|
202
|
+
].filter((tile) => typeof tile === `object`)}
|
|
185
203
|
<div class="stats-grid">
|
|
186
|
-
|
|
187
|
-
title=
|
|
188
|
-
|
|
189
|
-
>
|
|
190
|
-
Space Group <strong>{sym_data.number} ({display_hm_symbol})</strong>
|
|
191
|
-
</div>
|
|
192
|
-
<div title={tooltips?.crystal_system} {@attach tooltip()}>
|
|
193
|
-
Crystal System <strong>{crystal_system_label}</strong>
|
|
194
|
-
</div>
|
|
195
|
-
<div title={tooltips?.hall_number} {@attach tooltip()}>
|
|
196
|
-
Hall Number <strong>
|
|
197
|
-
{sym_data.hall_number}{
|
|
198
|
-
current_setting ? ` (${current_setting.hall_symbol})` : ``
|
|
199
|
-
}
|
|
200
|
-
</strong>
|
|
201
|
-
</div>
|
|
202
|
-
<div title={tooltips?.pearson_symbol} {@attach tooltip()}>
|
|
203
|
-
Pearson <strong>{sym_data.pearson_symbol}</strong>
|
|
204
|
-
</div>
|
|
205
|
-
<div title={tooltips?.distinct_orbits} {@attach tooltip()}>
|
|
206
|
-
Wyckoff Positions <strong>{wyckoff_count}</strong>
|
|
207
|
-
</div>
|
|
208
|
-
{#if wyckoff_seq}
|
|
209
|
-
<div title={tooltips?.wyckoff_sequence} {@attach tooltip()}>
|
|
210
|
-
Wyckoff Sequence <strong>{wyckoff_seq}</strong>
|
|
211
|
-
</div>
|
|
212
|
-
{/if}
|
|
213
|
-
{#if free_params !== null}
|
|
214
|
-
<div title={tooltips?.free_params} {@attach tooltip()}>
|
|
215
|
-
Free Parameters <strong>{free_params}</strong>
|
|
204
|
+
{#each stat_tiles as tile (tile.label)}
|
|
205
|
+
<div title={tile.title} {@attach tooltip()}>
|
|
206
|
+
{tile.label} <strong>{tile.value}</strong>
|
|
216
207
|
</div>
|
|
217
|
-
{/
|
|
208
|
+
{/each}
|
|
218
209
|
<div
|
|
219
210
|
class="sym-ops-summary"
|
|
220
211
|
title="{sym_ops_counts.translations} translations + {sym_ops_counts.rotations} rotations + {sym_ops_counts.roto_translations} roto-translations"
|
|
221
212
|
{@attach tooltip()}
|
|
222
213
|
>
|
|
223
214
|
Total sym ops: <strong>{sym_data.operations.length}</strong>
|
|
224
|
-
({sym_ops_counts.translations}T + {sym_ops_counts.rotations}R + {
|
|
225
|
-
sym_ops_counts.roto_translations
|
|
226
|
-
}RT)
|
|
215
|
+
({sym_ops_counts.translations}T + {sym_ops_counts.rotations}R + {sym_ops_counts.roto_translations}RT)
|
|
227
216
|
</div>
|
|
228
217
|
</div>
|
|
229
218
|
{#if settings_entries.length > 1}
|
|
@@ -287,8 +276,7 @@
|
|
|
287
276
|
}
|
|
288
277
|
.stats-grid {
|
|
289
278
|
display: var(--sym-stats-display, grid);
|
|
290
|
-
grid-template-columns:
|
|
291
|
-
var(--sym-stats-grid-columns, repeat(auto-fit, minmax(275px, 1fr)));
|
|
279
|
+
grid-template-columns: var(--sym-stats-grid-columns, repeat(auto-fit, minmax(275px, 1fr)));
|
|
292
280
|
gap: var(--sym-stats-grid-gap, 1ex 1em);
|
|
293
281
|
margin-block: var(--sym-stats-grid-margin-block, 1ex);
|
|
294
282
|
align-items: var(--sym-stats-grid-align, start);
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
const occupied_letters = new SvelteSet(rows.map((row) => wyckoff_letter(row.wyckoff)))
|
|
40
40
|
return db_positions
|
|
41
41
|
.filter((pos) => !occupied_letters.has(pos.letter))
|
|
42
|
-
.toSorted(
|
|
43
|
-
pos_1
|
|
44
|
-
|
|
42
|
+
.toSorted(
|
|
43
|
+
(pos_1, pos_2) =>
|
|
44
|
+
pos_1.multiplicity - pos_2.multiplicity || pos_1.letter.localeCompare(pos_2.letter),
|
|
45
45
|
)
|
|
46
46
|
})
|
|
47
47
|
const has_ita_coords = $derived(
|
|
@@ -65,29 +65,10 @@
|
|
|
65
65
|
</script>
|
|
66
66
|
|
|
67
67
|
{#if rows.length > 0 || unoccupied_rows.length > 0}
|
|
68
|
-
<table {...rest} class=
|
|
68
|
+
<table {...rest} class={[`wyckoff-table`, rest.class]}>
|
|
69
69
|
<thead>
|
|
70
70
|
<tr>
|
|
71
|
-
{#each [
|
|
72
|
-
[`Wyckoff`, `Wyckoff position: Multiplicity + Letter`],
|
|
73
|
-
[`Element`, `Chemical element symbol`],
|
|
74
|
-
[`Fractional Coords`, `Fractional coordinates within the unit cell`],
|
|
75
|
-
...(has_ita_coords
|
|
76
|
-
? [[
|
|
77
|
-
`ITA Coords`,
|
|
78
|
-
`Representative coordinates from the International Tables: x/y/z mark free parameters, fractions mark symmetry-fixed coordinates`,
|
|
79
|
-
]]
|
|
80
|
-
: []),
|
|
81
|
-
...(has_site_symmetry
|
|
82
|
-
? [[
|
|
83
|
-
`Site Symm.`,
|
|
84
|
-
`Site symmetry: point group of operations leaving the site invariant`,
|
|
85
|
-
]]
|
|
86
|
-
: []),
|
|
87
|
-
] as
|
|
88
|
-
[col, title]
|
|
89
|
-
(col)
|
|
90
|
-
}
|
|
71
|
+
{#each [[`Wyckoff`, `Wyckoff position: Multiplicity + Letter`], [`Element`, `Chemical element symbol`], [`Fractional Coords`, `Fractional coordinates within the unit cell`], ...(has_ita_coords ? [[`ITA Coords`, `Representative coordinates from the International Tables: x/y/z mark free parameters, fractions mark symmetry-fixed coordinates`]] : []), ...(has_site_symmetry ? [[`Site Symm.`, `Site symmetry: point group of operations leaving the site invariant`]] : [])] as [col, title] (col)}
|
|
91
72
|
<th {title}>{col}</th>
|
|
92
73
|
{/each}
|
|
93
74
|
</tr>
|
package/dist/symmetry/index.d.ts
CHANGED
|
@@ -48,6 +48,7 @@ export declare const map_std_to_orig_site_indices: (std_positions: Vec3[], std_n
|
|
|
48
48
|
}, tol?: number) => number[][];
|
|
49
49
|
export declare function analyze_structure_symmetry(struct_or_mol: AnyStructure, settings: Partial<SymmetrySettings>): Promise<SymmetryDataset>;
|
|
50
50
|
export declare function simplicity_score(vec: number[]): number;
|
|
51
|
+
export declare const wyckoff_multiplicity: (label: string) => number;
|
|
51
52
|
export declare function wyckoff_positions_from_moyo(sym_data: SymmetryDataset | null): WyckoffPos[];
|
|
52
53
|
export declare function apply_symmetry_operations(position: Vec3, operations: MoyoDataset[`operations`]): Vec3[];
|
|
53
54
|
export declare function map_wyckoff_to_all_atoms(wyckoff_positions: WyckoffPos[], displayed_structure: Crystal, orig_structure: Crystal, sym_data: MoyoDataset | null, tolerance?: number): WyckoffPos[];
|
package/dist/symmetry/index.js
CHANGED
|
@@ -238,12 +238,17 @@ function wyckoff_rows_from_input_orbits(sym_data) {
|
|
|
238
238
|
// always index the input cell and analyze_structure_symmetry always attaches input_cell, so
|
|
239
239
|
// the orbit grouping is the single source of truth for any input cell setting.
|
|
240
240
|
// Rows sort by ascending multiplicity, then Wyckoff label.
|
|
241
|
+
// Numeric multiplicity prefix of a Wyckoff label like `4a` (NaN when absent)
|
|
242
|
+
export const wyckoff_multiplicity = (label) => Number(/^\d+/.exec(label)?.[0] ?? NaN);
|
|
241
243
|
export function wyckoff_positions_from_moyo(sym_data) {
|
|
242
244
|
if (!sym_data)
|
|
243
245
|
return [];
|
|
244
246
|
const orbit_rows = wyckoff_rows_from_input_orbits(sym_data);
|
|
245
247
|
return (orbit_rows ?? []).sort((w1, w2) => {
|
|
246
|
-
const [w1_mult, w2_mult] = [
|
|
248
|
+
const [w1_mult, w2_mult] = [
|
|
249
|
+
wyckoff_multiplicity(w1.wyckoff),
|
|
250
|
+
wyckoff_multiplicity(w2.wyckoff),
|
|
251
|
+
];
|
|
247
252
|
if (w1_mult !== w2_mult)
|
|
248
253
|
return w1_mult - w2_mult;
|
|
249
254
|
return w1.wyckoff.localeCompare(w2.wyckoff);
|
|
@@ -312,7 +317,8 @@ class WrappedPositionIndex {
|
|
|
312
317
|
n_cells;
|
|
313
318
|
constructor(positions, tolerance) {
|
|
314
319
|
this.tolerance = tolerance;
|
|
315
|
-
|
|
320
|
+
const inv_tolerance = Math.floor(1 / Math.max(tolerance, 1e-9));
|
|
321
|
+
this.n_cells = Math.min(64, Math.max(1, inv_tolerance));
|
|
316
322
|
this.coords = positions;
|
|
317
323
|
positions.forEach((pos, idx) => {
|
|
318
324
|
const key = this.cell_key(pos, 0, 0, 0);
|
|
@@ -66,8 +66,9 @@ export function normalize_spacegroup(spacegroup) {
|
|
|
66
66
|
const from_symbol = SPACEGROUP_SYMBOL_TO_NUM[spacegroup];
|
|
67
67
|
if (from_symbol !== undefined)
|
|
68
68
|
return from_symbol;
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
// Accept trailing setting qualifiers like `146:R` by parsing the leading integer
|
|
70
|
+
const int_match = /^\s*(?<num>\d+)/.exec(spacegroup);
|
|
71
|
+
return int_match ? normalize_spacegroup(Number(int_match[1])) : null;
|
|
71
72
|
}
|
|
72
73
|
export const SPACEGROUP_SYMBOL_TO_NUM = {
|
|
73
74
|
// Triclinic
|