matterviz 0.3.4 → 0.3.6
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/.vscode/launch.json +13 -0
- package/.vscodeignore +7 -0
- package/dist/assets/STLExporter-BpTH3YHE.js +8 -0
- package/dist/assets/browser-DdDecX_W.js +1 -0
- package/dist/assets/export-qgn-H9y6.js +2 -0
- package/dist/assets/main-DiKYzti2.css +1 -0
- package/dist/assets/moyo_wasm_bg-0ocwg7xY.wasm +0 -0
- package/dist/extension.js +31293 -0
- package/dist/src/lib/FilePicker.svelte +360 -0
- package/dist/src/lib/MillerIndexInput.svelte +66 -0
- package/dist/src/lib/api/mp.ts +26 -0
- package/dist/src/lib/api/optimade.ts +204 -0
- package/dist/src/lib/app.css +247 -0
- package/dist/src/lib/brillouin/BrillouinZone.svelte +549 -0
- package/dist/src/lib/brillouin/BrillouinZoneControls.svelte +144 -0
- package/dist/src/lib/brillouin/BrillouinZoneExportPane.svelte +146 -0
- package/dist/src/lib/brillouin/BrillouinZoneInfoPane.svelte +146 -0
- package/dist/src/lib/brillouin/BrillouinZoneScene.svelte +476 -0
- package/dist/src/lib/brillouin/BrillouinZoneTooltip.svelte +92 -0
- package/dist/src/lib/brillouin/compute.ts +529 -0
- package/dist/src/lib/brillouin/index.ts +8 -0
- package/dist/src/lib/brillouin/types.ts +51 -0
- package/dist/src/lib/chempot-diagram/ChemPotDiagram.svelte +327 -0
- package/dist/src/lib/chempot-diagram/ChemPotDiagram2D.svelte +846 -0
- package/dist/src/lib/chempot-diagram/ChemPotDiagram3D.svelte +3193 -0
- package/dist/src/lib/chempot-diagram/async-compute.svelte.ts +94 -0
- package/dist/src/lib/chempot-diagram/chempot-worker.ts +11 -0
- package/dist/src/lib/chempot-diagram/color.ts +42 -0
- package/dist/src/lib/chempot-diagram/compute.ts +1014 -0
- package/dist/src/lib/chempot-diagram/index.ts +6 -0
- package/dist/src/lib/chempot-diagram/pointer.ts +56 -0
- package/dist/src/lib/chempot-diagram/temperature.ts +77 -0
- package/dist/src/lib/chempot-diagram/types.ts +130 -0
- package/dist/src/lib/colors/index.ts +249 -0
- package/dist/src/lib/composition/BarChart.svelte +297 -0
- package/dist/src/lib/composition/BubbleChart.svelte +218 -0
- package/dist/src/lib/composition/Composition.svelte +165 -0
- package/dist/src/lib/composition/Formula.svelte +268 -0
- package/dist/src/lib/composition/FormulaFilter.svelte +1257 -0
- package/dist/src/lib/composition/PieChart.svelte +323 -0
- package/dist/src/lib/composition/format.ts +155 -0
- package/dist/src/lib/composition/index.ts +37 -0
- package/dist/src/lib/composition/parse.ts +605 -0
- package/dist/src/lib/constants.ts +134 -0
- package/dist/src/lib/controls.ts +42 -0
- package/dist/src/lib/convex-hull/ConvexHull.svelte +157 -0
- package/dist/src/lib/convex-hull/ConvexHull2D.svelte +825 -0
- package/dist/src/lib/convex-hull/ConvexHull3D.svelte +1801 -0
- package/dist/src/lib/convex-hull/ConvexHull4D.svelte +1398 -0
- package/dist/src/lib/convex-hull/ConvexHullControls.svelte +535 -0
- package/dist/src/lib/convex-hull/ConvexHullInfoPane.svelte +125 -0
- package/dist/src/lib/convex-hull/ConvexHullStats.svelte +929 -0
- package/dist/src/lib/convex-hull/ConvexHullTooltip.svelte +131 -0
- package/dist/src/lib/convex-hull/GasPressureControls.svelte +247 -0
- package/dist/src/lib/convex-hull/StructurePopup.svelte +151 -0
- package/dist/src/lib/convex-hull/TemperatureSlider.svelte +140 -0
- package/dist/src/lib/convex-hull/barycentric-coords.ts +246 -0
- package/dist/src/lib/convex-hull/demo-temperature.ts +63 -0
- package/dist/src/lib/convex-hull/gas-thermodynamics.ts +405 -0
- package/dist/src/lib/convex-hull/helpers.ts +932 -0
- package/dist/src/lib/convex-hull/index.ts +202 -0
- package/dist/src/lib/convex-hull/thermodynamics.ts +2192 -0
- package/dist/src/lib/convex-hull/types.ts +267 -0
- package/dist/src/lib/coordination/CoordinationBarPlot.svelte +311 -0
- package/dist/src/lib/coordination/calc-coordination.ts +93 -0
- package/dist/src/lib/coordination/index.ts +9 -0
- package/dist/src/lib/effects.svelte.ts +48 -0
- package/dist/src/lib/element/BohrAtom.svelte +147 -0
- package/dist/src/lib/element/ElementHeading.svelte +26 -0
- package/dist/src/lib/element/ElementPhoto.svelte +57 -0
- package/dist/src/lib/element/ElementStats.svelte +80 -0
- package/dist/src/lib/element/ElementTile.svelte +484 -0
- package/dist/src/lib/element/data.json.gz.d.ts +4 -0
- package/dist/src/lib/element/data.ts +14 -0
- package/dist/src/lib/element/index.ts +8 -0
- package/dist/src/lib/element/types.ts +62 -0
- package/dist/src/lib/feedback/ClickFeedback.svelte +58 -0
- package/dist/src/lib/feedback/DragOverlay.svelte +42 -0
- package/dist/src/lib/feedback/index.ts +4 -0
- package/dist/src/lib/fermi-surface/FermiSlice.svelte +189 -0
- package/dist/src/lib/fermi-surface/FermiSurface.svelte +600 -0
- package/dist/src/lib/fermi-surface/FermiSurfaceControls.svelte +448 -0
- package/dist/src/lib/fermi-surface/FermiSurfaceScene.svelte +794 -0
- package/dist/src/lib/fermi-surface/FermiSurfaceTooltip.svelte +111 -0
- package/dist/src/lib/fermi-surface/compute.ts +728 -0
- package/dist/src/lib/fermi-surface/constants.ts +32 -0
- package/dist/src/lib/fermi-surface/export.ts +64 -0
- package/dist/src/lib/fermi-surface/index.ts +14 -0
- package/dist/src/lib/fermi-surface/marching-cubes.ts +3 -0
- package/dist/src/lib/fermi-surface/parse.ts +574 -0
- package/dist/src/lib/fermi-surface/symmetry.ts +56 -0
- package/dist/src/lib/fermi-surface/types.ts +159 -0
- package/dist/src/lib/heatmap-matrix/HeatmapMatrix.svelte +1545 -0
- package/dist/src/lib/heatmap-matrix/HeatmapMatrixControls.svelte +225 -0
- package/dist/src/lib/heatmap-matrix/index.ts +167 -0
- package/dist/src/lib/heatmap-matrix/shared.ts +7 -0
- package/dist/src/lib/icons.ts +650 -0
- package/dist/src/lib/index.ts +61 -0
- package/dist/src/lib/io/decompress.ts +92 -0
- package/dist/src/lib/io/export.ts +385 -0
- package/dist/src/lib/io/fetch.ts +46 -0
- package/dist/src/lib/io/file-drop.ts +51 -0
- package/dist/src/lib/io/index.ts +7 -0
- package/dist/src/lib/io/is-binary.ts +24 -0
- package/dist/src/lib/io/types.ts +8 -0
- package/dist/src/lib/io/url-drop.ts +141 -0
- package/dist/src/lib/isosurface/Isosurface.svelte +285 -0
- package/dist/src/lib/isosurface/IsosurfaceControls.svelte +277 -0
- package/dist/src/lib/isosurface/index.ts +7 -0
- package/dist/src/lib/isosurface/parse.ts +656 -0
- package/dist/src/lib/isosurface/slice.ts +175 -0
- package/dist/src/lib/isosurface/types.ts +309 -0
- package/dist/src/lib/labels.ts +320 -0
- package/dist/src/lib/layout/FullscreenToggle.svelte +50 -0
- package/dist/src/lib/layout/InfoCard.svelte +120 -0
- package/dist/src/lib/layout/InfoTag.svelte +185 -0
- package/dist/src/lib/layout/PropertyFilter.svelte +246 -0
- package/dist/src/lib/layout/SettingsSection.svelte +148 -0
- package/dist/src/lib/layout/SubpageGrid.svelte +82 -0
- package/dist/src/lib/layout/fullscreen.ts +65 -0
- package/dist/src/lib/layout/index.ts +11 -0
- package/dist/src/lib/layout/json-tree/JsonNode.svelte +548 -0
- package/dist/src/lib/layout/json-tree/JsonTree.svelte +1230 -0
- package/dist/src/lib/layout/json-tree/JsonValue.svelte +334 -0
- package/dist/src/lib/layout/json-tree/index.ts +3 -0
- package/dist/src/lib/layout/json-tree/types.ts +126 -0
- package/dist/src/lib/layout/json-tree/utils.ts +682 -0
- package/dist/src/lib/marching-cubes.ts +614 -0
- package/dist/src/lib/math.ts +1081 -0
- package/dist/src/lib/overlays/ContextMenu.svelte +162 -0
- package/dist/src/lib/overlays/CopyButton.svelte +45 -0
- package/dist/src/lib/overlays/DragControlTab.svelte +98 -0
- package/dist/src/lib/overlays/DraggablePane.svelte +487 -0
- package/dist/src/lib/overlays/InfoPaneCards.svelte +149 -0
- package/dist/src/lib/overlays/index.ts +3 -0
- package/dist/src/lib/periodic-table/PeriodicTable.svelte +469 -0
- package/dist/src/lib/periodic-table/PeriodicTableControls.svelte +557 -0
- package/dist/src/lib/periodic-table/PropertySelect.svelte +37 -0
- package/dist/src/lib/periodic-table/index.ts +12 -0
- package/dist/src/lib/phase-diagram/IsobaricBinaryPhaseDiagram.svelte +1086 -0
- package/dist/src/lib/phase-diagram/PhaseDiagramControls.svelte +444 -0
- package/dist/src/lib/phase-diagram/PhaseDiagramEditorPane.svelte +126 -0
- package/dist/src/lib/phase-diagram/PhaseDiagramExportPane.svelte +184 -0
- package/dist/src/lib/phase-diagram/PhaseDiagramTooltip.svelte +391 -0
- package/dist/src/lib/phase-diagram/TdbInfoPanel.svelte +203 -0
- package/dist/src/lib/phase-diagram/build-diagram.ts +186 -0
- package/dist/src/lib/phase-diagram/colors.ts +58 -0
- package/dist/src/lib/phase-diagram/diagram-input.ts +40 -0
- package/dist/src/lib/phase-diagram/index.ts +13 -0
- package/dist/src/lib/phase-diagram/parse.ts +348 -0
- package/dist/src/lib/phase-diagram/svg-to-diagram.ts +1023 -0
- package/dist/src/lib/phase-diagram/types.ts +144 -0
- package/dist/src/lib/phase-diagram/utils.ts +775 -0
- package/dist/src/lib/plot/AxisLabel.svelte +51 -0
- package/dist/src/lib/plot/BarPlot.svelte +2113 -0
- package/dist/src/lib/plot/BarPlotControls.svelte +66 -0
- package/dist/src/lib/plot/BinnedScatterPlot.svelte +1114 -0
- package/dist/src/lib/plot/ColorBar.svelte +721 -0
- package/dist/src/lib/plot/ColorScaleSelect.svelte +54 -0
- package/dist/src/lib/plot/ElementScatter.svelte +63 -0
- package/dist/src/lib/plot/FillArea.svelte +223 -0
- package/dist/src/lib/plot/Histogram.svelte +1558 -0
- package/dist/src/lib/plot/HistogramControls.svelte +212 -0
- package/dist/src/lib/plot/InteractiveAxisLabel.svelte +96 -0
- package/dist/src/lib/plot/Line.svelte +84 -0
- package/dist/src/lib/plot/PlotAxis.svelte +169 -0
- package/dist/src/lib/plot/PlotControls.svelte +537 -0
- package/dist/src/lib/plot/PlotLegend.svelte +569 -0
- package/dist/src/lib/plot/PlotTooltip.svelte +67 -0
- package/dist/src/lib/plot/PortalSelect.svelte +253 -0
- package/dist/src/lib/plot/ReferenceLine3D.svelte +156 -0
- package/dist/src/lib/plot/ReferencePlane.svelte +175 -0
- package/dist/src/lib/plot/ScatterPlot.svelte +2778 -0
- package/dist/src/lib/plot/ScatterPlot3D.svelte +529 -0
- package/dist/src/lib/plot/ScatterPlot3DControls.svelte +437 -0
- package/dist/src/lib/plot/ScatterPlot3DScene.svelte +912 -0
- package/dist/src/lib/plot/ScatterPlotControls.svelte +306 -0
- package/dist/src/lib/plot/ScatterPoint.svelte +182 -0
- package/dist/src/lib/plot/SpacegroupBarPlot.svelte +293 -0
- package/dist/src/lib/plot/Surface3D.svelte +197 -0
- package/dist/src/lib/plot/ZeroLines.svelte +97 -0
- package/dist/src/lib/plot/ZoomRect.svelte +23 -0
- package/dist/src/lib/plot/adaptive-density.ts +316 -0
- package/dist/src/lib/plot/auto-place.ts +184 -0
- package/dist/src/lib/plot/axis-utils.ts +122 -0
- package/dist/src/lib/plot/binned-scatter-types.ts +83 -0
- package/dist/src/lib/plot/data-cleaning.ts +1069 -0
- package/dist/src/lib/plot/data-transform.ts +69 -0
- package/dist/src/lib/plot/defaults.ts +9 -0
- package/dist/src/lib/plot/fill-utils.ts +494 -0
- package/dist/src/lib/plot/hover-lock.svelte.ts +60 -0
- package/dist/src/lib/plot/index.ts +53 -0
- package/dist/src/lib/plot/interactions.ts +119 -0
- package/dist/src/lib/plot/layout.ts +425 -0
- package/dist/src/lib/plot/reference-line.ts +426 -0
- package/dist/src/lib/plot/scales.ts +654 -0
- package/dist/src/lib/plot/svg.ts +23 -0
- package/dist/src/lib/plot/types.ts +1144 -0
- package/dist/src/lib/plot/utils/label-placement.ts +541 -0
- package/dist/src/lib/plot/utils/series-visibility.ts +140 -0
- package/dist/src/lib/plot/utils.ts +11 -0
- package/dist/src/lib/rdf/RdfPlot.svelte +247 -0
- package/dist/src/lib/rdf/calc-rdf.ts +167 -0
- package/dist/src/lib/rdf/index.ts +27 -0
- package/dist/src/lib/sanitize.ts +126 -0
- package/dist/src/lib/settings.ts +1479 -0
- package/dist/src/lib/spectral/Bands.svelte +1040 -0
- package/dist/src/lib/spectral/BandsAndDos.svelte +134 -0
- package/dist/src/lib/spectral/BrillouinBandsDos.svelte +252 -0
- package/dist/src/lib/spectral/Dos.svelte +697 -0
- package/dist/src/lib/spectral/helpers.ts +1381 -0
- package/dist/src/lib/spectral/index.ts +8 -0
- package/dist/src/lib/spectral/types.ts +112 -0
- package/dist/src/lib/state.svelte.ts +64 -0
- package/dist/src/lib/structure/Arrow.svelte +72 -0
- package/dist/src/lib/structure/AtomLegend.svelte +815 -0
- package/dist/src/lib/structure/Bond.svelte +140 -0
- package/dist/src/lib/structure/CanvasTooltip.svelte +33 -0
- package/dist/src/lib/structure/CellSelect.svelte +349 -0
- package/dist/src/lib/structure/Cylinder.svelte +45 -0
- package/dist/src/lib/structure/Lattice.svelte +196 -0
- package/dist/src/lib/structure/Structure.svelte +2248 -0
- package/dist/src/lib/structure/StructureControls.svelte +1273 -0
- package/dist/src/lib/structure/StructureExportPane.svelte +252 -0
- package/dist/src/lib/structure/StructureInfoPane.svelte +737 -0
- package/dist/src/lib/structure/StructureScene.svelte +2255 -0
- package/dist/src/lib/structure/atom-properties.ts +316 -0
- package/dist/src/lib/structure/bond-order-perception.ts +447 -0
- package/dist/src/lib/structure/bonding.ts +944 -0
- package/dist/src/lib/structure/export.ts +861 -0
- package/dist/src/lib/structure/index.ts +291 -0
- package/dist/src/lib/structure/label-placement.ts +130 -0
- package/dist/src/lib/structure/measure.ts +45 -0
- package/dist/src/lib/structure/parse.ts +1705 -0
- package/dist/src/lib/structure/partial-occupancy.ts +183 -0
- package/dist/src/lib/structure/pbc.ts +164 -0
- package/dist/src/lib/structure/supercell.ts +226 -0
- package/dist/src/lib/structure/validation.ts +11 -0
- package/dist/src/lib/symmetry/SymmetryStats.svelte +226 -0
- package/dist/src/lib/symmetry/WyckoffTable.svelte +120 -0
- package/dist/src/lib/symmetry/cell-transform.ts +118 -0
- package/dist/src/lib/symmetry/index.ts +348 -0
- package/dist/src/lib/symmetry/spacegroups.ts +404 -0
- package/dist/src/lib/table/HeatmapTable.svelte +1833 -0
- package/dist/src/lib/table/ToggleMenu.svelte +385 -0
- package/dist/src/lib/table/index.ts +139 -0
- package/dist/src/lib/theme/ThemeControl.svelte +53 -0
- package/dist/src/lib/theme/index.ts +107 -0
- package/dist/src/lib/theme/themes.mjs +297 -0
- package/dist/src/lib/time.ts +71 -0
- package/dist/src/lib/tooltip/TooltipContent.svelte +58 -0
- package/dist/src/lib/tooltip/index.ts +2 -0
- package/dist/src/lib/tooltip/types.ts +13 -0
- package/dist/src/lib/trajectory/Trajectory.svelte +1545 -0
- package/dist/src/lib/trajectory/TrajectoryError.svelte +128 -0
- package/dist/src/lib/trajectory/TrajectoryExportPane.svelte +357 -0
- package/dist/src/lib/trajectory/TrajectoryInfoPane.svelte +313 -0
- package/dist/src/lib/trajectory/constants.ts +7 -0
- package/dist/src/lib/trajectory/extract.ts +196 -0
- package/dist/src/lib/trajectory/format-detect.ts +96 -0
- package/dist/src/lib/trajectory/frame-reader.ts +456 -0
- package/dist/src/lib/trajectory/helpers.ts +217 -0
- package/dist/src/lib/trajectory/index.ts +218 -0
- package/dist/src/lib/trajectory/parse/ase.ts +109 -0
- package/dist/src/lib/trajectory/parse/hdf5.ts +173 -0
- package/dist/src/lib/trajectory/parse/index.ts +411 -0
- package/dist/src/lib/trajectory/parse/lammps.ts +215 -0
- package/dist/src/lib/trajectory/parse/vasp.ts +102 -0
- package/dist/src/lib/trajectory/parse/xyz.ts +143 -0
- package/dist/src/lib/trajectory/plotting.ts +599 -0
- package/dist/src/lib/trajectory/types.ts +13 -0
- package/dist/src/lib/utils.ts +56 -0
- package/dist/src/lib/xrd/XrdPlot.svelte +615 -0
- package/dist/src/lib/xrd/broadening.ts +130 -0
- package/dist/src/lib/xrd/calc-xrd.ts +397 -0
- package/dist/src/lib/xrd/index.ts +38 -0
- package/dist/src/lib/xrd/parse.ts +858 -0
- package/dist/webview.js +29421 -0
- package/icon.png +0 -0
- package/license +1 -1
- package/matterviz-0.3.2.vsix +0 -0
- package/matterviz-0.3.4.vsix +0 -0
- package/matterviz-0.3.5.vsix +0 -0
- package/package.json +1461 -231
- package/readme.md +171 -98
- package/scripts/sync-config.ts +101 -0
- package/src/declarations.d.ts +2 -0
- package/src/extension.ts +972 -0
- package/src/node-io.ts +65 -0
- package/src/types.ts +17 -0
- package/src/webview/JsonBrowser.svelte +1079 -0
- package/src/webview/PlotPanel.svelte +346 -0
- package/src/webview/detect.ts +444 -0
- package/src/webview/main.ts +764 -0
- package/src/webview/plot-utils.ts +250 -0
- package/test-fixtures/all-viz-types.json.gz +0 -0
- package/test-fixtures/plot-demo-data.json.gz +0 -0
- package/tests/detect.test.ts +604 -0
- package/tests/extension.test.ts +2041 -0
- package/tests/node-io.test.ts +39 -0
- package/tests/plot-utils.test.ts +302 -0
- package/tests/vite-plugin-json-gz.test.ts +114 -0
- package/tests/vscode-mock.ts +18 -0
- package/tests/webview.test.ts +231 -0
- package/tsconfig.json +20 -0
- package/vite-plugin-json-gz.ts +29 -0
- package/vite.config.ts +34 -0
- package/vite.extension.config.ts +34 -0
- package/dist/EmptyState.svelte.d.ts +0 -9
- package/dist/FilePicker.svelte +0 -360
- package/dist/FilePicker.svelte.d.ts +0 -17
- package/dist/Icon.svelte.d.ts +0 -13
- package/dist/MillerIndexInput.svelte +0 -66
- package/dist/MillerIndexInput.svelte.d.ts +0 -7
- package/dist/api/mp.d.ts +0 -6
- package/dist/api/mp.js +0 -22
- package/dist/api/optimade.d.ts +0 -45
- package/dist/api/optimade.js +0 -135
- package/dist/app.css +0 -240
- package/dist/brillouin/BrillouinZone.svelte +0 -543
- package/dist/brillouin/BrillouinZone.svelte.d.ts +0 -83
- package/dist/brillouin/BrillouinZoneControls.svelte +0 -144
- package/dist/brillouin/BrillouinZoneControls.svelte.d.ts +0 -17
- package/dist/brillouin/BrillouinZoneExportPane.svelte +0 -148
- package/dist/brillouin/BrillouinZoneExportPane.svelte.d.ts +0 -15
- package/dist/brillouin/BrillouinZoneInfoPane.svelte +0 -146
- package/dist/brillouin/BrillouinZoneInfoPane.svelte.d.ts +0 -13
- package/dist/brillouin/BrillouinZoneScene.svelte +0 -476
- package/dist/brillouin/BrillouinZoneScene.svelte.d.ts +0 -48
- package/dist/brillouin/BrillouinZoneTooltip.svelte +0 -92
- package/dist/brillouin/BrillouinZoneTooltip.svelte.d.ts +0 -8
- package/dist/brillouin/compute.d.ts +0 -17
- package/dist/brillouin/compute.js +0 -422
- package/dist/brillouin/index.d.ts +0 -8
- package/dist/brillouin/index.js +0 -8
- package/dist/brillouin/types.d.ts +0 -48
- package/dist/brillouin/types.js +0 -1
- package/dist/chempot-diagram/ChemPotDiagram.svelte +0 -327
- package/dist/chempot-diagram/ChemPotDiagram.svelte.d.ts +0 -13
- package/dist/chempot-diagram/ChemPotDiagram2D.svelte +0 -847
- package/dist/chempot-diagram/ChemPotDiagram2D.svelte.d.ts +0 -16
- package/dist/chempot-diagram/ChemPotDiagram3D.svelte +0 -3194
- package/dist/chempot-diagram/ChemPotDiagram3D.svelte.d.ts +0 -16
- package/dist/chempot-diagram/ChemPotScene3D.svelte.d.ts +0 -7
- package/dist/chempot-diagram/async-compute.svelte.d.ts +0 -3
- package/dist/chempot-diagram/async-compute.svelte.js +0 -77
- package/dist/chempot-diagram/chempot-worker.d.ts +0 -1
- package/dist/chempot-diagram/chempot-worker.js +0 -11
- package/dist/chempot-diagram/color.d.ts +0 -10
- package/dist/chempot-diagram/color.js +0 -32
- package/dist/chempot-diagram/compute.d.ts +0 -48
- package/dist/chempot-diagram/compute.js +0 -812
- package/dist/chempot-diagram/index.d.ts +0 -6
- package/dist/chempot-diagram/index.js +0 -6
- package/dist/chempot-diagram/pointer.d.ts +0 -16
- package/dist/chempot-diagram/pointer.js +0 -40
- package/dist/chempot-diagram/temperature.d.ts +0 -15
- package/dist/chempot-diagram/temperature.js +0 -36
- package/dist/chempot-diagram/types.d.ts +0 -86
- package/dist/chempot-diagram/types.js +0 -28
- package/dist/colors/index.d.ts +0 -47
- package/dist/colors/index.js +0 -203
- package/dist/composition/BarChart.svelte +0 -297
- package/dist/composition/BarChart.svelte.d.ts +0 -39
- package/dist/composition/BubbleChart.svelte +0 -218
- package/dist/composition/BubbleChart.svelte.d.ts +0 -28
- package/dist/composition/Composition.svelte +0 -164
- package/dist/composition/Composition.svelte.d.ts +0 -15
- package/dist/composition/Formula.svelte +0 -265
- package/dist/composition/Formula.svelte.d.ts +0 -19
- package/dist/composition/FormulaFilter.svelte +0 -1259
- package/dist/composition/FormulaFilter.svelte.d.ts +0 -51
- package/dist/composition/PieChart.svelte +0 -323
- package/dist/composition/PieChart.svelte.d.ts +0 -37
- package/dist/composition/format.d.ts +0 -15
- package/dist/composition/format.js +0 -109
- package/dist/composition/index.d.ts +0 -20
- package/dist/composition/index.js +0 -14
- package/dist/composition/parse.d.ts +0 -55
- package/dist/composition/parse.js +0 -459
- package/dist/constants.d.ts +0 -29
- package/dist/constants.js +0 -105
- package/dist/controls.d.ts +0 -14
- package/dist/controls.js +0 -30
- package/dist/convex-hull/ConvexHull.svelte +0 -157
- package/dist/convex-hull/ConvexHull.svelte.d.ts +0 -13
- package/dist/convex-hull/ConvexHull2D.svelte +0 -813
- package/dist/convex-hull/ConvexHull2D.svelte.d.ts +0 -11
- package/dist/convex-hull/ConvexHull3D.svelte +0 -1788
- package/dist/convex-hull/ConvexHull3D.svelte.d.ts +0 -8
- package/dist/convex-hull/ConvexHull4D.svelte +0 -1374
- package/dist/convex-hull/ConvexHull4D.svelte.d.ts +0 -8
- package/dist/convex-hull/ConvexHullControls.svelte +0 -546
- package/dist/convex-hull/ConvexHullControls.svelte.d.ts +0 -48
- package/dist/convex-hull/ConvexHullInfoPane.svelte +0 -115
- package/dist/convex-hull/ConvexHullInfoPane.svelte.d.ts +0 -18
- package/dist/convex-hull/ConvexHullStats.svelte +0 -905
- package/dist/convex-hull/ConvexHullStats.svelte.d.ts +0 -15
- package/dist/convex-hull/ConvexHullTooltip.svelte +0 -131
- package/dist/convex-hull/ConvexHullTooltip.svelte.d.ts +0 -33
- package/dist/convex-hull/GasPressureControls.svelte +0 -247
- package/dist/convex-hull/GasPressureControls.svelte.d.ts +0 -11
- package/dist/convex-hull/StructurePopup.svelte +0 -116
- package/dist/convex-hull/StructurePopup.svelte.d.ts +0 -18
- package/dist/convex-hull/TemperatureSlider.svelte +0 -137
- package/dist/convex-hull/TemperatureSlider.svelte.d.ts +0 -8
- package/dist/convex-hull/barycentric-coords.d.ts +0 -18
- package/dist/convex-hull/barycentric-coords.js +0 -182
- package/dist/convex-hull/demo-temperature.d.ts +0 -6
- package/dist/convex-hull/demo-temperature.js +0 -40
- package/dist/convex-hull/gas-thermodynamics.d.ts +0 -16
- package/dist/convex-hull/gas-thermodynamics.js +0 -316
- package/dist/convex-hull/helpers.d.ts +0 -103
- package/dist/convex-hull/helpers.js +0 -671
- package/dist/convex-hull/index.d.ts +0 -118
- package/dist/convex-hull/index.js +0 -57
- package/dist/convex-hull/thermodynamics.d.ts +0 -66
- package/dist/convex-hull/thermodynamics.js +0 -1752
- package/dist/convex-hull/types.d.ts +0 -162
- package/dist/convex-hull/types.js +0 -36
- package/dist/coordination/CoordinationBarPlot.svelte +0 -311
- package/dist/coordination/CoordinationBarPlot.svelte.d.ts +0 -30
- package/dist/coordination/calc-coordination.d.ts +0 -15
- package/dist/coordination/calc-coordination.js +0 -63
- package/dist/coordination/index.d.ts +0 -8
- package/dist/coordination/index.js +0 -7
- package/dist/element/BohrAtom.svelte +0 -149
- package/dist/element/BohrAtom.svelte.d.ts +0 -20
- package/dist/element/ElementHeading.svelte +0 -26
- package/dist/element/ElementHeading.svelte.d.ts +0 -8
- package/dist/element/ElementPhoto.svelte +0 -57
- package/dist/element/ElementPhoto.svelte.d.ts +0 -9
- package/dist/element/ElementStats.svelte +0 -80
- package/dist/element/ElementStats.svelte.d.ts +0 -8
- package/dist/element/ElementTile.svelte +0 -484
- package/dist/element/ElementTile.svelte.d.ts +0 -29
- package/dist/element/Nucleus.svelte.d.ts +0 -17
- package/dist/element/data.d.ts +0 -3
- package/dist/element/data.js +0 -2
- package/dist/element/data.json.gz.d.ts +0 -2
- package/dist/element/index.d.ts +0 -8
- package/dist/element/index.js +0 -8
- package/dist/element/types.d.ts +0 -57
- package/dist/element/types.js +0 -1
- package/dist/feedback/ClickFeedback.svelte +0 -58
- package/dist/feedback/ClickFeedback.svelte.d.ts +0 -12
- package/dist/feedback/DragOverlay.svelte +0 -42
- package/dist/feedback/DragOverlay.svelte.d.ts +0 -7
- package/dist/feedback/Spinner.svelte.d.ts +0 -7
- package/dist/feedback/StatusMessage.svelte.d.ts +0 -9
- package/dist/feedback/index.d.ts +0 -4
- package/dist/feedback/index.js +0 -4
- package/dist/fermi-surface/FermiSlice.svelte +0 -189
- package/dist/fermi-surface/FermiSlice.svelte.d.ts +0 -24
- package/dist/fermi-surface/FermiSurface.svelte +0 -597
- package/dist/fermi-surface/FermiSurface.svelte.d.ts +0 -83
- package/dist/fermi-surface/FermiSurfaceControls.svelte +0 -452
- package/dist/fermi-surface/FermiSurfaceControls.svelte.d.ts +0 -35
- package/dist/fermi-surface/FermiSurfaceScene.svelte +0 -792
- package/dist/fermi-surface/FermiSurfaceScene.svelte.d.ts +0 -50
- package/dist/fermi-surface/FermiSurfaceTooltip.svelte +0 -111
- package/dist/fermi-surface/FermiSurfaceTooltip.svelte.d.ts +0 -8
- package/dist/fermi-surface/compute.d.ts +0 -5
- package/dist/fermi-surface/compute.js +0 -538
- package/dist/fermi-surface/constants.d.ts +0 -9
- package/dist/fermi-surface/constants.js +0 -27
- package/dist/fermi-surface/export.d.ts +0 -5
- package/dist/fermi-surface/export.js +0 -63
- package/dist/fermi-surface/index.d.ts +0 -12
- package/dist/fermi-surface/index.js +0 -13
- package/dist/fermi-surface/marching-cubes.d.ts +0 -2
- package/dist/fermi-surface/marching-cubes.js +0 -2
- package/dist/fermi-surface/parse.d.ts +0 -2
- package/dist/fermi-surface/parse.js +0 -495
- package/dist/fermi-surface/symmetry.d.ts +0 -3
- package/dist/fermi-surface/symmetry.js +0 -46
- package/dist/fermi-surface/types.d.ts +0 -113
- package/dist/fermi-surface/types.js +0 -4
- package/dist/heatmap-matrix/HeatmapMatrix.svelte +0 -1527
- package/dist/heatmap-matrix/HeatmapMatrix.svelte.d.ts +0 -110
- package/dist/heatmap-matrix/HeatmapMatrixControls.svelte +0 -225
- package/dist/heatmap-matrix/HeatmapMatrixControls.svelte.d.ts +0 -30
- package/dist/heatmap-matrix/index.d.ts +0 -53
- package/dist/heatmap-matrix/index.js +0 -100
- package/dist/heatmap-matrix/shared.d.ts +0 -2
- package/dist/heatmap-matrix/shared.js +0 -4
- package/dist/icons.d.ts +0 -569
- package/dist/icons.js +0 -648
- package/dist/index.d.ts +0 -39
- package/dist/index.js +0 -39
- package/dist/io/decompress.d.ts +0 -10
- package/dist/io/decompress.js +0 -69
- package/dist/io/export.d.ts +0 -16
- package/dist/io/export.js +0 -312
- package/dist/io/fetch.d.ts +0 -5
- package/dist/io/fetch.js +0 -39
- package/dist/io/file-drop.d.ts +0 -7
- package/dist/io/file-drop.js +0 -43
- package/dist/io/index.d.ts +0 -7
- package/dist/io/index.js +0 -7
- package/dist/io/is-binary.d.ts +0 -1
- package/dist/io/is-binary.js +0 -5
- package/dist/io/types.d.ts +0 -8
- package/dist/io/types.js +0 -1
- package/dist/io/url-drop.d.ts +0 -2
- package/dist/io/url-drop.js +0 -117
- package/dist/isosurface/Isosurface.svelte +0 -285
- package/dist/isosurface/Isosurface.svelte.d.ts +0 -8
- package/dist/isosurface/IsosurfaceControls.svelte +0 -291
- package/dist/isosurface/IsosurfaceControls.svelte.d.ts +0 -9
- package/dist/isosurface/index.d.ts +0 -5
- package/dist/isosurface/index.js +0 -6
- package/dist/isosurface/parse.d.ts +0 -6
- package/dist/isosurface/parse.js +0 -553
- package/dist/isosurface/slice.d.ts +0 -11
- package/dist/isosurface/slice.js +0 -140
- package/dist/isosurface/types.d.ts +0 -56
- package/dist/isosurface/types.js +0 -227
- package/dist/labels.d.ts +0 -53
- package/dist/labels.js +0 -274
- package/dist/layout/FullscreenToggle.svelte +0 -50
- package/dist/layout/FullscreenToggle.svelte.d.ts +0 -7
- package/dist/layout/InfoCard.svelte +0 -120
- package/dist/layout/InfoCard.svelte.d.ts +0 -21
- package/dist/layout/InfoTag.svelte +0 -183
- package/dist/layout/InfoTag.svelte.d.ts +0 -19
- package/dist/layout/PropertyFilter.svelte +0 -244
- package/dist/layout/PropertyFilter.svelte.d.ts +0 -24
- package/dist/layout/SettingsSection.svelte +0 -148
- package/dist/layout/SettingsSection.svelte.d.ts +0 -17
- package/dist/layout/SubpageGrid.svelte +0 -82
- package/dist/layout/SubpageGrid.svelte.d.ts +0 -14
- package/dist/layout/fullscreen.d.ts +0 -9
- package/dist/layout/fullscreen.js +0 -53
- package/dist/layout/index.d.ts +0 -10
- package/dist/layout/index.js +0 -8
- package/dist/layout/json-tree/JsonNode.svelte +0 -547
- package/dist/layout/json-tree/JsonNode.svelte.d.ts +0 -11
- package/dist/layout/json-tree/JsonTree.svelte +0 -1222
- package/dist/layout/json-tree/JsonTree.svelte.d.ts +0 -6
- package/dist/layout/json-tree/JsonValue.svelte +0 -334
- package/dist/layout/json-tree/JsonValue.svelte.d.ts +0 -9
- package/dist/layout/json-tree/index.d.ts +0 -3
- package/dist/layout/json-tree/index.js +0 -3
- package/dist/layout/json-tree/types.d.ts +0 -73
- package/dist/layout/json-tree/types.js +0 -3
- package/dist/layout/json-tree/utils.d.ts +0 -29
- package/dist/layout/json-tree/utils.js +0 -648
- package/dist/marching-cubes.d.ts +0 -14
- package/dist/marching-cubes.js +0 -542
- package/dist/math.d.ts +0 -91
- package/dist/math.js +0 -896
- package/dist/overlays/ContextMenu.svelte +0 -162
- package/dist/overlays/ContextMenu.svelte.d.ts +0 -25
- package/dist/overlays/DraggablePane.svelte +0 -564
- package/dist/overlays/DraggablePane.svelte.d.ts +0 -36
- package/dist/overlays/index.d.ts +0 -2
- package/dist/overlays/index.js +0 -2
- package/dist/periodic-table/PeriodicTable.svelte +0 -469
- package/dist/periodic-table/PeriodicTable.svelte.d.ts +0 -55
- package/dist/periodic-table/PeriodicTableControls.svelte +0 -557
- package/dist/periodic-table/PeriodicTableControls.svelte.d.ts +0 -24
- package/dist/periodic-table/PropertySelect.svelte +0 -37
- package/dist/periodic-table/PropertySelect.svelte.d.ts +0 -13
- package/dist/periodic-table/TableInset.svelte.d.ts +0 -9
- package/dist/periodic-table/index.d.ts +0 -10
- package/dist/periodic-table/index.js +0 -4
- package/dist/phase-diagram/IsobaricBinaryPhaseDiagram.svelte +0 -1086
- package/dist/phase-diagram/IsobaricBinaryPhaseDiagram.svelte.d.ts +0 -44
- package/dist/phase-diagram/PhaseDiagramControls.svelte +0 -451
- package/dist/phase-diagram/PhaseDiagramControls.svelte.d.ts +0 -30
- package/dist/phase-diagram/PhaseDiagramEditorPane.svelte +0 -126
- package/dist/phase-diagram/PhaseDiagramEditorPane.svelte.d.ts +0 -15
- package/dist/phase-diagram/PhaseDiagramExportPane.svelte +0 -192
- package/dist/phase-diagram/PhaseDiagramExportPane.svelte.d.ts +0 -19
- package/dist/phase-diagram/PhaseDiagramTooltip.svelte +0 -392
- package/dist/phase-diagram/PhaseDiagramTooltip.svelte.d.ts +0 -16
- package/dist/phase-diagram/TdbInfoPanel.svelte +0 -203
- package/dist/phase-diagram/TdbInfoPanel.svelte.d.ts +0 -12
- package/dist/phase-diagram/build-diagram.d.ts +0 -11
- package/dist/phase-diagram/build-diagram.js +0 -167
- package/dist/phase-diagram/colors.d.ts +0 -35
- package/dist/phase-diagram/colors.js +0 -51
- package/dist/phase-diagram/diagram-input.d.ts +0 -33
- package/dist/phase-diagram/diagram-input.js +0 -3
- package/dist/phase-diagram/index.d.ts +0 -13
- package/dist/phase-diagram/index.js +0 -13
- package/dist/phase-diagram/parse.d.ts +0 -55
- package/dist/phase-diagram/parse.js +0 -276
- package/dist/phase-diagram/svg-to-diagram.d.ts +0 -2
- package/dist/phase-diagram/svg-to-diagram.js +0 -869
- package/dist/phase-diagram/types.d.ts +0 -99
- package/dist/phase-diagram/types.js +0 -1
- package/dist/phase-diagram/utils.d.ts +0 -118
- package/dist/phase-diagram/utils.js +0 -606
- package/dist/plot/AxisLabel.svelte +0 -51
- package/dist/plot/AxisLabel.svelte.d.ts +0 -16
- package/dist/plot/BarPlot.svelte +0 -2256
- package/dist/plot/BarPlot.svelte.d.ts +0 -82
- package/dist/plot/BarPlotControls.svelte +0 -66
- package/dist/plot/BarPlotControls.svelte.d.ts +0 -18
- package/dist/plot/ColorBar.svelte +0 -719
- package/dist/plot/ColorBar.svelte.d.ts +0 -31
- package/dist/plot/ColorScaleSelect.svelte +0 -54
- package/dist/plot/ColorScaleSelect.svelte.d.ts +0 -15
- package/dist/plot/ElementScatter.svelte +0 -63
- package/dist/plot/ElementScatter.svelte.d.ts +0 -14
- package/dist/plot/FillArea.svelte +0 -226
- package/dist/plot/FillArea.svelte.d.ts +0 -20
- package/dist/plot/Histogram.svelte +0 -1654
- package/dist/plot/Histogram.svelte.d.ts +0 -50
- package/dist/plot/HistogramControls.svelte +0 -212
- package/dist/plot/HistogramControls.svelte.d.ts +0 -22
- package/dist/plot/InteractiveAxisLabel.svelte +0 -94
- package/dist/plot/InteractiveAxisLabel.svelte.d.ts +0 -14
- package/dist/plot/Line.svelte +0 -85
- package/dist/plot/Line.svelte.d.ts +0 -15
- package/dist/plot/PlotControls.svelte +0 -537
- package/dist/plot/PlotControls.svelte.d.ts +0 -4
- package/dist/plot/PlotLegend.svelte +0 -498
- package/dist/plot/PlotLegend.svelte.d.ts +0 -25
- package/dist/plot/PlotTooltip.svelte +0 -67
- package/dist/plot/PlotTooltip.svelte.d.ts +0 -17
- package/dist/plot/PortalSelect.svelte +0 -253
- package/dist/plot/PortalSelect.svelte.d.ts +0 -16
- package/dist/plot/ReferenceLine.svelte.d.ts +0 -20
- package/dist/plot/ReferenceLine3D.svelte +0 -154
- package/dist/plot/ReferenceLine3D.svelte.d.ts +0 -14
- package/dist/plot/ReferencePlane.svelte +0 -178
- package/dist/plot/ReferencePlane.svelte.d.ts +0 -14
- package/dist/plot/ScatterPlot.svelte +0 -2831
- package/dist/plot/ScatterPlot.svelte.d.ts +0 -92
- package/dist/plot/ScatterPlot3D.svelte +0 -499
- package/dist/plot/ScatterPlot3D.svelte.d.ts +0 -94
- package/dist/plot/ScatterPlot3DControls.svelte +0 -437
- package/dist/plot/ScatterPlot3DControls.svelte.d.ts +0 -20
- package/dist/plot/ScatterPlot3DScene.svelte +0 -912
- package/dist/plot/ScatterPlot3DScene.svelte.d.ts +0 -74
- package/dist/plot/ScatterPlotControls.svelte +0 -307
- package/dist/plot/ScatterPlotControls.svelte.d.ts +0 -17
- package/dist/plot/ScatterPoint.svelte +0 -185
- package/dist/plot/ScatterPoint.svelte.d.ts +0 -19
- package/dist/plot/SpacegroupBarPlot.svelte +0 -292
- package/dist/plot/SpacegroupBarPlot.svelte.d.ts +0 -9
- package/dist/plot/Surface3D.svelte +0 -200
- package/dist/plot/Surface3D.svelte.d.ts +0 -13
- package/dist/plot/ZeroLines.svelte +0 -96
- package/dist/plot/ZeroLines.svelte.d.ts +0 -32
- package/dist/plot/ZoomRect.svelte +0 -23
- package/dist/plot/ZoomRect.svelte.d.ts +0 -8
- package/dist/plot/axis-utils.d.ts +0 -19
- package/dist/plot/axis-utils.js +0 -80
- package/dist/plot/data-cleaning.d.ts +0 -37
- package/dist/plot/data-cleaning.js +0 -855
- package/dist/plot/data-transform.d.ts +0 -16
- package/dist/plot/data-transform.js +0 -45
- package/dist/plot/defaults.d.ts +0 -19
- package/dist/plot/defaults.js +0 -9
- package/dist/plot/fill-utils.d.ts +0 -51
- package/dist/plot/fill-utils.js +0 -337
- package/dist/plot/hover-lock.svelte.d.ts +0 -14
- package/dist/plot/hover-lock.svelte.js +0 -46
- package/dist/plot/index.d.ts +0 -43
- package/dist/plot/index.js +0 -37
- package/dist/plot/interactions.d.ts +0 -12
- package/dist/plot/interactions.js +0 -100
- package/dist/plot/layout.d.ts +0 -60
- package/dist/plot/layout.js +0 -230
- package/dist/plot/reference-line.d.ts +0 -60
- package/dist/plot/reference-line.js +0 -316
- package/dist/plot/scales.d.ts +0 -48
- package/dist/plot/scales.js +0 -484
- package/dist/plot/svg.d.ts +0 -1
- package/dist/plot/svg.js +0 -11
- package/dist/plot/types.d.ts +0 -863
- package/dist/plot/types.js +0 -103
- package/dist/plot/utils/label-placement.d.ts +0 -47
- package/dist/plot/utils/label-placement.js +0 -256
- package/dist/plot/utils/series-visibility.d.ts +0 -9
- package/dist/plot/utils/series-visibility.js +0 -67
- package/dist/plot/utils.d.ts +0 -1
- package/dist/plot/utils.js +0 -14
- package/dist/rdf/RdfPlot.svelte +0 -247
- package/dist/rdf/RdfPlot.svelte.d.ts +0 -27
- package/dist/rdf/calc-rdf.d.ts +0 -4
- package/dist/rdf/calc-rdf.js +0 -111
- package/dist/rdf/index.d.ts +0 -23
- package/dist/rdf/index.js +0 -2
- package/dist/sanitize.d.ts +0 -4
- package/dist/sanitize.js +0 -107
- package/dist/settings.d.ts +0 -253
- package/dist/settings.js +0 -1123
- package/dist/spectral/Bands.svelte +0 -1040
- package/dist/spectral/Bands.svelte.d.ts +0 -40
- package/dist/spectral/BandsAndDos.svelte +0 -128
- package/dist/spectral/BandsAndDos.svelte.d.ts +0 -18
- package/dist/spectral/BrillouinBandsDos.svelte +0 -248
- package/dist/spectral/BrillouinBandsDos.svelte.d.ts +0 -20
- package/dist/spectral/Dos.svelte +0 -697
- package/dist/spectral/Dos.svelte.d.ts +0 -29
- package/dist/spectral/helpers.d.ts +0 -117
- package/dist/spectral/helpers.js +0 -1023
- package/dist/spectral/index.d.ts +0 -6
- package/dist/spectral/index.js +0 -7
- package/dist/spectral/types.d.ts +0 -84
- package/dist/spectral/types.js +0 -2
- package/dist/state.svelte.d.ts +0 -25
- package/dist/state.svelte.js +0 -45
- package/dist/structure/Arrow.svelte +0 -72
- package/dist/structure/Arrow.svelte.d.ts +0 -15
- package/dist/structure/AtomLegend.svelte +0 -798
- package/dist/structure/AtomLegend.svelte.d.ts +0 -34
- package/dist/structure/Bond.svelte +0 -140
- package/dist/structure/Bond.svelte.d.ts +0 -9
- package/dist/structure/CanvasTooltip.svelte +0 -33
- package/dist/structure/CanvasTooltip.svelte.d.ts +0 -12
- package/dist/structure/CellSelect.svelte +0 -351
- package/dist/structure/CellSelect.svelte.d.ts +0 -13
- package/dist/structure/Cylinder.svelte +0 -45
- package/dist/structure/Cylinder.svelte.d.ts +0 -10
- package/dist/structure/Lattice.svelte +0 -196
- package/dist/structure/Lattice.svelte.d.ts +0 -17
- package/dist/structure/Structure.svelte +0 -1857
- package/dist/structure/Structure.svelte.d.ts +0 -83
- package/dist/structure/StructureControls.svelte +0 -1184
- package/dist/structure/StructureControls.svelte.d.ts +0 -31
- package/dist/structure/StructureExportPane.svelte +0 -251
- package/dist/structure/StructureExportPane.svelte.d.ts +0 -17
- package/dist/structure/StructureInfoPane.svelte +0 -434
- package/dist/structure/StructureInfoPane.svelte.d.ts +0 -18
- package/dist/structure/StructureScene.svelte +0 -1574
- package/dist/structure/StructureScene.svelte.d.ts +0 -104
- package/dist/structure/atom-properties.d.ts +0 -37
- package/dist/structure/atom-properties.js +0 -198
- package/dist/structure/bonding.d.ts +0 -33
- package/dist/structure/bonding.js +0 -304
- package/dist/structure/export.d.ts +0 -20
- package/dist/structure/export.js +0 -725
- package/dist/structure/ferrox-wasm-types.d.ts +0 -46
- package/dist/structure/ferrox-wasm-types.js +0 -18
- package/dist/structure/ferrox-wasm.d.ts +0 -94
- package/dist/structure/ferrox-wasm.js +0 -249
- package/dist/structure/index.d.ts +0 -110
- package/dist/structure/index.js +0 -168
- package/dist/structure/measure.d.ts +0 -6
- package/dist/structure/measure.js +0 -29
- package/dist/structure/parse.d.ts +0 -65
- package/dist/structure/parse.js +0 -1374
- package/dist/structure/partial-occupancy.d.ts +0 -25
- package/dist/structure/partial-occupancy.js +0 -99
- package/dist/structure/pbc.d.ts +0 -9
- package/dist/structure/pbc.js +0 -123
- package/dist/structure/supercell.d.ts +0 -8
- package/dist/structure/supercell.js +0 -137
- package/dist/structure/validation.d.ts +0 -2
- package/dist/structure/validation.js +0 -10
- package/dist/symmetry/SymmetryStats.svelte +0 -226
- package/dist/symmetry/SymmetryStats.svelte.d.ts +0 -21
- package/dist/symmetry/WyckoffTable.svelte +0 -113
- package/dist/symmetry/WyckoffTable.svelte.d.ts +0 -11
- package/dist/symmetry/cell-transform.d.ts +0 -12
- package/dist/symmetry/cell-transform.js +0 -77
- package/dist/symmetry/index.d.ts +0 -43
- package/dist/symmetry/index.js +0 -229
- package/dist/symmetry/spacegroups.d.ts +0 -9
- package/dist/symmetry/spacegroups.js +0 -394
- package/dist/table/HeatmapTable.svelte +0 -1854
- package/dist/table/HeatmapTable.svelte.d.ts +0 -49
- package/dist/table/ToggleMenu.svelte +0 -376
- package/dist/table/ToggleMenu.svelte.d.ts +0 -11
- package/dist/table/index.d.ts +0 -74
- package/dist/table/index.js +0 -38
- package/dist/theme/ThemeControl.svelte +0 -53
- package/dist/theme/ThemeControl.svelte.d.ts +0 -9
- package/dist/theme/index.d.ts +0 -29
- package/dist/theme/index.js +0 -79
- package/dist/theme/themes.mjs +0 -285
- package/dist/time.d.ts +0 -4
- package/dist/time.js +0 -70
- package/dist/tooltip/TooltipContent.svelte +0 -58
- package/dist/tooltip/TooltipContent.svelte.d.ts +0 -31
- package/dist/tooltip/index.d.ts +0 -2
- package/dist/tooltip/index.js +0 -2
- package/dist/tooltip/types.d.ts +0 -8
- package/dist/tooltip/types.js +0 -1
- package/dist/trajectory/Trajectory.svelte +0 -1517
- package/dist/trajectory/Trajectory.svelte.d.ts +0 -77
- package/dist/trajectory/TrajectoryError.svelte +0 -128
- package/dist/trajectory/TrajectoryError.svelte.d.ts +0 -13
- package/dist/trajectory/TrajectoryExportPane.svelte +0 -357
- package/dist/trajectory/TrajectoryExportPane.svelte.d.ts +0 -17
- package/dist/trajectory/TrajectoryInfoPane.svelte +0 -387
- package/dist/trajectory/TrajectoryInfoPane.svelte.d.ts +0 -17
- package/dist/trajectory/constants.d.ts +0 -6
- package/dist/trajectory/constants.js +0 -7
- package/dist/trajectory/extract.d.ts +0 -5
- package/dist/trajectory/extract.js +0 -162
- package/dist/trajectory/format-detect.d.ts +0 -9
- package/dist/trajectory/format-detect.js +0 -76
- package/dist/trajectory/frame-reader.d.ts +0 -17
- package/dist/trajectory/frame-reader.js +0 -332
- package/dist/trajectory/helpers.d.ts +0 -14
- package/dist/trajectory/helpers.js +0 -172
- package/dist/trajectory/index.d.ts +0 -63
- package/dist/trajectory/index.js +0 -126
- package/dist/trajectory/parse/ase.d.ts +0 -2
- package/dist/trajectory/parse/ase.js +0 -77
- package/dist/trajectory/parse/hdf5.d.ts +0 -2
- package/dist/trajectory/parse/hdf5.js +0 -129
- package/dist/trajectory/parse/index.d.ts +0 -12
- package/dist/trajectory/parse/index.js +0 -299
- package/dist/trajectory/parse/lammps.d.ts +0 -5
- package/dist/trajectory/parse/lammps.js +0 -179
- package/dist/trajectory/parse/vasp.d.ts +0 -2
- package/dist/trajectory/parse/vasp.js +0 -68
- package/dist/trajectory/parse/xyz.d.ts +0 -2
- package/dist/trajectory/parse/xyz.js +0 -110
- package/dist/trajectory/plotting.d.ts +0 -28
- package/dist/trajectory/plotting.js +0 -423
- package/dist/trajectory/types.d.ts +0 -11
- package/dist/trajectory/types.js +0 -1
- package/dist/utils.d.ts +0 -5
- package/dist/utils.js +0 -36
- package/dist/xrd/XrdPlot.svelte +0 -615
- package/dist/xrd/XrdPlot.svelte.d.ts +0 -28
- package/dist/xrd/broadening.d.ts +0 -20
- package/dist/xrd/broadening.js +0 -97
- package/dist/xrd/calc-xrd.d.ts +0 -37
- package/dist/xrd/calc-xrd.js +0 -337
- package/dist/xrd/index.d.ts +0 -37
- package/dist/xrd/index.js +0 -4
- package/dist/xrd/parse.d.ts +0 -13
- package/dist/xrd/parse.js +0 -749
- /package/dist/{EmptyState.svelte → src/lib/EmptyState.svelte} +0 -0
- /package/dist/{Icon.svelte → src/lib/Icon.svelte} +0 -0
- /package/dist/{chempot-diagram → src/lib/chempot-diagram}/ChemPotScene3D.svelte +0 -0
- /package/dist/{colors → src/lib/colors}/alloy-colors.json +0 -0
- /package/dist/{colors → src/lib/colors}/dark-mode-colors.json +0 -0
- /package/dist/{colors → src/lib/colors}/jmol-colors.json +0 -0
- /package/dist/{colors → src/lib/colors}/muted-colors.json +0 -0
- /package/dist/{colors → src/lib/colors}/pastel-colors.json +0 -0
- /package/dist/{colors → src/lib/colors}/vesta-colors.json +0 -0
- /package/dist/{element → src/lib/element}/Nucleus.svelte +0 -0
- /package/dist/{element → src/lib/element}/data.json +0 -0
- /package/dist/{element → src/lib/element}/data.json.gz +0 -0
- /package/dist/{element → src/lib/element}/data.schema.json +0 -0
- /package/dist/{element-image-urls.json → src/lib/element-image-urls.json} +0 -0
- /package/dist/{feedback → src/lib/feedback}/Spinner.svelte +0 -0
- /package/dist/{feedback → src/lib/feedback}/StatusMessage.svelte +0 -0
- /package/dist/{periodic-table → src/lib/periodic-table}/TableInset.svelte +0 -0
- /package/dist/{plot → src/lib/plot}/ReferenceLine.svelte +0 -0
- /package/dist/{xrd → src/lib/xrd}/atomic_scattering_params.json +0 -0
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { contrast_color } from '../colors'
|
|
3
|
-
import { format_fractional } from '../labels'
|
|
4
|
-
import { colors } from '../state.svelte'
|
|
5
|
-
import type { HTMLAttributes } from 'svelte/elements'
|
|
6
|
-
import type { WyckoffPos } from '.'
|
|
7
|
-
|
|
8
|
-
let {
|
|
9
|
-
wyckoff_positions,
|
|
10
|
-
on_hover,
|
|
11
|
-
on_click,
|
|
12
|
-
active_color = `#2563eb`,
|
|
13
|
-
...rest
|
|
14
|
-
}: HTMLAttributes<HTMLTableElement> & {
|
|
15
|
-
wyckoff_positions: WyckoffPos[]
|
|
16
|
-
on_hover?: (site_indices: number[] | null) => void
|
|
17
|
-
on_click?: (site_indices: number[] | null) => void
|
|
18
|
-
active_color?: string
|
|
19
|
-
} = $props()
|
|
20
|
-
|
|
21
|
-
let selected_key = $state<string | null>(null)
|
|
22
|
-
|
|
23
|
-
const get_row_key = (wyckoff_pos: WyckoffPos, row_idx: number) =>
|
|
24
|
-
`${wyckoff_pos.wyckoff}-${wyckoff_pos.elem}-${
|
|
25
|
-
wyckoff_pos.site_indices?.join(`,`) ?? `none`
|
|
26
|
-
}-${row_idx}`
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
{#if wyckoff_positions && wyckoff_positions.length > 0}
|
|
30
|
-
<table {...rest} class="wyckoff-table {rest.class ?? ``}">
|
|
31
|
-
<thead>
|
|
32
|
-
<tr>
|
|
33
|
-
{#each [
|
|
34
|
-
[`Wyckoff`, `Wyckoff position: Multiplicity + Letter`],
|
|
35
|
-
[`Element`, `Chemical element symbol`],
|
|
36
|
-
[`Fractional Coords`, `Fractional coordinates within the unit cell`],
|
|
37
|
-
] as
|
|
38
|
-
[col, title]
|
|
39
|
-
(col)
|
|
40
|
-
}
|
|
41
|
-
<th {title}>{col}</th>
|
|
42
|
-
{/each}
|
|
43
|
-
</tr>
|
|
44
|
-
</thead>
|
|
45
|
-
<tbody>
|
|
46
|
-
{#each wyckoff_positions as
|
|
47
|
-
wyckoff_pos,
|
|
48
|
-
row_idx
|
|
49
|
-
(get_row_key(wyckoff_pos, row_idx))
|
|
50
|
-
}
|
|
51
|
-
{@const { wyckoff, elem, abc, site_indices } = wyckoff_pos}
|
|
52
|
-
{@const row_key = get_row_key(wyckoff_pos, row_idx)}
|
|
53
|
-
{@const is_selected = selected_key === row_key}
|
|
54
|
-
<tr
|
|
55
|
-
class="wyckoff-row"
|
|
56
|
-
tabindex="0"
|
|
57
|
-
class:selected={is_selected}
|
|
58
|
-
style:--active-color={active_color}
|
|
59
|
-
style:--hover-color="#6cf0ff"
|
|
60
|
-
onmouseenter={() => on_hover?.(site_indices ?? null)}
|
|
61
|
-
onmouseleave={() => on_hover?.(null)}
|
|
62
|
-
onclick={() => {
|
|
63
|
-
selected_key = is_selected ? null : row_key
|
|
64
|
-
on_click?.(is_selected ? null : (wyckoff_pos.site_indices ?? null))
|
|
65
|
-
}}
|
|
66
|
-
onkeydown={(event) => {
|
|
67
|
-
if ([`Enter`, ` `].includes(event.key)) {
|
|
68
|
-
event.preventDefault()
|
|
69
|
-
selected_key = is_selected ? null : row_key
|
|
70
|
-
on_click?.(is_selected ? null : (wyckoff_pos.site_indices ?? null))
|
|
71
|
-
}
|
|
72
|
-
}}
|
|
73
|
-
>
|
|
74
|
-
<td>{wyckoff}</td>
|
|
75
|
-
<td>
|
|
76
|
-
<span
|
|
77
|
-
style:background-color={colors.element[elem]}
|
|
78
|
-
style="display: inline-block; padding: 0 6pt; border-radius: 3pt; line-height: 1.4"
|
|
79
|
-
{@attach contrast_color()}
|
|
80
|
-
>
|
|
81
|
-
{elem}
|
|
82
|
-
</span>
|
|
83
|
-
</td>
|
|
84
|
-
<td>({abc?.map(format_fractional).join(` , `) ?? `N/A`})</td>
|
|
85
|
-
</tr>
|
|
86
|
-
{/each}
|
|
87
|
-
</tbody>
|
|
88
|
-
</table>
|
|
89
|
-
{/if}
|
|
90
|
-
|
|
91
|
-
<style>
|
|
92
|
-
.wyckoff-table {
|
|
93
|
-
margin-top: 1em;
|
|
94
|
-
}
|
|
95
|
-
.wyckoff-table :is(th, td) {
|
|
96
|
-
padding: 2px 6px;
|
|
97
|
-
text-align: center;
|
|
98
|
-
vertical-align: middle;
|
|
99
|
-
}
|
|
100
|
-
.wyckoff-row {
|
|
101
|
-
cursor: pointer;
|
|
102
|
-
transition: background-color 0.2s ease;
|
|
103
|
-
}
|
|
104
|
-
.wyckoff-row:hover {
|
|
105
|
-
background-color: color-mix(in srgb, var(--hover-color) 25%, transparent);
|
|
106
|
-
}
|
|
107
|
-
.wyckoff-row.selected {
|
|
108
|
-
background-color: color-mix(in srgb, var(--active-color) 30%, transparent);
|
|
109
|
-
}
|
|
110
|
-
.wyckoff-row.selected:hover {
|
|
111
|
-
background-color: color-mix(in srgb, var(--active-color) 35%, transparent);
|
|
112
|
-
}
|
|
113
|
-
</style>
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { HTMLAttributes } from 'svelte/elements';
|
|
2
|
-
import type { WyckoffPos } from '.';
|
|
3
|
-
type $$ComponentProps = HTMLAttributes<HTMLTableElement> & {
|
|
4
|
-
wyckoff_positions: WyckoffPos[];
|
|
5
|
-
on_hover?: (site_indices: number[] | null) => void;
|
|
6
|
-
on_click?: (site_indices: number[] | null) => void;
|
|
7
|
-
active_color?: string;
|
|
8
|
-
};
|
|
9
|
-
declare const WyckoffTable: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
10
|
-
type WyckoffTable = ReturnType<typeof WyckoffTable>;
|
|
11
|
-
export default WyckoffTable;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Crystal } from '../structure';
|
|
2
|
-
import type { MoyoCell, MoyoDataset } from '@spglib/moyo-wasm';
|
|
3
|
-
export type CellType = `original` | `conventional` | `primitive`;
|
|
4
|
-
export declare function moyo_cell_to_structure(cell: MoyoCell, // The MoyoCell from symmetry analysis (std_cell or prim_std_cell)
|
|
5
|
-
original_structure: Crystal): Crystal;
|
|
6
|
-
export declare function get_conventional_cell(original_structure: Crystal, // The original input structure
|
|
7
|
-
sym_data: MoyoDataset): Crystal;
|
|
8
|
-
export declare function get_primitive_cell(original_structure: Crystal, // The original input structure
|
|
9
|
-
sym_data: MoyoDataset): Crystal;
|
|
10
|
-
export declare function transform_cell(structure: Crystal, // The original structure
|
|
11
|
-
cell_type: CellType, // The desired cell type ('original', 'conventional', or 'primitive')
|
|
12
|
-
sym_data: MoyoDataset | null): Crystal;
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { ATOMIC_NUMBER_TO_SYMBOL } from '../composition/parse';
|
|
2
|
-
import * as math from '../math';
|
|
3
|
-
import { wrap_to_unit_cell } from '../structure/pbc';
|
|
4
|
-
// Convert a MoyoCell (from moyo-wasm symmetry analysis) to Crystal format.
|
|
5
|
-
// MoyoCell has a flat 9-element basis array and atomic numbers; this converts to
|
|
6
|
-
// the full Crystal with lattice parameters and element symbols.
|
|
7
|
-
export function moyo_cell_to_structure(cell, // The MoyoCell from symmetry analysis (std_cell or prim_std_cell)
|
|
8
|
-
original_structure) {
|
|
9
|
-
// Convert flat 9-element basis to 3x3 matrix
|
|
10
|
-
// moyo-wasm uses the same row-major serialization for both input and output
|
|
11
|
-
// (see to_cell_json comment: column-major(B) == row-major(RB))
|
|
12
|
-
// So the flat array is row-major: [a1, a2, a3, b1, b2, b3, c1, c2, c3]
|
|
13
|
-
// where each row is a lattice vector in the pymatgen convention
|
|
14
|
-
const basis = cell.lattice.basis;
|
|
15
|
-
const lattice_matrix = [
|
|
16
|
-
[basis[0], basis[1], basis[2]], // First lattice vector (a)
|
|
17
|
-
[basis[3], basis[4], basis[5]], // Second lattice vector (b)
|
|
18
|
-
[basis[6], basis[7], basis[8]], // Third lattice vector (c)
|
|
19
|
-
];
|
|
20
|
-
// Calculate lattice parameters from matrix
|
|
21
|
-
const lattice_params = math.calc_lattice_params(lattice_matrix);
|
|
22
|
-
const frac_to_cart = math.create_frac_to_cart(lattice_matrix);
|
|
23
|
-
// Build sites from positions and atomic numbers
|
|
24
|
-
const sites = cell.positions.map((abc, idx) => {
|
|
25
|
-
const atomic_number = cell.numbers[idx];
|
|
26
|
-
const element = ATOMIC_NUMBER_TO_SYMBOL[atomic_number];
|
|
27
|
-
if (!element) {
|
|
28
|
-
throw new Error(`Unknown atomic number: ${atomic_number}`);
|
|
29
|
-
}
|
|
30
|
-
// Wrap fractional coordinates to [0, 1) range (moyo-wasm may return outside)
|
|
31
|
-
const wrapped_abc = wrap_to_unit_cell(abc);
|
|
32
|
-
const xyz = frac_to_cart(wrapped_abc);
|
|
33
|
-
// Oxidation state is set to 0 (unknown) because moyo-wasm only provides atomic numbers.
|
|
34
|
-
// transformed cell may have different/reordered sites, making it non-trivial to
|
|
35
|
-
// map oxidation states from original structure.
|
|
36
|
-
const species = [{ element, occu: 1, oxidation_state: 0 }];
|
|
37
|
-
return { species, abc: wrapped_abc, xyz, label: element, properties: {} };
|
|
38
|
-
});
|
|
39
|
-
const lattice = {
|
|
40
|
-
matrix: lattice_matrix,
|
|
41
|
-
pbc: original_structure.lattice.pbc,
|
|
42
|
-
...lattice_params,
|
|
43
|
-
};
|
|
44
|
-
return { lattice, sites, charge: original_structure.charge, id: original_structure.id };
|
|
45
|
-
}
|
|
46
|
-
// Get the conventional (standardized) cell from symmetry analysis data.
|
|
47
|
-
// The conventional cell is the standard crystallographic setting for the space group.
|
|
48
|
-
export function get_conventional_cell(original_structure, // The original input structure
|
|
49
|
-
sym_data) {
|
|
50
|
-
// The conventional cell as a Crystal
|
|
51
|
-
return moyo_cell_to_structure(sym_data.std_cell, original_structure);
|
|
52
|
-
}
|
|
53
|
-
// Get the primitive cell from symmetry analysis data.
|
|
54
|
-
// The primitive cell is the smallest unit cell with one lattice point.
|
|
55
|
-
export function get_primitive_cell(original_structure, // The original input structure
|
|
56
|
-
sym_data) {
|
|
57
|
-
// The primitive cell as a Crystal
|
|
58
|
-
return moyo_cell_to_structure(sym_data.prim_std_cell, original_structure);
|
|
59
|
-
}
|
|
60
|
-
// Transform a structure based on the selected cell type.
|
|
61
|
-
// Returns the original structure if cell_type is 'original' or if sym_data is not available.
|
|
62
|
-
export function transform_cell(structure, // The original structure
|
|
63
|
-
cell_type, // The desired cell type ('original', 'conventional', or 'primitive')
|
|
64
|
-
sym_data) {
|
|
65
|
-
//transformed structure (or original if no transformation needed)
|
|
66
|
-
if (cell_type === `original` || !sym_data) {
|
|
67
|
-
return structure;
|
|
68
|
-
}
|
|
69
|
-
if (cell_type === `conventional`) {
|
|
70
|
-
return get_conventional_cell(structure, sym_data);
|
|
71
|
-
}
|
|
72
|
-
if (cell_type === `primitive`) {
|
|
73
|
-
return get_primitive_cell(structure, sym_data);
|
|
74
|
-
}
|
|
75
|
-
// Fallback to original (should never reach here with proper typing)
|
|
76
|
-
return structure;
|
|
77
|
-
}
|
package/dist/symmetry/index.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type { Vec3 } from '../math';
|
|
2
|
-
import type { AnyStructure, Crystal } from '../structure';
|
|
3
|
-
import type { MoyoDataset } from '@spglib/moyo-wasm';
|
|
4
|
-
export * from './cell-transform';
|
|
5
|
-
export * from './spacegroups';
|
|
6
|
-
export { default as SymmetryStats } from './SymmetryStats.svelte';
|
|
7
|
-
export { default as WyckoffTable } from './WyckoffTable.svelte';
|
|
8
|
-
export declare const BRAVAIS_LATTICES: {
|
|
9
|
-
readonly P: "Primitive";
|
|
10
|
-
readonly I: "Body-centered";
|
|
11
|
-
readonly F: "Face-centered";
|
|
12
|
-
readonly A: "A-face centered";
|
|
13
|
-
readonly B: "B-face centered";
|
|
14
|
-
readonly C: "C-face centered";
|
|
15
|
-
readonly R: "Rhombohedral";
|
|
16
|
-
};
|
|
17
|
-
export type BravaisLattice = (typeof BRAVAIS_LATTICES)[keyof typeof BRAVAIS_LATTICES];
|
|
18
|
-
export type SymmetrySettings = {
|
|
19
|
-
symprec: number;
|
|
20
|
-
algo: `Moyo` | `Spglib`;
|
|
21
|
-
};
|
|
22
|
-
export declare const default_sym_settings: {
|
|
23
|
-
readonly symprec: number;
|
|
24
|
-
readonly algo: "Moyo" | "Spglib";
|
|
25
|
-
};
|
|
26
|
-
export type WyckoffPos = {
|
|
27
|
-
wyckoff: string;
|
|
28
|
-
elem: string;
|
|
29
|
-
abc: Vec3;
|
|
30
|
-
site_indices?: number[];
|
|
31
|
-
};
|
|
32
|
-
export type SymmetryDataset = MoyoDataset & {
|
|
33
|
-
orig_indices?: number[];
|
|
34
|
-
orig_site_indices_by_std_idx?: number[][];
|
|
35
|
-
};
|
|
36
|
-
export declare function ensure_moyo_wasm_ready(wasm_url?: string): Promise<void>;
|
|
37
|
-
export declare function to_cell_json(structure: Crystal): string;
|
|
38
|
-
export declare function map_std_to_orig_site_indices(std_positions: Vec3[], std_numbers: number[], input_positions: Vec3[], input_numbers: number[], orig_site_indices_by_input_idx: number[][]): number[][];
|
|
39
|
-
export declare function analyze_structure_symmetry(struct_or_mol: AnyStructure, settings: Partial<SymmetrySettings>): Promise<SymmetryDataset>;
|
|
40
|
-
export declare function simplicity_score(vec: number[]): number;
|
|
41
|
-
export declare function wyckoff_positions_from_moyo(sym_data: SymmetryDataset | null): WyckoffPos[];
|
|
42
|
-
export declare function apply_symmetry_operations(position: Vec3, operations: MoyoDataset[`operations`], _tolerance?: number): Vec3[];
|
|
43
|
-
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
DELETED
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
import { ATOMIC_NUMBER_TO_SYMBOL, SYMBOL_TO_ATOMIC_NUMBER } from '../composition/parse';
|
|
2
|
-
import { DEFAULTS } from '../settings';
|
|
3
|
-
import { merge_split_partial_sites } from '../structure/partial-occupancy';
|
|
4
|
-
import init, { analyze_cell } from '@spglib/moyo-wasm';
|
|
5
|
-
import moyo_wasm_url from '@spglib/moyo-wasm/moyo_wasm_bg.wasm?url';
|
|
6
|
-
export * from './cell-transform';
|
|
7
|
-
export * from './spacegroups';
|
|
8
|
-
export { default as SymmetryStats } from './SymmetryStats.svelte';
|
|
9
|
-
export { default as WyckoffTable } from './WyckoffTable.svelte';
|
|
10
|
-
// Keys are standard crystallographic symbols (P, I, F, A, B, C, R)
|
|
11
|
-
export const BRAVAIS_LATTICES = {
|
|
12
|
-
P: `Primitive`,
|
|
13
|
-
I: `Body-centered`,
|
|
14
|
-
F: `Face-centered`,
|
|
15
|
-
A: `A-face centered`,
|
|
16
|
-
B: `B-face centered`,
|
|
17
|
-
C: `C-face centered`,
|
|
18
|
-
R: `Rhombohedral`,
|
|
19
|
-
};
|
|
20
|
-
export const default_sym_settings = {
|
|
21
|
-
symprec: DEFAULTS.symmetry.symprec,
|
|
22
|
-
algo: DEFAULTS.symmetry.algo,
|
|
23
|
-
};
|
|
24
|
-
let initialized = false;
|
|
25
|
-
const OCCUPANCY_EPS = 1e-8;
|
|
26
|
-
export async function ensure_moyo_wasm_ready(wasm_url) {
|
|
27
|
-
if (initialized)
|
|
28
|
-
return;
|
|
29
|
-
// Use provided URL (e.g. from VSCode webview data), otherwise use Vite-bundled URL
|
|
30
|
-
const url = wasm_url ?? moyo_wasm_url;
|
|
31
|
-
await init({ module_or_path: url });
|
|
32
|
-
initialized = true;
|
|
33
|
-
}
|
|
34
|
-
function get_site_atomic_number(site, site_idx) {
|
|
35
|
-
const occupancy_by_element = new Map();
|
|
36
|
-
for (const { element, occu } of site.species) {
|
|
37
|
-
if (occu <= OCCUPANCY_EPS)
|
|
38
|
-
continue;
|
|
39
|
-
occupancy_by_element.set(element, (occupancy_by_element.get(element) ?? 0) + occu);
|
|
40
|
-
}
|
|
41
|
-
let selected_element = site.species[0]?.element;
|
|
42
|
-
let best_occupancy = -Infinity;
|
|
43
|
-
occupancy_by_element.forEach((occupancy, element) => {
|
|
44
|
-
if (occupancy > best_occupancy ||
|
|
45
|
-
(occupancy === best_occupancy && element.localeCompare(selected_element ?? ``) < 0)) {
|
|
46
|
-
selected_element = element;
|
|
47
|
-
best_occupancy = occupancy;
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
if (selected_element === undefined) {
|
|
51
|
-
throw new Error(`Unknown element at site ${site_idx}: ${selected_element}`);
|
|
52
|
-
}
|
|
53
|
-
const atomic_number = SYMBOL_TO_ATOMIC_NUMBER[selected_element];
|
|
54
|
-
if (atomic_number === undefined) {
|
|
55
|
-
throw new Error(`Unknown element at site ${site_idx}: ${selected_element}`);
|
|
56
|
-
}
|
|
57
|
-
return atomic_number;
|
|
58
|
-
}
|
|
59
|
-
function build_moyo_input_cell(structure) {
|
|
60
|
-
const merged_render_sites = merge_split_partial_sites(structure.sites);
|
|
61
|
-
return {
|
|
62
|
-
positions: merged_render_sites.map(({ site }) => site.abc),
|
|
63
|
-
numbers: merged_render_sites.map(({ site, site_idx }) => get_site_atomic_number(site, site_idx)),
|
|
64
|
-
orig_site_indices_by_input_idx: merged_render_sites.map(({ source_site_indices }) => source_site_indices),
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
function build_moyo_cell(structure, positions, numbers) {
|
|
68
|
-
// nalgebra Matrix3 deserializes as a flat list in COLUMN-MAJOR of the internal basis B
|
|
69
|
-
// Internal B = transpose(row-basis RB). column-major(B) == row-major(RB).
|
|
70
|
-
// So supply row-major of the pymatgen lattice.matrix (RB).
|
|
71
|
-
const [v_a, v_b, v_c] = structure.lattice.matrix;
|
|
72
|
-
return {
|
|
73
|
-
lattice: { basis: [...v_a, ...v_b, ...v_c] },
|
|
74
|
-
positions,
|
|
75
|
-
numbers,
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
export function to_cell_json(structure) {
|
|
79
|
-
const { positions, numbers } = build_moyo_input_cell(structure);
|
|
80
|
-
return JSON.stringify(build_moyo_cell(structure, positions, numbers));
|
|
81
|
-
}
|
|
82
|
-
const fractional_sq_dist = (pos_1, pos_2) => (pos_1[0] - pos_2[0] - Math.round(pos_1[0] - pos_2[0])) ** 2 +
|
|
83
|
-
(pos_1[1] - pos_2[1] - Math.round(pos_1[1] - pos_2[1])) ** 2 +
|
|
84
|
-
(pos_1[2] - pos_2[2] - Math.round(pos_1[2] - pos_2[2])) ** 2;
|
|
85
|
-
export function map_std_to_orig_site_indices(std_positions, std_numbers, input_positions, input_numbers, orig_site_indices_by_input_idx) {
|
|
86
|
-
return std_positions.map((std_pos, std_idx) => {
|
|
87
|
-
const std_number = std_numbers[std_idx];
|
|
88
|
-
let nearest_input_idx = -1;
|
|
89
|
-
let nearest_sq_dist = Infinity;
|
|
90
|
-
for (let input_idx = 0; input_idx < input_positions.length; input_idx += 1) {
|
|
91
|
-
if (input_numbers[input_idx] !== std_number)
|
|
92
|
-
continue;
|
|
93
|
-
const sq_dist = fractional_sq_dist(std_pos, input_positions[input_idx]);
|
|
94
|
-
if (sq_dist < nearest_sq_dist) {
|
|
95
|
-
nearest_sq_dist = sq_dist;
|
|
96
|
-
nearest_input_idx = input_idx;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
if (nearest_input_idx === -1)
|
|
100
|
-
return [];
|
|
101
|
-
return orig_site_indices_by_input_idx[nearest_input_idx] ?? [];
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
export async function analyze_structure_symmetry(struct_or_mol, settings) {
|
|
105
|
-
await ensure_moyo_wasm_ready();
|
|
106
|
-
if (!(`lattice` in struct_or_mol)) {
|
|
107
|
-
throw new Error(`Symmetry analysis requires a periodic structure with a lattice`);
|
|
108
|
-
}
|
|
109
|
-
const moyo_input_cell = build_moyo_input_cell(struct_or_mol);
|
|
110
|
-
const cell_json = JSON.stringify(build_moyo_cell(struct_or_mol, moyo_input_cell.positions, moyo_input_cell.numbers));
|
|
111
|
-
const { symprec, algo } = { ...default_sym_settings, ...settings };
|
|
112
|
-
// Map "Moyo" to "Standard" for moyo-wasm
|
|
113
|
-
const moyo_algo = algo === `Moyo` ? `Standard` : algo;
|
|
114
|
-
const sym_data = analyze_cell(cell_json, symprec, moyo_algo);
|
|
115
|
-
const orig_site_indices_by_std_idx = map_std_to_orig_site_indices(sym_data.std_cell.positions, sym_data.std_cell.numbers, moyo_input_cell.positions, moyo_input_cell.numbers, moyo_input_cell.orig_site_indices_by_input_idx);
|
|
116
|
-
return { ...sym_data, orig_site_indices_by_std_idx };
|
|
117
|
-
}
|
|
118
|
-
// Helper function to score coordinate simplicity for Wyckoff table
|
|
119
|
-
export function simplicity_score(vec) {
|
|
120
|
-
const to_unit = (v) => v - Math.floor(v);
|
|
121
|
-
const near_zero = (v) => Math.min(v, 1 - v);
|
|
122
|
-
const near_half = (v) => Math.abs(v - 0.5);
|
|
123
|
-
const [ax, ay, az] = vec?.map(to_unit) ?? [];
|
|
124
|
-
return (near_zero(ax) +
|
|
125
|
-
near_zero(ay) +
|
|
126
|
-
near_zero(az) +
|
|
127
|
-
0.5 * (near_half(ax) + near_half(ay) + near_half(az)));
|
|
128
|
-
}
|
|
129
|
-
// Generate Wyckoff table rows from symmetry data
|
|
130
|
-
export function wyckoff_positions_from_moyo(sym_data) {
|
|
131
|
-
if (!sym_data)
|
|
132
|
-
return [];
|
|
133
|
-
const { positions, numbers } = sym_data.std_cell;
|
|
134
|
-
const { wyckoffs, orig_indices, orig_site_indices_by_std_idx } = sym_data;
|
|
135
|
-
// Group sites by letter-element combination and track all indices
|
|
136
|
-
const groups = new Map();
|
|
137
|
-
// Process all atoms in the standardized cell
|
|
138
|
-
// Note: wyckoffs array may be shorter than std_cell when moyo combines symmetry-equivalent sites
|
|
139
|
-
for (let idx = 0; idx < numbers.length; idx++) {
|
|
140
|
-
// Use wyckoff letter if available, otherwise mark as non-symmetric
|
|
141
|
-
const full = idx < wyckoffs.length ? wyckoffs[idx] : null;
|
|
142
|
-
const letter = full?.match(/[a-z]+$/)?.[0] ?? full ?? ``;
|
|
143
|
-
const atomic_num = numbers[idx];
|
|
144
|
-
const elem = ATOMIC_NUMBER_TO_SYMBOL[atomic_num] ?? `?`;
|
|
145
|
-
const position = positions[idx];
|
|
146
|
-
const key = letter ? `${letter}|${elem}` : `nosym|${elem}|${idx}`;
|
|
147
|
-
const group = groups.get(key) ?? { letter, elem, indices: [], positions: [] };
|
|
148
|
-
group.indices.push(idx);
|
|
149
|
-
group.positions.push(position);
|
|
150
|
-
groups.set(key, group);
|
|
151
|
-
}
|
|
152
|
-
const rows = Array.from(groups.values()).map(({ letter, elem, indices, positions }) => {
|
|
153
|
-
// Find the position with the best simplicity score to display
|
|
154
|
-
const best_pos = positions.reduce((best, pos) => {
|
|
155
|
-
const score = simplicity_score(pos);
|
|
156
|
-
return score < best.score ? { pos, score } : best;
|
|
157
|
-
}, { pos: positions[0], score: simplicity_score(positions[0]) }).pos;
|
|
158
|
-
// Map standardized cell indices back to original structure indices
|
|
159
|
-
const orig_site_indices = orig_site_indices_by_std_idx
|
|
160
|
-
? indices.flatMap((std_idx) => orig_site_indices_by_std_idx[std_idx] ?? [])
|
|
161
|
-
: orig_indices
|
|
162
|
-
? indices.map((std_idx) => orig_indices[std_idx]).filter((idx) => idx !== undefined)
|
|
163
|
-
: indices;
|
|
164
|
-
const wyckoff = letter ? `${indices.length}${letter}` : `1`;
|
|
165
|
-
return {
|
|
166
|
-
wyckoff,
|
|
167
|
-
elem,
|
|
168
|
-
abc: best_pos,
|
|
169
|
-
site_indices: [...new Set(orig_site_indices)].sort((idx_a, idx_b) => idx_a - idx_b),
|
|
170
|
-
};
|
|
171
|
-
});
|
|
172
|
-
rows.sort((w1, w2) => {
|
|
173
|
-
const [w1_mult, w2_mult] = [parseInt(w1.wyckoff), parseInt(w2.wyckoff)];
|
|
174
|
-
if (w1_mult !== w2_mult)
|
|
175
|
-
return w1_mult - w2_mult;
|
|
176
|
-
return w1.wyckoff.localeCompare(w2.wyckoff);
|
|
177
|
-
});
|
|
178
|
-
return rows;
|
|
179
|
-
}
|
|
180
|
-
// Apply symmetry operations to find all equivalent positions for a given fractional coordinate
|
|
181
|
-
export function apply_symmetry_operations(position, operations, _tolerance = 1e-6) {
|
|
182
|
-
const seen = new Set();
|
|
183
|
-
const wrap = (coord) => coord - Math.floor(coord);
|
|
184
|
-
const key = (pos) => pos.map((coord) => wrap(coord).toFixed(8)).join(`,`);
|
|
185
|
-
return operations
|
|
186
|
-
.map(({ rotation, translation }) => {
|
|
187
|
-
// Apply 3x3 rotation matrix and translation: new_pos = R * position + t
|
|
188
|
-
const new_pos = [0, 1, 2].map((dim) => rotation[dim * 3] * position[0] +
|
|
189
|
-
rotation[dim * 3 + 1] * position[1] +
|
|
190
|
-
rotation[dim * 3 + 2] * position[2] +
|
|
191
|
-
translation[dim]);
|
|
192
|
-
return new_pos.map(wrap);
|
|
193
|
-
})
|
|
194
|
-
.filter((pos) => {
|
|
195
|
-
const pos_key = key(pos);
|
|
196
|
-
if (seen.has(pos_key))
|
|
197
|
-
return false;
|
|
198
|
-
seen.add(pos_key);
|
|
199
|
-
return true;
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
// Map Wyckoff positions to all equivalent atoms in the displayed structure (including image atoms)
|
|
203
|
-
export function map_wyckoff_to_all_atoms(wyckoff_positions, displayed_structure, orig_structure, sym_data, tolerance = 1e-5) {
|
|
204
|
-
if (!sym_data?.operations || !displayed_structure.sites || !orig_structure.sites) {
|
|
205
|
-
return wyckoff_positions;
|
|
206
|
-
}
|
|
207
|
-
const periodic_distance = (pos1, pos2) => Math.sqrt(pos1.reduce((sum, coord, idx) => {
|
|
208
|
-
// Wrap delta into [-0.5, 0.5) using safe modulo
|
|
209
|
-
const delta = coord - pos2[idx];
|
|
210
|
-
const wrapped = ((((delta + 0.5) % 1) + 1) % 1) - 0.5;
|
|
211
|
-
const d = Math.abs(wrapped);
|
|
212
|
-
return sum + d * d;
|
|
213
|
-
}, 0));
|
|
214
|
-
return wyckoff_positions.map((wyckoff_pos) => {
|
|
215
|
-
const indices = (wyckoff_pos.site_indices || [])
|
|
216
|
-
.filter((idx) => idx < orig_structure.sites.length)
|
|
217
|
-
.flatMap((orig_idx) => {
|
|
218
|
-
const { abc: orig_abc, species } = orig_structure.sites[orig_idx];
|
|
219
|
-
const element = species[0]?.element;
|
|
220
|
-
const equivalent_positions = apply_symmetry_operations(orig_abc, sym_data.operations, tolerance);
|
|
221
|
-
return displayed_structure.sites
|
|
222
|
-
.map((site, display_idx) => ({ site, display_idx }))
|
|
223
|
-
.filter(({ site }) => site.species[0]?.element === element)
|
|
224
|
-
.filter(({ site }) => equivalent_positions.some((equiv_pos) => periodic_distance(equiv_pos, site.abc) < tolerance))
|
|
225
|
-
.map(({ display_idx }) => display_idx);
|
|
226
|
-
});
|
|
227
|
-
return { ...wyckoff_pos, site_indices: [...new Set(indices)].sort((a, b) => a - b) };
|
|
228
|
-
});
|
|
229
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare const CRYSTAL_SYSTEM_RANGES: Record<CrystalSystem, [number, number]>;
|
|
2
|
-
export declare const CRYSTAL_SYSTEM_COLORS: Record<CrystalSystem, string>;
|
|
3
|
-
export declare const CRYSTAL_SYSTEMS: readonly ["triclinic", "monoclinic", "orthorhombic", "tetragonal", "trigonal", "hexagonal", "cubic"];
|
|
4
|
-
export type CrystalSystem = (typeof CRYSTAL_SYSTEMS)[number];
|
|
5
|
-
export declare function spacegroup_num_to_crystal_sys(spacegroup: number): CrystalSystem | null;
|
|
6
|
-
export declare function spacegroup_to_crystal_sys(spacegroup: number | string): CrystalSystem | null;
|
|
7
|
-
export declare function normalize_spacegroup(spacegroup: number | string): number | null;
|
|
8
|
-
export declare const SPACEGROUP_SYMBOL_TO_NUM: Record<string, number>;
|
|
9
|
-
export declare const SPACEGROUP_NUM_TO_SYMBOL: Record<number, string>;
|