matterviz 0.3.4 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (852) hide show
  1. package/.vscode/launch.json +13 -0
  2. package/.vscodeignore +7 -0
  3. package/dist/assets/STLExporter-BpTH3YHE.js +8 -0
  4. package/dist/assets/browser-DdDecX_W.js +1 -0
  5. package/dist/assets/export-qgn-H9y6.js +2 -0
  6. package/dist/assets/main-DiKYzti2.css +1 -0
  7. package/dist/assets/moyo_wasm_bg-0ocwg7xY.wasm +0 -0
  8. package/dist/extension.js +31293 -0
  9. package/dist/src/lib/FilePicker.svelte +360 -0
  10. package/dist/src/lib/MillerIndexInput.svelte +66 -0
  11. package/dist/src/lib/api/mp.ts +26 -0
  12. package/dist/src/lib/api/optimade.ts +204 -0
  13. package/dist/src/lib/app.css +247 -0
  14. package/dist/src/lib/brillouin/BrillouinZone.svelte +549 -0
  15. package/dist/src/lib/brillouin/BrillouinZoneControls.svelte +144 -0
  16. package/dist/src/lib/brillouin/BrillouinZoneExportPane.svelte +146 -0
  17. package/dist/src/lib/brillouin/BrillouinZoneInfoPane.svelte +146 -0
  18. package/dist/src/lib/brillouin/BrillouinZoneScene.svelte +476 -0
  19. package/dist/src/lib/brillouin/BrillouinZoneTooltip.svelte +92 -0
  20. package/dist/src/lib/brillouin/compute.ts +529 -0
  21. package/dist/src/lib/brillouin/index.ts +8 -0
  22. package/dist/src/lib/brillouin/types.ts +51 -0
  23. package/dist/src/lib/chempot-diagram/ChemPotDiagram.svelte +327 -0
  24. package/dist/src/lib/chempot-diagram/ChemPotDiagram2D.svelte +846 -0
  25. package/dist/src/lib/chempot-diagram/ChemPotDiagram3D.svelte +3193 -0
  26. package/dist/src/lib/chempot-diagram/async-compute.svelte.ts +94 -0
  27. package/dist/src/lib/chempot-diagram/chempot-worker.ts +11 -0
  28. package/dist/src/lib/chempot-diagram/color.ts +42 -0
  29. package/dist/src/lib/chempot-diagram/compute.ts +1014 -0
  30. package/dist/src/lib/chempot-diagram/index.ts +6 -0
  31. package/dist/src/lib/chempot-diagram/pointer.ts +56 -0
  32. package/dist/src/lib/chempot-diagram/temperature.ts +77 -0
  33. package/dist/src/lib/chempot-diagram/types.ts +130 -0
  34. package/dist/src/lib/colors/index.ts +249 -0
  35. package/dist/src/lib/composition/BarChart.svelte +297 -0
  36. package/dist/src/lib/composition/BubbleChart.svelte +218 -0
  37. package/dist/src/lib/composition/Composition.svelte +165 -0
  38. package/dist/src/lib/composition/Formula.svelte +268 -0
  39. package/dist/src/lib/composition/FormulaFilter.svelte +1257 -0
  40. package/dist/src/lib/composition/PieChart.svelte +323 -0
  41. package/dist/src/lib/composition/format.ts +155 -0
  42. package/dist/src/lib/composition/index.ts +37 -0
  43. package/dist/src/lib/composition/parse.ts +605 -0
  44. package/dist/src/lib/constants.ts +134 -0
  45. package/dist/src/lib/controls.ts +42 -0
  46. package/dist/src/lib/convex-hull/ConvexHull.svelte +157 -0
  47. package/dist/src/lib/convex-hull/ConvexHull2D.svelte +825 -0
  48. package/dist/src/lib/convex-hull/ConvexHull3D.svelte +1801 -0
  49. package/dist/src/lib/convex-hull/ConvexHull4D.svelte +1398 -0
  50. package/dist/src/lib/convex-hull/ConvexHullControls.svelte +535 -0
  51. package/dist/src/lib/convex-hull/ConvexHullInfoPane.svelte +125 -0
  52. package/dist/src/lib/convex-hull/ConvexHullStats.svelte +929 -0
  53. package/dist/src/lib/convex-hull/ConvexHullTooltip.svelte +131 -0
  54. package/dist/src/lib/convex-hull/GasPressureControls.svelte +247 -0
  55. package/dist/src/lib/convex-hull/StructurePopup.svelte +151 -0
  56. package/dist/src/lib/convex-hull/TemperatureSlider.svelte +140 -0
  57. package/dist/src/lib/convex-hull/barycentric-coords.ts +246 -0
  58. package/dist/src/lib/convex-hull/demo-temperature.ts +63 -0
  59. package/dist/src/lib/convex-hull/gas-thermodynamics.ts +405 -0
  60. package/dist/src/lib/convex-hull/helpers.ts +932 -0
  61. package/dist/src/lib/convex-hull/index.ts +202 -0
  62. package/dist/src/lib/convex-hull/thermodynamics.ts +2192 -0
  63. package/dist/src/lib/convex-hull/types.ts +267 -0
  64. package/dist/src/lib/coordination/CoordinationBarPlot.svelte +311 -0
  65. package/dist/src/lib/coordination/calc-coordination.ts +93 -0
  66. package/dist/src/lib/coordination/index.ts +9 -0
  67. package/dist/src/lib/effects.svelte.ts +48 -0
  68. package/dist/src/lib/element/BohrAtom.svelte +147 -0
  69. package/dist/src/lib/element/ElementHeading.svelte +26 -0
  70. package/dist/src/lib/element/ElementPhoto.svelte +57 -0
  71. package/dist/src/lib/element/ElementStats.svelte +80 -0
  72. package/dist/src/lib/element/ElementTile.svelte +484 -0
  73. package/dist/src/lib/element/data.json.gz.d.ts +4 -0
  74. package/dist/src/lib/element/data.ts +14 -0
  75. package/dist/src/lib/element/index.ts +8 -0
  76. package/dist/src/lib/element/types.ts +62 -0
  77. package/dist/src/lib/feedback/ClickFeedback.svelte +58 -0
  78. package/dist/src/lib/feedback/DragOverlay.svelte +42 -0
  79. package/dist/src/lib/feedback/index.ts +4 -0
  80. package/dist/src/lib/fermi-surface/FermiSlice.svelte +189 -0
  81. package/dist/src/lib/fermi-surface/FermiSurface.svelte +600 -0
  82. package/dist/src/lib/fermi-surface/FermiSurfaceControls.svelte +448 -0
  83. package/dist/src/lib/fermi-surface/FermiSurfaceScene.svelte +794 -0
  84. package/dist/src/lib/fermi-surface/FermiSurfaceTooltip.svelte +111 -0
  85. package/dist/src/lib/fermi-surface/compute.ts +728 -0
  86. package/dist/src/lib/fermi-surface/constants.ts +32 -0
  87. package/dist/src/lib/fermi-surface/export.ts +64 -0
  88. package/dist/src/lib/fermi-surface/index.ts +14 -0
  89. package/dist/src/lib/fermi-surface/marching-cubes.ts +3 -0
  90. package/dist/src/lib/fermi-surface/parse.ts +574 -0
  91. package/dist/src/lib/fermi-surface/symmetry.ts +56 -0
  92. package/dist/src/lib/fermi-surface/types.ts +159 -0
  93. package/dist/src/lib/heatmap-matrix/HeatmapMatrix.svelte +1545 -0
  94. package/dist/src/lib/heatmap-matrix/HeatmapMatrixControls.svelte +225 -0
  95. package/dist/src/lib/heatmap-matrix/index.ts +167 -0
  96. package/dist/src/lib/heatmap-matrix/shared.ts +7 -0
  97. package/dist/src/lib/icons.ts +650 -0
  98. package/dist/src/lib/index.ts +61 -0
  99. package/dist/src/lib/io/decompress.ts +92 -0
  100. package/dist/src/lib/io/export.ts +385 -0
  101. package/dist/src/lib/io/fetch.ts +46 -0
  102. package/dist/src/lib/io/file-drop.ts +51 -0
  103. package/dist/src/lib/io/index.ts +7 -0
  104. package/dist/src/lib/io/is-binary.ts +24 -0
  105. package/dist/src/lib/io/types.ts +8 -0
  106. package/dist/src/lib/io/url-drop.ts +141 -0
  107. package/dist/src/lib/isosurface/Isosurface.svelte +285 -0
  108. package/dist/src/lib/isosurface/IsosurfaceControls.svelte +277 -0
  109. package/dist/src/lib/isosurface/index.ts +7 -0
  110. package/dist/src/lib/isosurface/parse.ts +656 -0
  111. package/dist/src/lib/isosurface/slice.ts +175 -0
  112. package/dist/src/lib/isosurface/types.ts +309 -0
  113. package/dist/src/lib/labels.ts +320 -0
  114. package/dist/src/lib/layout/FullscreenToggle.svelte +50 -0
  115. package/dist/src/lib/layout/InfoCard.svelte +120 -0
  116. package/dist/src/lib/layout/InfoTag.svelte +185 -0
  117. package/dist/src/lib/layout/PropertyFilter.svelte +246 -0
  118. package/dist/src/lib/layout/SettingsSection.svelte +148 -0
  119. package/dist/src/lib/layout/SubpageGrid.svelte +82 -0
  120. package/dist/src/lib/layout/fullscreen.ts +65 -0
  121. package/dist/src/lib/layout/index.ts +11 -0
  122. package/dist/src/lib/layout/json-tree/JsonNode.svelte +548 -0
  123. package/dist/src/lib/layout/json-tree/JsonTree.svelte +1230 -0
  124. package/dist/src/lib/layout/json-tree/JsonValue.svelte +334 -0
  125. package/dist/src/lib/layout/json-tree/index.ts +3 -0
  126. package/dist/src/lib/layout/json-tree/types.ts +126 -0
  127. package/dist/src/lib/layout/json-tree/utils.ts +682 -0
  128. package/dist/src/lib/marching-cubes.ts +614 -0
  129. package/dist/src/lib/math.ts +1081 -0
  130. package/dist/src/lib/overlays/ContextMenu.svelte +162 -0
  131. package/dist/src/lib/overlays/CopyButton.svelte +45 -0
  132. package/dist/src/lib/overlays/DragControlTab.svelte +98 -0
  133. package/dist/src/lib/overlays/DraggablePane.svelte +487 -0
  134. package/dist/src/lib/overlays/InfoPaneCards.svelte +149 -0
  135. package/dist/src/lib/overlays/index.ts +3 -0
  136. package/dist/src/lib/periodic-table/PeriodicTable.svelte +469 -0
  137. package/dist/src/lib/periodic-table/PeriodicTableControls.svelte +557 -0
  138. package/dist/src/lib/periodic-table/PropertySelect.svelte +37 -0
  139. package/dist/src/lib/periodic-table/index.ts +12 -0
  140. package/dist/src/lib/phase-diagram/IsobaricBinaryPhaseDiagram.svelte +1086 -0
  141. package/dist/src/lib/phase-diagram/PhaseDiagramControls.svelte +444 -0
  142. package/dist/src/lib/phase-diagram/PhaseDiagramEditorPane.svelte +126 -0
  143. package/dist/src/lib/phase-diagram/PhaseDiagramExportPane.svelte +184 -0
  144. package/dist/src/lib/phase-diagram/PhaseDiagramTooltip.svelte +391 -0
  145. package/dist/src/lib/phase-diagram/TdbInfoPanel.svelte +203 -0
  146. package/dist/src/lib/phase-diagram/build-diagram.ts +186 -0
  147. package/dist/src/lib/phase-diagram/colors.ts +58 -0
  148. package/dist/src/lib/phase-diagram/diagram-input.ts +40 -0
  149. package/dist/src/lib/phase-diagram/index.ts +13 -0
  150. package/dist/src/lib/phase-diagram/parse.ts +348 -0
  151. package/dist/src/lib/phase-diagram/svg-to-diagram.ts +1023 -0
  152. package/dist/src/lib/phase-diagram/types.ts +144 -0
  153. package/dist/src/lib/phase-diagram/utils.ts +775 -0
  154. package/dist/src/lib/plot/AxisLabel.svelte +51 -0
  155. package/dist/src/lib/plot/BarPlot.svelte +2113 -0
  156. package/dist/src/lib/plot/BarPlotControls.svelte +66 -0
  157. package/dist/src/lib/plot/BinnedScatterPlot.svelte +1114 -0
  158. package/dist/src/lib/plot/ColorBar.svelte +721 -0
  159. package/dist/src/lib/plot/ColorScaleSelect.svelte +54 -0
  160. package/dist/src/lib/plot/ElementScatter.svelte +63 -0
  161. package/dist/src/lib/plot/FillArea.svelte +223 -0
  162. package/dist/src/lib/plot/Histogram.svelte +1558 -0
  163. package/dist/src/lib/plot/HistogramControls.svelte +212 -0
  164. package/dist/src/lib/plot/InteractiveAxisLabel.svelte +96 -0
  165. package/dist/src/lib/plot/Line.svelte +84 -0
  166. package/dist/src/lib/plot/PlotAxis.svelte +169 -0
  167. package/dist/src/lib/plot/PlotControls.svelte +537 -0
  168. package/dist/src/lib/plot/PlotLegend.svelte +569 -0
  169. package/dist/src/lib/plot/PlotTooltip.svelte +67 -0
  170. package/dist/src/lib/plot/PortalSelect.svelte +253 -0
  171. package/dist/src/lib/plot/ReferenceLine3D.svelte +156 -0
  172. package/dist/src/lib/plot/ReferencePlane.svelte +175 -0
  173. package/dist/src/lib/plot/ScatterPlot.svelte +2778 -0
  174. package/dist/src/lib/plot/ScatterPlot3D.svelte +529 -0
  175. package/dist/src/lib/plot/ScatterPlot3DControls.svelte +437 -0
  176. package/dist/src/lib/plot/ScatterPlot3DScene.svelte +912 -0
  177. package/dist/src/lib/plot/ScatterPlotControls.svelte +306 -0
  178. package/dist/src/lib/plot/ScatterPoint.svelte +182 -0
  179. package/dist/src/lib/plot/SpacegroupBarPlot.svelte +293 -0
  180. package/dist/src/lib/plot/Surface3D.svelte +197 -0
  181. package/dist/src/lib/plot/ZeroLines.svelte +97 -0
  182. package/dist/src/lib/plot/ZoomRect.svelte +23 -0
  183. package/dist/src/lib/plot/adaptive-density.ts +316 -0
  184. package/dist/src/lib/plot/auto-place.ts +184 -0
  185. package/dist/src/lib/plot/axis-utils.ts +122 -0
  186. package/dist/src/lib/plot/binned-scatter-types.ts +83 -0
  187. package/dist/src/lib/plot/data-cleaning.ts +1069 -0
  188. package/dist/src/lib/plot/data-transform.ts +69 -0
  189. package/dist/src/lib/plot/defaults.ts +9 -0
  190. package/dist/src/lib/plot/fill-utils.ts +494 -0
  191. package/dist/src/lib/plot/hover-lock.svelte.ts +60 -0
  192. package/dist/src/lib/plot/index.ts +53 -0
  193. package/dist/src/lib/plot/interactions.ts +119 -0
  194. package/dist/src/lib/plot/layout.ts +425 -0
  195. package/dist/src/lib/plot/reference-line.ts +426 -0
  196. package/dist/src/lib/plot/scales.ts +654 -0
  197. package/dist/src/lib/plot/svg.ts +23 -0
  198. package/dist/src/lib/plot/types.ts +1144 -0
  199. package/dist/src/lib/plot/utils/label-placement.ts +541 -0
  200. package/dist/src/lib/plot/utils/series-visibility.ts +140 -0
  201. package/dist/src/lib/plot/utils.ts +11 -0
  202. package/dist/src/lib/rdf/RdfPlot.svelte +247 -0
  203. package/dist/src/lib/rdf/calc-rdf.ts +167 -0
  204. package/dist/src/lib/rdf/index.ts +27 -0
  205. package/dist/src/lib/sanitize.ts +126 -0
  206. package/dist/src/lib/settings.ts +1479 -0
  207. package/dist/src/lib/spectral/Bands.svelte +1040 -0
  208. package/dist/src/lib/spectral/BandsAndDos.svelte +134 -0
  209. package/dist/src/lib/spectral/BrillouinBandsDos.svelte +252 -0
  210. package/dist/src/lib/spectral/Dos.svelte +697 -0
  211. package/dist/src/lib/spectral/helpers.ts +1381 -0
  212. package/dist/src/lib/spectral/index.ts +8 -0
  213. package/dist/src/lib/spectral/types.ts +112 -0
  214. package/dist/src/lib/state.svelte.ts +64 -0
  215. package/dist/src/lib/structure/Arrow.svelte +72 -0
  216. package/dist/src/lib/structure/AtomLegend.svelte +815 -0
  217. package/dist/src/lib/structure/Bond.svelte +140 -0
  218. package/dist/src/lib/structure/CanvasTooltip.svelte +33 -0
  219. package/dist/src/lib/structure/CellSelect.svelte +349 -0
  220. package/dist/src/lib/structure/Cylinder.svelte +45 -0
  221. package/dist/src/lib/structure/Lattice.svelte +196 -0
  222. package/dist/src/lib/structure/Structure.svelte +2248 -0
  223. package/dist/src/lib/structure/StructureControls.svelte +1273 -0
  224. package/dist/src/lib/structure/StructureExportPane.svelte +252 -0
  225. package/dist/src/lib/structure/StructureInfoPane.svelte +737 -0
  226. package/dist/src/lib/structure/StructureScene.svelte +2255 -0
  227. package/dist/src/lib/structure/atom-properties.ts +316 -0
  228. package/dist/src/lib/structure/bond-order-perception.ts +447 -0
  229. package/dist/src/lib/structure/bonding.ts +944 -0
  230. package/dist/src/lib/structure/export.ts +861 -0
  231. package/dist/src/lib/structure/index.ts +291 -0
  232. package/dist/src/lib/structure/label-placement.ts +130 -0
  233. package/dist/src/lib/structure/measure.ts +45 -0
  234. package/dist/src/lib/structure/parse.ts +1705 -0
  235. package/dist/src/lib/structure/partial-occupancy.ts +183 -0
  236. package/dist/src/lib/structure/pbc.ts +164 -0
  237. package/dist/src/lib/structure/supercell.ts +226 -0
  238. package/dist/src/lib/structure/validation.ts +11 -0
  239. package/dist/src/lib/symmetry/SymmetryStats.svelte +226 -0
  240. package/dist/src/lib/symmetry/WyckoffTable.svelte +120 -0
  241. package/dist/src/lib/symmetry/cell-transform.ts +118 -0
  242. package/dist/src/lib/symmetry/index.ts +348 -0
  243. package/dist/src/lib/symmetry/spacegroups.ts +404 -0
  244. package/dist/src/lib/table/HeatmapTable.svelte +1833 -0
  245. package/dist/src/lib/table/ToggleMenu.svelte +385 -0
  246. package/dist/src/lib/table/index.ts +139 -0
  247. package/dist/src/lib/theme/ThemeControl.svelte +53 -0
  248. package/dist/src/lib/theme/index.ts +107 -0
  249. package/dist/src/lib/theme/themes.mjs +297 -0
  250. package/dist/src/lib/time.ts +71 -0
  251. package/dist/src/lib/tooltip/TooltipContent.svelte +58 -0
  252. package/dist/src/lib/tooltip/index.ts +2 -0
  253. package/dist/src/lib/tooltip/types.ts +13 -0
  254. package/dist/src/lib/trajectory/Trajectory.svelte +1545 -0
  255. package/dist/src/lib/trajectory/TrajectoryError.svelte +128 -0
  256. package/dist/src/lib/trajectory/TrajectoryExportPane.svelte +357 -0
  257. package/dist/src/lib/trajectory/TrajectoryInfoPane.svelte +313 -0
  258. package/dist/src/lib/trajectory/constants.ts +7 -0
  259. package/dist/src/lib/trajectory/extract.ts +196 -0
  260. package/dist/src/lib/trajectory/format-detect.ts +96 -0
  261. package/dist/src/lib/trajectory/frame-reader.ts +456 -0
  262. package/dist/src/lib/trajectory/helpers.ts +217 -0
  263. package/dist/src/lib/trajectory/index.ts +218 -0
  264. package/dist/src/lib/trajectory/parse/ase.ts +109 -0
  265. package/dist/src/lib/trajectory/parse/hdf5.ts +173 -0
  266. package/dist/src/lib/trajectory/parse/index.ts +411 -0
  267. package/dist/src/lib/trajectory/parse/lammps.ts +215 -0
  268. package/dist/src/lib/trajectory/parse/vasp.ts +102 -0
  269. package/dist/src/lib/trajectory/parse/xyz.ts +143 -0
  270. package/dist/src/lib/trajectory/plotting.ts +599 -0
  271. package/dist/src/lib/trajectory/types.ts +13 -0
  272. package/dist/src/lib/utils.ts +56 -0
  273. package/dist/src/lib/xrd/XrdPlot.svelte +615 -0
  274. package/dist/src/lib/xrd/broadening.ts +130 -0
  275. package/dist/src/lib/xrd/calc-xrd.ts +397 -0
  276. package/dist/src/lib/xrd/index.ts +38 -0
  277. package/dist/src/lib/xrd/parse.ts +858 -0
  278. package/dist/webview.js +29421 -0
  279. package/icon.png +0 -0
  280. package/license +1 -1
  281. package/matterviz-0.3.2.vsix +0 -0
  282. package/matterviz-0.3.4.vsix +0 -0
  283. package/matterviz-0.3.5.vsix +0 -0
  284. package/package.json +1461 -231
  285. package/readme.md +171 -98
  286. package/scripts/sync-config.ts +101 -0
  287. package/src/declarations.d.ts +2 -0
  288. package/src/extension.ts +972 -0
  289. package/src/node-io.ts +65 -0
  290. package/src/types.ts +17 -0
  291. package/src/webview/JsonBrowser.svelte +1079 -0
  292. package/src/webview/PlotPanel.svelte +346 -0
  293. package/src/webview/detect.ts +444 -0
  294. package/src/webview/main.ts +764 -0
  295. package/src/webview/plot-utils.ts +250 -0
  296. package/test-fixtures/all-viz-types.json.gz +0 -0
  297. package/test-fixtures/plot-demo-data.json.gz +0 -0
  298. package/tests/detect.test.ts +604 -0
  299. package/tests/extension.test.ts +2041 -0
  300. package/tests/node-io.test.ts +39 -0
  301. package/tests/plot-utils.test.ts +302 -0
  302. package/tests/vite-plugin-json-gz.test.ts +114 -0
  303. package/tests/vscode-mock.ts +18 -0
  304. package/tests/webview.test.ts +231 -0
  305. package/tsconfig.json +20 -0
  306. package/vite-plugin-json-gz.ts +29 -0
  307. package/vite.config.ts +34 -0
  308. package/vite.extension.config.ts +34 -0
  309. package/dist/EmptyState.svelte.d.ts +0 -9
  310. package/dist/FilePicker.svelte +0 -360
  311. package/dist/FilePicker.svelte.d.ts +0 -17
  312. package/dist/Icon.svelte.d.ts +0 -13
  313. package/dist/MillerIndexInput.svelte +0 -66
  314. package/dist/MillerIndexInput.svelte.d.ts +0 -7
  315. package/dist/api/mp.d.ts +0 -6
  316. package/dist/api/mp.js +0 -22
  317. package/dist/api/optimade.d.ts +0 -45
  318. package/dist/api/optimade.js +0 -135
  319. package/dist/app.css +0 -240
  320. package/dist/brillouin/BrillouinZone.svelte +0 -543
  321. package/dist/brillouin/BrillouinZone.svelte.d.ts +0 -83
  322. package/dist/brillouin/BrillouinZoneControls.svelte +0 -144
  323. package/dist/brillouin/BrillouinZoneControls.svelte.d.ts +0 -17
  324. package/dist/brillouin/BrillouinZoneExportPane.svelte +0 -148
  325. package/dist/brillouin/BrillouinZoneExportPane.svelte.d.ts +0 -15
  326. package/dist/brillouin/BrillouinZoneInfoPane.svelte +0 -146
  327. package/dist/brillouin/BrillouinZoneInfoPane.svelte.d.ts +0 -13
  328. package/dist/brillouin/BrillouinZoneScene.svelte +0 -476
  329. package/dist/brillouin/BrillouinZoneScene.svelte.d.ts +0 -48
  330. package/dist/brillouin/BrillouinZoneTooltip.svelte +0 -92
  331. package/dist/brillouin/BrillouinZoneTooltip.svelte.d.ts +0 -8
  332. package/dist/brillouin/compute.d.ts +0 -17
  333. package/dist/brillouin/compute.js +0 -422
  334. package/dist/brillouin/index.d.ts +0 -8
  335. package/dist/brillouin/index.js +0 -8
  336. package/dist/brillouin/types.d.ts +0 -48
  337. package/dist/brillouin/types.js +0 -1
  338. package/dist/chempot-diagram/ChemPotDiagram.svelte +0 -327
  339. package/dist/chempot-diagram/ChemPotDiagram.svelte.d.ts +0 -13
  340. package/dist/chempot-diagram/ChemPotDiagram2D.svelte +0 -847
  341. package/dist/chempot-diagram/ChemPotDiagram2D.svelte.d.ts +0 -16
  342. package/dist/chempot-diagram/ChemPotDiagram3D.svelte +0 -3194
  343. package/dist/chempot-diagram/ChemPotDiagram3D.svelte.d.ts +0 -16
  344. package/dist/chempot-diagram/ChemPotScene3D.svelte.d.ts +0 -7
  345. package/dist/chempot-diagram/async-compute.svelte.d.ts +0 -3
  346. package/dist/chempot-diagram/async-compute.svelte.js +0 -77
  347. package/dist/chempot-diagram/chempot-worker.d.ts +0 -1
  348. package/dist/chempot-diagram/chempot-worker.js +0 -11
  349. package/dist/chempot-diagram/color.d.ts +0 -10
  350. package/dist/chempot-diagram/color.js +0 -32
  351. package/dist/chempot-diagram/compute.d.ts +0 -48
  352. package/dist/chempot-diagram/compute.js +0 -812
  353. package/dist/chempot-diagram/index.d.ts +0 -6
  354. package/dist/chempot-diagram/index.js +0 -6
  355. package/dist/chempot-diagram/pointer.d.ts +0 -16
  356. package/dist/chempot-diagram/pointer.js +0 -40
  357. package/dist/chempot-diagram/temperature.d.ts +0 -15
  358. package/dist/chempot-diagram/temperature.js +0 -36
  359. package/dist/chempot-diagram/types.d.ts +0 -86
  360. package/dist/chempot-diagram/types.js +0 -28
  361. package/dist/colors/index.d.ts +0 -47
  362. package/dist/colors/index.js +0 -203
  363. package/dist/composition/BarChart.svelte +0 -297
  364. package/dist/composition/BarChart.svelte.d.ts +0 -39
  365. package/dist/composition/BubbleChart.svelte +0 -218
  366. package/dist/composition/BubbleChart.svelte.d.ts +0 -28
  367. package/dist/composition/Composition.svelte +0 -164
  368. package/dist/composition/Composition.svelte.d.ts +0 -15
  369. package/dist/composition/Formula.svelte +0 -265
  370. package/dist/composition/Formula.svelte.d.ts +0 -19
  371. package/dist/composition/FormulaFilter.svelte +0 -1259
  372. package/dist/composition/FormulaFilter.svelte.d.ts +0 -51
  373. package/dist/composition/PieChart.svelte +0 -323
  374. package/dist/composition/PieChart.svelte.d.ts +0 -37
  375. package/dist/composition/format.d.ts +0 -15
  376. package/dist/composition/format.js +0 -109
  377. package/dist/composition/index.d.ts +0 -20
  378. package/dist/composition/index.js +0 -14
  379. package/dist/composition/parse.d.ts +0 -55
  380. package/dist/composition/parse.js +0 -459
  381. package/dist/constants.d.ts +0 -29
  382. package/dist/constants.js +0 -105
  383. package/dist/controls.d.ts +0 -14
  384. package/dist/controls.js +0 -30
  385. package/dist/convex-hull/ConvexHull.svelte +0 -157
  386. package/dist/convex-hull/ConvexHull.svelte.d.ts +0 -13
  387. package/dist/convex-hull/ConvexHull2D.svelte +0 -813
  388. package/dist/convex-hull/ConvexHull2D.svelte.d.ts +0 -11
  389. package/dist/convex-hull/ConvexHull3D.svelte +0 -1788
  390. package/dist/convex-hull/ConvexHull3D.svelte.d.ts +0 -8
  391. package/dist/convex-hull/ConvexHull4D.svelte +0 -1374
  392. package/dist/convex-hull/ConvexHull4D.svelte.d.ts +0 -8
  393. package/dist/convex-hull/ConvexHullControls.svelte +0 -546
  394. package/dist/convex-hull/ConvexHullControls.svelte.d.ts +0 -48
  395. package/dist/convex-hull/ConvexHullInfoPane.svelte +0 -115
  396. package/dist/convex-hull/ConvexHullInfoPane.svelte.d.ts +0 -18
  397. package/dist/convex-hull/ConvexHullStats.svelte +0 -905
  398. package/dist/convex-hull/ConvexHullStats.svelte.d.ts +0 -15
  399. package/dist/convex-hull/ConvexHullTooltip.svelte +0 -131
  400. package/dist/convex-hull/ConvexHullTooltip.svelte.d.ts +0 -33
  401. package/dist/convex-hull/GasPressureControls.svelte +0 -247
  402. package/dist/convex-hull/GasPressureControls.svelte.d.ts +0 -11
  403. package/dist/convex-hull/StructurePopup.svelte +0 -116
  404. package/dist/convex-hull/StructurePopup.svelte.d.ts +0 -18
  405. package/dist/convex-hull/TemperatureSlider.svelte +0 -137
  406. package/dist/convex-hull/TemperatureSlider.svelte.d.ts +0 -8
  407. package/dist/convex-hull/barycentric-coords.d.ts +0 -18
  408. package/dist/convex-hull/barycentric-coords.js +0 -182
  409. package/dist/convex-hull/demo-temperature.d.ts +0 -6
  410. package/dist/convex-hull/demo-temperature.js +0 -40
  411. package/dist/convex-hull/gas-thermodynamics.d.ts +0 -16
  412. package/dist/convex-hull/gas-thermodynamics.js +0 -316
  413. package/dist/convex-hull/helpers.d.ts +0 -103
  414. package/dist/convex-hull/helpers.js +0 -671
  415. package/dist/convex-hull/index.d.ts +0 -118
  416. package/dist/convex-hull/index.js +0 -57
  417. package/dist/convex-hull/thermodynamics.d.ts +0 -66
  418. package/dist/convex-hull/thermodynamics.js +0 -1752
  419. package/dist/convex-hull/types.d.ts +0 -162
  420. package/dist/convex-hull/types.js +0 -36
  421. package/dist/coordination/CoordinationBarPlot.svelte +0 -311
  422. package/dist/coordination/CoordinationBarPlot.svelte.d.ts +0 -30
  423. package/dist/coordination/calc-coordination.d.ts +0 -15
  424. package/dist/coordination/calc-coordination.js +0 -63
  425. package/dist/coordination/index.d.ts +0 -8
  426. package/dist/coordination/index.js +0 -7
  427. package/dist/element/BohrAtom.svelte +0 -149
  428. package/dist/element/BohrAtom.svelte.d.ts +0 -20
  429. package/dist/element/ElementHeading.svelte +0 -26
  430. package/dist/element/ElementHeading.svelte.d.ts +0 -8
  431. package/dist/element/ElementPhoto.svelte +0 -57
  432. package/dist/element/ElementPhoto.svelte.d.ts +0 -9
  433. package/dist/element/ElementStats.svelte +0 -80
  434. package/dist/element/ElementStats.svelte.d.ts +0 -8
  435. package/dist/element/ElementTile.svelte +0 -484
  436. package/dist/element/ElementTile.svelte.d.ts +0 -29
  437. package/dist/element/Nucleus.svelte.d.ts +0 -17
  438. package/dist/element/data.d.ts +0 -3
  439. package/dist/element/data.js +0 -2
  440. package/dist/element/data.json.gz.d.ts +0 -2
  441. package/dist/element/index.d.ts +0 -8
  442. package/dist/element/index.js +0 -8
  443. package/dist/element/types.d.ts +0 -57
  444. package/dist/element/types.js +0 -1
  445. package/dist/feedback/ClickFeedback.svelte +0 -58
  446. package/dist/feedback/ClickFeedback.svelte.d.ts +0 -12
  447. package/dist/feedback/DragOverlay.svelte +0 -42
  448. package/dist/feedback/DragOverlay.svelte.d.ts +0 -7
  449. package/dist/feedback/Spinner.svelte.d.ts +0 -7
  450. package/dist/feedback/StatusMessage.svelte.d.ts +0 -9
  451. package/dist/feedback/index.d.ts +0 -4
  452. package/dist/feedback/index.js +0 -4
  453. package/dist/fermi-surface/FermiSlice.svelte +0 -189
  454. package/dist/fermi-surface/FermiSlice.svelte.d.ts +0 -24
  455. package/dist/fermi-surface/FermiSurface.svelte +0 -597
  456. package/dist/fermi-surface/FermiSurface.svelte.d.ts +0 -83
  457. package/dist/fermi-surface/FermiSurfaceControls.svelte +0 -452
  458. package/dist/fermi-surface/FermiSurfaceControls.svelte.d.ts +0 -35
  459. package/dist/fermi-surface/FermiSurfaceScene.svelte +0 -792
  460. package/dist/fermi-surface/FermiSurfaceScene.svelte.d.ts +0 -50
  461. package/dist/fermi-surface/FermiSurfaceTooltip.svelte +0 -111
  462. package/dist/fermi-surface/FermiSurfaceTooltip.svelte.d.ts +0 -8
  463. package/dist/fermi-surface/compute.d.ts +0 -5
  464. package/dist/fermi-surface/compute.js +0 -538
  465. package/dist/fermi-surface/constants.d.ts +0 -9
  466. package/dist/fermi-surface/constants.js +0 -27
  467. package/dist/fermi-surface/export.d.ts +0 -5
  468. package/dist/fermi-surface/export.js +0 -63
  469. package/dist/fermi-surface/index.d.ts +0 -12
  470. package/dist/fermi-surface/index.js +0 -13
  471. package/dist/fermi-surface/marching-cubes.d.ts +0 -2
  472. package/dist/fermi-surface/marching-cubes.js +0 -2
  473. package/dist/fermi-surface/parse.d.ts +0 -2
  474. package/dist/fermi-surface/parse.js +0 -495
  475. package/dist/fermi-surface/symmetry.d.ts +0 -3
  476. package/dist/fermi-surface/symmetry.js +0 -46
  477. package/dist/fermi-surface/types.d.ts +0 -113
  478. package/dist/fermi-surface/types.js +0 -4
  479. package/dist/heatmap-matrix/HeatmapMatrix.svelte +0 -1527
  480. package/dist/heatmap-matrix/HeatmapMatrix.svelte.d.ts +0 -110
  481. package/dist/heatmap-matrix/HeatmapMatrixControls.svelte +0 -225
  482. package/dist/heatmap-matrix/HeatmapMatrixControls.svelte.d.ts +0 -30
  483. package/dist/heatmap-matrix/index.d.ts +0 -53
  484. package/dist/heatmap-matrix/index.js +0 -100
  485. package/dist/heatmap-matrix/shared.d.ts +0 -2
  486. package/dist/heatmap-matrix/shared.js +0 -4
  487. package/dist/icons.d.ts +0 -569
  488. package/dist/icons.js +0 -648
  489. package/dist/index.d.ts +0 -39
  490. package/dist/index.js +0 -39
  491. package/dist/io/decompress.d.ts +0 -10
  492. package/dist/io/decompress.js +0 -69
  493. package/dist/io/export.d.ts +0 -16
  494. package/dist/io/export.js +0 -312
  495. package/dist/io/fetch.d.ts +0 -5
  496. package/dist/io/fetch.js +0 -39
  497. package/dist/io/file-drop.d.ts +0 -7
  498. package/dist/io/file-drop.js +0 -43
  499. package/dist/io/index.d.ts +0 -7
  500. package/dist/io/index.js +0 -7
  501. package/dist/io/is-binary.d.ts +0 -1
  502. package/dist/io/is-binary.js +0 -5
  503. package/dist/io/types.d.ts +0 -8
  504. package/dist/io/types.js +0 -1
  505. package/dist/io/url-drop.d.ts +0 -2
  506. package/dist/io/url-drop.js +0 -117
  507. package/dist/isosurface/Isosurface.svelte +0 -285
  508. package/dist/isosurface/Isosurface.svelte.d.ts +0 -8
  509. package/dist/isosurface/IsosurfaceControls.svelte +0 -291
  510. package/dist/isosurface/IsosurfaceControls.svelte.d.ts +0 -9
  511. package/dist/isosurface/index.d.ts +0 -5
  512. package/dist/isosurface/index.js +0 -6
  513. package/dist/isosurface/parse.d.ts +0 -6
  514. package/dist/isosurface/parse.js +0 -553
  515. package/dist/isosurface/slice.d.ts +0 -11
  516. package/dist/isosurface/slice.js +0 -140
  517. package/dist/isosurface/types.d.ts +0 -56
  518. package/dist/isosurface/types.js +0 -227
  519. package/dist/labels.d.ts +0 -53
  520. package/dist/labels.js +0 -274
  521. package/dist/layout/FullscreenToggle.svelte +0 -50
  522. package/dist/layout/FullscreenToggle.svelte.d.ts +0 -7
  523. package/dist/layout/InfoCard.svelte +0 -120
  524. package/dist/layout/InfoCard.svelte.d.ts +0 -21
  525. package/dist/layout/InfoTag.svelte +0 -183
  526. package/dist/layout/InfoTag.svelte.d.ts +0 -19
  527. package/dist/layout/PropertyFilter.svelte +0 -244
  528. package/dist/layout/PropertyFilter.svelte.d.ts +0 -24
  529. package/dist/layout/SettingsSection.svelte +0 -148
  530. package/dist/layout/SettingsSection.svelte.d.ts +0 -17
  531. package/dist/layout/SubpageGrid.svelte +0 -82
  532. package/dist/layout/SubpageGrid.svelte.d.ts +0 -14
  533. package/dist/layout/fullscreen.d.ts +0 -9
  534. package/dist/layout/fullscreen.js +0 -53
  535. package/dist/layout/index.d.ts +0 -10
  536. package/dist/layout/index.js +0 -8
  537. package/dist/layout/json-tree/JsonNode.svelte +0 -547
  538. package/dist/layout/json-tree/JsonNode.svelte.d.ts +0 -11
  539. package/dist/layout/json-tree/JsonTree.svelte +0 -1222
  540. package/dist/layout/json-tree/JsonTree.svelte.d.ts +0 -6
  541. package/dist/layout/json-tree/JsonValue.svelte +0 -334
  542. package/dist/layout/json-tree/JsonValue.svelte.d.ts +0 -9
  543. package/dist/layout/json-tree/index.d.ts +0 -3
  544. package/dist/layout/json-tree/index.js +0 -3
  545. package/dist/layout/json-tree/types.d.ts +0 -73
  546. package/dist/layout/json-tree/types.js +0 -3
  547. package/dist/layout/json-tree/utils.d.ts +0 -29
  548. package/dist/layout/json-tree/utils.js +0 -648
  549. package/dist/marching-cubes.d.ts +0 -14
  550. package/dist/marching-cubes.js +0 -542
  551. package/dist/math.d.ts +0 -91
  552. package/dist/math.js +0 -896
  553. package/dist/overlays/ContextMenu.svelte +0 -162
  554. package/dist/overlays/ContextMenu.svelte.d.ts +0 -25
  555. package/dist/overlays/DraggablePane.svelte +0 -564
  556. package/dist/overlays/DraggablePane.svelte.d.ts +0 -36
  557. package/dist/overlays/index.d.ts +0 -2
  558. package/dist/overlays/index.js +0 -2
  559. package/dist/periodic-table/PeriodicTable.svelte +0 -469
  560. package/dist/periodic-table/PeriodicTable.svelte.d.ts +0 -55
  561. package/dist/periodic-table/PeriodicTableControls.svelte +0 -557
  562. package/dist/periodic-table/PeriodicTableControls.svelte.d.ts +0 -24
  563. package/dist/periodic-table/PropertySelect.svelte +0 -37
  564. package/dist/periodic-table/PropertySelect.svelte.d.ts +0 -13
  565. package/dist/periodic-table/TableInset.svelte.d.ts +0 -9
  566. package/dist/periodic-table/index.d.ts +0 -10
  567. package/dist/periodic-table/index.js +0 -4
  568. package/dist/phase-diagram/IsobaricBinaryPhaseDiagram.svelte +0 -1086
  569. package/dist/phase-diagram/IsobaricBinaryPhaseDiagram.svelte.d.ts +0 -44
  570. package/dist/phase-diagram/PhaseDiagramControls.svelte +0 -451
  571. package/dist/phase-diagram/PhaseDiagramControls.svelte.d.ts +0 -30
  572. package/dist/phase-diagram/PhaseDiagramEditorPane.svelte +0 -126
  573. package/dist/phase-diagram/PhaseDiagramEditorPane.svelte.d.ts +0 -15
  574. package/dist/phase-diagram/PhaseDiagramExportPane.svelte +0 -192
  575. package/dist/phase-diagram/PhaseDiagramExportPane.svelte.d.ts +0 -19
  576. package/dist/phase-diagram/PhaseDiagramTooltip.svelte +0 -392
  577. package/dist/phase-diagram/PhaseDiagramTooltip.svelte.d.ts +0 -16
  578. package/dist/phase-diagram/TdbInfoPanel.svelte +0 -203
  579. package/dist/phase-diagram/TdbInfoPanel.svelte.d.ts +0 -12
  580. package/dist/phase-diagram/build-diagram.d.ts +0 -11
  581. package/dist/phase-diagram/build-diagram.js +0 -167
  582. package/dist/phase-diagram/colors.d.ts +0 -35
  583. package/dist/phase-diagram/colors.js +0 -51
  584. package/dist/phase-diagram/diagram-input.d.ts +0 -33
  585. package/dist/phase-diagram/diagram-input.js +0 -3
  586. package/dist/phase-diagram/index.d.ts +0 -13
  587. package/dist/phase-diagram/index.js +0 -13
  588. package/dist/phase-diagram/parse.d.ts +0 -55
  589. package/dist/phase-diagram/parse.js +0 -276
  590. package/dist/phase-diagram/svg-to-diagram.d.ts +0 -2
  591. package/dist/phase-diagram/svg-to-diagram.js +0 -869
  592. package/dist/phase-diagram/types.d.ts +0 -99
  593. package/dist/phase-diagram/types.js +0 -1
  594. package/dist/phase-diagram/utils.d.ts +0 -118
  595. package/dist/phase-diagram/utils.js +0 -606
  596. package/dist/plot/AxisLabel.svelte +0 -51
  597. package/dist/plot/AxisLabel.svelte.d.ts +0 -16
  598. package/dist/plot/BarPlot.svelte +0 -2256
  599. package/dist/plot/BarPlot.svelte.d.ts +0 -82
  600. package/dist/plot/BarPlotControls.svelte +0 -66
  601. package/dist/plot/BarPlotControls.svelte.d.ts +0 -18
  602. package/dist/plot/ColorBar.svelte +0 -719
  603. package/dist/plot/ColorBar.svelte.d.ts +0 -31
  604. package/dist/plot/ColorScaleSelect.svelte +0 -54
  605. package/dist/plot/ColorScaleSelect.svelte.d.ts +0 -15
  606. package/dist/plot/ElementScatter.svelte +0 -63
  607. package/dist/plot/ElementScatter.svelte.d.ts +0 -14
  608. package/dist/plot/FillArea.svelte +0 -226
  609. package/dist/plot/FillArea.svelte.d.ts +0 -20
  610. package/dist/plot/Histogram.svelte +0 -1654
  611. package/dist/plot/Histogram.svelte.d.ts +0 -50
  612. package/dist/plot/HistogramControls.svelte +0 -212
  613. package/dist/plot/HistogramControls.svelte.d.ts +0 -22
  614. package/dist/plot/InteractiveAxisLabel.svelte +0 -94
  615. package/dist/plot/InteractiveAxisLabel.svelte.d.ts +0 -14
  616. package/dist/plot/Line.svelte +0 -85
  617. package/dist/plot/Line.svelte.d.ts +0 -15
  618. package/dist/plot/PlotControls.svelte +0 -537
  619. package/dist/plot/PlotControls.svelte.d.ts +0 -4
  620. package/dist/plot/PlotLegend.svelte +0 -498
  621. package/dist/plot/PlotLegend.svelte.d.ts +0 -25
  622. package/dist/plot/PlotTooltip.svelte +0 -67
  623. package/dist/plot/PlotTooltip.svelte.d.ts +0 -17
  624. package/dist/plot/PortalSelect.svelte +0 -253
  625. package/dist/plot/PortalSelect.svelte.d.ts +0 -16
  626. package/dist/plot/ReferenceLine.svelte.d.ts +0 -20
  627. package/dist/plot/ReferenceLine3D.svelte +0 -154
  628. package/dist/plot/ReferenceLine3D.svelte.d.ts +0 -14
  629. package/dist/plot/ReferencePlane.svelte +0 -178
  630. package/dist/plot/ReferencePlane.svelte.d.ts +0 -14
  631. package/dist/plot/ScatterPlot.svelte +0 -2831
  632. package/dist/plot/ScatterPlot.svelte.d.ts +0 -92
  633. package/dist/plot/ScatterPlot3D.svelte +0 -499
  634. package/dist/plot/ScatterPlot3D.svelte.d.ts +0 -94
  635. package/dist/plot/ScatterPlot3DControls.svelte +0 -437
  636. package/dist/plot/ScatterPlot3DControls.svelte.d.ts +0 -20
  637. package/dist/plot/ScatterPlot3DScene.svelte +0 -912
  638. package/dist/plot/ScatterPlot3DScene.svelte.d.ts +0 -74
  639. package/dist/plot/ScatterPlotControls.svelte +0 -307
  640. package/dist/plot/ScatterPlotControls.svelte.d.ts +0 -17
  641. package/dist/plot/ScatterPoint.svelte +0 -185
  642. package/dist/plot/ScatterPoint.svelte.d.ts +0 -19
  643. package/dist/plot/SpacegroupBarPlot.svelte +0 -292
  644. package/dist/plot/SpacegroupBarPlot.svelte.d.ts +0 -9
  645. package/dist/plot/Surface3D.svelte +0 -200
  646. package/dist/plot/Surface3D.svelte.d.ts +0 -13
  647. package/dist/plot/ZeroLines.svelte +0 -96
  648. package/dist/plot/ZeroLines.svelte.d.ts +0 -32
  649. package/dist/plot/ZoomRect.svelte +0 -23
  650. package/dist/plot/ZoomRect.svelte.d.ts +0 -8
  651. package/dist/plot/axis-utils.d.ts +0 -19
  652. package/dist/plot/axis-utils.js +0 -80
  653. package/dist/plot/data-cleaning.d.ts +0 -37
  654. package/dist/plot/data-cleaning.js +0 -855
  655. package/dist/plot/data-transform.d.ts +0 -16
  656. package/dist/plot/data-transform.js +0 -45
  657. package/dist/plot/defaults.d.ts +0 -19
  658. package/dist/plot/defaults.js +0 -9
  659. package/dist/plot/fill-utils.d.ts +0 -51
  660. package/dist/plot/fill-utils.js +0 -337
  661. package/dist/plot/hover-lock.svelte.d.ts +0 -14
  662. package/dist/plot/hover-lock.svelte.js +0 -46
  663. package/dist/plot/index.d.ts +0 -43
  664. package/dist/plot/index.js +0 -37
  665. package/dist/plot/interactions.d.ts +0 -12
  666. package/dist/plot/interactions.js +0 -100
  667. package/dist/plot/layout.d.ts +0 -60
  668. package/dist/plot/layout.js +0 -230
  669. package/dist/plot/reference-line.d.ts +0 -60
  670. package/dist/plot/reference-line.js +0 -316
  671. package/dist/plot/scales.d.ts +0 -48
  672. package/dist/plot/scales.js +0 -484
  673. package/dist/plot/svg.d.ts +0 -1
  674. package/dist/plot/svg.js +0 -11
  675. package/dist/plot/types.d.ts +0 -863
  676. package/dist/plot/types.js +0 -103
  677. package/dist/plot/utils/label-placement.d.ts +0 -47
  678. package/dist/plot/utils/label-placement.js +0 -256
  679. package/dist/plot/utils/series-visibility.d.ts +0 -9
  680. package/dist/plot/utils/series-visibility.js +0 -67
  681. package/dist/plot/utils.d.ts +0 -1
  682. package/dist/plot/utils.js +0 -14
  683. package/dist/rdf/RdfPlot.svelte +0 -247
  684. package/dist/rdf/RdfPlot.svelte.d.ts +0 -27
  685. package/dist/rdf/calc-rdf.d.ts +0 -4
  686. package/dist/rdf/calc-rdf.js +0 -111
  687. package/dist/rdf/index.d.ts +0 -23
  688. package/dist/rdf/index.js +0 -2
  689. package/dist/sanitize.d.ts +0 -4
  690. package/dist/sanitize.js +0 -107
  691. package/dist/settings.d.ts +0 -253
  692. package/dist/settings.js +0 -1123
  693. package/dist/spectral/Bands.svelte +0 -1040
  694. package/dist/spectral/Bands.svelte.d.ts +0 -40
  695. package/dist/spectral/BandsAndDos.svelte +0 -128
  696. package/dist/spectral/BandsAndDos.svelte.d.ts +0 -18
  697. package/dist/spectral/BrillouinBandsDos.svelte +0 -248
  698. package/dist/spectral/BrillouinBandsDos.svelte.d.ts +0 -20
  699. package/dist/spectral/Dos.svelte +0 -697
  700. package/dist/spectral/Dos.svelte.d.ts +0 -29
  701. package/dist/spectral/helpers.d.ts +0 -117
  702. package/dist/spectral/helpers.js +0 -1023
  703. package/dist/spectral/index.d.ts +0 -6
  704. package/dist/spectral/index.js +0 -7
  705. package/dist/spectral/types.d.ts +0 -84
  706. package/dist/spectral/types.js +0 -2
  707. package/dist/state.svelte.d.ts +0 -25
  708. package/dist/state.svelte.js +0 -45
  709. package/dist/structure/Arrow.svelte +0 -72
  710. package/dist/structure/Arrow.svelte.d.ts +0 -15
  711. package/dist/structure/AtomLegend.svelte +0 -798
  712. package/dist/structure/AtomLegend.svelte.d.ts +0 -34
  713. package/dist/structure/Bond.svelte +0 -140
  714. package/dist/structure/Bond.svelte.d.ts +0 -9
  715. package/dist/structure/CanvasTooltip.svelte +0 -33
  716. package/dist/structure/CanvasTooltip.svelte.d.ts +0 -12
  717. package/dist/structure/CellSelect.svelte +0 -351
  718. package/dist/structure/CellSelect.svelte.d.ts +0 -13
  719. package/dist/structure/Cylinder.svelte +0 -45
  720. package/dist/structure/Cylinder.svelte.d.ts +0 -10
  721. package/dist/structure/Lattice.svelte +0 -196
  722. package/dist/structure/Lattice.svelte.d.ts +0 -17
  723. package/dist/structure/Structure.svelte +0 -1857
  724. package/dist/structure/Structure.svelte.d.ts +0 -83
  725. package/dist/structure/StructureControls.svelte +0 -1184
  726. package/dist/structure/StructureControls.svelte.d.ts +0 -31
  727. package/dist/structure/StructureExportPane.svelte +0 -251
  728. package/dist/structure/StructureExportPane.svelte.d.ts +0 -17
  729. package/dist/structure/StructureInfoPane.svelte +0 -434
  730. package/dist/structure/StructureInfoPane.svelte.d.ts +0 -18
  731. package/dist/structure/StructureScene.svelte +0 -1574
  732. package/dist/structure/StructureScene.svelte.d.ts +0 -104
  733. package/dist/structure/atom-properties.d.ts +0 -37
  734. package/dist/structure/atom-properties.js +0 -198
  735. package/dist/structure/bonding.d.ts +0 -33
  736. package/dist/structure/bonding.js +0 -304
  737. package/dist/structure/export.d.ts +0 -20
  738. package/dist/structure/export.js +0 -725
  739. package/dist/structure/ferrox-wasm-types.d.ts +0 -46
  740. package/dist/structure/ferrox-wasm-types.js +0 -18
  741. package/dist/structure/ferrox-wasm.d.ts +0 -94
  742. package/dist/structure/ferrox-wasm.js +0 -249
  743. package/dist/structure/index.d.ts +0 -110
  744. package/dist/structure/index.js +0 -168
  745. package/dist/structure/measure.d.ts +0 -6
  746. package/dist/structure/measure.js +0 -29
  747. package/dist/structure/parse.d.ts +0 -65
  748. package/dist/structure/parse.js +0 -1374
  749. package/dist/structure/partial-occupancy.d.ts +0 -25
  750. package/dist/structure/partial-occupancy.js +0 -99
  751. package/dist/structure/pbc.d.ts +0 -9
  752. package/dist/structure/pbc.js +0 -123
  753. package/dist/structure/supercell.d.ts +0 -8
  754. package/dist/structure/supercell.js +0 -137
  755. package/dist/structure/validation.d.ts +0 -2
  756. package/dist/structure/validation.js +0 -10
  757. package/dist/symmetry/SymmetryStats.svelte +0 -226
  758. package/dist/symmetry/SymmetryStats.svelte.d.ts +0 -21
  759. package/dist/symmetry/WyckoffTable.svelte +0 -113
  760. package/dist/symmetry/WyckoffTable.svelte.d.ts +0 -11
  761. package/dist/symmetry/cell-transform.d.ts +0 -12
  762. package/dist/symmetry/cell-transform.js +0 -77
  763. package/dist/symmetry/index.d.ts +0 -43
  764. package/dist/symmetry/index.js +0 -229
  765. package/dist/symmetry/spacegroups.d.ts +0 -9
  766. package/dist/symmetry/spacegroups.js +0 -394
  767. package/dist/table/HeatmapTable.svelte +0 -1854
  768. package/dist/table/HeatmapTable.svelte.d.ts +0 -49
  769. package/dist/table/ToggleMenu.svelte +0 -376
  770. package/dist/table/ToggleMenu.svelte.d.ts +0 -11
  771. package/dist/table/index.d.ts +0 -74
  772. package/dist/table/index.js +0 -38
  773. package/dist/theme/ThemeControl.svelte +0 -53
  774. package/dist/theme/ThemeControl.svelte.d.ts +0 -9
  775. package/dist/theme/index.d.ts +0 -29
  776. package/dist/theme/index.js +0 -79
  777. package/dist/theme/themes.mjs +0 -285
  778. package/dist/time.d.ts +0 -4
  779. package/dist/time.js +0 -70
  780. package/dist/tooltip/TooltipContent.svelte +0 -58
  781. package/dist/tooltip/TooltipContent.svelte.d.ts +0 -31
  782. package/dist/tooltip/index.d.ts +0 -2
  783. package/dist/tooltip/index.js +0 -2
  784. package/dist/tooltip/types.d.ts +0 -8
  785. package/dist/tooltip/types.js +0 -1
  786. package/dist/trajectory/Trajectory.svelte +0 -1517
  787. package/dist/trajectory/Trajectory.svelte.d.ts +0 -77
  788. package/dist/trajectory/TrajectoryError.svelte +0 -128
  789. package/dist/trajectory/TrajectoryError.svelte.d.ts +0 -13
  790. package/dist/trajectory/TrajectoryExportPane.svelte +0 -357
  791. package/dist/trajectory/TrajectoryExportPane.svelte.d.ts +0 -17
  792. package/dist/trajectory/TrajectoryInfoPane.svelte +0 -387
  793. package/dist/trajectory/TrajectoryInfoPane.svelte.d.ts +0 -17
  794. package/dist/trajectory/constants.d.ts +0 -6
  795. package/dist/trajectory/constants.js +0 -7
  796. package/dist/trajectory/extract.d.ts +0 -5
  797. package/dist/trajectory/extract.js +0 -162
  798. package/dist/trajectory/format-detect.d.ts +0 -9
  799. package/dist/trajectory/format-detect.js +0 -76
  800. package/dist/trajectory/frame-reader.d.ts +0 -17
  801. package/dist/trajectory/frame-reader.js +0 -332
  802. package/dist/trajectory/helpers.d.ts +0 -14
  803. package/dist/trajectory/helpers.js +0 -172
  804. package/dist/trajectory/index.d.ts +0 -63
  805. package/dist/trajectory/index.js +0 -126
  806. package/dist/trajectory/parse/ase.d.ts +0 -2
  807. package/dist/trajectory/parse/ase.js +0 -77
  808. package/dist/trajectory/parse/hdf5.d.ts +0 -2
  809. package/dist/trajectory/parse/hdf5.js +0 -129
  810. package/dist/trajectory/parse/index.d.ts +0 -12
  811. package/dist/trajectory/parse/index.js +0 -299
  812. package/dist/trajectory/parse/lammps.d.ts +0 -5
  813. package/dist/trajectory/parse/lammps.js +0 -179
  814. package/dist/trajectory/parse/vasp.d.ts +0 -2
  815. package/dist/trajectory/parse/vasp.js +0 -68
  816. package/dist/trajectory/parse/xyz.d.ts +0 -2
  817. package/dist/trajectory/parse/xyz.js +0 -110
  818. package/dist/trajectory/plotting.d.ts +0 -28
  819. package/dist/trajectory/plotting.js +0 -423
  820. package/dist/trajectory/types.d.ts +0 -11
  821. package/dist/trajectory/types.js +0 -1
  822. package/dist/utils.d.ts +0 -5
  823. package/dist/utils.js +0 -36
  824. package/dist/xrd/XrdPlot.svelte +0 -615
  825. package/dist/xrd/XrdPlot.svelte.d.ts +0 -28
  826. package/dist/xrd/broadening.d.ts +0 -20
  827. package/dist/xrd/broadening.js +0 -97
  828. package/dist/xrd/calc-xrd.d.ts +0 -37
  829. package/dist/xrd/calc-xrd.js +0 -337
  830. package/dist/xrd/index.d.ts +0 -37
  831. package/dist/xrd/index.js +0 -4
  832. package/dist/xrd/parse.d.ts +0 -13
  833. package/dist/xrd/parse.js +0 -749
  834. /package/dist/{EmptyState.svelte → src/lib/EmptyState.svelte} +0 -0
  835. /package/dist/{Icon.svelte → src/lib/Icon.svelte} +0 -0
  836. /package/dist/{chempot-diagram → src/lib/chempot-diagram}/ChemPotScene3D.svelte +0 -0
  837. /package/dist/{colors → src/lib/colors}/alloy-colors.json +0 -0
  838. /package/dist/{colors → src/lib/colors}/dark-mode-colors.json +0 -0
  839. /package/dist/{colors → src/lib/colors}/jmol-colors.json +0 -0
  840. /package/dist/{colors → src/lib/colors}/muted-colors.json +0 -0
  841. /package/dist/{colors → src/lib/colors}/pastel-colors.json +0 -0
  842. /package/dist/{colors → src/lib/colors}/vesta-colors.json +0 -0
  843. /package/dist/{element → src/lib/element}/Nucleus.svelte +0 -0
  844. /package/dist/{element → src/lib/element}/data.json +0 -0
  845. /package/dist/{element → src/lib/element}/data.json.gz +0 -0
  846. /package/dist/{element → src/lib/element}/data.schema.json +0 -0
  847. /package/dist/{element-image-urls.json → src/lib/element-image-urls.json} +0 -0
  848. /package/dist/{feedback → src/lib/feedback}/Spinner.svelte +0 -0
  849. /package/dist/{feedback → src/lib/feedback}/StatusMessage.svelte +0 -0
  850. /package/dist/{periodic-table → src/lib/periodic-table}/TableInset.svelte +0 -0
  851. /package/dist/{plot → src/lib/plot}/ReferenceLine.svelte +0 -0
  852. /package/dist/{xrd → src/lib/xrd}/atomic_scattering_params.json +0 -0
