matterviz 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/dist/EmptyState.svelte +10 -4
  2. package/dist/FilePicker.svelte +12 -14
  3. package/dist/Icon.svelte +7 -4
  4. package/dist/MillerIndexInput.svelte +2 -2
  5. package/dist/app.css +53 -0
  6. package/dist/brillouin/BrillouinZone.svelte +75 -85
  7. package/dist/brillouin/BrillouinZone.svelte.d.ts +5 -7
  8. package/dist/brillouin/BrillouinZoneControls.svelte +3 -6
  9. package/dist/brillouin/BrillouinZoneExportPane.svelte +18 -14
  10. package/dist/brillouin/BrillouinZoneInfoPane.svelte +6 -10
  11. package/dist/brillouin/BrillouinZoneScene.svelte +26 -39
  12. package/dist/brillouin/BrillouinZoneScene.svelte.d.ts +1 -1
  13. package/dist/chempot-diagram/ChemPotDiagram.svelte +33 -38
  14. package/dist/chempot-diagram/ChemPotDiagram2D.svelte +62 -74
  15. package/dist/chempot-diagram/ChemPotDiagram2D.svelte.d.ts +1 -1
  16. package/dist/chempot-diagram/ChemPotDiagram3D.svelte +511 -547
  17. package/dist/chempot-diagram/ChemPotDiagram3D.svelte.d.ts +1 -1
  18. package/dist/chempot-diagram/async-compute.svelte.js +1 -1
  19. package/dist/chempot-diagram/controls-state.svelte.js +1 -1
  20. package/dist/colors/index.d.ts +0 -4
  21. package/dist/colors/index.js +19 -20
  22. package/dist/composition/BarChart.svelte +37 -31
  23. package/dist/composition/BubbleChart.svelte +17 -17
  24. package/dist/composition/Composition.svelte +7 -11
  25. package/dist/composition/Formula.svelte +18 -25
  26. package/dist/composition/FormulaFilter.svelte +92 -95
  27. package/dist/composition/PieChart.svelte +55 -41
  28. package/dist/composition/format.js +1 -1
  29. package/dist/composition/index.d.ts +2 -0
  30. package/dist/composition/index.js +14 -0
  31. package/dist/composition/parse.d.ts +2 -2
  32. package/dist/composition/parse.js +11 -10
  33. package/dist/constants.js +11 -9
  34. package/dist/convex-hull/ConvexHull.svelte +12 -15
  35. package/dist/convex-hull/ConvexHull.svelte.d.ts +1 -1
  36. package/dist/convex-hull/ConvexHull2D.svelte +93 -92
  37. package/dist/convex-hull/ConvexHull2D.svelte.d.ts +1 -1
  38. package/dist/convex-hull/ConvexHull3D.svelte +109 -140
  39. package/dist/convex-hull/ConvexHull3D.svelte.d.ts +1 -1
  40. package/dist/convex-hull/ConvexHull4D.svelte +75 -94
  41. package/dist/convex-hull/ConvexHull4D.svelte.d.ts +1 -1
  42. package/dist/convex-hull/ConvexHullChrome.svelte +36 -40
  43. package/dist/convex-hull/ConvexHullControls.svelte +46 -48
  44. package/dist/convex-hull/ConvexHullStats.svelte +193 -195
  45. package/dist/convex-hull/ConvexHullTooltip.svelte +5 -12
  46. package/dist/convex-hull/GasPressureControls.svelte +5 -12
  47. package/dist/convex-hull/StructurePopup.svelte +17 -21
  48. package/dist/convex-hull/StructurePopup.svelte.d.ts +2 -0
  49. package/dist/convex-hull/TemperatureSlider.svelte +4 -10
  50. package/dist/convex-hull/canvas-interactions.svelte.js +2 -1
  51. package/dist/convex-hull/helpers.d.ts +8 -10
  52. package/dist/convex-hull/helpers.js +36 -36
  53. package/dist/convex-hull/hull-state.svelte.d.ts +1 -1
  54. package/dist/convex-hull/thermodynamics.js +18 -17
  55. package/dist/coordination/CoordinationBarPlot.svelte +38 -33
  56. package/dist/coordination/CoordinationBarPlot.svelte.d.ts +1 -1
  57. package/dist/coordination/calc-coordination.d.ts +1 -1
  58. package/dist/coordination/calc-coordination.js +28 -25
  59. package/dist/element/BohrAtom.svelte +5 -8
  60. package/dist/element/ElementHeading.svelte +4 -1
  61. package/dist/element/ElementPhoto.svelte +11 -9
  62. package/dist/element/ElementStats.svelte +12 -10
  63. package/dist/element/ElementTile.svelte +24 -29
  64. package/dist/element/Nucleus.svelte +4 -2
  65. package/dist/element/data.d.ts +1 -2
  66. package/dist/element/helpers.d.ts +4 -0
  67. package/dist/element/helpers.js +18 -0
  68. package/dist/element/index.d.ts +1 -4
  69. package/dist/element/index.js +3 -18
  70. package/dist/feedback/DragOverlay.svelte +5 -5
  71. package/dist/feedback/DragOverlay.svelte.d.ts +2 -2
  72. package/dist/feedback/StatusMessage.svelte +7 -4
  73. package/dist/fermi-surface/FermiSlice.svelte +21 -18
  74. package/dist/fermi-surface/FermiSurface.svelte +14 -22
  75. package/dist/fermi-surface/FermiSurface.svelte.d.ts +5 -7
  76. package/dist/fermi-surface/FermiSurfaceControls.svelte +6 -20
  77. package/dist/fermi-surface/FermiSurfaceControls.svelte.d.ts +1 -1
  78. package/dist/fermi-surface/FermiSurfaceScene.svelte +37 -64
  79. package/dist/fermi-surface/FermiSurfaceScene.svelte.d.ts +1 -1
  80. package/dist/fermi-surface/FermiSurfaceTooltip.svelte +9 -6
  81. package/dist/fermi-surface/compute.js +3 -3
  82. package/dist/fermi-surface/parse.js +22 -24
  83. package/dist/heatmap-matrix/HeatmapMatrix.svelte +109 -148
  84. package/dist/heatmap-matrix/HeatmapMatrix.svelte.d.ts +2 -2
  85. package/dist/heatmap-matrix/HeatmapMatrixControls.svelte +9 -7
  86. package/dist/heatmap-matrix/HeatmapMatrixControls.svelte.d.ts +1 -1
  87. package/dist/heatmap-matrix/index.d.ts +5 -0
  88. package/dist/icons.d.ts +4 -0
  89. package/dist/icons.js +4 -0
  90. package/dist/io/ExportPane.svelte +10 -6
  91. package/dist/io/decompress.d.ts +2 -1
  92. package/dist/io/decompress.js +22 -35
  93. package/dist/io/export.d.ts +4 -0
  94. package/dist/io/export.js +5 -1
  95. package/dist/io/fetch.d.ts +0 -3
  96. package/dist/io/fetch.js +0 -11
  97. package/dist/io/index.d.ts +0 -1
  98. package/dist/io/index.js +2 -9
  99. package/dist/io/is-binary.d.ts +9 -0
  100. package/dist/io/is-binary.js +45 -1
  101. package/dist/io/url-drop.js +13 -25
  102. package/dist/isosurface/Isosurface.svelte +17 -23
  103. package/dist/isosurface/IsosurfaceControls.svelte +37 -42
  104. package/dist/isosurface/parse-vaspwave.d.ts +3 -0
  105. package/dist/isosurface/parse-vaspwave.js +138 -0
  106. package/dist/isosurface/parse.js +6 -6
  107. package/dist/labels.d.ts +6 -2
  108. package/dist/labels.js +43 -13
  109. package/dist/layout/FullscreenButton.svelte +2 -1
  110. package/dist/layout/FullscreenToggle.svelte +10 -4
  111. package/dist/layout/InfoCard.svelte +7 -18
  112. package/dist/layout/InfoTag.svelte +1 -3
  113. package/dist/layout/NumberRangeInput.svelte +46 -0
  114. package/dist/layout/NumberRangeInput.svelte.d.ts +12 -0
  115. package/dist/layout/PropertyFilter.svelte +2 -6
  116. package/dist/layout/SettingsSection.svelte +21 -17
  117. package/dist/layout/SubpageGrid.svelte +3 -1
  118. package/dist/layout/ViewerChrome.svelte +9 -10
  119. package/dist/layout/ViewerChrome.svelte.d.ts +2 -1
  120. package/dist/layout/fullscreen.js +3 -5
  121. package/dist/layout/fullscreen.svelte.js +1 -2
  122. package/dist/layout/index.d.ts +1 -0
  123. package/dist/layout/index.js +1 -0
  124. package/dist/layout/json-tree/JsonNode.svelte +8 -11
  125. package/dist/layout/json-tree/JsonTree.svelte +53 -77
  126. package/dist/layout/json-tree/JsonValue.svelte +7 -15
  127. package/dist/layout/json-tree/utils.js +14 -23
  128. package/dist/math.d.ts +2 -0
  129. package/dist/math.js +19 -0
  130. package/dist/overlays/ContextMenu.svelte +4 -2
  131. package/dist/overlays/CopyButton.svelte +11 -5
  132. package/dist/overlays/DragControlTab.svelte +6 -1
  133. package/dist/overlays/DraggablePane.svelte +81 -26
  134. package/dist/overlays/DraggablePane.svelte.d.ts +1 -0
  135. package/dist/overlays/GlassChip.svelte +30 -0
  136. package/dist/overlays/GlassChip.svelte.d.ts +8 -0
  137. package/dist/overlays/InfoPaneCards.svelte +11 -23
  138. package/dist/overlays/index.d.ts +7 -0
  139. package/dist/overlays/index.js +26 -0
  140. package/dist/overlays/portal.d.ts +2 -0
  141. package/dist/overlays/portal.js +14 -0
  142. package/dist/periodic-table/PeriodicTable.svelte +113 -145
  143. package/dist/periodic-table/PeriodicTable.svelte.d.ts +5 -3
  144. package/dist/periodic-table/PeriodicTableControls.svelte +11 -63
  145. package/dist/periodic-table/TableInset.svelte +9 -4
  146. package/dist/phase-diagram/IsobaricBinaryPhaseDiagram.svelte +50 -71
  147. package/dist/phase-diagram/IsobaricBinaryPhaseDiagram.svelte.d.ts +6 -8
  148. package/dist/phase-diagram/PhaseDiagramControls.svelte +70 -94
  149. package/dist/phase-diagram/PhaseDiagramControls.svelte.d.ts +1 -1
  150. package/dist/phase-diagram/PhaseDiagramEditorPane.svelte +2 -1
  151. package/dist/phase-diagram/PhaseDiagramExportPane.svelte +12 -12
  152. package/dist/phase-diagram/PhaseDiagramTooltip.svelte +54 -58
  153. package/dist/phase-diagram/TdbInfoPanel.svelte +21 -15
  154. package/dist/phase-diagram/build-diagram.js +3 -3
  155. package/dist/phase-diagram/diagram-input.d.ts +1 -2
  156. package/dist/phase-diagram/parse.js +15 -15
  157. package/dist/phase-diagram/svg-to-diagram.js +21 -15
  158. package/dist/phase-diagram/utils.js +2 -3
  159. package/dist/plot/bar/BarPlot.svelte +430 -391
  160. package/dist/plot/bar/BarPlot.svelte.d.ts +2 -0
  161. package/dist/plot/bar/BarPlotControls.svelte +1 -3
  162. package/dist/plot/bar/BarPlotControls.svelte.d.ts +4 -6
  163. package/dist/plot/bar/SpacegroupBarPlot.svelte +29 -36
  164. package/dist/plot/bar/data.d.ts +5 -4
  165. package/dist/plot/bar/data.js +2 -1
  166. package/dist/plot/box/BoxPlot.svelte +301 -209
  167. package/dist/plot/box/BoxPlot.svelte.d.ts +2 -0
  168. package/dist/plot/box/Violin.svelte.d.ts +1 -0
  169. package/dist/plot/box/box-plot.js +1 -1
  170. package/dist/plot/core/auto-place.js +1 -1
  171. package/dist/plot/core/axis-utils.d.ts +12 -7
  172. package/dist/plot/core/axis-utils.js +48 -48
  173. package/dist/plot/core/components/AxisLabel.svelte +82 -20
  174. package/dist/plot/core/components/AxisLabel.svelte.d.ts +1 -0
  175. package/dist/plot/core/components/ColorBar.svelte +101 -106
  176. package/dist/plot/core/components/ColorScaleSelect.svelte +1 -1
  177. package/dist/plot/core/components/FillArea.svelte +10 -17
  178. package/dist/plot/core/components/HierarchyControls.svelte +249 -0
  179. package/dist/plot/{sunburst/SunburstControls.svelte.d.ts → core/components/HierarchyControls.svelte.d.ts} +12 -8
  180. package/dist/plot/core/components/InteractiveAxisLabel.svelte +1 -1
  181. package/dist/plot/core/components/InteractiveAxisLabel.svelte.d.ts +1 -1
  182. package/dist/plot/core/components/Line.svelte +18 -9
  183. package/dist/plot/core/components/Line.svelte.d.ts +2 -0
  184. package/dist/plot/core/components/PlotAxis.svelte +40 -17
  185. package/dist/plot/core/components/PlotControls.svelte +65 -41
  186. package/dist/plot/core/components/PlotLegend.svelte +31 -35
  187. package/dist/plot/core/components/PlotMarginals.svelte +616 -0
  188. package/dist/plot/core/components/PlotMarginals.svelte.d.ts +15 -0
  189. package/dist/plot/core/components/PlotTooltip.svelte +1 -1
  190. package/dist/plot/core/components/PortalSelect.svelte +4 -8
  191. package/dist/plot/core/components/ReferenceLine.svelte +27 -24
  192. package/dist/plot/core/components/ReferenceLine3D.svelte +54 -57
  193. package/dist/plot/core/components/ReferencePlane.svelte +7 -8
  194. package/dist/plot/core/components/ZeroLines.svelte +4 -8
  195. package/dist/plot/core/components/ZoomRect.svelte +1 -2
  196. package/dist/plot/core/components/index.d.ts +1 -0
  197. package/dist/plot/core/components/index.js +1 -0
  198. package/dist/plot/core/data-cleaning-signal.d.ts +46 -0
  199. package/dist/plot/core/data-cleaning-signal.js +467 -0
  200. package/dist/plot/core/data-cleaning.d.ts +2 -42
  201. package/dist/plot/core/data-cleaning.js +27 -474
  202. package/dist/plot/core/data-transform.js +9 -5
  203. package/dist/plot/core/fill-utils.d.ts +3 -1
  204. package/dist/plot/core/fill-utils.js +28 -6
  205. package/dist/plot/core/index.d.ts +1 -0
  206. package/dist/plot/core/index.js +1 -0
  207. package/dist/plot/core/interactions.js +0 -2
  208. package/dist/plot/core/layout.d.ts +3 -1
  209. package/dist/plot/core/layout.js +22 -13
  210. package/dist/plot/core/marginals.d.ts +170 -0
  211. package/dist/plot/core/marginals.js +436 -0
  212. package/dist/plot/core/reference-line.js +1 -1
  213. package/dist/plot/core/scales.d.ts +23 -0
  214. package/dist/plot/core/scales.js +39 -13
  215. package/dist/plot/core/types/fills.d.ts +101 -0
  216. package/dist/plot/core/types/fills.js +15 -0
  217. package/dist/plot/core/types/plot-3d.d.ts +87 -0
  218. package/dist/plot/core/types/plot-3d.js +4 -0
  219. package/dist/plot/core/types/reference-lines.d.ts +140 -0
  220. package/dist/plot/core/types/reference-lines.js +9 -0
  221. package/dist/plot/core/types.d.ts +29 -324
  222. package/dist/plot/core/types.js +23 -20
  223. package/dist/plot/core/utils/hierarchy-chart.d.ts +51 -0
  224. package/dist/plot/core/utils/hierarchy-chart.js +179 -0
  225. package/dist/plot/core/utils/hierarchy-labels.d.ts +20 -0
  226. package/dist/plot/core/utils/hierarchy-labels.js +99 -0
  227. package/dist/plot/core/utils/label-placement.js +2 -2
  228. package/dist/plot/histogram/Histogram.svelte +304 -325
  229. package/dist/plot/histogram/Histogram.svelte.d.ts +7 -7
  230. package/dist/plot/histogram/HistogramControls.svelte +30 -28
  231. package/dist/plot/histogram/histogram.d.ts +31 -0
  232. package/dist/plot/histogram/histogram.js +70 -0
  233. package/dist/plot/histogram/index.d.ts +1 -0
  234. package/dist/plot/histogram/index.js +1 -0
  235. package/dist/plot/index.d.ts +1 -0
  236. package/dist/plot/index.js +1 -0
  237. package/dist/plot/sankey/Sankey.svelte +78 -69
  238. package/dist/plot/sankey/Sankey.svelte.d.ts +2 -2
  239. package/dist/plot/sankey/SankeyControls.svelte +22 -16
  240. package/dist/plot/scatter/BinnedScatterPlot.svelte +263 -109
  241. package/dist/plot/scatter/BinnedScatterPlot.svelte.d.ts +7 -0
  242. package/dist/plot/scatter/ElementScatter.svelte +4 -1
  243. package/dist/plot/scatter/ScatterPlot.svelte +477 -385
  244. package/dist/plot/scatter/ScatterPlot.svelte.d.ts +2 -0
  245. package/dist/plot/scatter/ScatterPlotControls.svelte +18 -19
  246. package/dist/plot/scatter/ScatterPlotControls.svelte.d.ts +1 -1
  247. package/dist/plot/scatter/ScatterPoint.svelte +16 -9
  248. package/dist/plot/scatter/binned-scatter-types.d.ts +3 -2
  249. package/dist/plot/scatter/binned-scatter-types.js +6 -1
  250. package/dist/plot/scatter/scatter-data.d.ts +1 -1
  251. package/dist/plot/scatter/scatter-data.js +8 -7
  252. package/dist/plot/scatter-3d/ScatterPlot3D.svelte +25 -34
  253. package/dist/plot/scatter-3d/ScatterPlot3D.svelte.d.ts +2 -2
  254. package/dist/plot/scatter-3d/ScatterPlot3DControls.svelte +8 -5
  255. package/dist/plot/scatter-3d/ScatterPlot3DScene.svelte +113 -116
  256. package/dist/plot/scatter-3d/ScatterPlot3DScene.svelte.d.ts +2 -2
  257. package/dist/plot/scatter-3d/Surface3D.svelte +4 -13
  258. package/dist/plot/sunburst/Sunburst.svelte +251 -329
  259. package/dist/plot/sunburst/Sunburst.svelte.d.ts +2 -2
  260. package/dist/plot/sunburst/index.d.ts +1 -1
  261. package/dist/plot/sunburst/index.js +2 -1
  262. package/dist/plot/sunburst/render.d.ts +2 -2
  263. package/dist/plot/sunburst/render.js +47 -22
  264. package/dist/plot/sunburst/sunburst.d.ts +5 -1
  265. package/dist/plot/sunburst/sunburst.js +10 -3
  266. package/dist/plot/treemap/Treemap.svelte +907 -0
  267. package/dist/plot/treemap/Treemap.svelte.d.ts +84 -0
  268. package/dist/plot/treemap/index.d.ts +3 -0
  269. package/dist/plot/treemap/index.js +4 -0
  270. package/dist/plot/treemap/treemap.d.ts +26 -0
  271. package/dist/plot/treemap/treemap.js +99 -0
  272. package/dist/rdf/RdfPlot.svelte +22 -26
  273. package/dist/rdf/RdfPlot.svelte.d.ts +1 -1
  274. package/dist/rdf/calc-rdf.js +4 -8
  275. package/dist/sanitize.js +1 -1
  276. package/dist/scene/bind-renderer.svelte.js +14 -6
  277. package/dist/settings.d.ts +19 -9
  278. package/dist/settings.js +77 -50
  279. package/dist/spectral/Bands.svelte +223 -230
  280. package/dist/spectral/BandsAndDos.svelte +11 -9
  281. package/dist/spectral/BrillouinBandsDos.svelte +19 -27
  282. package/dist/spectral/Dos.svelte +70 -73
  283. package/dist/spectral/helpers.d.ts +3 -3
  284. package/dist/spectral/helpers.js +25 -35
  285. package/dist/state.svelte.js +5 -18
  286. package/dist/structure/Arrow.svelte +5 -18
  287. package/dist/structure/ArrowInstances.svelte +160 -0
  288. package/dist/structure/ArrowInstances.svelte.d.ts +16 -0
  289. package/dist/structure/AtomLegend.svelte +115 -75
  290. package/dist/structure/AtomLegend.svelte.d.ts +1 -1
  291. package/dist/structure/Bond.svelte +31 -23
  292. package/dist/structure/CanvasTooltip.svelte +15 -3
  293. package/dist/structure/CellSelect.svelte +11 -26
  294. package/dist/structure/Cylinder.svelte +24 -40
  295. package/dist/structure/InstancedAtoms.svelte +114 -0
  296. package/dist/structure/InstancedAtoms.svelte.d.ts +15 -0
  297. package/dist/structure/Lattice.svelte +85 -149
  298. package/dist/structure/SiteLabels.svelte +122 -0
  299. package/dist/structure/SiteLabels.svelte.d.ts +18 -0
  300. package/dist/structure/Structure.svelte +473 -419
  301. package/dist/structure/Structure.svelte.d.ts +4 -2
  302. package/dist/structure/StructureCarousel.svelte +630 -0
  303. package/dist/structure/StructureCarousel.svelte.d.ts +19 -0
  304. package/dist/structure/StructureControls.svelte +157 -399
  305. package/dist/structure/StructureControls.svelte.d.ts +1 -1
  306. package/dist/structure/StructureExportPane.svelte +17 -21
  307. package/dist/structure/StructureInfoPane.svelte +72 -66
  308. package/dist/structure/StructureInfoPane.svelte.d.ts +1 -1
  309. package/dist/structure/StructureScene.svelte +467 -476
  310. package/dist/structure/StructureScene.svelte.d.ts +3 -1
  311. package/dist/structure/StructureViewport.svelte +386 -0
  312. package/dist/structure/StructureViewport.svelte.d.ts +63 -0
  313. package/dist/structure/atom-label-placement.d.ts +16 -12
  314. package/dist/structure/atom-label-placement.js +70 -37
  315. package/dist/structure/atom-properties.d.ts +2 -0
  316. package/dist/structure/atom-properties.js +104 -38
  317. package/dist/structure/bonding.d.ts +10 -3
  318. package/dist/structure/bonding.js +84 -28
  319. package/dist/structure/edit-history.d.ts +6 -0
  320. package/dist/structure/edit-history.js +27 -0
  321. package/dist/structure/export.d.ts +1 -0
  322. package/dist/structure/export.js +39 -31
  323. package/dist/structure/format-detect.d.ts +1 -0
  324. package/dist/structure/format-detect.js +22 -0
  325. package/dist/structure/geometry.d.ts +9 -0
  326. package/dist/structure/geometry.js +27 -0
  327. package/dist/structure/index.d.ts +16 -1
  328. package/dist/structure/index.js +13 -2
  329. package/dist/structure/measure.d.ts +1 -1
  330. package/dist/structure/measure.js +6 -12
  331. package/dist/structure/parse.d.ts +2 -1
  332. package/dist/structure/parse.js +243 -222
  333. package/dist/structure/partial-occupancy.js +4 -2
  334. package/dist/structure/pbc.js +78 -98
  335. package/dist/structure/polyhedra.d.ts +0 -1
  336. package/dist/structure/polyhedra.js +3 -18
  337. package/dist/structure/supercell.d.ts +1 -2
  338. package/dist/structure/supercell.js +7 -13
  339. package/dist/symmetry/SymmetryElements.svelte +11 -15
  340. package/dist/symmetry/SymmetryStats.svelte +56 -68
  341. package/dist/symmetry/WyckoffTable.svelte +5 -24
  342. package/dist/symmetry/cell-transform.js +1 -0
  343. package/dist/symmetry/index.d.ts +1 -0
  344. package/dist/symmetry/index.js +8 -2
  345. package/dist/symmetry/spacegroups.js +3 -2
  346. package/dist/table/HeatmapTable.svelte +1102 -365
  347. package/dist/table/HeatmapTable.svelte.d.ts +12 -2
  348. package/dist/table/ToggleMenu.svelte +5 -12
  349. package/dist/table/index.d.ts +21 -6
  350. package/dist/table/index.js +34 -21
  351. package/dist/theme/ThemeControl.svelte +16 -8
  352. package/dist/theme/index.d.ts +1 -5
  353. package/dist/theme/index.js +4 -10
  354. package/dist/theme/themes.mjs +14 -7
  355. package/dist/tooltip/KCoords.svelte +4 -1
  356. package/dist/tooltip/TooltipContent.svelte +2 -5
  357. package/dist/trajectory/Trajectory.svelte +515 -308
  358. package/dist/trajectory/Trajectory.svelte.d.ts +1 -1
  359. package/dist/trajectory/TrajectoryError.svelte +11 -8
  360. package/dist/trajectory/TrajectoryExportPane.svelte +14 -31
  361. package/dist/trajectory/TrajectoryInfoPane.svelte +85 -97
  362. package/dist/trajectory/extract.js +56 -34
  363. package/dist/trajectory/format-detect.js +11 -9
  364. package/dist/trajectory/frame-reader.d.ts +2 -0
  365. package/dist/trajectory/frame-reader.js +33 -29
  366. package/dist/trajectory/helpers.d.ts +2 -0
  367. package/dist/trajectory/helpers.js +18 -7
  368. package/dist/trajectory/index.d.ts +1 -0
  369. package/dist/trajectory/index.js +3 -0
  370. package/dist/trajectory/parse/h5-utils.d.ts +13 -0
  371. package/dist/trajectory/parse/h5-utils.js +109 -0
  372. package/dist/trajectory/parse/hdf5.d.ts +1 -1
  373. package/dist/trajectory/parse/hdf5.js +116 -106
  374. package/dist/trajectory/parse/index.d.ts +2 -3
  375. package/dist/trajectory/parse/index.js +17 -20
  376. package/dist/trajectory/parse/lammps.js +8 -12
  377. package/dist/trajectory/parse/vasp.js +10 -7
  378. package/dist/trajectory/parse/vaspout-electronic.d.ts +13 -0
  379. package/dist/trajectory/parse/vaspout-electronic.js +207 -0
  380. package/dist/trajectory/parse/vaspout-h5.d.ts +5 -0
  381. package/dist/trajectory/parse/vaspout-h5.js +284 -0
  382. package/dist/trajectory/parse/xyz.js +11 -7
  383. package/dist/trajectory/plotting.d.ts +8 -9
  384. package/dist/trajectory/plotting.js +99 -27
  385. package/dist/utils.d.ts +3 -0
  386. package/dist/utils.js +7 -0
  387. package/dist/xrd/XrdPlot.svelte +47 -61
  388. package/dist/xrd/broadening.js +2 -1
  389. package/dist/xrd/calc-xrd.js +2 -4
  390. package/dist/xrd/parse.d.ts +0 -1
  391. package/dist/xrd/parse.js +56 -73
  392. package/package.json +61 -33
  393. package/dist/api/mp.d.ts +0 -6
  394. package/dist/api/mp.js +0 -22
  395. package/dist/plot/sunburst/SunburstControls.svelte +0 -200
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matterviz",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "Interactive visualizations for materials science: periodic tables, 3D structures, MD trajectories, heatmaps, scatter plots.",
5
5
  "keywords": [
6
6
  "chemistry",
@@ -177,8 +177,7 @@
177
177
  },
