matterviz 0.1.12 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ContextMenu.svelte +1 -1
- package/dist/ContextMenu.svelte.d.ts +3 -3
- package/dist/DraggablePane.svelte +10 -5
- package/dist/DraggablePane.svelte.d.ts +3 -3
- package/dist/FilePicker.svelte.d.ts +3 -3
- package/dist/Icon.svelte.d.ts +3 -3
- package/dist/Nav.svelte +76 -31
- package/dist/SettingsSection.svelte.d.ts +3 -3
- package/dist/Spinner.svelte +18 -29
- package/dist/Spinner.svelte.d.ts +3 -3
- package/dist/app.css +4 -0
- package/dist/bands/Bands.svelte +216 -0
- package/dist/bands/Bands.svelte.d.ts +16 -0
- package/dist/bands/BandsAndDos.svelte +26 -0
- package/dist/bands/BandsAndDos.svelte.d.ts +16 -0
- package/dist/bands/Dos.svelte +124 -0
- package/dist/bands/Dos.svelte.d.ts +18 -0
- package/dist/bands/helpers.d.ts +11 -0
- package/dist/bands/helpers.js +195 -0
- package/dist/bands/index.d.ts +5 -0
- package/dist/bands/index.js +6 -0
- package/dist/bands/types.d.ts +54 -0
- package/dist/bands/types.js +2 -0
- package/dist/brillouin/BrillouinZone.svelte +373 -0
- package/dist/brillouin/BrillouinZone.svelte.d.ts +57 -0
- package/dist/brillouin/BrillouinZoneControls.svelte +88 -0
- package/dist/brillouin/BrillouinZoneControls.svelte.d.ts +14 -0
- package/dist/brillouin/BrillouinZoneExportPane.svelte +129 -0
- package/dist/brillouin/BrillouinZoneExportPane.svelte.d.ts +15 -0
- package/dist/brillouin/BrillouinZoneInfoPane.svelte +115 -0
- package/dist/brillouin/BrillouinZoneInfoPane.svelte.d.ts +13 -0
- package/dist/brillouin/BrillouinZoneScene.svelte +180 -0
- package/dist/brillouin/BrillouinZoneScene.svelte.d.ts +34 -0
- package/dist/brillouin/compute.d.ts +7 -0
- package/dist/brillouin/compute.js +215 -0
- package/dist/brillouin/index.d.ts +7 -0
- package/dist/brillouin/index.js +7 -0
- package/dist/brillouin/types.d.ts +23 -0
- package/dist/brillouin/types.js +1 -0
- package/dist/composition/BarChart.svelte.d.ts +3 -3
- package/dist/composition/BubbleChart.svelte +7 -6
- package/dist/composition/BubbleChart.svelte.d.ts +3 -3
- package/dist/composition/Composition.svelte.d.ts +3 -3
- package/dist/composition/PieChart.svelte +1 -1
- package/dist/composition/PieChart.svelte.d.ts +3 -3
- package/dist/composition/parse.d.ts +3 -3
- package/dist/coordination/CoordinationBarPlot.svelte +241 -0
- package/dist/coordination/CoordinationBarPlot.svelte.d.ts +29 -0
- package/dist/coordination/calc-coordination.d.ts +15 -0
- package/dist/coordination/calc-coordination.js +66 -0
- package/dist/coordination/index.d.ts +8 -0
- package/dist/coordination/index.js +7 -0
- package/dist/element/BohrAtom.svelte.d.ts +3 -3
- package/dist/element/ElementHeading.svelte.d.ts +3 -3
- package/dist/element/ElementPhoto.svelte.d.ts +3 -3
- package/dist/element/ElementStats.svelte.d.ts +3 -3
- package/dist/element/ElementTile.svelte +1 -1
- package/dist/element/ElementTile.svelte.d.ts +4 -4
- package/dist/element/Nucleus.svelte.d.ts +3 -3
- package/dist/icons.d.ts +4 -0
- package/dist/icons.js +4 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +5 -1
- package/dist/io/export.d.ts +1 -6
- package/dist/io/export.js +12 -12
- package/dist/labels.d.ts +19 -0
- package/dist/labels.js +59 -0
- package/dist/math.d.ts +7 -2
- package/dist/math.js +24 -12
- package/dist/periodic-table/PeriodicTable.svelte.d.ts +3 -3
- package/dist/periodic-table/PeriodicTableControls.svelte.d.ts +3 -3
- package/dist/periodic-table/PropertySelect.svelte +1 -1
- package/dist/periodic-table/PropertySelect.svelte.d.ts +5 -4
- package/dist/periodic-table/TableInset.svelte.d.ts +3 -3
- package/dist/phase-diagram/PhaseDiagram2D.svelte +44 -107
- package/dist/phase-diagram/PhaseDiagram2D.svelte.d.ts +7 -27
- package/dist/phase-diagram/PhaseDiagram3D.svelte +67 -170
- package/dist/phase-diagram/PhaseDiagram3D.svelte.d.ts +7 -31
- package/dist/phase-diagram/PhaseDiagram4D.svelte +87 -145
- package/dist/phase-diagram/PhaseDiagram4D.svelte.d.ts +5 -28
- package/dist/phase-diagram/PhaseDiagramControls.svelte +9 -9
- package/dist/phase-diagram/PhaseDiagramControls.svelte.d.ts +6 -6
- package/dist/phase-diagram/PhaseDiagramInfoPane.svelte +4 -4
- package/dist/phase-diagram/PhaseDiagramInfoPane.svelte.d.ts +5 -5
- package/dist/phase-diagram/PhaseDiagramStats.svelte +9 -16
- package/dist/phase-diagram/PhaseDiagramStats.svelte.d.ts +3 -3
- package/dist/phase-diagram/StructurePopup.svelte.d.ts +3 -3
- package/dist/phase-diagram/barycentric-coords.js +13 -24
- package/dist/phase-diagram/helpers.d.ts +12 -14
- package/dist/phase-diagram/helpers.js +70 -23
- package/dist/phase-diagram/index.d.ts +58 -0
- package/dist/phase-diagram/index.js +44 -0
- package/dist/phase-diagram/thermodynamics.js +2 -3
- package/dist/phase-diagram/types.d.ts +3 -8
- package/dist/plot/BarPlot.svelte +474 -240
- package/dist/plot/BarPlot.svelte.d.ts +16 -37
- package/dist/plot/BarPlotControls.svelte +33 -201
- package/dist/plot/BarPlotControls.svelte.d.ts +11 -22
- package/dist/plot/ColorBar.svelte.d.ts +3 -3
- package/dist/plot/ColorScaleSelect.svelte +1 -1
- package/dist/plot/ColorScaleSelect.svelte.d.ts +3 -3
- package/dist/plot/ElementScatter.svelte +5 -5
- package/dist/plot/ElementScatter.svelte.d.ts +8 -8
- package/dist/plot/Histogram.svelte +318 -170
- package/dist/plot/Histogram.svelte.d.ts +21 -41
- package/dist/plot/HistogramControls.svelte +115 -347
- package/dist/plot/HistogramControls.svelte.d.ts +13 -28
- package/dist/plot/Line.svelte +1 -1
- package/dist/plot/Line.svelte.d.ts +4 -4
- package/dist/plot/PlotControls.svelte +280 -0
- package/dist/plot/PlotControls.svelte.d.ts +4 -0
- package/dist/plot/PlotLegend.svelte +9 -24
- package/dist/plot/PlotLegend.svelte.d.ts +3 -3
- package/dist/plot/ScatterPlot.svelte +536 -571
- package/dist/plot/ScatterPlot.svelte.d.ts +18 -90
- package/dist/plot/ScatterPlotControls.svelte +108 -316
- package/dist/plot/ScatterPlotControls.svelte.d.ts +11 -38
- package/dist/plot/ScatterPoint.svelte +1 -1
- package/dist/plot/ScatterPoint.svelte.d.ts +5 -5
- package/dist/plot/SpacegroupBarPlot.svelte +235 -0
- package/dist/plot/SpacegroupBarPlot.svelte.d.ts +9 -0
- package/dist/plot/data-transform.d.ts +2 -2
- package/dist/plot/data-transform.js +1 -5
- package/dist/plot/index.d.ts +12 -200
- package/dist/plot/index.js +14 -6
- package/dist/plot/layout.d.ts +10 -16
- package/dist/plot/layout.js +40 -25
- package/dist/plot/scales.d.ts +7 -8
- package/dist/plot/scales.js +22 -7
- package/dist/plot/types.d.ts +303 -0
- package/dist/plot/types.js +1 -0
- package/dist/rdf/RdfPlot.svelte +156 -0
- package/dist/rdf/RdfPlot.svelte.d.ts +20 -0
- package/dist/rdf/calc-rdf.d.ts +4 -0
- package/dist/rdf/calc-rdf.js +107 -0
- package/dist/rdf/index.d.ts +22 -0
- package/dist/rdf/index.js +2 -0
- package/dist/settings.d.ts +86 -75
- package/dist/settings.js +257 -155
- package/dist/structure/Bond.svelte +126 -110
- package/dist/structure/Bond.svelte.d.ts +7 -20
- package/dist/structure/CanvasTooltip.svelte.d.ts +4 -4
- package/dist/structure/Cylinder.svelte +29 -0
- package/dist/structure/Cylinder.svelte.d.ts +10 -0
- package/dist/structure/Lattice.svelte +1 -2
- package/dist/structure/Lattice.svelte.d.ts +3 -3
- package/dist/structure/Structure.svelte +23 -8
- package/dist/structure/Structure.svelte.d.ts +10 -7
- package/dist/structure/StructureControls.svelte +25 -134
- package/dist/structure/StructureControls.svelte.d.ts +4 -9
- package/dist/structure/StructureExportPane.svelte +188 -0
- package/dist/structure/StructureExportPane.svelte.d.ts +17 -0
- package/dist/structure/StructureInfoPane.svelte.d.ts +3 -3
- package/dist/structure/StructureLegend.svelte +91 -27
- package/dist/structure/StructureLegend.svelte.d.ts +5 -4
- package/dist/structure/StructureScene.svelte +93 -100
- package/dist/structure/StructureScene.svelte.d.ts +15 -12
- package/dist/structure/Vector.svelte +19 -25
- package/dist/structure/Vector.svelte.d.ts +3 -3
- package/dist/structure/bonding.d.ts +16 -14
- package/dist/structure/bonding.js +207 -216
- package/dist/structure/export.d.ts +3 -0
- package/dist/structure/export.js +120 -0
- package/dist/structure/index.d.ts +15 -1
- package/dist/structure/index.js +2 -0
- package/dist/symmetry/WyckoffTable.svelte.d.ts +3 -3
- package/dist/symmetry/index.d.ts +1 -0
- package/dist/symmetry/index.js +1 -0
- package/dist/symmetry/spacegroups.d.ts +9 -0
- package/dist/symmetry/spacegroups.js +397 -0
- package/dist/theme/ThemeControl.svelte.d.ts +3 -3
- package/dist/theme/themes.js +2 -16
- package/dist/trajectory/Trajectory.svelte +52 -78
- package/dist/trajectory/Trajectory.svelte.d.ts +5 -5
- package/dist/trajectory/TrajectoryError.svelte.d.ts +3 -3
- package/dist/trajectory/TrajectoryExportPane.svelte +1 -1
- package/dist/trajectory/TrajectoryExportPane.svelte.d.ts +5 -5
- package/dist/trajectory/TrajectoryInfoPane.svelte +1 -1
- package/dist/trajectory/TrajectoryInfoPane.svelte.d.ts +3 -3
- package/dist/trajectory/extract.js +2 -1
- package/dist/trajectory/index.d.ts +1 -1
- package/dist/trajectory/index.js +1 -1
- package/dist/trajectory/parse.js +21 -14
- package/dist/utils.d.ts +1 -0
- package/dist/utils.js +17 -0
- package/dist/xrd/XrdPlot.svelte +14 -11
- package/dist/xrd/XrdPlot.svelte.d.ts +6 -5
- package/package.json +20 -12
- package/readme.md +1 -1
- package/dist/material/MaterialCard.svelte +0 -123
- package/dist/material/MaterialCard.svelte.d.ts +0 -9
- package/dist/material/index.d.ts +0 -1
- package/dist/material/index.js +0 -1
- package/dist/plot/formatting.d.ts +0 -7
- package/dist/plot/formatting.js +0 -53
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
<script lang="ts">import { format_num, InfoCard, superscript_digits } from '..';
|
|
2
|
-
let { material, after_symmetry, ...rest } = $props();
|
|
3
|
-
let data = $derived([
|
|
4
|
-
{
|
|
5
|
-
title: `Band Gap`,
|
|
6
|
-
value: material.band_gap,
|
|
7
|
-
unit: `eV`,
|
|
8
|
-
tooltip: material.vbm && material.cbm
|
|
9
|
-
? `VBM: ${material.vbm}, CBM: ${material.cbm}`
|
|
10
|
-
: ``,
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
title: `Space Group`,
|
|
14
|
-
value: `${material.symmetry?.number}`,
|
|
15
|
-
unit: `(${material.symmetry?.symbol})`,
|
|
16
|
-
condition: material.symmetry?.number,
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
title: `E<sub>above hull</sub>`,
|
|
20
|
-
value: 1000 * (material?.energy_above_hull ?? 0),
|
|
21
|
-
unit: `meV/atom`,
|
|
22
|
-
condition: `energy_above_hull` in material,
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
title: `Predicted stable`,
|
|
26
|
-
value: (material?.energy_above_hull ?? 0 > 0) ? `❌ No` : `✅ Yes`,
|
|
27
|
-
condition: `energy_above_hull` in material,
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
title: `Formation Energy`,
|
|
31
|
-
value: material.formation_energy_per_atom,
|
|
32
|
-
unit: `eV/atom`,
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
title: `Experimentally Observed`,
|
|
36
|
-
value: material.theoretical ? `❌ No` : `✅ Yes`,
|
|
37
|
-
},
|
|
38
|
-
{ title: `Total Energy`, value: material.energy_per_atom, unit: `eV/atom` },
|
|
39
|
-
{
|
|
40
|
-
title: `Uncorrected Energy`,
|
|
41
|
-
value: material.uncorrected_energy_per_atom,
|
|
42
|
-
unit: `eV/atom`,
|
|
43
|
-
condition: material.uncorrected_energy_per_atom != material.energy_per_atom,
|
|
44
|
-
},
|
|
45
|
-
{ title: `Last updated`, value: material.last_updated?.$date.split(`T`)[0] },
|
|
46
|
-
{
|
|
47
|
-
title: `Origins`,
|
|
48
|
-
value: Array.isArray(material.origins)
|
|
49
|
-
? material.origins.join(`, `)
|
|
50
|
-
: material.origins,
|
|
51
|
-
condition: material.origins?.length,
|
|
52
|
-
},
|
|
53
|
-
{ title: `Voigt bulk modulus`, value: material.k_voigt, unit: `GPa` },
|
|
54
|
-
{ title: `Voigt shear modulus`, value: material.g_voigt, unit: `GPa` },
|
|
55
|
-
{ title: `Refractive index`, value: material.n },
|
|
56
|
-
{
|
|
57
|
-
title: `Is magnetic`,
|
|
58
|
-
value: `${material.is_magnetic ? `yes` : `no`} ${material.is_magnetic
|
|
59
|
-
? `(${format_num(material.total_magnetization)} µB/f.u.)`
|
|
60
|
-
: ``}`,
|
|
61
|
-
tooltip: `µB: Bohr magneton, f.u.: formula unit`,
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
title: `Ordering`,
|
|
65
|
-
value: {
|
|
66
|
-
NM: `non-magnetic`,
|
|
67
|
-
FM: `ferromagnetic`,
|
|
68
|
-
FiM: `ferrimagnetic`,
|
|
69
|
-
AFM: `antiferromagnetic`,
|
|
70
|
-
}[material.ordering] ?? `unknown`,
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
title: `Possible oxidation states`,
|
|
74
|
-
value: superscript_digits(material.possible_species?.join(` `) ?? ``),
|
|
75
|
-
condition: material.possible_species?.length,
|
|
76
|
-
},
|
|
77
|
-
]);
|
|
78
|
-
</script>
|
|
79
|
-
|
|
80
|
-
<InfoCard {data} {...rest} title="Material" />
|
|
81
|
-
|
|
82
|
-
{@render after_symmetry?.()}
|
|
83
|
-
|
|
84
|
-
<details>
|
|
85
|
-
<summary>Related material IDs</summary>
|
|
86
|
-
{#if material.task_ids?.length}
|
|
87
|
-
<p>
|
|
88
|
-
Task IDs: {#each material.task_ids as id (id)}
|
|
89
|
-
<a href="https://materialsproject.org/tasks/{id}">{id}</a>
|
|
90
|
-
{/each}
|
|
91
|
-
</p>
|
|
92
|
-
{/if}
|
|
93
|
-
{#if material.database_IDs?.icsd?.length}
|
|
94
|
-
<p>
|
|
95
|
-
ICSD IDs: {#each material.database_IDs.icsd as id (id)}
|
|
96
|
-
{@const href =
|
|
97
|
-
`https://ccdc.cam.ac.uk/structures/Search?Ccdcid=${id}&DatabaseToSearch=ICSD`}
|
|
98
|
-
<a {href}>{id}</a>
|
|
99
|
-
{/each}
|
|
100
|
-
</p>
|
|
101
|
-
{/if}
|
|
102
|
-
</details>
|
|
103
|
-
|
|
104
|
-
<p class="warning">
|
|
105
|
-
{material.warnings}
|
|
106
|
-
</p>
|
|
107
|
-
|
|
108
|
-
<style>
|
|
109
|
-
.warning {
|
|
110
|
-
color: var(--warning-color, darkred);
|
|
111
|
-
}
|
|
112
|
-
p {
|
|
113
|
-
display: flex;
|
|
114
|
-
flex-wrap: wrap;
|
|
115
|
-
gap: 1ex 1em;
|
|
116
|
-
font-size: smaller;
|
|
117
|
-
}
|
|
118
|
-
p a {
|
|
119
|
-
background-color: rgba(255, 255, 255, 0.1);
|
|
120
|
-
padding: 0 3pt;
|
|
121
|
-
border-radius: 3pt;
|
|
122
|
-
}
|
|
123
|
-
</style>
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { Snippet } from 'svelte';
|
|
2
|
-
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
-
interface Props extends HTMLAttributes<HTMLElementTagNameMap[`section`]> {
|
|
4
|
-
material: Record<string, unknown>;
|
|
5
|
-
after_symmetry?: Snippet;
|
|
6
|
-
}
|
|
7
|
-
declare const MaterialCard: import("svelte").Component<Props, {}, "">;
|
|
8
|
-
type MaterialCard = ReturnType<typeof MaterialCard>;
|
|
9
|
-
export default MaterialCard;
|
package/dist/material/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as MaterialCard } from './MaterialCard.svelte';
|
package/dist/material/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as MaterialCard } from './MaterialCard.svelte';
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { SymbolType } from 'd3-shape';
|
|
2
|
-
import * as d3_symbols from 'd3-shape';
|
|
3
|
-
export type D3Symbol = keyof typeof d3_symbols & `symbol${Capitalize<string>}`;
|
|
4
|
-
export type D3SymbolName = Exclude<D3Symbol extends `symbol${infer Name}` ? Name : never, ``>;
|
|
5
|
-
export declare const symbol_names: D3SymbolName[];
|
|
6
|
-
export declare const symbol_map: Record<D3SymbolName, SymbolType>;
|
|
7
|
-
export declare function format_value(value: number, formatter: string): string;
|
package/dist/plot/formatting.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { format } from 'd3-format';
|
|
2
|
-
import * as d3_symbols from 'd3-shape';
|
|
3
|
-
import { timeFormat } from 'd3-time-format';
|
|
4
|
-
export const symbol_names = [
|
|
5
|
-
...new Set([...d3_symbols.symbolsFill, ...d3_symbols.symbolsStroke]),
|
|
6
|
-
].map((sym) => {
|
|
7
|
-
// Attempt to find the key associated with this symbol function object
|
|
8
|
-
for (const key in d3_symbols) {
|
|
9
|
-
if (Object.prototype.hasOwnProperty.call(d3_symbols, key) &&
|
|
10
|
-
d3_symbols[key] === sym &&
|
|
11
|
-
key.match(/symbol[A-Z]/))
|
|
12
|
-
return key.substring(6);
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
export const symbol_map = Object.fromEntries(symbol_names.map((name) => [name, d3_symbols[`symbol${name}`]]));
|
|
16
|
-
// Format a value for display with optional time formatting
|
|
17
|
-
export function format_value(value, formatter) {
|
|
18
|
-
if (!formatter)
|
|
19
|
-
return `${value}`;
|
|
20
|
-
if (formatter.startsWith(`%`))
|
|
21
|
-
return timeFormat(formatter)(new Date(value));
|
|
22
|
-
// Handle special values consistently
|
|
23
|
-
if (value === -Infinity)
|
|
24
|
-
return `-Infinity`;
|
|
25
|
-
if (value === Infinity)
|
|
26
|
-
return `Infinity`;
|
|
27
|
-
if (Number.isNaN(value))
|
|
28
|
-
return `NaN`;
|
|
29
|
-
let formatted = format(formatter)(value);
|
|
30
|
-
// Replace unicode minus with ASCII minus for consistency
|
|
31
|
-
formatted = formatted.replace(/−/g, `-`);
|
|
32
|
-
// Handle percentage formatting - remove trailing zeros but keep appropriate precision
|
|
33
|
-
if (formatter.includes(`%`)) {
|
|
34
|
-
return formatted.includes(`.`)
|
|
35
|
-
? formatted.replace(/(\.\d*?)0+%$/, `$1%`).replace(/\.%$/, `%`)
|
|
36
|
-
: formatted;
|
|
37
|
-
}
|
|
38
|
-
// Handle currency formatting - ensure proper decimal places
|
|
39
|
-
if (formatter.includes(`$`)) {
|
|
40
|
-
// If the formatter specifies decimal places (e.g., .2f), don't remove trailing zeros
|
|
41
|
-
if (formatter.includes(`.`) && /\.\d+f/.test(formatter)) {
|
|
42
|
-
return formatted;
|
|
43
|
-
}
|
|
44
|
-
// Otherwise, remove trailing zeros as usual
|
|
45
|
-
return formatted.includes(`.`)
|
|
46
|
-
? formatted.replace(/(\.\d*?)0+$/, `$1`).replace(/\.$/, ``)
|
|
47
|
-
: formatted;
|
|
48
|
-
}
|
|
49
|
-
// Remove trailing zeros after decimal point for other formats
|
|
50
|
-
return formatted.includes(`.`)
|
|
51
|
-
? formatted.replace(/(\.\d*?)0+$/, `$1`).replace(/\.$/, ``)
|
|
52
|
-
: formatted;
|
|
53
|
-
}
|