@@ -1,25 +0,0 @@
1
- import type { Site } from './';
2
- export declare const PARTIAL_OCCUPANCY_SLICE_GAP_RAD = 0.001;
3
- export type RenderSite = {
4
- site_idx: number;
5
- site: Site;
6
- is_image_atom: boolean;
7
- source_site_indices: number[];
8
- };
9
- export type SliceGeometry = {
10
- element: string;
11
- occupancy: number;
12
- start_phi: number;
13
- end_phi: number;
14
- phi_length: number;
15
- render_start_cap: boolean;
16
- render_end_cap: boolean;
17
- };
18
- export type CapArcConfig = {
19
- start_cap_arc_start: number;
20
- end_cap_arc_start: number;
21
- arc_length: number;
22
- };
23
- export declare const PARTIAL_OCCUPANCY_CAP_ARC: CapArcConfig;
24
- export declare const merge_split_partial_sites: (sites: Site[], hidden_elements?: ReadonlySet<string>) => RenderSite[];
25
- export declare const compute_slice_geometry: (visible_species: Site[`species`], slice_gap_rad?: number) => SliceGeometry[];
@@ -1,99 +0,0 @@
1
- export const PARTIAL_OCCUPANCY_SLICE_GAP_RAD = 1e-3;
2
- const OCCUPANCY_EPS = 1e-6;
3
- const MIN_PHI_LENGTH = 1e-4;
4
- const MERGE_DISTANCE_TOLERANCE = 1e-8;
5
- const CAP_ARC_START = Math.PI / 2;
6
- const is_image_atom = (site) => typeof site.properties?.orig_site_idx === `number`;
7
- const make_render_site = (sites, site_idx, source_site_indices, site_override) => ({
8
- site_idx,
9
- site: site_override ?? sites[site_idx],
10
- is_image_atom: source_site_indices.some((source_site_idx) => is_image_atom(sites[source_site_idx])),
11
- source_site_indices,
12
- });
13
- const sq_dist = (xyz_1, xyz_2) => (xyz_1[0] - xyz_2[0]) ** 2 + (xyz_1[1] - xyz_2[1]) ** 2 + (xyz_1[2] - xyz_2[2]) ** 2;
14
- const is_split_partial_site = (site, hidden_elements) => {
15
- const visible_species = site.species.filter(({ element }) => !hidden_elements.has(element));
16
- const total_visible_occupancy = visible_species.reduce((occupancy_sum, { occu }) => occupancy_sum + occu, 0);
17
- return visible_species.length === 1 && total_visible_occupancy < 1 - OCCUPANCY_EPS;
18
- };
19
- const group_split_partial_indices = (sites, hidden_elements) => {
20
- const grouped_centers = [];
21
- const grouped_site_indices = [];
22
- const non_grouped_site_indices = [];
23
- for (const [site_idx, site] of sites.entries()) {
24
- if (!is_split_partial_site(site, hidden_elements)) {
25
- non_grouped_site_indices.push(site_idx);
26
- continue;
27
- }
28
- const matched_group_idx = grouped_centers.findIndex((center_xyz) => sq_dist(center_xyz, site.xyz) <= MERGE_DISTANCE_TOLERANCE ** 2);
29
- if (matched_group_idx === -1) {
30
- grouped_centers.push(site.xyz);
31
- grouped_site_indices.push([site_idx]);
32
- continue;
33
- }
34
- grouped_site_indices[matched_group_idx].push(site_idx);
35
- }
36
- return { non_grouped_site_indices, grouped_site_indices };
37
- };
38
- const build_render_sites = (sites, non_grouped_site_indices, grouped_site_indices) => {
39
- const render_sites = non_grouped_site_indices.map((site_idx) => make_render_site(sites, site_idx, [site_idx]));
40
- for (const grouped_indices of grouped_site_indices) {
41
- if (grouped_indices.length === 1) {
42
- const site_idx = grouped_indices[0];
43
- render_sites.push(make_render_site(sites, site_idx, [site_idx]));
44
- continue;
45
- }
46
- const representative_site_idx = grouped_indices[0];
47
- const representative_site = sites[representative_site_idx];
48
- const merged_species = grouped_indices.flatMap((grouped_site_idx) => sites[grouped_site_idx].species);
49
- render_sites.push(make_render_site(sites, representative_site_idx, [...grouped_indices], {
50
- ...representative_site,
51
- species: merged_species,
52
- }));
53
- }
54
- return render_sites;
55
- };
56
- export const PARTIAL_OCCUPANCY_CAP_ARC = {
57
- start_cap_arc_start: CAP_ARC_START,
58
- end_cap_arc_start: CAP_ARC_START,
59
- arc_length: Math.PI,
60
- };
61
- export const merge_split_partial_sites = (sites, hidden_elements = new Set()) => {
62
- const grouped_indices = group_split_partial_indices(sites, hidden_elements);
63
- return build_render_sites(sites, grouped_indices.non_grouped_site_indices, grouped_indices.grouped_site_indices);
64
- };
65
- export const compute_slice_geometry = (visible_species, slice_gap_rad = PARTIAL_OCCUPANCY_SLICE_GAP_RAD) => {
66
- if (visible_species.length === 0)
67
- return [];
68
- const total_visible_occupancy = visible_species.reduce((occupancy_sum, { occu }) => occupancy_sum + occu, 0);
69
- // Preserve total angular coverage at one full turn for invalid overfull inputs.
70
- const occupancy_scale_factor = total_visible_occupancy > 1 + OCCUPANCY_EPS ? 1 / total_visible_occupancy : 1;
71
- const normalized_species = visible_species.map(({ element, occu }) => ({
72
- element,
73
- occu: occu * occupancy_scale_factor,
74
- }));
75
- const normalized_total_occupancy = normalized_species.reduce((occupancy_sum, { occu }) => occupancy_sum + occu, 0);
76
- const has_vacancy_gap = normalized_total_occupancy < 1 - OCCUPANCY_EPS;
77
- const last_visible_species_idx = normalized_species.length - 1;
78
- let start_angle = 0;
79
- return normalized_species.map(({ element, occu }, species_idx) => {
80
- const start_phi_raw = 2 * Math.PI * start_angle;
81
- const end_phi_raw = 2 * Math.PI * (start_angle += occu);
82
- // Keep neighboring wedges from sharing the exact same plane (z-fighting).
83
- const phi_span_raw = Math.max(0, end_phi_raw - start_phi_raw);
84
- const max_safe_gap = Math.max(0, phi_span_raw - MIN_PHI_LENGTH);
85
- const desired_gap = visible_species.length > 1 ? Math.min(slice_gap_rad, phi_span_raw * 0.25) : 0;
86
- const phi_gap = Math.min(desired_gap, max_safe_gap);
87
- const start_phi = start_phi_raw + phi_gap / 2;
88
- const end_phi = end_phi_raw - phi_gap / 2;
89
- return {
90
- element,
91
- occupancy: occu,
92
- start_phi,
93
- end_phi,
94
- phi_length: Math.max(MIN_PHI_LENGTH, end_phi - start_phi),
95
- render_start_cap: has_vacancy_gap && species_idx === 0,
96
- render_end_cap: has_vacancy_gap && species_idx === last_visible_species_idx,
97
- };
98
- });
99
- };
@@ -1,9 +0,0 @@
1
- import type { Vec3 } from '../math';
2
- import type { ParsedStructure } from './parse';
3
- export type Pbc = readonly [boolean, boolean, boolean];
4
- export declare const wrap_frac_coord: (coord: number) => number;
5
- export declare const wrap_to_unit_cell: (frac: Vec3) => Vec3;
6
- export declare function find_image_atoms(structure: ParsedStructure, { tolerance }?: {
7
- tolerance?: number;
8
- }): [number, Vec3, Vec3][];
9
- export declare function get_pbc_image_sites(...args: Parameters<typeof find_image_atoms>): ParsedStructure;
@@ -1,123 +0,0 @@
1
- import * as math from '../math';
2
- // Wrap a single fractional coordinate to [0, 1), clamping near-1 values to 0
3
- // and rounding to 15 digits to suppress floating-point noise.
4
- export const wrap_frac_coord = (coord) => {
5
- const wrapped = coord - Math.floor(coord);
6
- if (wrapped >= 1 - 1e-10)
7
- return 0;
8
- return Number(wrapped.toFixed(15));
9
- };
10
- // Wrap fractional coordinates to [0, 1) range for periodicity.
11
- export const wrap_to_unit_cell = (frac) => [
12
- wrap_frac_coord(frac[0]),
13
- wrap_frac_coord(frac[1]),
14
- wrap_frac_coord(frac[2]),
15
- ];
16
- export function find_image_atoms(structure, { tolerance } = {}) {
17
- // Find image atoms for PBC. Returns [atom_idx, image_xyz, image_abc] tuples.
18
- // Skips image generation for trajectory data with scattered atoms.
19
- if (!structure.lattice || !structure.sites || structure.sites.length === 0)
20
- return [];
21
- // Skip trajectory data (>10% atoms outside cell)
22
- const atoms_outside_cell = structure.sites.filter(({ abc }) => abc.some((coord) => coord < -0.1 || coord > 1.1));
23
- // Skip image generation for trajectory data (>10% atoms outside cell)
24
- if (atoms_outside_cell.length > structure.sites.length * 0.1) {
25
- return [];
26
- }
27
- // Check if this is a supercell to correctly identify external boundaries correctly
28
- const image_sites = [];
29
- const lattice_vecs = structure.lattice.matrix;
30
- // Scale zero-displacement threshold by lattice length scale to avoid hard-coded magic numbers
31
- const lattice_norm = Math.max(Math.hypot(...lattice_vecs[0]), Math.hypot(...lattice_vecs[1]), Math.hypot(...lattice_vecs[2]));
32
- // Threshold to filter out floating-point-identical (zero-displacement) images; rarely triggers but guards against edge cases
33
- const displacement_eps_sq = (1e-10 * lattice_norm) ** 2;
34
- // Tolerances determine which atoms are near cell boundaries and need image generation
35
- // Use provided tolerance or default to physical tolerance of 0.5 Angstroms converted to fractional
36
- // This prevents excessive image generation for large unit cells (e.g. MOFs) where 0.05 fractional is huge
37
- const PHYSICAL_TOLERANCE = 0.5; // Angstroms
38
- const tolerances = [0, 1, 2].map((dim) => {
39
- if (tolerance !== undefined)
40
- return tolerance;
41
- const vec_len = Math.hypot(...lattice_vecs[dim]);
42
- // zero-length lattice vector should not occur in valid structures,
43
- // but fall back to 0.05 fractional tolerance if it does
44
- return vec_len > 0 ? PHYSICAL_TOLERANCE / vec_len : 0.05;
45
- });
46
- for (const [idx, site] of structure.sites.entries()) {
47
- // Find edge dimensions and translation directions
48
- const edge_dims = [];
49
- // Find boundary dimensions
50
- for (let dim = 0; dim < 3; dim++) {
51
- const coord = site.abc[dim];
52
- const dim_tolerance = tolerances[dim];
53
- if (Math.abs(coord) < dim_tolerance)
54
- edge_dims.push({ dim, direction: 1 });
55
- if (Math.abs(coord - 1) < dim_tolerance)
56
- edge_dims.push({ dim, direction: -1 });
57
- }
58
- // Generate all translation combinations
59
- for (let mask = 1; mask < 1 << edge_dims.length; mask++) {
60
- // Track selected translation per dimension. If both +1 and -1 are selected for a dim,
61
- // the net shift is zero and we skip because it yields no image.
62
- const selected_shift = [0, 0, 0];
63
- for (let bit = 0; bit < edge_dims.length; bit++) {
64
- if (mask & (1 << bit)) {
65
- const { dim, direction } = edge_dims[bit];
66
- selected_shift[dim] += direction;
67
- }
68
- }
69
- // Early skip if no net shift across any dimension
70
- if (selected_shift.every((val) => val === 0))
71
- continue;
72
- // Build fractional coordinates by applying the integer translation
73
- // This ensures the image is a true periodic copy (preserving bond lengths)
74
- // rather than clamping it to the cell face.
75
- const img_abc = [
76
- site.abc[0] + selected_shift[0],
77
- site.abc[1] + selected_shift[1],
78
- site.abc[2] + selected_shift[2],
79
- ];
80
- // If no dimension actually shifted, continue
81
- if (img_abc[0] === site.abc[0] &&
82
- img_abc[1] === site.abc[1] &&
83
- img_abc[2] === site.abc[2])
84
- continue;
85
- // Compute xyz from img_abc to ensure consistency
86
- const img_xyz = math.add(math.scale(lattice_vecs[0], img_abc[0]), math.scale(lattice_vecs[1], img_abc[1]), math.scale(lattice_vecs[2], img_abc[2]));
87
- // Skip zero-displacement images (should not happen, guards against FP edge cases)
88
- const displacement = math.subtract(img_xyz, site.xyz);
89
- const displacement_len_sq = displacement.reduce((sum, val) => sum + val * val, 0);
90
- if (displacement_len_sq < displacement_eps_sq)
91
- continue;
92
- image_sites.push([idx, img_xyz, img_abc]);
93
- }
94
- }
95
- return image_sites;
96
- }
97
- // Return structure with image atoms added
98
- export function get_pbc_image_sites(...args) {
99
- const structure = args[0];
100
- if (!structure || !structure.sites || structure.sites.length === 0) {
101
- return structure;
102
- }
103
- // Check for trajectory data
104
- const atoms_outside_cell = structure.sites.filter((site) => site.abc.some((coord) => coord < -0.1 || coord > 1.1));
105
- // Return trajectory data unchanged
106
- if (atoms_outside_cell.length > structure.sites.length * 0.1) {
107
- return structure;
108
- }
109
- // Add image atoms to regular crystal structures
110
- const image_sites = find_image_atoms(...args);
111
- const imaged_struct = { ...structure, sites: [...structure.sites] };
112
- // Add image atoms as new sites using provided (xyz, abc) from find_image_atoms
113
- for (const [site_idx, img_xyz, img_abc] of image_sites) {
114
- const orig_site = structure.sites[site_idx];
115
- imaged_struct.sites.push({
116
- ...orig_site,
117
- abc: img_abc,
118
- xyz: img_xyz,
119
- properties: { ...orig_site.properties, orig_site_idx: site_idx },
120
- });
121
- }
122
- return imaged_struct;
123
- }
@@ -1,8 +0,0 @@
1
- import type { Vec3 } from '../math';
2
- import { scale_lattice_matrix } from '../math';
3
- import type { Crystal } from './index';
4
- export declare function parse_supercell_scaling(scaling: string | number | Vec3): Vec3;
5
- export declare function generate_lattice_points(scaling_factors: Vec3): Vec3[];
6
- export { scale_lattice_matrix };
7
- export declare function make_supercell(structure: Crystal, scaling: string | number | Vec3, to_unit_cell?: boolean): Crystal;
8
- export declare function is_valid_supercell_input(input: string): boolean;
@@ -1,137 +0,0 @@
1
- import * as math from '../math';
2
- import { scale_lattice_matrix } from '../math';
3
- import { wrap_frac_coord } from './pbc';
4
- // Parse supercell scaling input from various formats. Can be "2x2x2", "2", [2,2,2], or a single number.
5
- // Returns [x, y, z] scaling factors.
6
- export function parse_supercell_scaling(scaling) {
7
- if (typeof scaling === `number`) {
8
- if (scaling <= 0 || !Number.isInteger(scaling)) {
9
- throw new Error(`Supercell scaling must be a positive integer, got: ${scaling}`);
10
- }
11
- return [scaling, scaling, scaling];
12
- }
13
- if (Array.isArray(scaling) && scaling.length === 3) {
14
- if (scaling.some((val) => !Number.isInteger(val) || val <= 0)) {
15
- throw new Error(`All supercell scaling factors must be positive integers: ${scaling}`);
16
- }
17
- return scaling;
18
- }
19
- if (typeof scaling === `string`) {
20
- // Parse "2x2x2" format
21
- const parts = scaling
22
- .trim()
23
- .toLowerCase()
24
- .split(/[x×,\s]+/)
25
- .filter((part) => part.length > 0);
26
- if (parts.length === 1 || parts.length === 3) {
27
- // Check that all parts are strictly digits to avoid scientific notation/hex/etc per tests
28
- if (parts.every((part) => /^\d+$/.test(part))) {
29
- const values = parts.map(Number);
30
- if (values.every((val) => val > 0)) {
31
- return (parts.length === 1 ? [values[0], values[0], values[0]] : values);
32
- }
33
- }
34
- }
35
- }
36
- throw new Error(`Invalid supercell scaling: ${scaling}`);
37
- }
38
- // Generate all lattice points for a supercell. Takes [scale_x, scale_y, scale_z] scaling factors
39
- // and returns array of fractional coordinates for lattice points
40
- export function generate_lattice_points(scaling_factors) {
41
- const [scale_x, scale_y, scale_z] = scaling_factors;
42
- const count = scale_x * scale_y * scale_z;
43
- const points = new Array(count);
44
- let write_idx = 0;
45
- // Generate in x, y, z order to match expected test results
46
- for (let kk = 0; kk < scale_z; kk++) {
47
- for (let jj = 0; jj < scale_y; jj++) {
48
- for (let ii = 0; ii < scale_x; ii++) {
49
- points[write_idx++] = [ii, jj, kk];
50
- }
51
- }
52
- }
53
- return points;
54
- }
55
- // Re-export from $lib/math for backward compatibility
56
- export { scale_lattice_matrix };
57
- // Create a supercell from a Crystal
58
- // Takes original structure, scaling factors, and whether to fold coordinates back to unit cell (default: true)
59
- // Returns new supercell structure
60
- export function make_supercell(structure, scaling, to_unit_cell = true) {
61
- if (!structure.lattice) {
62
- throw new Error(`Cannot create supercell: structure has no lattice`);
63
- }
64
- const supercell_scaling = parse_supercell_scaling(scaling);
65
- const [scale_x, scale_y, scale_z] = supercell_scaling;
66
- const total_cells = scale_x * scale_y * scale_z;
67
- // Short circuit for 1x1x1 (no actual supercell needed)
68
- if (scale_x === 1 && scale_y === 1 && scale_z === 1) {
69
- return { ...structure, supercell_scaling };
70
- }
71
- const orig_matrix = structure.lattice.matrix;
72
- // Create new scaled lattice
73
- const new_lattice_matrix = scale_lattice_matrix(orig_matrix, supercell_scaling);
74
- const lattice_params = math.calc_lattice_params(new_lattice_matrix);
75
- const new_lattice = {
76
- ...structure.lattice,
77
- matrix: new_lattice_matrix,
78
- ...lattice_params,
79
- };
80
- // Pre-allocate sites array
81
- const n_sites = structure.sites.length;
82
- const new_sites = new Array(n_sites * total_cells);
83
- // Destructure lattice vectors for fast inline arithmetic (avoid function calls in hot loop)
84
- const [[ax, ay, az], [bx, by, bz], [cx, cy, cz]] = orig_matrix;
85
- const [sx, sy, sz] = supercell_scaling;
86
- let write_idx = 0;
87
- const sites = structure.sites;
88
- // Loop order: k, j, i to match typical pymatgen/standard ordering
89
- for (let kk = 0; kk < scale_z; kk++) {
90
- for (let jj = 0; jj < scale_y; jj++) {
91
- for (let ii = 0; ii < scale_x; ii++) {
92
- const label_suffix = total_cells > 1 ? `_${ii}${jj}${kk}` : ``;
93
- // Translation = ii * vec_a + jj * vec_b + kk * vec_c (inlined for performance)
94
- const tx = ii * ax + jj * bx + kk * cx;
95
- const ty = ii * ay + jj * by + kk * cy;
96
- const tz = ii * az + jj * bz + kk * cz;
97
- for (let site_idx = 0; site_idx < n_sites; site_idx++) {
98
- const site = sites[site_idx];
99
- // new_abc = (old_abc + [ii, jj, kk]) / supercell_scaling
100
- let new_a = (site.abc[0] + ii) / sx;
101
- let new_b = (site.abc[1] + jj) / sy;
102
- let new_c = (site.abc[2] + kk) / sz;
103
- if (to_unit_cell) {
104
- new_a = wrap_frac_coord(new_a);
105
- new_b = wrap_frac_coord(new_b);
106
- new_c = wrap_frac_coord(new_c);
107
- }
108
- new_sites[write_idx++] = {
109
- species: site.species,
110
- xyz: [site.xyz[0] + tx, site.xyz[1] + ty, site.xyz[2] + tz],
111
- abc: [new_a, new_b, new_c],
112
- label: label_suffix ? `${site.label}${label_suffix}` : site.label,
113
- properties: { ...site.properties, orig_unit_cell_idx: site_idx },
114
- };
115
- }
116
- }
117
- }
118
- }
119
- return {
120
- ...structure,
121
- lattice: new_lattice,
122
- sites: new_sites,
123
- charge: structure.charge ? structure.charge * total_cells : structure.charge,
124
- supercell_scaling,
125
- };
126
- }
127
- // Validate supercell input string
128
- // Takes user input string and returns true if valid, false otherwise
129
- export function is_valid_supercell_input(input) {
130
- try {
131
- parse_supercell_scaling(input);
132
- return true;
133
- }
134
- catch {
135
- return false;
136
- }
137
- }
@@ -1,2 +0,0 @@
1
- import type { Crystal } from './index';
2
- export declare function is_crystal(obj: unknown): obj is Crystal;
@@ -1,10 +0,0 @@
1
- export function is_crystal(obj) {
2
- if (obj === null || typeof obj !== `object`)
3
- return false;
4
- const structure_obj = obj;
5
- const sites = structure_obj.sites;
6
- const lattice = structure_obj.lattice;
7
- const has_sites = Array.isArray(sites) && sites.length > 0;
8
- const has_lattice = lattice !== undefined && lattice !== null && typeof lattice === `object`;
9
- return has_sites && has_lattice;
10
- }
@@ -1,226 +0,0 @@
1
- <script lang="ts">
2
- import type { MoyoDataset } from '@spglib/moyo-wasm'
3
- import type { Snippet } from 'svelte'
4
- import { tooltip } from 'svelte-multiselect'
5
- import type { HTMLAttributes } from 'svelte/elements'
6
- import { SETTINGS_CONFIG } from '../settings'
7
- import type { SymmetrySettings } from './index'
8
- import { default_sym_settings, wyckoff_positions_from_moyo } from './index'
9
- import * as spg from './spacegroups'
10
-
11
- type SymmetrySnippet = Snippet<
12
- [{ sym_data?: MoyoDataset | null; settings: SymmetrySettings }]
13
- >
14
-
15
- let {
16
- sym_data,
17
- settings = $bindable(default_sym_settings),
18
- show_tooltips = true,
19
- children,
20
- label = `Symmetry`,
21
- header,
22
- ...rest
23
- }: HTMLAttributes<HTMLDivElement> & {
24
- sym_data?: MoyoDataset | null
25
- settings?: SymmetrySettings
26
- show_tooltips?: boolean
27
- children?: SymmetrySnippet
28
- label?: SymmetrySnippet | string
29
- header?: SymmetrySnippet
30
- } = $props()
31
-
32
- const wyckoff_count = $derived(
33
- sym_data ? wyckoff_positions_from_moyo(sym_data).length : 0,
34
- )
35
- const display_hm_symbol = $derived(sym_data?.hm_symbol?.replace(/\s+/g, ``) ?? `?`)
36
-
37
- const sym_ops_counts = $derived.by(() => {
38
- const EPS = 1e-10
39
- if (!sym_data?.operations) {
40
- return { translations: 0, rotations: 0, roto_translations: 0 }
41
- }
42
-
43
- return sym_data.operations.reduce(
44
- (acc, op) => {
45
- const has_translation = op.translation.some((coord) => Math.abs(coord) > EPS)
46
- const is_identity = String(op.rotation) === `1,0,0,0,1,0,0,0,1`
47
-
48
- if (is_identity && has_translation) acc.translations++
49
- else if (!has_translation) acc.rotations++
50
- else acc.roto_translations++
51
-
52
- return acc
53
- },
54
- { translations: 0, rotations: 0, roto_translations: 0 },
55
- )
56
- })
57
-
58
- const titles = {
59
- symprec:
60
- `Symmetry precision control in spglib/moyo. Lower values (e.g. 1e-4, the default) are more strict, higher values (e.g. 1e-1) are more tolerant of numerical errors in atomic positions.`,
61
- algo:
62
- `Symmetry detection algorithm: Moyo uses moyo's newer recommended settings, Spglib is useful if you need compatible results to an existing set of spglib-detected symmetries.`,
63
- space_group:
64
- `International Tables Space group number (1-230) - unique identifier for each space group. Higher numbers indicate more symmetries in the crystal.`,
65
- crystal_system:
66
- `Crystal system classification based on the unit cell symmetry. Seven systems: triclinic, monoclinic, orthorhombic, tetragonal, trigonal, hexagonal, and cubic.`,
67
- hermann_mauguin:
68
- `Hermann-Mauguin symbol describes symmetry operations. Format: Lattice type + Point group symmetry. Example: P4/mmm = Primitive + 4-fold rotation + mirror planes`,
69
- hall_number:
70
- `Hall number: alternative numbering system for space groups. Useful for crystallographic software compatibility.`,
71
- pearson_symbol:
72
- `Pearson symbol. Format: Crystal system + Number of atoms per unit cell. Example: tP2 = tetragonal primitive with 2 atoms`,
73
- symmetry_operations:
74
- `Total symmetry operations that map the crystal structure onto itself. Includes rotations, translations, and combinations.`,
75
- distinct_orbits:
76
- `Number of unique Wyckoff positions (symmetry-equivalent atomic sites) in the crystal structure.`,
77
- translations: `Number of translations in the crystal structure.`,
78
- rotations: `Number of rotations in the crystal structure.`,
79
- roto_translations: `Number of roto-translations in the crystal structure.`,
80
- }
81
- const tooltips: Record<string, string> = $derived(show_tooltips ? titles : {})
82
-
83
- function get_step_from_order_of_magnitude(value: number): number {
84
- if (!Number.isFinite(value) || value <= 0) return 1e-5
85
- const exponent = Math.floor(Math.log10(value))
86
- return Math.pow(10, exponent)
87
- }
88
-
89
- const symprec_step = $derived(get_step_from_order_of_magnitude(settings.symprec))
90
- </script>
91
-
92
- <div {...rest} class="symmetry-stats {rest.class ?? ``}">
93
- {#if sym_data}
94
- {@render header?.({ sym_data, settings })}
95
- {/if}
96
-
97
- <!-- Always show controls so users can adjust settings even after errors -->
98
- <div class="controls">
99
- {#if typeof label === `string`}
100
- <strong>{label}</strong>
101
- {:else if label}
102
- {@render label?.({ sym_data, settings })}
103
- {/if}
104
-
105
- <label>
106
- <span {@attach tooltip()} title={tooltips?.symprec}>Precision</span>
107
- <input
108
- type="number"
109
- step={symprec_step}
110
- value={settings.symprec}
111
- oninput={(evt) => {
112
- const { value } = evt.currentTarget
113
- if (value === ``) return
114
- const parsed = Number(value)
115
- if (Number.isFinite(parsed)) {
116
- settings = { ...settings, symprec: parsed }
117
- }
118
- }}
119
- onkeydown={(evt) => {
120
- if (evt.key === `Escape`) {
121
- evt.currentTarget.blur()
122
- }
123
- }}
124
- />
125
- </label>
126
- <label>
127
- <span {@attach tooltip()} title={tooltips?.algo}>Algorithm</span>
128
-
129
- <select
130
- value={settings.algo}
131
- onchange={(evt) =>
132
- settings = {
133
- ...settings,
134
- algo: evt.currentTarget.value as `Moyo` | `Spglib`,
135
- }}
136
- >
137
- {#each Object.keys(SETTINGS_CONFIG.symmetry.algo.enum ?? {}) as value (value)}
138
- <option {value}>{value}</option>
139
- {/each}
140
- </select>
141
- </label>
142
- </div>
143
-
144
- {@render children?.({ sym_data, settings })}
145
- {#if sym_data}
146
- <div class="stats-grid">
147
- <div
148
- title="{tooltips?.space_group} at {settings.symprec} (using {settings.algo} algo). {tooltips?.hermann_mauguin}"
149
- {@attach tooltip()}
150
- >
151
- Space Group <strong>{sym_data.number} ({display_hm_symbol})</strong>
152
- </div>
153
- <div title={tooltips?.crystal_system} {@attach tooltip()}>
154
- Crystal System <strong>{spg.spacegroup_to_crystal_sys(sym_data.number)}</strong>
155
- </div>
156
- <div title={tooltips?.hall_number} {@attach tooltip()}>
157
- Hall Number <strong>{sym_data.hall_number}</strong>
158
- </div>
159
- <div title={tooltips?.pearson_symbol} {@attach tooltip()}>
160
- Pearson <strong>{sym_data.pearson_symbol}</strong>
161
- </div>
162
- <div title={tooltips?.distinct_orbits} {@attach tooltip()}>
163
- Wyckoff Positions <strong>{wyckoff_count}</strong>
164
- </div>
165
- <div
166
- class="sym-ops-summary"
167
- title="{sym_ops_counts.translations} translations + {sym_ops_counts.rotations} rotations + {sym_ops_counts.roto_translations} roto-translations"
168
- {@attach tooltip()}
169
- >
170
- Total sym ops: <strong>{sym_data.operations.length}</strong>
171
- ({sym_ops_counts.translations}T + {sym_ops_counts.rotations}R + {
172
- sym_ops_counts.roto_translations
173
- }RT)
174
- </div>
175
- </div>
176
- {:else}
177
- <div class="no-data">
178
- <p>No symmetry data available</p>
179
- </div>
180
- {/if}
181
- </div>
182
-
183
- <style>
184
- .controls {
185
- display: flex;
186
- gap: var(--sym-stats-controls-gap, 1em);
187
- background: var(--sym-stats-controls-bg, var(--surface-bg));
188
- padding: var(--sym-stats-controls-padding, 4pt 6pt);
189
- border-radius: var(--sym-stats-controls-border-radius, 4pt);
190
- margin-inline: var(--sym-stats-controls-margin-inline, -6pt);
191
- }
192
- .controls label {
193
- display: flex;
194
- gap: var(--sym-stats-label-gap, 6pt);
195
- place-items: center;
196
- }
197
- .controls label input {
198
- padding: var(--sym-stats-input-padding, 2pt 5pt);
199
- width: var(--sym-stats-input-width, 5.5em);
200
- box-sizing: border-box;
201
- }
202
- .stats-grid {
203
- display: var(--sym-stats-display, grid);
204
- grid-template-columns:
205
- var(--sym-stats-grid-columns, repeat(auto-fit, minmax(275px, 1fr)));
206
- gap: var(--sym-stats-grid-gap, 1ex 1em);
207
- margin-block: var(--sym-stats-grid-margin-block, 1ex);
208
- align-items: var(--sym-stats-grid-align, start);
209
- }
210
- .stats-grid strong {
211
- margin: var(--sym-stats-strong-margin, 0 0 0 3pt);
212
- }
213
- .no-data {
214
- display: flex;
215
- align-items: center;
216
- justify-content: center;
217
- min-height: var(--sym-stats-no-data-min-height, 100px);
218
- padding: var(--sym-stats-no-data-padding, 2em);
219
- background: var(--sym-stats-no-data-bg, var(--surface-bg, #f5f5f5));
220
- border-radius: var(--sym-stats-no-data-border-radius, 4pt);
221
- color: var(--sym-stats-no-data-color, var(--text-muted, #666));
222
- }
223
- .no-data p {
224
- margin: 0;
225
- }
226
- </style>
@@ -1,21 +0,0 @@
1
- import type { MoyoDataset } from '@spglib/moyo-wasm';
2
- import type { Snippet } from 'svelte';
3
- import type { HTMLAttributes } from 'svelte/elements';
4
- import type { SymmetrySettings } from './index';
5
- type SymmetrySnippet = Snippet<[
6
- {
7
- sym_data?: MoyoDataset | null;
8
- settings: SymmetrySettings;
9
- }
10
- ]>;
11
- type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
12
- sym_data?: MoyoDataset | null;
13
- settings?: SymmetrySettings;
14
- show_tooltips?: boolean;
15
- children?: SymmetrySnippet;
16
- label?: SymmetrySnippet | string;
17
- header?: SymmetrySnippet;
18
- };
19
- declare const SymmetryStats: import("svelte").Component<$$ComponentProps, {}, "settings">;
20
- type SymmetryStats = ReturnType<typeof SymmetryStats>;
21
- export default SymmetryStats;