178
178
  "scripts": {
179
179
  "test": "vp test --run && playwright test",
180
- "knip": "knip --include dependencies,devDependencies",
181
- "knip:exports": "knip --include exports,types,nsExports",
180
+ "knip": "knip --include dependencies,exports,types,nsExports",
182
181
  "publint": "publint",
183
182
  "package-dist-assets": "node scripts/package-dist-assets.ts",
184
183
  "package:dist": "svelte-package && pnpm run package-dist-assets",
@@ -186,8 +185,8 @@
186
185
  "prepublishOnly": "pnpm run package:dist"
187
186
  },
188
187
  "dependencies": {
189
- "@spglib/moyo-wasm": "^0.12.0",
190
- "@sveltejs/kit": "2.65.1",
188
+ "@spglib/moyo-wasm": "^0.14.0",
189
+ "@sveltejs/kit": "2.69.2",
191
190
  "@threlte/core": "^8.5.16",
192
191
  "@threlte/extras": "^9.21.0",
193
192
  "d3-array": "^3.2.4",
@@ -203,16 +202,16 @@
203
202
  "dompurify": "3.4.7",
204
203
  "fflate": "^0.8.3",
205
204
  "h5wasm": "^0.10.3",
206
- "js-yaml": "^4.2.0",
207
- "svelte-multiselect": "^11.7.2",
208
- "three": "^0.184.0"
205
+ "js-yaml": "^5.2.1",
206
+ "svelte-multiselect": "^11.8.0",
207
+ "three": "^0.185.1"
209
208
  },
