matterviz 0.3.5 → 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/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 +1460 -215
- 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/brillouin/BrillouinZone.svelte +0 -546
- 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 -426
- 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 -78
- 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 -99
- 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 -814
- package/dist/convex-hull/ConvexHull2D.svelte.d.ts +0 -11
- package/dist/convex-hull/ConvexHull3D.svelte +0 -1790
- package/dist/convex-hull/ConvexHull3D.svelte.d.ts +0 -8
- package/dist/convex-hull/ConvexHull4D.svelte +0 -1386
- 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 -122
- package/dist/convex-hull/ConvexHullInfoPane.svelte.d.ts +0 -18
- package/dist/convex-hull/ConvexHullStats.svelte +0 -922
- 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 -689
- 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 -147
- 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 -2
- 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 -600
- 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 -74
- package/dist/io/export.d.ts +0 -16
- package/dist/io/export.js +0 -316
- 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 -20
- 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 -548
- 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 -649
- 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/CopyButton.svelte +0 -45
- package/dist/overlays/CopyButton.svelte.d.ts +0 -8
- package/dist/overlays/DraggablePane.svelte +0 -564
- package/dist/overlays/DraggablePane.svelte.d.ts +0 -36
- package/dist/overlays/InfoPaneCards.svelte +0 -149
- package/dist/overlays/InfoPaneCards.svelte.d.ts +0 -22
- 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 -1084
- package/dist/phase-diagram/IsobaricBinaryPhaseDiagram.svelte.d.ts +0 -44
- package/dist/phase-diagram/PhaseDiagramControls.svelte +0 -449
- 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 -867
- 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 -2265
- package/dist/plot/BarPlot.svelte.d.ts +0 -83
- 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 -225
- package/dist/plot/FillArea.svelte.d.ts +0 -21
- package/dist/plot/Histogram.svelte +0 -1672
- 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 -84
- 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 -569
- package/dist/plot/PlotLegend.svelte.d.ts +0 -29
- 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 -2845
- package/dist/plot/ScatterPlot.svelte.d.ts +0 -93
- package/dist/plot/ScatterPlot3D.svelte +0 -502
- 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 -191
- package/dist/plot/ScatterPoint.svelte.d.ts +0 -21
- package/dist/plot/SpacegroupBarPlot.svelte +0 -293
- 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 -37
- 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 -859
- 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 -114
- package/dist/settings.d.ts +0 -255
- package/dist/settings.js +0 -1132
- 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 -1999
- package/dist/structure/Structure.svelte.d.ts +0 -87
- package/dist/structure/StructureControls.svelte +0 -1298
- 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 -735
- package/dist/structure/StructureInfoPane.svelte.d.ts +0 -19
- package/dist/structure/StructureScene.svelte +0 -1905
- package/dist/structure/StructureScene.svelte.d.ts +0 -108
- package/dist/structure/atom-properties.d.ts +0 -37
- package/dist/structure/atom-properties.js +0 -200
- package/dist/structure/bond-order-perception.d.ts +0 -13
- package/dist/structure/bond-order-perception.js +0 -367
- package/dist/structure/bonding.d.ts +0 -42
- package/dist/structure/bonding.js +0 -525
- package/dist/structure/export.d.ts +0 -20
- package/dist/structure/export.js +0 -727
- package/dist/structure/index.d.ts +0 -125
- package/dist/structure/index.js +0 -171
- package/dist/structure/label-placement.d.ts +0 -14
- package/dist/structure/label-placement.js +0 -72
- package/dist/structure/measure.d.ts +0 -6
- package/dist/structure/measure.js +0 -29
- package/dist/structure/parse.d.ts +0 -66
- package/dist/structure/parse.js +0 -1363
- 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 -170
- 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 -91
- 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 -313
- 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 -73
- package/dist/trajectory/parse/hdf5.d.ts +0 -2
- package/dist/trajectory/parse/hdf5.js +0 -127
- 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/{app.css → src/lib/app.css} +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
|
@@ -0,0 +1,1479 @@
|
|
|
1
|
+
// MatterViz settings schema - single source of truth for all MatterViz settings
|
|
2
|
+
// Used by both main package and VSCode extension
|
|
3
|
+
|
|
4
|
+
import type { ColorScaleType, D3InterpolateName } from '$lib/colors'
|
|
5
|
+
import type { HullFaceColorMode } from '$lib/convex-hull/types'
|
|
6
|
+
import type { D3SymbolName } from '$lib/labels'
|
|
7
|
+
import { symbol_names } from '$lib/labels'
|
|
8
|
+
import type { Vec3 } from '$lib/math'
|
|
9
|
+
import type { Orientation } from '$lib/plot'
|
|
10
|
+
import type { BondingStrategy } from '$lib/structure/bonding'
|
|
11
|
+
import { merge_nested } from './utils'
|
|
12
|
+
|
|
13
|
+
// SettingType interface with optional context to control where settings apply
|
|
14
|
+
// context: 'web' = web browser only, 'editor' = VSCode extension only, 'notebook' = Jupyter/marimo only, 'all' or undefined = all contexts
|
|
15
|
+
export interface SettingType<T = unknown> {
|
|
16
|
+
value: T
|
|
17
|
+
description: string
|
|
18
|
+
enum?: Readonly<Record<Extract<T, string>, string>>
|
|
19
|
+
minimum?: number
|
|
20
|
+
maximum?: number
|
|
21
|
+
minItems?: number
|
|
22
|
+
maxItems?: number
|
|
23
|
+
context?: `web` | `editor` | `notebook` | `all`
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const SHOW_BONDS_OPTIONS = [`never`, `always`, `crystals`, `molecules`] as const
|
|
27
|
+
export type ShowBonds = (typeof SHOW_BONDS_OPTIONS)[number]
|
|
28
|
+
|
|
29
|
+
export type CameraProjection = `perspective` | `orthographic`
|
|
30
|
+
|
|
31
|
+
export const VECTOR_COLOR_MODES = [
|
|
32
|
+
`auto`,
|
|
33
|
+
`element`,
|
|
34
|
+
`spin_direction`,
|
|
35
|
+
`magnitude`,
|
|
36
|
+
`uniform`,
|
|
37
|
+
] as const
|
|
38
|
+
export type VectorColorMode = (typeof VECTOR_COLOR_MODES)[number]
|
|
39
|
+
|
|
40
|
+
// Per-key configuration for site vector layers (force, magmom, spin, etc.)
|
|
41
|
+
export type VectorLayerConfig = {
|
|
42
|
+
visible: boolean
|
|
43
|
+
color: string | null // null = auto from palette
|
|
44
|
+
scale: number | null // null = use global scale only (multiplier of 1.0)
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export const ATOM_COLOR_MODE_OPTIONS = [
|
|
48
|
+
`element`,
|
|
49
|
+
`coordination`,
|
|
50
|
+
`wyckoff`,
|
|
51
|
+
`custom`,
|
|
52
|
+
] as const
|
|
53
|
+
export type AtomColorMode = (typeof ATOM_COLOR_MODE_OPTIONS)[number]
|
|
54
|
+
|
|
55
|
+
// Reusable type definitions for common setting patterns
|
|
56
|
+
type DisplayConfigType = {
|
|
57
|
+
x_grid: SettingType<boolean>
|
|
58
|
+
y_grid: SettingType<boolean>
|
|
59
|
+
y2_grid: SettingType<boolean>
|
|
60
|
+
x_zero_line: SettingType<boolean>
|
|
61
|
+
y_zero_line: SettingType<boolean>
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
type BarStyleType = {
|
|
65
|
+
color: SettingType<string>
|
|
66
|
+
opacity: SettingType<number>
|
|
67
|
+
stroke_width: SettingType<number>
|
|
68
|
+
stroke_color: SettingType<string>
|
|
69
|
+
stroke_opacity: SettingType<number>
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
type PointStyleType = {
|
|
73
|
+
size: SettingType<number>
|
|
74
|
+
color: SettingType<string>
|
|
75
|
+
opacity: SettingType<number>
|
|
76
|
+
stroke_width: SettingType<number>
|
|
77
|
+
stroke_color: SettingType<string>
|
|
78
|
+
stroke_opacity: SettingType<number>
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
type LineStyleType = {
|
|
82
|
+
width: SettingType<number>
|
|
83
|
+
color: SettingType<string>
|
|
84
|
+
opacity: SettingType<number>
|
|
85
|
+
dash: SettingType<string>
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
type SimpleBarStyleType = {
|
|
89
|
+
color: SettingType<string>
|
|
90
|
+
opacity: SettingType<number>
|
|
91
|
+
border_radius: SettingType<number>
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
type SimpleLineStyleType = { width: SettingType<number>; color: SettingType<string> }
|
|
95
|
+
|
|
96
|
+
type ConvexHullCommonType = {
|
|
97
|
+
camera_zoom: SettingType<number>
|
|
98
|
+
camera_center_x: SettingType<number>
|
|
99
|
+
camera_center_y: SettingType<number>
|
|
100
|
+
color_mode: SettingType<`stability` | `energy`>
|
|
101
|
+
color_scale: SettingType<string>
|
|
102
|
+
show_stable: SettingType<boolean>
|
|
103
|
+
show_unstable: SettingType<boolean>
|
|
104
|
+
show_stable_labels: SettingType<boolean>
|
|
105
|
+
show_unstable_labels: SettingType<boolean>
|
|
106
|
+
max_hull_dist_show_phases: SettingType<number>
|
|
107
|
+
max_hull_dist_show_labels: SettingType<number>
|
|
108
|
+
fullscreen: SettingType<boolean>
|
|
109
|
+
info_pane_open: SettingType<boolean>
|
|
110
|
+
legend_pane_open: SettingType<boolean>
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
type ConvexHullWith3DType = ConvexHullCommonType & {
|
|
114
|
+
show_hull_faces: SettingType<boolean>
|
|
115
|
+
hull_face_color: SettingType<string>
|
|
116
|
+
hull_face_opacity: SettingType<number>
|
|
117
|
+
hull_face_color_mode: SettingType<HullFaceColorMode>
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export interface SettingsConfig {
|
|
121
|
+
// General display settings
|
|
122
|
+
color_scheme: SettingType<string>
|
|
123
|
+
background_color: SettingType<string>
|
|
124
|
+
background_opacity: SettingType<number>
|
|
125
|
+
|
|
126
|
+
// Symmetry Analysis
|
|
127
|
+
symmetry: {
|
|
128
|
+
symprec: SettingType<number>
|
|
129
|
+
algo: SettingType<`Moyo` | `Spglib`>
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
structure: {
|
|
133
|
+
// Structure viewer settings
|
|
134
|
+
// Atoms & Bonds
|
|
135
|
+
atom_radius: SettingType<number>
|
|
136
|
+
same_size_atoms: SettingType<boolean>
|
|
137
|
+
show_atoms: SettingType<boolean>
|
|
138
|
+
show_image_atoms: SettingType<boolean>
|
|
139
|
+
sphere_segments: SettingType<number>
|
|
140
|
+
bond_thickness: SettingType<number>
|
|
141
|
+
auto_bond_order: SettingType<boolean>
|
|
142
|
+
aromatic_display: SettingType<`aromatic` | `kekule`>
|
|
143
|
+
show_bonds: SettingType<ShowBonds>
|
|
144
|
+
bond_color: SettingType<string>
|
|
145
|
+
bonding_strategy: SettingType<BondingStrategy>
|
|
146
|
+
atom_color_mode: SettingType<AtomColorMode>
|
|
147
|
+
atom_color_scale: SettingType<D3InterpolateName>
|
|
148
|
+
atom_color_scale_type: SettingType<ColorScaleType>
|
|
149
|
+
|
|
150
|
+
// Camera & Controls
|
|
151
|
+
show_gizmo: SettingType<boolean>
|
|
152
|
+
camera_position: SettingType<Vec3>
|
|
153
|
+
camera_projection: SettingType<CameraProjection>
|
|
154
|
+
initial_zoom: SettingType<number>
|
|
155
|
+
fov: SettingType<number>
|
|
156
|
+
rotation_damping: SettingType<number>
|
|
157
|
+
rotate_speed: SettingType<number>
|
|
158
|
+
zoom_speed: SettingType<number>
|
|
159
|
+
pan_speed: SettingType<number>
|
|
160
|
+
zoom_to_cursor: SettingType<boolean>
|
|
161
|
+
max_zoom: SettingType<number | undefined>
|
|
162
|
+
min_zoom: SettingType<number | undefined>
|
|
163
|
+
auto_rotate: SettingType<number>
|
|
164
|
+
// Manual rotation controls [x, y, z] in radians
|
|
165
|
+
rotation: SettingType<Vec3>
|
|
166
|
+
|
|
167
|
+
// Labels & Lighting
|
|
168
|
+
show_site_labels: SettingType<boolean>
|
|
169
|
+
show_site_indices: SettingType<boolean>
|
|
170
|
+
site_label_size: SettingType<number>
|
|
171
|
+
site_label_color: SettingType<string>
|
|
172
|
+
site_label_bg_color: SettingType<string>
|
|
173
|
+
site_label_padding: SettingType<number>
|
|
174
|
+
site_label_offset: SettingType<Vec3>
|
|
175
|
+
ambient_light: SettingType<number>
|
|
176
|
+
directional_light: SettingType<number>
|
|
177
|
+
|
|
178
|
+
// Site Vectors (force, magmom, spin) & Lattice
|
|
179
|
+
vector_configs: SettingType<Record<string, VectorLayerConfig>>
|
|
180
|
+
vector_scale: SettingType<number>
|
|
181
|
+
vector_color: SettingType<string>
|
|
182
|
+
vector_color_mode: SettingType<VectorColorMode>
|
|
183
|
+
vector_color_scale: SettingType<D3InterpolateName>
|
|
184
|
+
vector_normalize: SettingType<boolean>
|
|
185
|
+
vector_uniform_thickness: SettingType<boolean>
|
|
186
|
+
vector_origin_gap: SettingType<number>
|
|
187
|
+
vector_shaft_radius: SettingType<number>
|
|
188
|
+
vector_arrow_head_radius: SettingType<number>
|
|
189
|
+
vector_arrow_head_length: SettingType<number>
|
|
190
|
+
show_cell: SettingType<boolean>
|
|
191
|
+
show_cell_vectors: SettingType<boolean>
|
|
192
|
+
cell_edge_opacity: SettingType<number>
|
|
193
|
+
cell_surface_opacity: SettingType<number>
|
|
194
|
+
cell_edge_color: SettingType<string>
|
|
195
|
+
cell_surface_color: SettingType<string>
|
|
196
|
+
cell_edge_width: SettingType<number>
|
|
197
|
+
fullscreen_toggle: SettingType<boolean>
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
trajectory: {
|
|
201
|
+
// Trajectory viewer settings
|
|
202
|
+
// Core trajectory settings
|
|
203
|
+
auto_play: SettingType<boolean>
|
|
204
|
+
fps: SettingType<number>
|
|
205
|
+
fps_range: SettingType<[number, number]>
|
|
206
|
+
display_mode: SettingType<
|
|
207
|
+
`structure+scatter` | `structure` | `scatter` | `histogram` | `structure+histogram`
|
|
208
|
+
>
|
|
209
|
+
show_controls: SettingType<boolean>
|
|
210
|
+
fullscreen_toggle: SettingType<boolean>
|
|
211
|
+
step_labels: SettingType<number>
|
|
212
|
+
layout: SettingType<`auto` | Orientation>
|
|
213
|
+
|
|
214
|
+
// File handling and loading
|
|
215
|
+
allow_file_drop: SettingType<boolean>
|
|
216
|
+
bin_file_threshold: SettingType<number>
|
|
217
|
+
text_file_threshold: SettingType<number>
|
|
218
|
+
use_indexing: SettingType<boolean>
|
|
219
|
+
chunk_size: SettingType<number>
|
|
220
|
+
|
|
221
|
+
// Formatting
|
|
222
|
+
step_label_format: SettingType<string>
|
|
223
|
+
property_value_format: SettingType<string>
|
|
224
|
+
tooltip_format: SettingType<string>
|
|
225
|
+
|
|
226
|
+
// UI/UX
|
|
227
|
+
enable_keyboard_shortcuts: SettingType<boolean>
|
|
228
|
+
show_parsing_progress: SettingType<boolean>
|
|
229
|
+
compact_controls: SettingType<boolean>
|
|
230
|
+
show_filename_in_controls: SettingType<boolean>
|
|
231
|
+
|
|
232
|
+
// Playback behavior
|
|
233
|
+
smooth_playback: SettingType<boolean>
|
|
234
|
+
loop_playback: SettingType<boolean>
|
|
235
|
+
pause_on_hover: SettingType<boolean>
|
|
236
|
+
highlight_current_frame: SettingType<boolean>
|
|
237
|
+
show_frame_info: SettingType<boolean>
|
|
238
|
+
|
|
239
|
+
// Performance
|
|
240
|
+
max_frames_in_memory: SettingType<number>
|
|
241
|
+
memory_usage_warning_threshold: SettingType<number>
|
|
242
|
+
enable_performance_monitoring: SettingType<boolean>
|
|
243
|
+
prefetch_frames: SettingType<number>
|
|
244
|
+
cache_parsed_data: SettingType<boolean>
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
plot: {
|
|
248
|
+
// General plot settings
|
|
249
|
+
animation_duration: SettingType<number>
|
|
250
|
+
enable_zoom: SettingType<boolean>
|
|
251
|
+
zoom_factor: SettingType<number>
|
|
252
|
+
auto_fit_range: SettingType<boolean>
|
|
253
|
+
grid_lines: SettingType<boolean>
|
|
254
|
+
axis_labels: SettingType<boolean>
|
|
255
|
+
show_x_zero_line: SettingType<boolean>
|
|
256
|
+
show_y_zero_line: SettingType<boolean>
|
|
257
|
+
show_x_grid: SettingType<boolean>
|
|
258
|
+
show_x2_grid: SettingType<boolean>
|
|
259
|
+
show_y_grid: SettingType<boolean>
|
|
260
|
+
show_y2_grid: SettingType<boolean>
|
|
261
|
+
x_format: SettingType<string>
|
|
262
|
+
x2_format: SettingType<string>
|
|
263
|
+
y_format: SettingType<string>
|
|
264
|
+
y2_format: SettingType<string>
|
|
265
|
+
x_scale_type: SettingType<string>
|
|
266
|
+
y_scale_type: SettingType<string>
|
|
267
|
+
x_ticks: SettingType<number>
|
|
268
|
+
y_ticks: SettingType<number>
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
scatter: {
|
|
272
|
+
// Scatter plot settings
|
|
273
|
+
show_legend: SettingType<boolean>
|
|
274
|
+
show_points: SettingType<boolean>
|
|
275
|
+
show_lines: SettingType<boolean>
|
|
276
|
+
symbol_type: SettingType<D3SymbolName>
|
|
277
|
+
display: DisplayConfigType
|
|
278
|
+
point: PointStyleType
|
|
279
|
+
line: LineStyleType
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
histogram: {
|
|
283
|
+
// Histogram settings
|
|
284
|
+
mode: SettingType<`overlay` | `single`>
|
|
285
|
+
show_legend: SettingType<boolean>
|
|
286
|
+
bin_count: SettingType<number>
|
|
287
|
+
bar: BarStyleType
|
|
288
|
+
display: DisplayConfigType
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
bar: {
|
|
292
|
+
// Bar plot settings
|
|
293
|
+
display: DisplayConfigType
|
|
294
|
+
bar: SimpleBarStyleType
|
|
295
|
+
line: SimpleLineStyleType
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
composition: {
|
|
299
|
+
// Composition specific settings
|
|
300
|
+
display_mode: SettingType<`pie` | `bubble` | `bar`>
|
|
301
|
+
color_scheme: SettingType<string>
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
convex_hull: {
|
|
305
|
+
// Convex hull defaults (binary/ternary/quaternary)
|
|
306
|
+
binary: ConvexHullCommonType
|
|
307
|
+
ternary: ConvexHullWith3DType & {
|
|
308
|
+
camera_elevation: SettingType<number>
|
|
309
|
+
camera_azimuth: SettingType<number>
|
|
310
|
+
}
|
|
311
|
+
quaternary: ConvexHullWith3DType & {
|
|
312
|
+
camera_rotation_x: SettingType<number>
|
|
313
|
+
camera_rotation_y: SettingType<number>
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
const DISPLAY_CONFIG = {
|
|
319
|
+
x_grid: {
|
|
320
|
+
value: true,
|
|
321
|
+
description: `Show X-axis grid lines`,
|
|
322
|
+
},
|
|
323
|
+
y_grid: {
|
|
324
|
+
value: true,
|
|
325
|
+
description: `Show Y-axis grid lines`,
|
|
326
|
+
},
|
|
327
|
+
y2_grid: {
|
|
328
|
+
value: false,
|
|
329
|
+
description: `Show Y2-axis grid lines`,
|
|
330
|
+
},
|
|
331
|
+
x_zero_line: {
|
|
332
|
+
value: true,
|
|
333
|
+
description: `Show X-axis zero reference line`,
|
|
334
|
+
},
|
|
335
|
+
y_zero_line: {
|
|
336
|
+
value: true,
|
|
337
|
+
description: `Show Y-axis zero reference line`,
|
|
338
|
+
},
|
|
339
|
+
} as const
|
|
340
|
+
|
|
341
|
+
// Complete settings configuration with values, descriptions, and constraints
|
|
342
|
+
export const SETTINGS_CONFIG: SettingsConfig = {
|
|
343
|
+
// General display settings
|
|
344
|
+
color_scheme: {
|
|
345
|
+
value: `Vesta`,
|
|
346
|
+
description: `Color scheme for atoms and bonds`,
|
|
347
|
+
enum: {
|
|
348
|
+
Vesta: `Vesta`,
|
|
349
|
+
Jmol: `Jmol`,
|
|
350
|
+
Alloy: `Alloy`,
|
|
351
|
+
Pastel: `Pastel`,
|
|
352
|
+
Muted: `Muted`,
|
|
353
|
+
'Dark Mode': `Dark Mode`,
|
|
354
|
+
},
|
|
355
|
+
},
|
|
356
|
+
background_color: {
|
|
357
|
+
value: `#000000`,
|
|
358
|
+
description: `Background color of the 3D viewport`,
|
|
359
|
+
},
|
|
360
|
+
background_opacity: {
|
|
361
|
+
value: 0,
|
|
362
|
+
description: `Opacity of the background (0.0 = transparent, 1.0 = opaque)`,
|
|
363
|
+
minimum: 0,
|
|
364
|
+
maximum: 1,
|
|
365
|
+
},
|
|
366
|
+
|
|
367
|
+
// Symmetry Analysis
|
|
368
|
+
symmetry: {
|
|
369
|
+
symprec: {
|
|
370
|
+
value: 1e-4,
|
|
371
|
+
description: `Symmetry precision tolerance for spacegroup detection`,
|
|
372
|
+
minimum: 1e-8,
|
|
373
|
+
maximum: 1,
|
|
374
|
+
},
|
|
375
|
+
algo: {
|
|
376
|
+
value: `Moyo` as const,
|
|
377
|
+
description: `Algorithm for symmetry analysis`,
|
|
378
|
+
enum: { Moyo: `Moyo`, Spglib: `Spglib` },
|
|
379
|
+
},
|
|
380
|
+
},
|
|
381
|
+
|
|
382
|
+
// Structure viewer settings
|
|
383
|
+
structure: {
|
|
384
|
+
// Atoms & Bonds
|
|
385
|
+
atom_radius: {
|
|
386
|
+
value: 0.7,
|
|
387
|
+
description: `Radius multiplier for atoms (0.7 = standard atomic radii)`,
|
|
388
|
+
minimum: 0.1,
|
|
389
|
+
maximum: 3.0,
|
|
390
|
+
},
|
|
391
|
+
same_size_atoms: {
|
|
392
|
+
value: false,
|
|
393
|
+
description: `Render all atoms with the same size regardless of element`,
|
|
394
|
+
},
|
|
395
|
+
show_atoms: {
|
|
396
|
+
value: true,
|
|
397
|
+
description: `Display atoms in the structure`,
|
|
398
|
+
},
|
|
399
|
+
show_image_atoms: {
|
|
400
|
+
value: true,
|
|
401
|
+
description: `Show atoms on the edge of the cell that are not part of the primitive basis`,
|
|
402
|
+
},
|
|
403
|
+
sphere_segments: {
|
|
404
|
+
value: 20,
|
|
405
|
+
description: `Number of segments for sphere rendering (higher = smoother)`,
|
|
406
|
+
minimum: 8,
|
|
407
|
+
maximum: 64,
|
|
408
|
+
},
|
|
409
|
+
bond_thickness: {
|
|
410
|
+
value: 0.07,
|
|
411
|
+
description: `Thickness of bonds relative to atom radius`,
|
|
412
|
+
minimum: 0.01,
|
|
413
|
+
maximum: 1.0,
|
|
414
|
+
},
|
|
415
|
+
auto_bond_order: {
|
|
416
|
+
value: false,
|
|
417
|
+
description: `Automatically perceive double/triple/aromatic bonds from geometry (main-group/organic; metals fall back to single)`,
|
|
418
|
+
},
|
|
419
|
+
aromatic_display: {
|
|
420
|
+
value: `aromatic`,
|
|
421
|
+
description: `How to render perceived aromatic rings`,
|
|
422
|
+
enum: { aromatic: `Aromatic (1.5)`, kekule: `Kekulé (alternating)` },
|
|
423
|
+
},
|
|
424
|
+
show_bonds: {
|
|
425
|
+
value: `always`,
|
|
426
|
+
description: `When to display bonds between atoms`,
|
|
427
|
+
enum: Object.fromEntries(
|
|
428
|
+
SHOW_BONDS_OPTIONS.map((key) => [key, key[0].toUpperCase() + key.slice(1)]),
|
|
429
|
+
) as Readonly<Record<ShowBonds, string>>,
|
|
430
|
+
},
|
|
431
|
+
bond_color: {
|
|
432
|
+
value: `#666666`,
|
|
433
|
+
description: `Color for bonds (hex color code)`,
|
|
434
|
+
},
|
|
435
|
+
bonding_strategy: {
|
|
436
|
+
value: `electroneg_ratio`,
|
|
437
|
+
description: `Method for determining bonds between atoms`,
|
|
438
|
+
enum: {
|
|
439
|
+
electroneg_ratio: `Electronegativity Ratio`,
|
|
440
|
+
solid_angle: `Solid Angle`,
|
|
441
|
+
},
|
|
442
|
+
},
|
|
443
|
+
atom_color_mode: {
|
|
444
|
+
value: `element`,
|
|
445
|
+
description: `Property to use for atom coloring`,
|
|
446
|
+
enum: {
|
|
447
|
+
element: `Element`,
|
|
448
|
+
coordination: `Coordination Number`,
|
|
449
|
+
wyckoff: `Wyckoff Position`,
|
|
450
|
+
} as Readonly<Record<AtomColorMode, string>>,
|
|
451
|
+
},
|
|
452
|
+
atom_color_scale: {
|
|
453
|
+
value: `interpolateViridis`,
|
|
454
|
+
description: `D3 color scale for property-based coloring (e.g. interpolateViridis, interpolatePlasma)`,
|
|
455
|
+
},
|
|
456
|
+
atom_color_scale_type: {
|
|
457
|
+
value: `continuous`,
|
|
458
|
+
description: `Color scale type for property-based coloring`,
|
|
459
|
+
enum: {
|
|
460
|
+
continuous: `Continuous Gradient`,
|
|
461
|
+
categorical: `Discrete Categories`,
|
|
462
|
+
},
|
|
463
|
+
},
|
|
464
|
+
|
|
465
|
+
// Camera & Controls
|
|
466
|
+
show_gizmo: {
|
|
467
|
+
value: true,
|
|
468
|
+
description: `Show orientation gizmo in the corner of structure viewer`,
|
|
469
|
+
},
|
|
470
|
+
camera_position: {
|
|
471
|
+
value: [0, 0, 0] as const,
|
|
472
|
+
description: `Initial camera position [x, y, z]`,
|
|
473
|
+
minItems: 3,
|
|
474
|
+
maxItems: 3,
|
|
475
|
+
},
|
|
476
|
+
camera_projection: {
|
|
477
|
+
value: `orthographic` as const,
|
|
478
|
+
description: `Camera projection type`,
|
|
479
|
+
enum: {
|
|
480
|
+
perspective: `Perspective`,
|
|
481
|
+
orthographic: `Orthographic`,
|
|
482
|
+
},
|
|
483
|
+
},
|
|
484
|
+
initial_zoom: {
|
|
485
|
+
value: 35,
|
|
486
|
+
description: `Initial zoom level for orthographic projection (ignored for perspective)`,
|
|
487
|
+
minimum: 0.1,
|
|
488
|
+
maximum: 200,
|
|
489
|
+
},
|
|
490
|
+
fov: {
|
|
491
|
+
value: 10,
|
|
492
|
+
description: `Field of view in degrees for perspective projection`,
|
|
493
|
+
minimum: 10,
|
|
494
|
+
maximum: 150,
|
|
495
|
+
},
|
|
496
|
+
rotation_damping: {
|
|
497
|
+
value: 0.1,
|
|
498
|
+
description: `Camera rotation damping factor (0 = no damping, 1 = heavy damping)`,
|
|
499
|
+
minimum: 0,
|
|
500
|
+
maximum: 1,
|
|
501
|
+
},
|
|
502
|
+
rotate_speed: {
|
|
503
|
+
value: 1.0,
|
|
504
|
+
description: `Mouse rotation sensitivity (set to 0 to disable rotation)`,
|
|
505
|
+
minimum: 0,
|
|
506
|
+
maximum: 2.0,
|
|
507
|
+
},
|
|
508
|
+
zoom_speed: {
|
|
509
|
+
value: 0.5,
|
|
510
|
+
description: `Mouse wheel zoom sensitivity`,
|
|
511
|
+
minimum: 0.1,
|
|
512
|
+
maximum: 2.0,
|
|
513
|
+
},
|
|
514
|
+
pan_speed: {
|
|
515
|
+
value: 0.5,
|
|
516
|
+
description: `Mouse pan sensitivity`,
|
|
517
|
+
minimum: 0.1,
|
|
518
|
+
maximum: 2.0,
|
|
519
|
+
},
|
|
520
|
+
zoom_to_cursor: {
|
|
521
|
+
value: false,
|
|
522
|
+
description: `Zoom toward cursor position instead of scene center (double click canvas to reset camera)`,
|
|
523
|
+
},
|
|
524
|
+
max_zoom: {
|
|
525
|
+
value: 500,
|
|
526
|
+
description: `Maximum zoom level (orthographic: larger = more zoomed out, perspective: larger = further away)`,
|
|
527
|
+
},
|
|
528
|
+
min_zoom: {
|
|
529
|
+
value: 10,
|
|
530
|
+
description: `Minimum zoom level (orthographic: smaller = more zoomed in, perspective: smaller = closer)`,
|
|
531
|
+
},
|
|
532
|
+
auto_rotate: {
|
|
533
|
+
value: 0.2,
|
|
534
|
+
description: `Automatic rotation speed (0 = disabled, positive = clockwise)`,
|
|
535
|
+
minimum: 0,
|
|
536
|
+
maximum: 10,
|
|
537
|
+
},
|
|
538
|
+
rotation: {
|
|
539
|
+
value: [0, 0, 0] as const,
|
|
540
|
+
description: `Manual rotation around X, Y, Z axes, displayed in degrees [0, 360] but normalized as radians to [-π, π] for each of [x, y, z]. Combines additively with auto-rotation when both are active.`,
|
|
541
|
+
minItems: 3,
|
|
542
|
+
maxItems: 3,
|
|
543
|
+
},
|
|
544
|
+
|
|
545
|
+
// Labels & Lighting
|
|
546
|
+
show_site_labels: {
|
|
547
|
+
value: false,
|
|
548
|
+
description: `Show element labels on atoms`,
|
|
549
|
+
},
|
|
550
|
+
show_site_indices: {
|
|
551
|
+
value: false,
|
|
552
|
+
description: `Show site index numbers on atoms`,
|
|
553
|
+
},
|
|
554
|
+
site_label_size: {
|
|
555
|
+
value: 1,
|
|
556
|
+
description: `Font size for atom labels`,
|
|
557
|
+
minimum: 0.5,
|
|
558
|
+
maximum: 5,
|
|
559
|
+
},
|
|
560
|
+
site_label_color: {
|
|
561
|
+
value: `#111111`,
|
|
562
|
+
description: `Text color for atom labels`,
|
|
563
|
+
},
|
|
564
|
+
site_label_bg_color: {
|
|
565
|
+
value: `color-mix(in srgb, #000000 0%, transparent)`,
|
|
566
|
+
description: `Background color for atom labels`,
|
|
567
|
+
},
|
|
568
|
+
site_label_padding: {
|
|
569
|
+
value: 2,
|
|
570
|
+
description: `Padding around atom labels in pixels`,
|
|
571
|
+
minimum: 0,
|
|
572
|
+
maximum: 20,
|
|
573
|
+
},
|
|
574
|
+
site_label_offset: {
|
|
575
|
+
value: [0, 0.5, 0] as const,
|
|
576
|
+
description: `3D offset for atom labels [x, y, z]`,
|
|
577
|
+
minItems: 3,
|
|
578
|
+
maxItems: 3,
|
|
579
|
+
},
|
|
580
|
+
ambient_light: {
|
|
581
|
+
value: 1.5,
|
|
582
|
+
description: `Ambient light intensity (0 = dark, higher = brighter)`,
|
|
583
|
+
minimum: 0,
|
|
584
|
+
maximum: 4,
|
|
585
|
+
},
|
|
586
|
+
directional_light: {
|
|
587
|
+
value: 2.2,
|
|
588
|
+
description: `Directional light intensity (0 = no shadows, higher = stronger shadows)`,
|
|
589
|
+
minimum: 0,
|
|
590
|
+
maximum: 4,
|
|
591
|
+
},
|
|
592
|
+
|
|
593
|
+
// Site Vectors (force, magmom, spin) & Lattice
|
|
594
|
+
vector_configs: {
|
|
595
|
+
value: {} as Record<string, VectorLayerConfig>,
|
|
596
|
+
description: `Per-key configuration for site vector layers. Keys map to site property names (e.g. force, magmom, force_DFT). Auto-populated when a structure with vector data loads.`,
|
|
597
|
+
},
|
|
598
|
+
vector_scale: {
|
|
599
|
+
value: 1.0,
|
|
600
|
+
description: `Scale factor for site vector arrows`,
|
|
601
|
+
minimum: 0.1,
|
|
602
|
+
maximum: 10.0,
|
|
603
|
+
},
|
|
604
|
+
vector_color: {
|
|
605
|
+
value: `#ff0000`,
|
|
606
|
+
description: `Color for site vector arrows (used in uniform mode and as fallback)`,
|
|
607
|
+
},
|
|
608
|
+
vector_color_mode: {
|
|
609
|
+
value: `auto` as VectorColorMode,
|
|
610
|
+
description: `How to color arrows. auto = element for force, spin-direction for magmom/spin. element = majority species color. spin_direction = red/blue by z-component. magnitude = continuous color scale by vector length. uniform = single color (vector_color).`,
|
|
611
|
+
},
|
|
612
|
+
vector_color_scale: {
|
|
613
|
+
value: `interpolateViridis` as D3InterpolateName,
|
|
614
|
+
description: `D3 color scale for magnitude coloring mode`,
|
|
615
|
+
},
|
|
616
|
+
vector_normalize: {
|
|
617
|
+
value: false,
|
|
618
|
+
description: `Show all arrows at the same length (direction only). Useful for spin/magmom visualization where orientation matters but magnitude does not.`,
|
|
619
|
+
},
|
|
620
|
+
vector_uniform_thickness: {
|
|
621
|
+
value: false,
|
|
622
|
+
description: `Use the same shaft and head size for all arrows regardless of length. When off (default), thickness scales with arrow length.`,
|
|
623
|
+
},
|
|
624
|
+
vector_origin_gap: {
|
|
625
|
+
value: 0,
|
|
626
|
+
description: `Fraction of visual atom radius to offset each arrow origin when multiple vectors are shown per site. 0 = all from atom center, 0.5 = halfway to surface.`,
|
|
627
|
+
minimum: 0,
|
|
628
|
+
maximum: 0.5,
|
|
629
|
+
},
|
|
630
|
+
vector_shaft_radius: {
|
|
631
|
+
value: -0.03,
|
|
632
|
+
description: `Radius of vector shaft (negative = relative to length, positive = absolute)`,
|
|
633
|
+
minimum: -0.1,
|
|
634
|
+
maximum: 0.1,
|
|
635
|
+
},
|
|
636
|
+
vector_arrow_head_radius: {
|
|
637
|
+
value: -0.06,
|
|
638
|
+
description: `Radius of vector arrow head (negative = relative to length, positive = absolute)`,
|
|
639
|
+
minimum: -0.2,
|
|
640
|
+
maximum: 0.2,
|
|
641
|
+
},
|
|
642
|
+
vector_arrow_head_length: {
|
|
643
|
+
value: -0.15,
|
|
644
|
+
description: `Length of vector arrow head (negative = relative to length, positive = absolute)`,
|
|
645
|
+
minimum: -0.5,
|
|
646
|
+
maximum: 0.5,
|
|
647
|
+
},
|
|
648
|
+
show_cell: {
|
|
649
|
+
value: false,
|
|
650
|
+
description: `Display system cell`,
|
|
651
|
+
},
|
|
652
|
+
show_cell_vectors: {
|
|
653
|
+
value: true,
|
|
654
|
+
description: `Display cell vectors`,
|
|
655
|
+
},
|
|
656
|
+
cell_edge_opacity: {
|
|
657
|
+
value: 0.3,
|
|
658
|
+
description: `Opacity of cell edge lines`,
|
|
659
|
+
minimum: 0,
|
|
660
|
+
maximum: 1,
|
|
661
|
+
},
|
|
662
|
+
cell_surface_opacity: {
|
|
663
|
+
value: 0.1,
|
|
664
|
+
description: `Opacity of cell surfaces`,
|
|
665
|
+
minimum: 0,
|
|
666
|
+
maximum: 1,
|
|
667
|
+
},
|
|
668
|
+
cell_edge_color: {
|
|
669
|
+
value: `#808080`,
|
|
670
|
+
description: `Color of cell edges`,
|
|
671
|
+
},
|
|
672
|
+
cell_surface_color: {
|
|
673
|
+
value: `#e0e0e0`,
|
|
674
|
+
description: `Color of cell surfaces`,
|
|
675
|
+
},
|
|
676
|
+
cell_edge_width: {
|
|
677
|
+
value: 1.5,
|
|
678
|
+
description: `Width of cell edge lines`,
|
|
679
|
+
minimum: 0.5,
|
|
680
|
+
maximum: 5.0,
|
|
681
|
+
},
|
|
682
|
+
fullscreen_toggle: {
|
|
683
|
+
value: true,
|
|
684
|
+
description: `Show fullscreen toggle button (web-only, always false in other contexts)`,
|
|
685
|
+
context: `web`,
|
|
686
|
+
},
|
|
687
|
+
},
|
|
688
|
+
|
|
689
|
+
// Trajectory viewer settings
|
|
690
|
+
trajectory: {
|
|
691
|
+
// Core trajectory settings
|
|
692
|
+
auto_play: {
|
|
693
|
+
value: false,
|
|
694
|
+
description: `Automatically start playing trajectory when opened`,
|
|
695
|
+
},
|
|
696
|
+
fps: {
|
|
697
|
+
value: 10,
|
|
698
|
+
description: `Frames per second for trajectory playback`,
|
|
699
|
+
minimum: 0.1,
|
|
700
|
+
maximum: 60,
|
|
701
|
+
},
|
|
702
|
+
fps_range: {
|
|
703
|
+
value: [0.2, 60] as const,
|
|
704
|
+
description: `Allowed range for playback speed [min, max]`,
|
|
705
|
+
minItems: 2,
|
|
706
|
+
maxItems: 2,
|
|
707
|
+
},
|
|
708
|
+
display_mode: {
|
|
709
|
+
value: `structure+scatter` as const,
|
|
710
|
+
description: `Visualization mode for trajectory data`,
|
|
711
|
+
enum: {
|
|
712
|
+
'structure+scatter': `Structure + Scatter`,
|
|
713
|
+
structure: `Structure`,
|
|
714
|
+
scatter: `Scatter`,
|
|
715
|
+
histogram: `Histogram`,
|
|
716
|
+
'structure+histogram': `Structure + Histogram`,
|
|
717
|
+
},
|
|
718
|
+
},
|
|
719
|
+
show_controls: {
|
|
720
|
+
value: true,
|
|
721
|
+
description: `Show playback controls`,
|
|
722
|
+
},
|
|
723
|
+
fullscreen_toggle: {
|
|
724
|
+
value: true,
|
|
725
|
+
description: `Show fullscreen toggle button (web-only, always false in other contexts)`,
|
|
726
|
+
context: `web`,
|
|
727
|
+
},
|
|
728
|
+
step_labels: {
|
|
729
|
+
value: 5,
|
|
730
|
+
description: `Number of frame labels to display`,
|
|
731
|
+
minimum: 0,
|
|
732
|
+
maximum: 20,
|
|
733
|
+
},
|
|
734
|
+
layout: {
|
|
735
|
+
value: `auto` as const,
|
|
736
|
+
description: `Layout arrangement for trajectory viewer`,
|
|
737
|
+
enum: {
|
|
738
|
+
auto: `Auto`,
|
|
739
|
+
horizontal: `Horizontal`,
|
|
740
|
+
vertical: `Vertical`,
|
|
741
|
+
},
|
|
742
|
+
},
|
|
743
|
+
|
|
744
|
+
// File handling and loading
|
|
745
|
+
allow_file_drop: {
|
|
746
|
+
value: true,
|
|
747
|
+
description: `Allow drag-and-drop of trajectory files`,
|
|
748
|
+
},
|
|
749
|
+
bin_file_threshold: {
|
|
750
|
+
value: 50000000,
|
|
751
|
+
description: `File size threshold for binary loading (bytes)`,
|
|
752
|
+
minimum: 1000000,
|
|
753
|
+
maximum: 500000000,
|
|
754
|
+
},
|
|
755
|
+
text_file_threshold: {
|
|
756
|
+
value: 25000000,
|
|
757
|
+
description: `File size threshold for text loading (bytes)`,
|
|
758
|
+
minimum: 500000,
|
|
759
|
+
maximum: 250000000,
|
|
760
|
+
},
|
|
761
|
+
use_indexing: {
|
|
762
|
+
value: false,
|
|
763
|
+
description: `Use frame indexing for large trajectories`,
|
|
764
|
+
},
|
|
765
|
+
chunk_size: {
|
|
766
|
+
value: 1000,
|
|
767
|
+
description: `Number of frames to process at once`,
|
|
768
|
+
minimum: 10,
|
|
769
|
+
maximum: 10000,
|
|
770
|
+
},
|
|
771
|
+
|
|
772
|
+
// Formatting
|
|
773
|
+
step_label_format: {
|
|
774
|
+
value: `.3~s`,
|
|
775
|
+
description: `Number format for step labels (D3 format specifier)`,
|
|
776
|
+
},
|
|
777
|
+
property_value_format: {
|
|
778
|
+
value: `.2~s`,
|
|
779
|
+
description: `Number format for property values (D3 format specifier)`,
|
|
780
|
+
},
|
|
781
|
+
tooltip_format: {
|
|
782
|
+
value: `.3~s`,
|
|
783
|
+
description: `Number format for tooltips (D3 format specifier)`,
|
|
784
|
+
},
|
|
785
|
+
|
|
786
|
+
// UI/UX
|
|
787
|
+
enable_keyboard_shortcuts: {
|
|
788
|
+
value: true,
|
|
789
|
+
description: `Enable keyboard shortcuts for playback`,
|
|
790
|
+
},
|
|
791
|
+
show_parsing_progress: {
|
|
792
|
+
value: true,
|
|
793
|
+
description: `Show progress indicator while parsing files`,
|
|
794
|
+
},
|
|
795
|
+
compact_controls: {
|
|
796
|
+
value: false,
|
|
797
|
+
description: `Use compact layout for playback controls`,
|
|
798
|
+
},
|
|
799
|
+
show_filename_in_controls: {
|
|
800
|
+
value: true,
|
|
801
|
+
description: `Display filename in control pane`,
|
|
802
|
+
},
|
|
803
|
+
|
|
804
|
+
// Playback behavior
|
|
805
|
+
smooth_playback: {
|
|
806
|
+
value: false,
|
|
807
|
+
description: `Use smooth interpolation between frames`,
|
|
808
|
+
},
|
|
809
|
+
loop_playback: {
|
|
810
|
+
value: true,
|
|
811
|
+
description: `Loop trajectory playback`,
|
|
812
|
+
},
|
|
813
|
+
pause_on_hover: {
|
|
814
|
+
value: false,
|
|
815
|
+
description: `Pause playback when hovering over controls`,
|
|
816
|
+
},
|
|
817
|
+
highlight_current_frame: {
|
|
818
|
+
value: true,
|
|
819
|
+
description: `Highlight current frame in timeline`,
|
|
820
|
+
},
|
|
821
|
+
show_frame_info: {
|
|
822
|
+
value: true,
|
|
823
|
+
description: `Show frame information overlay`,
|
|
824
|
+
},
|
|
825
|
+
|
|
826
|
+
// Performance
|
|
827
|
+
max_frames_in_memory: {
|
|
828
|
+
value: 1000,
|
|
829
|
+
description: `Maximum frames to keep in memory`,
|
|
830
|
+
minimum: 10,
|
|
831
|
+
maximum: 10000,
|
|
832
|
+
},
|
|
833
|
+
memory_usage_warning_threshold: {
|
|
834
|
+
value: 500,
|
|
835
|
+
description: `Frame count threshold for memory warnings`,
|
|
836
|
+
minimum: 10,
|
|
837
|
+
maximum: 5000,
|
|
838
|
+
},
|
|
839
|
+
enable_performance_monitoring: {
|
|
840
|
+
value: false,
|
|
841
|
+
description: `Enable performance monitoring`,
|
|
842
|
+
},
|
|
843
|
+
prefetch_frames: {
|
|
844
|
+
value: 5,
|
|
845
|
+
description: `Number of frames to prefetch ahead`,
|
|
846
|
+
minimum: 0,
|
|
847
|
+
maximum: 100,
|
|
848
|
+
},
|
|
849
|
+
cache_parsed_data: {
|
|
850
|
+
value: true,
|
|
851
|
+
description: `Cache parsed trajectory data`,
|
|
852
|
+
},
|
|
853
|
+
},
|
|
854
|
+
|
|
855
|
+
// Histogram specific
|
|
856
|
+
histogram: {
|
|
857
|
+
mode: {
|
|
858
|
+
value: `overlay` as const,
|
|
859
|
+
description: `Histogram display mode. 'overlay' shows multiple histograms in the same plot, 'single' shows a single histogram`,
|
|
860
|
+
enum: {
|
|
861
|
+
overlay: `Overlay`,
|
|
862
|
+
single: `Single`,
|
|
863
|
+
},
|
|
864
|
+
},
|
|
865
|
+
show_legend: {
|
|
866
|
+
value: true,
|
|
867
|
+
description: `Show legend in histogram plots`,
|
|
868
|
+
},
|
|
869
|
+
bin_count: {
|
|
870
|
+
value: 100,
|
|
871
|
+
description: `Number of bins for histogram plots`,
|
|
872
|
+
minimum: 1,
|
|
873
|
+
maximum: 1000,
|
|
874
|
+
},
|
|
875
|
+
bar: {
|
|
876
|
+
color: {
|
|
877
|
+
value: `#4A9EFF`,
|
|
878
|
+
description: `Histogram bar fill color`,
|
|
879
|
+
},
|
|
880
|
+
opacity: {
|
|
881
|
+
value: 0.7,
|
|
882
|
+
description: `Histogram bar opacity`,
|
|
883
|
+
minimum: 0,
|
|
884
|
+
maximum: 1,
|
|
885
|
+
},
|
|
886
|
+
stroke_width: {
|
|
887
|
+
value: 1,
|
|
888
|
+
description: `Histogram bar stroke width`,
|
|
889
|
+
minimum: 0,
|
|
890
|
+
maximum: 5,
|
|
891
|
+
},
|
|
892
|
+
stroke_color: {
|
|
893
|
+
value: `#000000`,
|
|
894
|
+
description: `Histogram bar stroke color`,
|
|
895
|
+
},
|
|
896
|
+
stroke_opacity: {
|
|
897
|
+
value: 0.5,
|
|
898
|
+
description: `Histogram bar stroke opacity`,
|
|
899
|
+
minimum: 0,
|
|
900
|
+
maximum: 1,
|
|
901
|
+
},
|
|
902
|
+
},
|
|
903
|
+
display: DISPLAY_CONFIG,
|
|
904
|
+
},
|
|
905
|
+
|
|
906
|
+
// Bar plot specific
|
|
907
|
+
bar: {
|
|
908
|
+
bar: {
|
|
909
|
+
color: {
|
|
910
|
+
value: `#4A9EFF`,
|
|
911
|
+
description: `Bar plot fill color`,
|
|
912
|
+
},
|
|
913
|
+
opacity: {
|
|
914
|
+
value: 0.6,
|
|
915
|
+
description: `Bar plot opacity (overlay mode)`,
|
|
916
|
+
minimum: 0,
|
|
917
|
+
maximum: 1,
|
|
918
|
+
},
|
|
919
|
+
border_radius: {
|
|
920
|
+
value: 3,
|
|
921
|
+
description: `Corner radius for bar tops (px)`,
|
|
922
|
+
minimum: 0,
|
|
923
|
+
maximum: 10,
|
|
924
|
+
},
|
|
925
|
+
},
|
|
926
|
+
line: {
|
|
927
|
+
width: {
|
|
928
|
+
value: 2,
|
|
929
|
+
description: `Bar plot line width`,
|
|
930
|
+
minimum: 0.5,
|
|
931
|
+
maximum: 10,
|
|
932
|
+
},
|
|
933
|
+
color: {
|
|
934
|
+
value: `#4A9EFF`,
|
|
935
|
+
description: `Bar plot line color`,
|
|
936
|
+
},
|
|
937
|
+
},
|
|
938
|
+
display: DISPLAY_CONFIG,
|
|
939
|
+
},
|
|
940
|
+
|
|
941
|
+
// Composition specific
|
|
942
|
+
composition: {
|
|
943
|
+
display_mode: {
|
|
944
|
+
value: `pie` as const,
|
|
945
|
+
description: `Display mode for composition data`,
|
|
946
|
+
enum: {
|
|
947
|
+
pie: `Pie`,
|
|
948
|
+
bubble: `Bubble`,
|
|
949
|
+
bar: `Bar`,
|
|
950
|
+
},
|
|
951
|
+
},
|
|
952
|
+
color_scheme: {
|
|
953
|
+
value: `Vesta`,
|
|
954
|
+
description: `Color scheme for composition visualization`,
|
|
955
|
+
enum: {
|
|
956
|
+
Vesta: `Vesta`,
|
|
957
|
+
Jmol: `Jmol`,
|
|
958
|
+
Alloy: `Alloy`,
|
|
959
|
+
Pastel: `Pastel`,
|
|
960
|
+
Muted: `Muted`,
|
|
961
|
+
'Dark Mode': `Dark Mode`,
|
|
962
|
+
},
|
|
963
|
+
},
|
|
964
|
+
},
|
|
965
|
+
|
|
966
|
+
// Scatter plot specific
|
|
967
|
+
scatter: {
|
|
968
|
+
symbol_type: {
|
|
969
|
+
value: `Circle`,
|
|
970
|
+
description: `Default symbol type for scatter plots`,
|
|
971
|
+
enum: Object.fromEntries(symbol_names.map((name) => [name, name])) as Readonly<
|
|
972
|
+
Record<D3SymbolName, string>
|
|
973
|
+
>,
|
|
974
|
+
},
|
|
975
|
+
show_legend: {
|
|
976
|
+
value: true,
|
|
977
|
+
description: `Show legend in scatter plots`,
|
|
978
|
+
},
|
|
979
|
+
show_points: {
|
|
980
|
+
value: true,
|
|
981
|
+
description: `Show points in scatter plots`,
|
|
982
|
+
},
|
|
983
|
+
show_lines: {
|
|
984
|
+
value: true,
|
|
985
|
+
description: `Show connecting lines in scatter plots`,
|
|
986
|
+
},
|
|
987
|
+
display: DISPLAY_CONFIG,
|
|
988
|
+
point: {
|
|
989
|
+
size: {
|
|
990
|
+
value: 4,
|
|
991
|
+
description: `Point size for scatter plots`,
|
|
992
|
+
minimum: 1,
|
|
993
|
+
maximum: 20,
|
|
994
|
+
},
|
|
995
|
+
color: {
|
|
996
|
+
value: `#4A9EFF`,
|
|
997
|
+
description: `Default color for scatter plot points`,
|
|
998
|
+
},
|
|
999
|
+
opacity: {
|
|
1000
|
+
value: 1,
|
|
1001
|
+
description: `Opacity of scatter plot points`,
|
|
1002
|
+
minimum: 0,
|
|
1003
|
+
maximum: 1,
|
|
1004
|
+
},
|
|
1005
|
+
stroke_width: {
|
|
1006
|
+
value: 1,
|
|
1007
|
+
description: `Stroke width for scatter plot points`,
|
|
1008
|
+
minimum: 0,
|
|
1009
|
+
maximum: 5,
|
|
1010
|
+
},
|
|
1011
|
+
stroke_color: {
|
|
1012
|
+
value: `#000000`,
|
|
1013
|
+
description: `Stroke color for scatter plot points`,
|
|
1014
|
+
},
|
|
1015
|
+
stroke_opacity: {
|
|
1016
|
+
value: 1,
|
|
1017
|
+
description: `Stroke opacity for scatter plot points`,
|
|
1018
|
+
minimum: 0,
|
|
1019
|
+
maximum: 1,
|
|
1020
|
+
},
|
|
1021
|
+
},
|
|
1022
|
+
line: {
|
|
1023
|
+
width: {
|
|
1024
|
+
value: 2,
|
|
1025
|
+
description: `Line width for scatter plot connections`,
|
|
1026
|
+
minimum: 0.5,
|
|
1027
|
+
maximum: 10,
|
|
1028
|
+
},
|
|
1029
|
+
color: {
|
|
1030
|
+
value: `#4A9EFF`,
|
|
1031
|
+
description: `Default color for scatter plot lines`,
|
|
1032
|
+
},
|
|
1033
|
+
opacity: {
|
|
1034
|
+
value: 1,
|
|
1035
|
+
description: `Opacity of scatter plot lines`,
|
|
1036
|
+
minimum: 0,
|
|
1037
|
+
maximum: 1,
|
|
1038
|
+
},
|
|
1039
|
+
dash: {
|
|
1040
|
+
value: `solid`,
|
|
1041
|
+
description: `Line dash pattern for scatter plots (e.g. "4,4" for dashed)`,
|
|
1042
|
+
},
|
|
1043
|
+
},
|
|
1044
|
+
},
|
|
1045
|
+
|
|
1046
|
+
// Plot general
|
|
1047
|
+
plot: {
|
|
1048
|
+
animation_duration: {
|
|
1049
|
+
value: 200,
|
|
1050
|
+
description: `Duration of plot animations in milliseconds`,
|
|
1051
|
+
minimum: 0,
|
|
1052
|
+
maximum: 2000,
|
|
1053
|
+
},
|
|
1054
|
+
enable_zoom: {
|
|
1055
|
+
value: true,
|
|
1056
|
+
description: `Enable zooming in plots`,
|
|
1057
|
+
},
|
|
1058
|
+
zoom_factor: {
|
|
1059
|
+
value: 1.5,
|
|
1060
|
+
description: `Zoom factor for plot interactions`,
|
|
1061
|
+
minimum: 1.1,
|
|
1062
|
+
maximum: 5.0,
|
|
1063
|
+
},
|
|
1064
|
+
auto_fit_range: {
|
|
1065
|
+
value: true,
|
|
1066
|
+
description: `Automatically fit plot range to data`,
|
|
1067
|
+
},
|
|
1068
|
+
grid_lines: {
|
|
1069
|
+
value: true,
|
|
1070
|
+
description: `Show grid lines in plots`,
|
|
1071
|
+
},
|
|
1072
|
+
axis_labels: {
|
|
1073
|
+
value: true,
|
|
1074
|
+
description: `Show axis labels in plots`,
|
|
1075
|
+
},
|
|
1076
|
+
show_x_zero_line: {
|
|
1077
|
+
value: true,
|
|
1078
|
+
description: `Show X-axis zero reference line`,
|
|
1079
|
+
},
|
|
1080
|
+
show_y_zero_line: {
|
|
1081
|
+
value: true,
|
|
1082
|
+
description: `Show Y-axis zero reference line`,
|
|
1083
|
+
},
|
|
1084
|
+
show_x_grid: {
|
|
1085
|
+
value: true,
|
|
1086
|
+
description: `Show X-axis grid lines`,
|
|
1087
|
+
},
|
|
1088
|
+
show_x2_grid: {
|
|
1089
|
+
value: false,
|
|
1090
|
+
description: `Show secondary X-axis grid lines`,
|
|
1091
|
+
},
|
|
1092
|
+
show_y_grid: {
|
|
1093
|
+
value: true,
|
|
1094
|
+
description: `Show Y-axis grid lines`,
|
|
1095
|
+
},
|
|
1096
|
+
show_y2_grid: {
|
|
1097
|
+
value: true,
|
|
1098
|
+
description: `Show secondary Y-axis grid lines`,
|
|
1099
|
+
},
|
|
1100
|
+
x_format: {
|
|
1101
|
+
value: `.2~s`,
|
|
1102
|
+
description: `Number format for X-axis ticks (D3 format specifier)`,
|
|
1103
|
+
},
|
|
1104
|
+
x2_format: {
|
|
1105
|
+
value: ``,
|
|
1106
|
+
description: `Number format for secondary X-axis ticks (D3 format specifier)`,
|
|
1107
|
+
},
|
|
1108
|
+
y_format: {
|
|
1109
|
+
value: `d`,
|
|
1110
|
+
description: `Number format for Y-axis ticks (D3 format specifier)`,
|
|
1111
|
+
},
|
|
1112
|
+
y2_format: {
|
|
1113
|
+
value: ``,
|
|
1114
|
+
description: `Number format for secondary Y-axis ticks (D3 format specifier)`,
|
|
1115
|
+
},
|
|
1116
|
+
x_scale_type: {
|
|
1117
|
+
value: `linear`,
|
|
1118
|
+
description: `Scale type for X-axis`,
|
|
1119
|
+
enum: {
|
|
1120
|
+
linear: `Linear`,
|
|
1121
|
+
log: `Log`,
|
|
1122
|
+
},
|
|
1123
|
+
},
|
|
1124
|
+
y_scale_type: {
|
|
1125
|
+
value: `linear`,
|
|
1126
|
+
description: `Scale type for Y-axis`,
|
|
1127
|
+
enum: {
|
|
1128
|
+
linear: `Linear`,
|
|
1129
|
+
log: `Log`,
|
|
1130
|
+
},
|
|
1131
|
+
},
|
|
1132
|
+
x_ticks: {
|
|
1133
|
+
value: 8,
|
|
1134
|
+
description: `Number of ticks on X-axis`,
|
|
1135
|
+
minimum: 2,
|
|
1136
|
+
maximum: 20,
|
|
1137
|
+
},
|
|
1138
|
+
y_ticks: {
|
|
1139
|
+
value: 6,
|
|
1140
|
+
description: `Number of ticks on Y-axis`,
|
|
1141
|
+
minimum: 2,
|
|
1142
|
+
maximum: 20,
|
|
1143
|
+
},
|
|
1144
|
+
},
|
|
1145
|
+
|
|
1146
|
+
convex_hull: {
|
|
1147
|
+
// Convex hull defaults (binary/ternary/quaternary)
|
|
1148
|
+
binary: {
|
|
1149
|
+
camera_zoom: {
|
|
1150
|
+
value: 1.0,
|
|
1151
|
+
description: `Initial zoom for binary (2D) convex hull`,
|
|
1152
|
+
minimum: 0.1,
|
|
1153
|
+
maximum: 10,
|
|
1154
|
+
},
|
|
1155
|
+
camera_center_x: {
|
|
1156
|
+
value: 0,
|
|
1157
|
+
description: `Initial X center for binary (2D) convex hull`,
|
|
1158
|
+
},
|
|
1159
|
+
camera_center_y: {
|
|
1160
|
+
value: 0,
|
|
1161
|
+
description: `Initial Y center for binary (2D) convex hull`,
|
|
1162
|
+
},
|
|
1163
|
+
color_mode: {
|
|
1164
|
+
value: `energy`,
|
|
1165
|
+
description: `Color mode for 2D convex hull points`,
|
|
1166
|
+
enum: {
|
|
1167
|
+
stability: `Stability`,
|
|
1168
|
+
energy: `Energy`,
|
|
1169
|
+
},
|
|
1170
|
+
},
|
|
1171
|
+
color_scale: {
|
|
1172
|
+
value: `interpolateViridis`,
|
|
1173
|
+
description: `D3 interpolate color scale for 2D convex hull energy mode`,
|
|
1174
|
+
},
|
|
1175
|
+
show_stable: {
|
|
1176
|
+
value: true,
|
|
1177
|
+
description: `Show stable phases in 2D convex hull`,
|
|
1178
|
+
},
|
|
1179
|
+
show_unstable: {
|
|
1180
|
+
value: true,
|
|
1181
|
+
description: `Show unstable phases in 2D convex hull`,
|
|
1182
|
+
},
|
|
1183
|
+
show_stable_labels: {
|
|
1184
|
+
value: true,
|
|
1185
|
+
description: `Show labels for stable phases in 2D convex hull`,
|
|
1186
|
+
},
|
|
1187
|
+
show_unstable_labels: {
|
|
1188
|
+
value: false,
|
|
1189
|
+
description: `Show labels for unstable phases in 2D convex hull`,
|
|
1190
|
+
},
|
|
1191
|
+
max_hull_dist_show_phases: {
|
|
1192
|
+
value: 0.1,
|
|
1193
|
+
description: `Max eV/atom above hull for showing unstable entries in 2D convex hull`,
|
|
1194
|
+
minimum: 0,
|
|
1195
|
+
maximum: 2,
|
|
1196
|
+
},
|
|
1197
|
+
max_hull_dist_show_labels: {
|
|
1198
|
+
value: 0.1,
|
|
1199
|
+
description: `Max eV/atom above hull for labeling unstable entries in 2D convex hull`,
|
|
1200
|
+
minimum: 0,
|
|
1201
|
+
maximum: 2,
|
|
1202
|
+
},
|
|
1203
|
+
fullscreen: {
|
|
1204
|
+
value: false,
|
|
1205
|
+
description: `Start in fullscreen for 2D convex hull`,
|
|
1206
|
+
},
|
|
1207
|
+
info_pane_open: {
|
|
1208
|
+
value: false,
|
|
1209
|
+
description: `Info pane open by default for 2D convex hull`,
|
|
1210
|
+
},
|
|
1211
|
+
legend_pane_open: {
|
|
1212
|
+
value: false,
|
|
1213
|
+
description: `Legend pane open by default for 2D convex hull`,
|
|
1214
|
+
},
|
|
1215
|
+
},
|
|
1216
|
+
ternary: {
|
|
1217
|
+
camera_elevation: {
|
|
1218
|
+
value: 45,
|
|
1219
|
+
description: `Initial camera elevation (deg) for ternary (3D) convex hull`,
|
|
1220
|
+
minimum: -180,
|
|
1221
|
+
maximum: 180,
|
|
1222
|
+
},
|
|
1223
|
+
camera_azimuth: {
|
|
1224
|
+
value: 60,
|
|
1225
|
+
description: `Initial camera azimuth (deg) for ternary (3D) convex hull`,
|
|
1226
|
+
minimum: -360,
|
|
1227
|
+
maximum: 360,
|
|
1228
|
+
},
|
|
1229
|
+
camera_zoom: {
|
|
1230
|
+
value: 1.5,
|
|
1231
|
+
description: `Initial camera zoom for ternary (3D) convex hull`,
|
|
1232
|
+
minimum: 0.1,
|
|
1233
|
+
maximum: 10,
|
|
1234
|
+
},
|
|
1235
|
+
camera_center_x: {
|
|
1236
|
+
value: 0,
|
|
1237
|
+
description: `Initial X center for ternary (3D) convex hull`,
|
|
1238
|
+
},
|
|
1239
|
+
camera_center_y: {
|
|
1240
|
+
value: -50,
|
|
1241
|
+
description: `Initial Y center for ternary (3D) convex hull`,
|
|
1242
|
+
},
|
|
1243
|
+
color_mode: {
|
|
1244
|
+
value: `energy`,
|
|
1245
|
+
description: `Color mode for 3D convex hull points`,
|
|
1246
|
+
enum: {
|
|
1247
|
+
stability: `Stability`,
|
|
1248
|
+
energy: `Energy`,
|
|
1249
|
+
},
|
|
1250
|
+
},
|
|
1251
|
+
color_scale: {
|
|
1252
|
+
value: `interpolateViridis`,
|
|
1253
|
+
description: `D3 interpolate color scale for 3D convex hull energy mode`,
|
|
1254
|
+
},
|
|
1255
|
+
show_stable: {
|
|
1256
|
+
value: true,
|
|
1257
|
+
description: `Show stable phases in 3D convex hull`,
|
|
1258
|
+
},
|
|
1259
|
+
show_unstable: {
|
|
1260
|
+
value: true,
|
|
1261
|
+
description: `Show unstable phases in 3D convex hull`,
|
|
1262
|
+
},
|
|
1263
|
+
show_stable_labels: {
|
|
1264
|
+
value: true,
|
|
1265
|
+
description: `Show labels for stable phases in 3D convex hull`,
|
|
1266
|
+
},
|
|
1267
|
+
show_unstable_labels: {
|
|
1268
|
+
value: false,
|
|
1269
|
+
description: `Show labels for unstable phases in 3D convex hull`,
|
|
1270
|
+
},
|
|
1271
|
+
max_hull_dist_show_phases: {
|
|
1272
|
+
value: 0.5,
|
|
1273
|
+
description: `Max eV/atom above hull for showing unstable entries in 3D convex hull`,
|
|
1274
|
+
minimum: 0,
|
|
1275
|
+
maximum: 2,
|
|
1276
|
+
},
|
|
1277
|
+
max_hull_dist_show_labels: {
|
|
1278
|
+
value: 0.1,
|
|
1279
|
+
description: `Max eV/atom above hull for labeling unstable entries in 3D convex hull`,
|
|
1280
|
+
minimum: 0,
|
|
1281
|
+
maximum: 2,
|
|
1282
|
+
},
|
|
1283
|
+
show_hull_faces: {
|
|
1284
|
+
value: true,
|
|
1285
|
+
description: `Render lower hull faces in 3D convex hull`,
|
|
1286
|
+
},
|
|
1287
|
+
hull_face_color: {
|
|
1288
|
+
value: `#4caf50`,
|
|
1289
|
+
description: `Color for lower hull faces in 3D convex hull`,
|
|
1290
|
+
},
|
|
1291
|
+
hull_face_opacity: {
|
|
1292
|
+
value: 0.3,
|
|
1293
|
+
description: `Opacity for hull faces in 3D convex hull (0-1)`,
|
|
1294
|
+
minimum: 0,
|
|
1295
|
+
maximum: 1,
|
|
1296
|
+
},
|
|
1297
|
+
hull_face_color_mode: {
|
|
1298
|
+
value: `uniform`,
|
|
1299
|
+
description: `Coloring mode for hull faces: uniform (single color), formation_energy (by E_form), dominant_element (by element), or facet_index (categorical)`,
|
|
1300
|
+
enum: {
|
|
1301
|
+
uniform: `Uniform`,
|
|
1302
|
+
formation_energy: `Formation energy`,
|
|
1303
|
+
dominant_element: `Dominant element`,
|
|
1304
|
+
facet_index: `Facet index`,
|
|
1305
|
+
},
|
|
1306
|
+
},
|
|
1307
|
+
fullscreen: {
|
|
1308
|
+
value: false,
|
|
1309
|
+
description: `Start in fullscreen for 3D convex hull`,
|
|
1310
|
+
},
|
|
1311
|
+
info_pane_open: {
|
|
1312
|
+
value: false,
|
|
1313
|
+
description: `Info pane open by default for 3D convex hull`,
|
|
1314
|
+
},
|
|
1315
|
+
legend_pane_open: {
|
|
1316
|
+
value: false,
|
|
1317
|
+
description: `Legend pane open by default for 3D convex hull`,
|
|
1318
|
+
},
|
|
1319
|
+
},
|
|
1320
|
+
quaternary: {
|
|
1321
|
+
camera_rotation_x: {
|
|
1322
|
+
value: -0.6,
|
|
1323
|
+
description: `Initial camera X rotation (rad) for quaternary (4D) convex hull`,
|
|
1324
|
+
minimum: -6.283,
|
|
1325
|
+
maximum: 6.283,
|
|
1326
|
+
},
|
|
1327
|
+
camera_rotation_y: {
|
|
1328
|
+
value: 0.8,
|
|
1329
|
+
description: `Initial camera Y rotation (rad) for quaternary (4D) convex hull`,
|
|
1330
|
+
minimum: -6.283,
|
|
1331
|
+
maximum: 6.283,
|
|
1332
|
+
},
|
|
1333
|
+
camera_zoom: {
|
|
1334
|
+
value: 1.4,
|
|
1335
|
+
description: `Initial camera zoom for quaternary (4D) convex hull`,
|
|
1336
|
+
minimum: 0.1,
|
|
1337
|
+
maximum: 20,
|
|
1338
|
+
},
|
|
1339
|
+
camera_center_x: {
|
|
1340
|
+
value: 0,
|
|
1341
|
+
description: `Initial X center for quaternary (4D) convex hull`,
|
|
1342
|
+
},
|
|
1343
|
+
camera_center_y: {
|
|
1344
|
+
value: 20,
|
|
1345
|
+
description: `Initial Y center for quaternary (4D) convex hull`,
|
|
1346
|
+
},
|
|
1347
|
+
color_mode: {
|
|
1348
|
+
value: `energy`,
|
|
1349
|
+
description: `Color mode for 4D convex hull points`,
|
|
1350
|
+
enum: {
|
|
1351
|
+
stability: `Stability`,
|
|
1352
|
+
energy: `Energy`,
|
|
1353
|
+
},
|
|
1354
|
+
},
|
|
1355
|
+
color_scale: {
|
|
1356
|
+
value: `interpolateViridis`,
|
|
1357
|
+
description: `D3 interpolate color scale for 4D convex hull energy mode`,
|
|
1358
|
+
},
|
|
1359
|
+
show_stable: {
|
|
1360
|
+
value: true,
|
|
1361
|
+
description: `Show stable phases in 4D convex hull`,
|
|
1362
|
+
},
|
|
1363
|
+
show_unstable: {
|
|
1364
|
+
value: true,
|
|
1365
|
+
description: `Show unstable phases in 4D convex hull`,
|
|
1366
|
+
},
|
|
1367
|
+
show_stable_labels: {
|
|
1368
|
+
value: true,
|
|
1369
|
+
description: `Show labels for stable phases in 4D convex hull`,
|
|
1370
|
+
},
|
|
1371
|
+
show_unstable_labels: {
|
|
1372
|
+
value: false,
|
|
1373
|
+
description: `Show labels for unstable phases in 4D convex hull`,
|
|
1374
|
+
},
|
|
1375
|
+
show_hull_faces: {
|
|
1376
|
+
value: true,
|
|
1377
|
+
description: `Show convex hull faces in 4D convex hull`,
|
|
1378
|
+
},
|
|
1379
|
+
hull_face_color: {
|
|
1380
|
+
value: `#4caf50`,
|
|
1381
|
+
description: `Color for hull faces in 4D convex hull`,
|
|
1382
|
+
},
|
|
1383
|
+
hull_face_opacity: {
|
|
1384
|
+
value: 0.03,
|
|
1385
|
+
description: `Opacity for hull faces in 4D convex hull (0-1)`,
|
|
1386
|
+
minimum: 0,
|
|
1387
|
+
maximum: 1,
|
|
1388
|
+
},
|
|
1389
|
+
hull_face_color_mode: {
|
|
1390
|
+
value: `dominant_element`,
|
|
1391
|
+
description: `Coloring mode for hull faces: uniform (single color), formation_energy (by E_form), dominant_element (by element), or facet_index (categorical)`,
|
|
1392
|
+
enum: {
|
|
1393
|
+
uniform: `Uniform`,
|
|
1394
|
+
formation_energy: `Formation energy`,
|
|
1395
|
+
dominant_element: `Dominant element`,
|
|
1396
|
+
facet_index: `Facet index`,
|
|
1397
|
+
},
|
|
1398
|
+
},
|
|
1399
|
+
max_hull_dist_show_phases: {
|
|
1400
|
+
value: 0.1,
|
|
1401
|
+
description: `Max eV/atom above hull for showing unstable entries in 4D convex hull`,
|
|
1402
|
+
minimum: 0,
|
|
1403
|
+
maximum: 2,
|
|
1404
|
+
},
|
|
1405
|
+
max_hull_dist_show_labels: {
|
|
1406
|
+
value: 0.1,
|
|
1407
|
+
description: `Max eV/atom above hull for labeling unstable entries in 4D convex hull`,
|
|
1408
|
+
minimum: 0,
|
|
1409
|
+
maximum: 2,
|
|
1410
|
+
},
|
|
1411
|
+
fullscreen: {
|
|
1412
|
+
value: false,
|
|
1413
|
+
description: `Start in fullscreen for 4D convex hull`,
|
|
1414
|
+
},
|
|
1415
|
+
info_pane_open: {
|
|
1416
|
+
value: false,
|
|
1417
|
+
description: `Info pane open by default for 4D convex hull`,
|
|
1418
|
+
},
|
|
1419
|
+
legend_pane_open: {
|
|
1420
|
+
value: false,
|
|
1421
|
+
description: `Legend pane open by default for 4D convex hull`,
|
|
1422
|
+
},
|
|
1423
|
+
},
|
|
1424
|
+
},
|
|
1425
|
+
}
|
|
1426
|
+
|
|
1427
|
+
// Extract the value types for runtime use (up to 3 nested levels)
|
|
1428
|
+
export type DefaultSettings = {
|
|
1429
|
+
[K in keyof SettingsConfig]: SettingsConfig[K] extends SettingType<infer T>
|
|
1430
|
+
? T
|
|
1431
|
+
: SettingsConfig[K] extends Record<string, unknown>
|
|
1432
|
+
? {
|
|
1433
|
+
[NK in keyof SettingsConfig[K]]: SettingsConfig[K][NK] extends SettingType<infer T>
|
|
1434
|
+
? T
|
|
1435
|
+
: SettingsConfig[K][NK] extends Record<string, unknown>
|
|
1436
|
+
? {
|
|
1437
|
+
[NNK in keyof SettingsConfig[K][NK]]: SettingsConfig[K][NK][NNK] extends SettingType<
|
|
1438
|
+
infer T
|
|
1439
|
+
>
|
|
1440
|
+
? T
|
|
1441
|
+
: never
|
|
1442
|
+
}
|
|
1443
|
+
: never
|
|
1444
|
+
}
|
|
1445
|
+
: never
|
|
1446
|
+
}
|
|
1447
|
+
|
|
1448
|
+
// Extract values from settings config for runtime use
|
|
1449
|
+
const extract_values = (
|
|
1450
|
+
config: SettingsConfig | SettingType | Record<string, unknown>,
|
|
1451
|
+
): DefaultSettings => {
|
|
1452
|
+
const result = {} as Record<string, unknown>
|
|
1453
|
+
for (const [key, value] of Object.entries(config)) {
|
|
1454
|
+
if (value && typeof value === `object` && `value` in value) {
|
|
1455
|
+
result[key] = (value as SettingType).value
|
|
1456
|
+
} else if (value && typeof value === `object`) {
|
|
1457
|
+
result[key] = extract_values(value as Record<string, unknown>)
|
|
1458
|
+
}
|
|
1459
|
+
}
|
|
1460
|
+
return result as DefaultSettings
|
|
1461
|
+
}
|
|
1462
|
+
|
|
1463
|
+
// Runtime defaults - extracted values for use in components
|
|
1464
|
+
export const DEFAULTS = extract_values(SETTINGS_CONFIG)
|
|
1465
|
+
|
|
1466
|
+
// Helper to merge with defaults - handles nested structure
|
|
1467
|
+
export const merge = (user?: Partial<DefaultSettings>): DefaultSettings =>
|
|
1468
|
+
({
|
|
1469
|
+
...DEFAULTS,
|
|
1470
|
+
...user,
|
|
1471
|
+
structure: merge_nested(DEFAULTS.structure, user?.structure),
|
|
1472
|
+
trajectory: merge_nested(DEFAULTS.trajectory, user?.trajectory),
|
|
1473
|
+
composition: merge_nested(DEFAULTS.composition, user?.composition),
|
|
1474
|
+
plot: merge_nested(DEFAULTS.plot, user?.plot),
|
|
1475
|
+
scatter: merge_nested(DEFAULTS.scatter, user?.scatter),
|
|
1476
|
+
histogram: merge_nested(DEFAULTS.histogram, user?.histogram),
|
|
1477
|
+
bar: merge_nested(DEFAULTS.bar, user?.bar),
|
|
1478
|
+
convex_hull: merge_nested(DEFAULTS.convex_hull, user?.convex_hull),
|
|
1479
|
+
}) as DefaultSettings
|