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
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { calc_lattice_params, euclidean_dist, matrix_inverse_3x3, pbc_dist, } from '../math';
|
|
2
|
+
import { make_supercell } from '../structure/supercell';
|
|
3
|
+
// Calculate radial distribution function
|
|
4
|
+
export function calculate_rdf(structure, options = {}) {
|
|
5
|
+
const { center_species, neighbor_species, cutoff = 15, n_bins = 75, auto_expand = true, expansion_factor = 2.0, } = options;
|
|
6
|
+
let { pbc = [true, true, true] } = options;
|
|
7
|
+
if (cutoff <= 0 || n_bins <= 0) {
|
|
8
|
+
throw new Error(`cutoff and n_bins must be positive`);
|
|
9
|
+
}
|
|
10
|
+
// Validate structure has lattice
|
|
11
|
+
if (!structure.lattice?.matrix) {
|
|
12
|
+
throw new Error(`Structure must have a lattice for RDF calculation`);
|
|
13
|
+
}
|
|
14
|
+
let lattice = structure.lattice.matrix;
|
|
15
|
+
let { sites } = structure;
|
|
16
|
+
// Expand structure if needed to ensure shortest lattice vector is expansion_factor× the cutoff
|
|
17
|
+
// This prevents artificial close contacts at cell boundaries when using PBC
|
|
18
|
+
// Standard practice uses 2.0-2.5× to eliminate finite-size effects
|
|
19
|
+
if (auto_expand) {
|
|
20
|
+
const { a, b, c } = calc_lattice_params(lattice);
|
|
21
|
+
const min_size = cutoff * expansion_factor;
|
|
22
|
+
const [n_a, n_b, n_c] = [a, b, c].map((len) => Math.ceil(min_size / len));
|
|
23
|
+
if (n_a > 1 || n_b > 1 || n_c > 1) {
|
|
24
|
+
const expanded_structure = make_supercell(structure, [n_a, n_b, n_c], false);
|
|
25
|
+
sites = expanded_structure.sites;
|
|
26
|
+
lattice = expanded_structure.lattice.matrix;
|
|
27
|
+
pbc = [false, false, false]; // Disable PBC since we explicitly expanded the structure
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const bin_size = cutoff / n_bins;
|
|
31
|
+
const r = Array.from({ length: n_bins }, (_, idx) => (idx + 0.5) * bin_size);
|
|
32
|
+
const g_r = new Array(n_bins).fill(0);
|
|
33
|
+
if (sites.length === 0)
|
|
34
|
+
return { r, g_r };
|
|
35
|
+
// Note: Sites with mixed occupancy are treated as the first species only.
|
|
36
|
+
// TODO For proper occupancy support, contributions should be weighted by species occupancy.
|
|
37
|
+
const elements = sites.map((s) => s.species[0].element);
|
|
38
|
+
const centers = center_species
|
|
39
|
+
? sites.filter((_, idx) => elements[idx] === center_species)
|
|
40
|
+
: sites;
|
|
41
|
+
const neighbors = neighbor_species
|
|
42
|
+
? sites.filter((_, idx) => elements[idx] === neighbor_species)
|
|
43
|
+
: sites;
|
|
44
|
+
if (centers.length === 0 || neighbors.length === 0) {
|
|
45
|
+
const element_pair = center_species && neighbor_species
|
|
46
|
+
? [center_species, neighbor_species]
|
|
47
|
+
: undefined;
|
|
48
|
+
return { r, g_r, element_pair };
|
|
49
|
+
}
|
|
50
|
+
// Calculate distances and bin them
|
|
51
|
+
const use_pbc = pbc.some((flag) => flag);
|
|
52
|
+
// Pre-compute lattice inverse once to avoid O(P) inversions in inner loop
|
|
53
|
+
const lattice_inv = use_pbc ? matrix_inverse_3x3(lattice) : undefined;
|
|
54
|
+
for (const center of centers) {
|
|
55
|
+
for (const neighbor of neighbors) {
|
|
56
|
+
if (center === neighbor)
|
|
57
|
+
continue;
|
|
58
|
+
const dist = use_pbc
|
|
59
|
+
? pbc_dist(center.xyz, neighbor.xyz, lattice, lattice_inv, pbc)
|
|
60
|
+
: euclidean_dist(center.xyz, neighbor.xyz);
|
|
61
|
+
if (dist > 0 && dist < cutoff) {
|
|
62
|
+
g_r[Math.min(Math.floor(dist / bin_size), n_bins - 1)]++;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Normalize
|
|
67
|
+
const n_pairs = center_species === neighbor_species
|
|
68
|
+
? centers.length * (neighbors.length - 1)
|
|
69
|
+
: centers.length * neighbors.length;
|
|
70
|
+
if (n_pairs > 0) {
|
|
71
|
+
const volume = calc_lattice_params(lattice).volume;
|
|
72
|
+
for (let idx = 0; idx < n_bins; idx++) {
|
|
73
|
+
g_r[idx] /= n_pairs * ((4 * Math.PI * r[idx] ** 2 * bin_size) / volume);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const element_pair = center_species && neighbor_species
|
|
77
|
+
? [center_species, neighbor_species]
|
|
78
|
+
: undefined;
|
|
79
|
+
return { r, g_r, element_pair };
|
|
80
|
+
}
|
|
81
|
+
// Calculate RDF for all element pairs
|
|
82
|
+
export function calculate_all_pair_rdfs(structure, options = {}) {
|
|
83
|
+
const elems = [...new Set(structure.sites.map((s) => s.species[0].element))].sort();
|
|
84
|
+
// If auto_expand is true, expand the structure once and reuse it for all pairs
|
|
85
|
+
// to avoid repeated supercell computations
|
|
86
|
+
let structure_to_use = structure;
|
|
87
|
+
if (options.auto_expand !== false) {
|
|
88
|
+
const { cutoff = 15, expansion_factor = 2.0 } = options;
|
|
89
|
+
const lattice = structure.lattice?.matrix;
|
|
90
|
+
if (lattice) {
|
|
91
|
+
const { a, b, c } = calc_lattice_params(lattice);
|
|
92
|
+
const min_size = cutoff * expansion_factor;
|
|
93
|
+
const [n_a, n_b, n_c] = [a, b, c].map((len) => Math.ceil(min_size / len));
|
|
94
|
+
if (n_a > 1 || n_b > 1 || n_c > 1) {
|
|
95
|
+
structure_to_use = make_supercell(structure, [n_a, n_b, n_c], false);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// Pass auto_expand=false since we've already expanded, and pbc=false for expanded structure
|
|
100
|
+
const pbc = [false, false, false];
|
|
101
|
+
const rdf_options = { ...options, auto_expand: false, pbc };
|
|
102
|
+
return elems.flatMap((el1, idx1) => elems.slice(idx1).map((el2) => calculate_rdf(structure_to_use, {
|
|
103
|
+
...rdf_options,
|
|
104
|
+
center_species: el1,
|
|
105
|
+
neighbor_species: el2,
|
|
106
|
+
})));
|
|
107
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Pbc } from '../structure';
|
|
2
|
+
export { calculate_all_pair_rdfs, calculate_rdf } from './calc-rdf';
|
|
3
|
+
export { default as RdfPlot } from './RdfPlot.svelte';
|
|
4
|
+
export type RdfPattern = {
|
|
5
|
+
r: number[];
|
|
6
|
+
g_r: number[];
|
|
7
|
+
element_pair?: [string, string];
|
|
8
|
+
};
|
|
9
|
+
export interface RdfEntry {
|
|
10
|
+
label: string;
|
|
11
|
+
pattern: RdfPattern;
|
|
12
|
+
color?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface RdfOptions {
|
|
15
|
+
center_species?: string;
|
|
16
|
+
neighbor_species?: string;
|
|
17
|
+
cutoff?: number;
|
|
18
|
+
n_bins?: number;
|
|
19
|
+
pbc?: Pbc;
|
|
20
|
+
auto_expand?: boolean;
|
|
21
|
+
expansion_factor?: number;
|
|
22
|
+
}
|
package/dist/settings.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import type { D3SymbolName } from './labels';
|
|
1
2
|
import type { Vec3 } from './math';
|
|
2
|
-
import type {
|
|
3
|
+
import type { Orientation } from './plot';
|
|
3
4
|
import type { BondingStrategy } from './structure/bonding';
|
|
4
5
|
export interface SettingType<T = unknown> {
|
|
5
6
|
value: T;
|
|
6
7
|
description: string;
|
|
7
|
-
enum?:
|
|
8
|
+
enum?: Readonly<Record<Extract<T, string>, string>>;
|
|
8
9
|
minimum?: number;
|
|
9
10
|
maximum?: number;
|
|
10
11
|
minItems?: number;
|
|
@@ -13,6 +14,64 @@ export interface SettingType<T = unknown> {
|
|
|
13
14
|
}
|
|
14
15
|
export declare const show_bonds_options: readonly ["never", "always", "crystals", "molecules"];
|
|
15
16
|
export type ShowBonds = (typeof show_bonds_options)[number];
|
|
17
|
+
export type CameraProjection = `perspective` | `orthographic`;
|
|
18
|
+
type DisplayConfigType = {
|
|
19
|
+
x_grid: SettingType<boolean>;
|
|
20
|
+
y_grid: SettingType<boolean>;
|
|
21
|
+
y2_grid: SettingType<boolean>;
|
|
22
|
+
x_zero_line: SettingType<boolean>;
|
|
23
|
+
y_zero_line: SettingType<boolean>;
|
|
24
|
+
};
|
|
25
|
+
type BarStyleType = {
|
|
26
|
+
color: SettingType<string>;
|
|
27
|
+
opacity: SettingType<number>;
|
|
28
|
+
stroke_width: SettingType<number>;
|
|
29
|
+
stroke_color: SettingType<string>;
|
|
30
|
+
stroke_opacity: SettingType<number>;
|
|
31
|
+
};
|
|
32
|
+
type PointStyleType = {
|
|
33
|
+
size: SettingType<number>;
|
|
34
|
+
color: SettingType<string>;
|
|
35
|
+
opacity: SettingType<number>;
|
|
36
|
+
stroke_width: SettingType<number>;
|
|
37
|
+
stroke_color: SettingType<string>;
|
|
38
|
+
stroke_opacity: SettingType<number>;
|
|
39
|
+
};
|
|
40
|
+
type LineStyleType = {
|
|
41
|
+
width: SettingType<number>;
|
|
42
|
+
color: SettingType<string>;
|
|
43
|
+
opacity: SettingType<number>;
|
|
44
|
+
dash: SettingType<string>;
|
|
45
|
+
};
|
|
46
|
+
type SimpleBarStyleType = {
|
|
47
|
+
color: SettingType<string>;
|
|
48
|
+
opacity: SettingType<number>;
|
|
49
|
+
};
|
|
50
|
+
type SimpleLineStyleType = {
|
|
51
|
+
width: SettingType<number>;
|
|
52
|
+
color: SettingType<string>;
|
|
53
|
+
};
|
|
54
|
+
type PhaseDiagramCommonType = {
|
|
55
|
+
camera_zoom: SettingType<number>;
|
|
56
|
+
camera_center_x: SettingType<number>;
|
|
57
|
+
camera_center_y: SettingType<number>;
|
|
58
|
+
color_mode: SettingType<`stability` | `energy`>;
|
|
59
|
+
color_scale: SettingType<string>;
|
|
60
|
+
show_stable: SettingType<boolean>;
|
|
61
|
+
show_unstable: SettingType<boolean>;
|
|
62
|
+
show_stable_labels: SettingType<boolean>;
|
|
63
|
+
show_unstable_labels: SettingType<boolean>;
|
|
64
|
+
max_hull_dist_show_phases: SettingType<number>;
|
|
65
|
+
max_hull_dist_show_labels: SettingType<number>;
|
|
66
|
+
fullscreen: SettingType<boolean>;
|
|
67
|
+
info_pane_open: SettingType<boolean>;
|
|
68
|
+
legend_pane_open: SettingType<boolean>;
|
|
69
|
+
};
|
|
70
|
+
type PhaseDiagramWith3DType = PhaseDiagramCommonType & {
|
|
71
|
+
show_hull_faces: SettingType<boolean>;
|
|
72
|
+
hull_face_color: SettingType<string>;
|
|
73
|
+
hull_face_opacity: SettingType<number>;
|
|
74
|
+
};
|
|
16
75
|
export interface SettingsConfig {
|
|
17
76
|
color_scheme: SettingType<string>;
|
|
18
77
|
background_color: SettingType<string>;
|
|
@@ -29,7 +88,7 @@ export interface SettingsConfig {
|
|
|
29
88
|
bonding_strategy: SettingType<BondingStrategy>;
|
|
30
89
|
show_gizmo: SettingType<boolean>;
|
|
31
90
|
camera_position: SettingType<Vec3>;
|
|
32
|
-
camera_projection: SettingType
|
|
91
|
+
camera_projection: SettingType<CameraProjection>;
|
|
33
92
|
initial_zoom: SettingType<number>;
|
|
34
93
|
fov: SettingType<number>;
|
|
35
94
|
rotation_damping: SettingType<number>;
|
|
@@ -77,11 +136,6 @@ export interface SettingsConfig {
|
|
|
77
136
|
text_file_threshold: SettingType<number>;
|
|
78
137
|
use_indexing: SettingType<boolean>;
|
|
79
138
|
chunk_size: SettingType<number>;
|
|
80
|
-
histogram_mode: SettingType<`overlay` | `single`>;
|
|
81
|
-
histogram_show_legend: SettingType<boolean>;
|
|
82
|
-
histogram_bin_count: SettingType<number>;
|
|
83
|
-
histogram_bar_opacity: SettingType<number>;
|
|
84
|
-
histogram_bar_stroke_width: SettingType<number>;
|
|
85
139
|
step_label_format: SettingType<string>;
|
|
86
140
|
property_value_format: SettingType<string>;
|
|
87
141
|
tooltip_format: SettingType<string>;
|
|
@@ -107,10 +161,11 @@ export interface SettingsConfig {
|
|
|
107
161
|
auto_fit_range: SettingType<boolean>;
|
|
108
162
|
grid_lines: SettingType<boolean>;
|
|
109
163
|
axis_labels: SettingType<boolean>;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
164
|
+
show_x_zero_line: SettingType<boolean>;
|
|
165
|
+
show_y_zero_line: SettingType<boolean>;
|
|
166
|
+
show_x_grid: SettingType<boolean>;
|
|
167
|
+
show_y_grid: SettingType<boolean>;
|
|
168
|
+
show_y2_grid: SettingType<boolean>;
|
|
114
169
|
x_format: SettingType<string>;
|
|
115
170
|
y_format: SettingType<string>;
|
|
116
171
|
y2_format: SettingType<string>;
|
|
@@ -120,84 +175,39 @@ export interface SettingsConfig {
|
|
|
120
175
|
y_ticks: SettingType<number>;
|
|
121
176
|
};
|
|
122
177
|
scatter: {
|
|
123
|
-
point_size: SettingType<number>;
|
|
124
178
|
show_legend: SettingType<boolean>;
|
|
125
|
-
markers: SettingType<Markers>;
|
|
126
|
-
point_color: SettingType<string>;
|
|
127
|
-
point_opacity: SettingType<number>;
|
|
128
|
-
point_stroke_width: SettingType<number>;
|
|
129
|
-
point_stroke_color: SettingType<string>;
|
|
130
|
-
point_stroke_opacity: SettingType<number>;
|
|
131
|
-
line_width: SettingType<number>;
|
|
132
|
-
line_color: SettingType<string>;
|
|
133
|
-
line_opacity: SettingType<number>;
|
|
134
|
-
line_dash: SettingType<string>;
|
|
135
179
|
show_points: SettingType<boolean>;
|
|
136
180
|
show_lines: SettingType<boolean>;
|
|
137
181
|
symbol_type: SettingType<D3SymbolName>;
|
|
182
|
+
display: DisplayConfigType;
|
|
183
|
+
point: PointStyleType;
|
|
184
|
+
line: LineStyleType;
|
|
185
|
+
};
|
|
186
|
+
histogram: {
|
|
187
|
+
mode: SettingType<`overlay` | `single`>;
|
|
188
|
+
show_legend: SettingType<boolean>;
|
|
189
|
+
bin_count: SettingType<number>;
|
|
190
|
+
bar: BarStyleType;
|
|
191
|
+
display: DisplayConfigType;
|
|
192
|
+
};
|
|
193
|
+
bar: {
|
|
194
|
+
display: DisplayConfigType;
|
|
195
|
+
bar: SimpleBarStyleType;
|
|
196
|
+
line: SimpleLineStyleType;
|
|
138
197
|
};
|
|
139
198
|
composition: {
|
|
140
199
|
display_mode: SettingType<`pie` | `bubble` | `bar`>;
|
|
141
200
|
color_scheme: SettingType<string>;
|
|
142
201
|
};
|
|
143
202
|
phase_diagram: {
|
|
144
|
-
binary:
|
|
145
|
-
|
|
146
|
-
camera_center_x: SettingType<number>;
|
|
147
|
-
camera_center_y: SettingType<number>;
|
|
148
|
-
color_mode: SettingType<`stability` | `energy`>;
|
|
149
|
-
color_scale: SettingType<string>;
|
|
150
|
-
show_stable: SettingType<boolean>;
|
|
151
|
-
show_unstable: SettingType<boolean>;
|
|
152
|
-
show_stable_labels: SettingType<boolean>;
|
|
153
|
-
show_unstable_labels: SettingType<boolean>;
|
|
154
|
-
energy_threshold: SettingType<number>;
|
|
155
|
-
label_energy_threshold: SettingType<number>;
|
|
156
|
-
fullscreen: SettingType<boolean>;
|
|
157
|
-
info_pane_open: SettingType<boolean>;
|
|
158
|
-
legend_pane_open: SettingType<boolean>;
|
|
159
|
-
};
|
|
160
|
-
ternary: {
|
|
203
|
+
binary: PhaseDiagramCommonType;
|
|
204
|
+
ternary: PhaseDiagramWith3DType & {
|
|
161
205
|
camera_elevation: SettingType<number>;
|
|
162
206
|
camera_azimuth: SettingType<number>;
|
|
163
|
-
camera_zoom: SettingType<number>;
|
|
164
|
-
camera_center_x: SettingType<number>;
|
|
165
|
-
camera_center_y: SettingType<number>;
|
|
166
|
-
color_mode: SettingType<`stability` | `energy`>;
|
|
167
|
-
color_scale: SettingType<string>;
|
|
168
|
-
show_stable: SettingType<boolean>;
|
|
169
|
-
show_unstable: SettingType<boolean>;
|
|
170
|
-
show_stable_labels: SettingType<boolean>;
|
|
171
|
-
show_unstable_labels: SettingType<boolean>;
|
|
172
|
-
energy_threshold: SettingType<number>;
|
|
173
|
-
label_energy_threshold: SettingType<number>;
|
|
174
|
-
show_hull_faces: SettingType<boolean>;
|
|
175
|
-
hull_face_color: SettingType<string>;
|
|
176
|
-
hull_face_opacity: SettingType<number>;
|
|
177
|
-
fullscreen: SettingType<boolean>;
|
|
178
|
-
info_pane_open: SettingType<boolean>;
|
|
179
|
-
legend_pane_open: SettingType<boolean>;
|
|
180
207
|
};
|
|
181
|
-
quaternary: {
|
|
208
|
+
quaternary: PhaseDiagramWith3DType & {
|
|
182
209
|
camera_rotation_x: SettingType<number>;
|
|
183
210
|
camera_rotation_y: SettingType<number>;
|
|
184
|
-
camera_zoom: SettingType<number>;
|
|
185
|
-
camera_center_x: SettingType<number>;
|
|
186
|
-
camera_center_y: SettingType<number>;
|
|
187
|
-
color_mode: SettingType<`stability` | `energy`>;
|
|
188
|
-
color_scale: SettingType<string>;
|
|
189
|
-
show_stable: SettingType<boolean>;
|
|
190
|
-
show_unstable: SettingType<boolean>;
|
|
191
|
-
show_stable_labels: SettingType<boolean>;
|
|
192
|
-
show_unstable_labels: SettingType<boolean>;
|
|
193
|
-
show_hull_faces: SettingType<boolean>;
|
|
194
|
-
hull_face_color: SettingType<string>;
|
|
195
|
-
hull_face_opacity: SettingType<number>;
|
|
196
|
-
energy_threshold: SettingType<number>;
|
|
197
|
-
label_energy_threshold: SettingType<number>;
|
|
198
|
-
fullscreen: SettingType<boolean>;
|
|
199
|
-
info_pane_open: SettingType<boolean>;
|
|
200
|
-
legend_pane_open: SettingType<boolean>;
|
|
201
211
|
};
|
|
202
212
|
};
|
|
203
213
|
}
|
|
@@ -213,3 +223,4 @@ export declare const DEFAULTS: DefaultSettings;
|
|
|
213
223
|
export declare const merge: (user?: Partial<DefaultSettings>) => DefaultSettings;
|
|
214
224
|
export type PhaseDiagramDefaults = DefaultSettings[`phase_diagram`];
|
|
215
225
|
export declare const PD_DEFAULTS: PhaseDiagramDefaults;
|
|
226
|
+
export {};
|