210
209
  "devDependencies": {
211
210
  "@janosh/vite-config": "github:janosh/dotfiles",
212
- "@playwright/test": "^1.60.0",
211
+ "@playwright/test": "^1.61.1",
213
212
  "@sveltejs/adapter-static": "3.0.10",
214
213
  "@sveltejs/package": "^2.5.8",
215
- "@sveltejs/vite-plugin-svelte": "^7.1.2",
214
+ "@sveltejs/vite-plugin-svelte": "^7.2.0",
216
215
  "@types/d3-array": "^3.2.2",
217
216
  "@types/d3-color": "^3.1.3",
218
217
  "@types/d3-format": "^3.0.4",
@@ -223,24 +222,21 @@
223
222
  "@types/d3-scale-chromatic": "^3.1.0",
224
223
  "@types/d3-shape": "^3.1.8",
225
224
  "@types/d3-time-format": "^4.0.3",
226
- "@types/js-yaml": "^4.0.9",
227
- "@types/node": "^25.9.3",
228
- "@types/three": "^0.184.1",
229
- "@typescript/native-preview": "7.0.0-dev.20260614.1",
230
- "@vitest/coverage-v8": "4.1.8",
225
+ "@types/three": "^0.185.1",
226
+ "@vitest/coverage-v8": "4.1.10",
231
227
  "@wooorm/starry-night": "^3.10.0",
232
- "happy-dom": "^20.10.3",
233
- "knip": "^6.16.1",
228
+ "happy-dom": "^20.10.6",
229
+ "knip": "^6.25.0",
234
230
  "mdsvex": "^0.12.7",
235
231
  "publint": "^0.3.21",
236
232
  "rehype-katex": "^7.0.1",
237
233
  "remark-math": "3.0.1",
238
- "svelte": "^5.56.3",
239
- "svelte-check-rs": "0.10.1",
240
- "typescript": "6.0.3",
241
- "vite": "^8.0.16",
242
- "vite-plus": "latest",
243
- "vitest": "4.1.8"
234
+ "svelte": "^5.56.4",
235
+ "svelte-check": "^4.7.2",
236
+ "typescript": "^6.0.3",
237
+ "vite": "^8.1.4",
238
+ "vite-plus": "^0.2.4",
239
+ "vitest": "4.1.10"
244
240
  },
