@mat3ra/esse 2025.8.8-0 → 2025.8.9-0

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 (27) hide show
  1. package/dist/js/example/core/reusable/coordinate_conditions/cylinder.json +6 -0
  2. package/dist/js/example/core/reusable/coordinate_conditions/plane.json +13 -0
  3. package/dist/js/example/core/reusable/coordinate_conditions/sphere.json +4 -0
  4. package/dist/js/example/core/reusable/coordinate_conditions/triangular_prism.json +17 -0
  5. package/dist/js/schema/core/reusable/coordinate_conditions/box.json +1 -0
  6. package/dist/js/schema/core/reusable/coordinate_conditions/cylinder.json +39 -0
  7. package/dist/js/schema/core/reusable/coordinate_conditions/plane.json +48 -0
  8. package/dist/js/schema/core/reusable/coordinate_conditions/sphere.json +31 -0
  9. package/dist/js/schema/core/reusable/coordinate_conditions/triangular_prism.json +67 -0
  10. package/dist/js/schema/core/reusable/coordinate_conditions.json +182 -0
  11. package/dist/js/schema/materials_category/defective_structures/two_dimensional/island/configuration.json +182 -0
  12. package/dist/js/schema/materials_category/defective_structures/two_dimensional/terrace/configuration.json +182 -0
  13. package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/void_region.json +182 -0
  14. package/dist/js/schema/materials_category_components/entities/core/three_dimensional/void.json +182 -0
  15. package/dist/js/schemas.json +1 -1
  16. package/dist/js/types.d.ts +254 -0
  17. package/example/core/reusable/coordinate_conditions/cylinder.json +6 -0
  18. package/example/core/reusable/coordinate_conditions/plane.json +9 -0
  19. package/example/core/reusable/coordinate_conditions/sphere.json +4 -0
  20. package/example/core/reusable/coordinate_conditions/triangular_prism.json +11 -0
  21. package/package.json +1 -1
  22. package/schema/core/reusable/coordinate_conditions/box.json +2 -1
  23. package/schema/core/reusable/coordinate_conditions/cylinder.json +31 -0
  24. package/schema/core/reusable/coordinate_conditions/index.json +12 -0
  25. package/schema/core/reusable/coordinate_conditions/plane.json +26 -0
  26. package/schema/core/reusable/coordinate_conditions/sphere.json +23 -0
  27. package/schema/core/reusable/coordinate_conditions/triangular_prism.json +38 -0
@@ -2795,8 +2795,67 @@ export interface BoxCoordinateConditionSchema {
2795
2795
  */
2796
2796
  max_coordinate: [number, number, number];
2797
2797
  }
2798
+ /** Schema dist/js/schema/core/reusable/coordinate_conditions/cylinder.json */
2799
+ /**
2800
+ * Base interface for coordinate shape filters
2801
+ */
2802
+ export interface CylinderCoordinateConditionSchema {
2803
+ shape: "cylinder";
2804
+ radius: number;
2805
+ min_z: number;
2806
+ max_z: number;
2807
+ }
2798
2808
  /** Schema dist/js/schema/core/reusable/coordinate_conditions/enum.json */
2799
2809
  export type CoordinateShapeEnum = "cylinder" | "sphere" | "box" | "triangular_prism" | "plane";
2810
+ /** Schema dist/js/schema/core/reusable/coordinate_conditions/plane.json */
2811
+ /**
2812
+ * Base interface for coordinate shape filters
2813
+ */
2814
+ export interface PlaneCoordinateConditionSchema {
2815
+ shape: "plane";
2816
+ /**
2817
+ * @minItems 3
2818
+ * @maxItems 3
2819
+ */
2820
+ plane_normal: [number, number, number];
2821
+ /**
2822
+ * @minItems 3
2823
+ * @maxItems 3
2824
+ */
2825
+ plane_point_coordinate: [number, number, number];
2826
+ }
2827
+ /** Schema dist/js/schema/core/reusable/coordinate_conditions/sphere.json */
2828
+ /**
2829
+ * Base interface for coordinate shape filters
2830
+ */
2831
+ export interface SphereCoordinateConditionSchema {
2832
+ shape: "sphere";
2833
+ radius: number;
2834
+ }
2835
+ /** Schema dist/js/schema/core/reusable/coordinate_conditions/triangular_prism.json */
2836
+ /**
2837
+ * Base interface for coordinate shape filters
2838
+ */
2839
+ export interface TriangularPrismCoordinateConditionSchema {
2840
+ shape: "triangular_prism";
2841
+ /**
2842
+ * @minItems 2
2843
+ * @maxItems 2
2844
+ */
2845
+ position_on_surface_1: [number, number];
2846
+ /**
2847
+ * @minItems 2
2848
+ * @maxItems 2
2849
+ */
2850
+ position_on_surface_2: [number, number];
2851
+ /**
2852
+ * @minItems 2
2853
+ * @maxItems 2
2854
+ */
2855
+ position_on_surface_3: [number, number];
2856
+ min_z: number;
2857
+ max_z: number;
2858
+ }
2800
2859
  /** Schema dist/js/schema/core/reusable/coordinate_conditions.json */