245
241
  "peerDependencies": {
246
242
  "svelte": "^5.0.0"
@@ -250,16 +246,48 @@
250
246
  },
251
247
  "packageManager": "pnpm@11.5.0",
252
248
  "knip": {
253
- "entry": [
254
- "svelte.config.ts",
255
- "src/site/**/*.{js,ts,svelte}"
256
- ],
257
- "ignore": [
258
- "extensions/**"
259
- ],
260
249
  "ignoreDependencies": [
261
- "@typescript/native-preview",
262
- "svelte-check-rs"
263
- ]
250
+ "svelte-check"
251
+ ],
252
+ "workspaces": {
253
+ ".": {
254
+ "entry": [
255
+ "svelte.config.ts",
256
+ "src/site/**/*.{js,ts,svelte}"
257
+ ],
258
+ "paths": {
259
+ "$lib": [
260
+ "./src/lib"
261
+ ],
262
+ "$lib/*": [
263
+ "./src/lib/*"
264
+ ],
265
+ "$site": [
266
+ "./src/site"
267
+ ],
268
+ "$site/*": [
269
+ "./src/site/*"
270
+ ]
271
+ },
272
+ "ignore": [
273
+ "extensions/anywidget/**",
274
+ "extensions/dash/**"
275
+ ]
276
+ },
277
+ "extensions/vscode": {
278
+ "entry": [
279
+ "src/extension.ts",
280
+ "src/webview/main.ts"
281
+ ],
282
+ "paths": {
283
+ "$lib": [
284
+ "../../src/lib"
285
+ ],
286
+ "$lib/*": [
287
+ "../../src/lib/*"
288
+ ]
289
+ }
290
+ }
291
+ }
264
292
  }
265
293
  }
package/dist/api/mp.d.ts DELETED
@@ -1,6 +0,0 @@
1
- export declare const mp_bucket = "https://materialsproject-build.s3.amazonaws.com/collections/2022-10-28";
2
- export declare function fetch_material_data<T extends Record<string, unknown>>(material_id: string, bucket?: string): Promise<{
3
- summary: T | null;
4
- similarity: T | null;
5
- robocrys: T | null;
6
- }>;
package/dist/api/mp.js DELETED
@@ -1,22 +0,0 @@
1
- import { fetch_zipped } from '../io/fetch';
2
- // Materials Project S3 bucket for pre-computed data (may be outdated)
3
- export const mp_bucket = `https://materialsproject-build.s3.amazonaws.com/collections/2022-10-28`;
4
- // Fetch all material data in parallel
5
- export async function fetch_material_data(material_id, bucket = mp_bucket) {
6
- try {
7
- const results = await Promise.allSettled([
8
- fetch_zipped(`${bucket}/summary/${material_id}.json.gz`),
9
- fetch_zipped(`${bucket}/similarity/${material_id}.json.gz`),
10
- fetch_zipped(`${bucket}/robocrys/${material_id}.json.gz`),
11
- ]);
12
- return {
13
- summary: results[0].status === `fulfilled` ? results[0].value : null,
14
- similarity: results[1].status === `fulfilled` ? results[1].value : null,
15
- robocrys: results[2].status === `fulfilled` ? results[2].value : null,
16
- };
17
- }
18
- catch (err) {
19
- console.error(`Failed to fetch material data:`, err);
20
- return { summary: null, similarity: null, robocrys: null };
21
- }
22
- }
@@ -1,200 +0,0 @@
1
- <script lang="ts">
2
- import { SettingsSection } from '../../layout'
3
- import type {
4
- SunburstLabelRotation,
5
- SunburstLabelText,
6
- SunburstShape,
7
- SunburstValueMode,
8
- } from '..'
9
- import { DEFAULTS, SETTINGS_CONFIG } from '../../settings'
10
- import type { Snippet } from 'svelte'
11
- import type { HTMLAttributes } from 'svelte/elements'
12
- import ControlPane from '../core/components/ControlPane.svelte'
13
-
14
- let {
15
- show_controls = $bindable(true),
16
- controls_open = $bindable(false),
17
- shape = $bindable(DEFAULTS.sunburst.shape),
18
- value_mode = $bindable(DEFAULTS.sunburst.value_mode),
19
- max_depth = $bindable(DEFAULTS.sunburst.max_depth),
20
- inner_radius = $bindable(DEFAULTS.sunburst.inner_radius),
21
- pad_angle = $bindable(DEFAULTS.sunburst.pad_angle),
22
- min_fraction = $bindable(DEFAULTS.sunburst.min_fraction),
23
- show_labels = $bindable(DEFAULTS.sunburst.show_labels),
24
- label_rotation = $bindable(DEFAULTS.sunburst.label_rotation),
25
- label_text = $bindable(DEFAULTS.sunburst.label_text),
26
- zoom_on_click = $bindable(DEFAULTS.sunburst.zoom_on_click),
27
- show_breadcrumbs = $bindable(DEFAULTS.sunburst.show_breadcrumbs),
28
- export_buttons = true,
29
- on_export,
30
- toggle_props = {},
31
- pane_props = {},
32
- children,
33
- }: {
34
- show_controls?: boolean
35
- controls_open?: boolean
36
- shape?: SunburstShape
37
- value_mode?: SunburstValueMode
38
- max_depth?: number
39
- inner_radius?: number
40
- pad_angle?: number
41
- min_fraction?: number
42
- show_labels?: boolean
43
- label_rotation?: SunburstLabelRotation
44
- label_text?: SunburstLabelText
45
- zoom_on_click?: boolean
46
- show_breadcrumbs?: boolean
47
- export_buttons?: boolean // show SVG/PNG download buttons in the pane
48
- on_export?: (format: `svg` | `png`) => void
49
- toggle_props?: HTMLAttributes<HTMLButtonElement>
50
- pane_props?: HTMLAttributes<HTMLDivElement>
51
- children?: Snippet
52
- } = $props()
53
- </script>
54
-
55
- {#if show_controls}
56
- <!-- snippets live at the template top level (not inside the components below) so
57
- they're locally renderable rather than treated as ControlPane/SettingsSection props -->
58
- {#snippet options(enum_map: Record<string, string>)}
59
- {#each Object.entries(enum_map) as [value, label] (value)}
60
- <option {value}>{label}</option>
61
- {/each}
62
- {/snippet}
63
- {#snippet num_row(
64
- text: string,
65
- [min, max, step]: [number, number, number],
66
- get: () => number,
67
- set: (val: number) => void,
68
- )}
69
- <label style="flex: 1 1 100%">
70
- {text}
71
- <input type="range" {min} {max} {step} bind:value={get, set} />
72
- <input type="number" {min} {max} {step} bind:value={get, set} />
73
- </label>
74
- {/snippet}
75
- {#snippet check_row(text: string, get: () => boolean, set: (val: boolean) => void)}
76
- <label style="flex: 1 1 100%">
77
- <input type="checkbox" bind:checked={get, set} />
78
- {text}
79
- </label>
80
- {/snippet}
81
- <ControlPane bind:controls_open controls_class="sunburst" {toggle_props} {pane_props}>
82
- {@render children?.()}
83
- <SettingsSection
84
- title="Sunburst"
85
- current_values={{
86
- shape,
87
- value_mode,
88
- max_depth,
89
- inner_radius,
90
- pad_angle,
91
- min_fraction,
92
- show_labels,
93
- label_rotation,
94
- label_text,
95
- zoom_on_click,
96
- show_breadcrumbs,
97
- }}
98
- on_reset={() => {
99
- ;({
100
- shape,
101
- value_mode,
102
- max_depth,
103
- inner_radius,
104
- pad_angle,
105
- min_fraction,
106
- show_labels,
107
- label_rotation,
108
- label_text,
109
- zoom_on_click,
110
- show_breadcrumbs,
111
- } = DEFAULTS.sunburst)
112
- }}
113
- style="display: flex; flex-wrap: wrap; gap: 2ex"
114
- >
115
- <!-- select options come from the settings schema so labels/values have a
116
- single source of truth -->
117
- <label style="flex: 1">
118
- Shape:
119
- <select bind:value={shape}>
120
- {@render options(SETTINGS_CONFIG.sunburst.shape.enum ?? {})}
121
- </select>
122
- </label>
123
- <label style="flex: 1">
124
- Value mode:
125
- <select bind:value={value_mode}>
126
- {@render options(SETTINGS_CONFIG.sunburst.value_mode.enum ?? {})}
127
- </select>
128
- </label>
129
- {#if shape === `sunburst`}
130
- <!-- icicle labels are always horizontal; inner radius/pad angle are polar-only -->
131
- <label style="flex: 1">
132
- Labels:
133
- <select bind:value={label_rotation}>
134
- {@render options(SETTINGS_CONFIG.sunburst.label_rotation.enum ?? {})}
135
- </select>
136
- </label>
137
- {/if}
138
- <label style="flex: 1">
139
- Label text:
140
- <select bind:value={label_text}>
141
- {@render options(SETTINGS_CONFIG.sunburst.label_text.enum ?? {})}
142
- </select>
143
- </label>
144
- {@render num_row(`Max depth (0 = all):`, [0, 10, 1], () => max_depth, (val) =>
145
- max_depth = val)}
146
- {#if shape === `sunburst`}
147
- {@render num_row(`Inner radius:`, [0, 0.8, 0.05], () => inner_radius, (val) =>
148
- inner_radius = val)}
149
- {@render num_row(`Pad angle (°):`, [0, 4, 0.1], () => pad_angle, (val) =>
150
- pad_angle = val)}
151
- {/if}
152
- {@render num_row(
153
- `Group slices below (fraction of total):`,
154
- [0, 0.2, 0.005],
155
- () => min_fraction,
156
- (val) => min_fraction = val,
157
- )}
158
- {@render check_row(`Show arc labels`, () => show_labels, (val) =>
159
- show_labels = val)}
160
- {@render check_row(`Zoom on click`, () => zoom_on_click, (val) =>
161
- zoom_on_click = val)}
162
- {@render check_row(`Show breadcrumbs when zoomed`, () => show_breadcrumbs, (val) =>
163
- show_breadcrumbs = val)}
164
- </SettingsSection>
165
- {#if export_buttons && on_export}
166
- <div class="export-row">
167
- Export:
168
- {#each [`svg`, `png`] as const as fmt (fmt)}
169
- <button
170
- type="button"
171
- class="export-btn"
172
- aria-label="Download {fmt.toUpperCase()}"
173
- onclick={() => on_export?.(fmt)}
174
- >{fmt.toUpperCase()}</button>
175
- {/each}
176
- </div>
177
- {/if}
178
- </ControlPane>
179
- {/if}
180
-
181
- <style>
182
- .export-row {
183
- display: flex;
184
- align-items: center;
185
- gap: 6px;
186
- margin-top: 6px;
187
- font-size: 0.85em;
188
- }
189
- .export-btn {
190
- background: var(--sunburst-btn-bg, rgba(128, 128, 128, 0.15));
191
- color: inherit;
192
- border: none;
193
- border-radius: 3pt;
194
- padding: 1px 6px;
195
- cursor: pointer;
196
- }
197
- .export-btn:hover {
198
- background: var(--sunburst-btn-hover-bg, rgba(128, 128, 128, 0.35));
199
- }
200
- </style>