2801
2860
  /**
2802
2861
  * Combined schema for all coordinate condition types
@@ -2813,6 +2872,45 @@ export type CoordinateConditionsSchema = {
2813
2872
  * @maxItems 3
2814
2873
  */
2815
2874
  max_coordinate: [number, number, number];
2875
+ } | {
2876
+ shape: "sphere";
2877
+ radius: number;
2878
+ } | {
2879
+ shape: "cylinder";
2880
+ radius: number;
2881
+ min_z: number;
2882
+ max_z: number;
2883
+ } | {
2884
+ shape: "triangular_prism";
2885
+ /**
2886
+ * @minItems 2
2887
+ * @maxItems 2
2888
+ */
2889
+ position_on_surface_1: [number, number];
2890
+ /**
2891
+ * @minItems 2
2892
+ * @maxItems 2
2893
+ */
2894
+ position_on_surface_2: [number, number];
2895
+ /**
2896
+ * @minItems 2
2897
+ * @maxItems 2
2898
+ */
2899
+ position_on_surface_3: [number, number];
2900
+ min_z: number;
2901
+ max_z: number;
2902
+ } | {
2903
+ shape: "plane";
2904
+ /**
2905
+ * @minItems 3
2906
+ * @maxItems 3
2907
+ */
2908
+ plane_normal: [number, number, number];
2909
+ /**
2910
+ * @minItems 3
2911
+ * @maxItems 3
2912
+ */
2913
+ plane_point_coordinate: [number, number, number];
2816
2914
  };
2817
2915
  /** Schema dist/js/schema/core/reusable/dielectric_tensor_component.json */
2818
2916
  /**
@@ -21555,6 +21653,45 @@ export interface IslandDefectConfigurationSchema {
21555
21653
  * @maxItems 3
21556
21654
  */
21557
21655
  max_coordinate: [number, number, number];
21656
+ } | {
21657
+ shape: "sphere";
21658
+ radius: number;
21659
+ } | {
21660
+ shape: "cylinder";
21661
+ radius: number;
21662
+ min_z: number;
21663
+ max_z: number;
21664
+ } | {
21665
+ shape: "triangular_prism";
21666
+ /**
21667
+ * @minItems 2
21668
+ * @maxItems 2
21669
+ */
21670
+ position_on_surface_1: [number, number];
21671
+ /**
21672
+ * @minItems 2
21673
+ * @maxItems 2
21674
+ */
21675
+ position_on_surface_2: [number, number];
21676
+ /**
21677
+ * @minItems 2
21678
+ * @maxItems 2
21679
+ */
21680
+ position_on_surface_3: [number, number];
21681
+ min_z: number;
21682
+ max_z: number;
21683
+ } | {
21684
+ shape: "plane";
21685
+ /**
21686
+ * @minItems 3
21687
+ * @maxItems 3
21688
+ */
21689
+ plane_normal: [number, number, number];
21690
+ /**
21691
+ * @minItems 3
21692
+ * @maxItems 3
21693
+ */
21694
+ plane_point_coordinate: [number, number, number];
21558
21695
  };
21559
21696
  }
21560
21697
  ];
@@ -23308,6 +23445,45 @@ export interface TerraceDefectConfigurationSchema {
23308
23445
  * @maxItems 3
23309
23446
  */
23310
23447
  max_coordinate: [number, number, number];
23448
+ } | {
23449
+ shape: "sphere";
23450
+ radius: number;
23451
+ } | {
23452
+ shape: "cylinder";
23453
+ radius: number;
23454
+ min_z: number;
23455
+ max_z: number;
23456
+ } | {
23457
+ shape: "triangular_prism";
23458
+ /**
23459
+ * @minItems 2
23460
+ * @maxItems 2
23461
+ */
23462
+ position_on_surface_1: [number, number];
23463
+ /**
23464
+ * @minItems 2
23465
+ * @maxItems 2
23466
+ */
23467
+ position_on_surface_2: [number, number];
23468
+ /**
23469
+ * @minItems 2
23470
+ * @maxItems 2
23471
+ */
23472
+ position_on_surface_3: [number, number];
23473
+ min_z: number;
23474
+ max_z: number;
23475
+ } | {
23476
+ shape: "plane";
23477
+ /**
23478
+ * @minItems 3
23479
+ * @maxItems 3
23480
+ */
23481
+ plane_normal: [number, number, number];
23482
+ /**
23483
+ * @minItems 3
23484
+ * @maxItems 3
23485
+ */
23486
+ plane_point_coordinate: [number, number, number];
23311
23487
  };
23312
23488
  }
23313
23489
  ];
@@ -30687,6 +30863,45 @@ export interface VoidRegionSchema {
30687
30863
  * @maxItems 3
30688
30864
  */
30689
30865
  max_coordinate: [number, number, number];
30866
+ } | {
30867
+ shape: "sphere";
30868
+ radius: number;
30869
+ } | {
30870
+ shape: "cylinder";
30871
+ radius: number;
30872
+ min_z: number;
30873
+ max_z: number;
30874
+ } | {
30875
+ shape: "triangular_prism";
30876
+ /**
30877
+ * @minItems 2
30878
+ * @maxItems 2
30879
+ */
30880
+ position_on_surface_1: [number, number];
30881
+ /**
30882
+ * @minItems 2
30883
+ * @maxItems 2
30884
+ */
30885
+ position_on_surface_2: [number, number];
30886
+ /**
30887
+ * @minItems 2
30888
+ * @maxItems 2
30889
+ */
30890
+ position_on_surface_3: [number, number];
30891
+ min_z: number;
30892
+ max_z: number;
30893
+ } | {
30894
+ shape: "plane";
30895
+ /**
30896
+ * @minItems 3
30897
+ * @maxItems 3
30898
+ */
30899
+ plane_normal: [number, number, number];
30900
+ /**
30901
+ * @minItems 3
30902
+ * @maxItems 3
30903
+ */
30904
+ plane_point_coordinate: [number, number, number];
30690
30905
  };
30691
30906
  }
30692
30907
  /** Schema dist/js/schema/materials_category_components/entities/core/three_dimensional/crystal.json */
@@ -30974,6 +31189,45 @@ export interface VoidSchema {
30974
31189
  * @maxItems 3
30975
31190
  */
30976
31191
  max_coordinate: [number, number, number];
31192
+ } | {
31193
+ shape: "sphere";
31194
+ radius: number;
31195
+ } | {
31196
+ shape: "cylinder";
31197
+ radius: number;
31198
+ min_z: number;
31199
+ max_z: number;
31200
+ } | {
31201
+ shape: "triangular_prism";
31202
+ /**
31203
+ * @minItems 2
31204
+ * @maxItems 2
31205
+ */
31206
+ position_on_surface_1: [number, number];
31207
+ /**
31208
+ * @minItems 2
31209
+ * @maxItems 2
31210
+ */
31211
+ position_on_surface_2: [number, number];
31212
+ /**
31213
+ * @minItems 2
31214
+ * @maxItems 2
31215
+ */
31216
+ position_on_surface_3: [number, number];
31217
+ min_z: number;
31218
+ max_z: number;
31219
+ } | {
31220
+ shape: "plane";
31221
+ /**
31222
+ * @minItems 3
31223
+ * @maxItems 3
31224
+ */
31225
+ plane_normal: [number, number, number];
31226
+ /**
31227
+ * @minItems 3
31228
+ * @maxItems 3
31229
+ */
31230
+ plane_point_coordinate: [number, number, number];
30977
31231
  };
30978
31232
  }
30979
31233
  /** Schema dist/js/schema/materials_category_components/entities/core/two_dimensional/vacuum.json */
@@ -0,0 +1,6 @@
1
+ {
2
+ "shape": "cylinder",
3
+ "radius": 0.25,
4
+ "min_z": 0,
5
+ "max_z": 1
6
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "shape": "plane",
3
+ "plane_normal": [ 0.0,
4
+ 0.0,
5
+ 1.0 ],
6
+ "plane_point_coordinate": [ 0.0,
7
+ 0.0,
8
+ 0.5 ]
9
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "shape": "sphere",
3
+ "radius": 0.25
4
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "shape": "triangular_prism",
3
+ "position_on_surface_1": [ 0.25,
4
+ 0.25 ],
5
+ "position_on_surface_2": [ 0.75,
6
+ 0.25 ],
7
+ "position_on_surface_3": [ 0.5,
8
+ 0.75 ],
9
+ "min_z": 0,
10
+ "max_z": 1
11
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mat3ra/esse",
3
- "version": "2025.8.8-0",
3
+ "version": "2025.8.9-0",
4
4
  "description": "Mat3ra's Excellent Source of Schemas and Examples (ESSE) for Digital Materials R&D",
5
5
  "scripts": {
6
6
  "transpile": "tsc -p tsconfig-transpile.json",
@@ -9,7 +9,8 @@
9
9
  ],
10
10
  "properties": {
11
11
  "shape": {
12
- "const": "box"
12
+ "const": "box",
13
+ "default": "box"
13
14
  },
14
15
  "min_coordinate": {
15
16
  "$ref": "../../abstract/coordinate_3d.json"
@@ -0,0 +1,31 @@
1
+ {
2
+ "$id": "core/reusable/coordinate-conditions/cylinder",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Cylinder Coordinate Condition Schema",
5
+ "allOf": [
6
+ {
7
+ "$ref": "base.json"
8
+ }
9
+ ],
10
+ "properties": {
11
+ "shape": {
12
+ "const": "cylinder",
13
+ "default": "cylinder"
14
+ },
15
+ "radius": {
16
+ "type": "number",
17
+ "minimum": 0
18
+ },
19
+ "min_z": {
20
+ "type": "number"
21
+ },
22
+ "max_z": {
23
+ "type": "number"
24
+ }
25
+ },
26
+ "required": [
27
+ "radius",
28
+ "min_z",
29
+ "max_z"
30
+ ]
31
+ }
@@ -6,6 +6,18 @@
6
6
  "oneOf": [
7
7
  {
8
8
  "$ref": "box.json"
9
+ },
10
+ {
11
+ "$ref": "sphere.json"
12
+ },
13
+ {
14
+ "$ref": "cylinder.json"
15
+ },
16
+ {
17
+ "$ref": "triangular_prism.json"
18
+ },
19
+ {
20
+ "$ref": "plane.json"
9
21
  }
10
22
  ]
11
23
  }
@@ -0,0 +1,26 @@
1
+ {
2
+ "$id": "core/reusable/coordinate-conditions/plane",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Plane Coordinate Condition Schema",
5
+ "allOf": [
6
+ {
7
+ "$ref": "base.json"
8
+ }
9
+ ],
10
+ "properties": {
11
+ "shape": {
12
+ "const": "plane",
13
+ "default": "plane"
14
+ },
15
+ "plane_normal": {
16
+ "$ref": "../../abstract/coordinate_3d.json"
17
+ },
18
+ "plane_point_coordinate": {
19
+ "$ref": "../../abstract/coordinate_3d.json"
20
+ }
21
+ },
22
+ "required": [
23
+ "plane_normal",
24
+ "plane_point_coordinate"
25
+ ]
26
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$id": "core/reusable/coordinate-conditions/sphere",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Sphere Coordinate Condition Schema",
5
+ "allOf": [
6
+ {
7
+ "$ref": "base.json"
8
+ }
9
+ ],
10
+ "properties": {
11
+ "shape": {
12
+ "const": "sphere",
13
+ "default": "sphere"
14
+ },
15
+ "radius": {
16
+ "type": "number",
17
+ "minimum": 0
18
+ }
19
+ },
20
+ "required": [
21
+ "radius"
22
+ ]
23
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "$id": "core/reusable/coordinate-conditions/triangular-prism",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Triangular Prism Coordinate Condition Schema",
5
+ "allOf": [
6
+ {
7
+ "$ref": "base.json"
8
+ }
9
+ ],
10
+ "properties": {
11
+ "shape": {
12
+ "const": "triangular_prism",
13
+ "default": "triangular_prism"
14
+ },
15
+ "position_on_surface_1": {
16
+ "$ref": "../../primitive/array_of_2_numbers.json"
17
+ },
18
+ "position_on_surface_2": {
19
+ "$ref": "../../primitive/array_of_2_numbers.json"
20
+ },
21
+ "position_on_surface_3": {
22
+ "$ref": "../../primitive/array_of_2_numbers.json"
23
+ },
24
+ "min_z": {
25
+ "type": "number"
26
+ },
27
+ "max_z": {
28
+ "type": "number"
29
+ }
30
+ },
31
+ "required": [
32
+ "position_on_surface_1",
33
+ "position_on_surface_2",
34
+ "position_on_surface_3",
35
+ "min_z",
36
+ "max_z"
37
+ ]
38
+ }