@mat3ra/esse 2025.5.17-1 → 2025.6.5-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 (175) hide show
  1. package/dist/js/example/apse/materials/builders/slab/pymatgen/parameters.json +1 -1
  2. package/dist/js/example/core/reusable/coordinate_conditions/box.json +13 -0
  3. package/dist/js/example/materials_category/pristine_structures/two_dimensional/slab.json +160 -0
  4. package/dist/js/example/{material/reusable → materials_category_components/entities/auxiliary/three_dimensional}/supercell_matrix_3d.json +2 -2
  5. package/dist/js/example/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json +7 -0
  6. package/dist/js/example/materials_category_components/entities/core/three_dimensional/crystal.json +128 -0
  7. package/dist/js/example/materials_category_components/entities/core/three_dimensional/void.json +20 -0
  8. package/dist/js/example/materials_category_components/entities/core/two_dimensional/vacuum.json +4 -0
  9. package/dist/js/example/materials_category_components/entities/core/zero_dimensional/atom.json +3 -0
  10. package/dist/js/example/materials_category_components/entities/reusable/repetitions.json +5 -0
  11. package/dist/js/example/materials_category_components/operations/core/combinations/merge.json +137 -0
  12. package/dist/js/example/materials_category_components/operations/core/combinations/stack.json +137 -0
  13. package/dist/js/example/materials_category_components/operations/core/combinations/stack_component.json +128 -0
  14. package/dist/js/example/materials_category_components/operations/core/modifications/repeat.json +19 -0
  15. package/dist/js/example/materials_category_components/operations/core/modifications/strain.json +19 -0
  16. package/dist/js/json_include/index.js +1 -0
  17. package/dist/js/schema/apse/materials/builders/slab/pymatgen/parameters.json +3 -3
  18. package/dist/js/schema/core/primitive/array_of_3_integers.json +11 -0
  19. package/dist/js/schema/core/reusable/axis_enum.json +12 -0
  20. package/dist/js/schema/core/reusable/coordinate_conditions/base.json +24 -0
  21. package/dist/js/schema/core/reusable/coordinate_conditions/box.json +47 -0
  22. package/dist/js/schema/core/reusable/coordinate_conditions/enum.json +13 -0
  23. package/dist/js/schema/core/reusable/coordinate_conditions.json +54 -0
  24. package/dist/js/schema/materials_category/pristine_structures/three_dimensional/ideal_crystal.json +757 -0
  25. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab.json +1035 -0
  26. package/dist/js/schema/{material/reusable → materials_category_components/entities/auxiliary/three_dimensional}/supercell_matrix_3d.json +3 -1
  27. package/dist/js/schema/{material/reusable/slab → materials_category_components/entities/auxiliary/two_dimensional}/miller_indices.json +5 -5
  28. package/dist/js/schema/{material/reusable → materials_category_components/entities/auxiliary/two_dimensional}/supercell_matrix_2d.json +1 -1
  29. package/dist/js/schema/{material/reusable/slab → materials_category_components/entities/auxiliary/two_dimensional}/termination.json +1 -1
  30. package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json +22 -0
  31. package/dist/js/schema/materials_category_components/entities/core/three_dimensional/crystal.json +757 -0
  32. package/dist/js/schema/materials_category_components/entities/core/three_dimensional/void.json +76 -0
  33. package/dist/js/schema/materials_category_components/entities/core/two_dimensional/vacuum.json +30 -0
  34. package/dist/js/schema/materials_category_components/entities/core/zero_dimensional/atom.json +134 -0
  35. package/dist/js/schema/{material → materials_category_components/entities}/reusable/repetitions.json +1 -1
  36. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.json +786 -0
  37. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_uniform.json +773 -0
  38. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/supercell.json +786 -0
  39. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers.json +947 -0
  40. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.json +947 -0
  41. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.json +948 -0
  42. package/dist/js/schema/{materials_category/single_material/two_dimensional/slab/configuration.json → materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.json} +16 -65
  43. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.json +1009 -0
  44. package/dist/js/schema/materials_category_components/operations/core/combinations/merge.json +884 -0
  45. package/dist/js/schema/materials_category_components/operations/core/combinations/stack.json +818 -0
  46. package/dist/js/schema/materials_category_components/operations/core/combinations/stack_component.json +793 -0
  47. package/dist/js/schema/materials_category_components/operations/core/modifications/repeat.json +42 -0
  48. package/dist/js/schema/materials_category_components/operations/core/modifications/strain.json +24 -0
  49. package/dist/js/schemas.json +1 -1
  50. package/dist/js/types.d.ts +3102 -1537
  51. package/example/apse/materials/builders/slab/pymatgen/parameters.json +1 -1
  52. package/example/core/reusable/coordinate_conditions/box.json +13 -0
  53. package/example/materials_category/pristine_structures/two-dimensional/slab.json +35 -0
  54. package/example/materials_category_components/entities/auxiliary/three-dimensional/supercell_matrix_3d.json +5 -0
  55. package/example/materials_category_components/entities/auxiliary/two-dimensional/miller_indices.json +1 -0
  56. package/example/materials_category_components/entities/auxiliary/two-dimensional/supercell_matrix_2d.json +4 -0
  57. package/example/{material/reusable/slab → materials_category_components/entities/auxiliary/two-dimensional}/termination.json +1 -1
  58. package/example/materials_category_components/entities/auxiliary/zero-dimensional/crystal_site.json +3 -0
  59. package/example/materials_category_components/entities/core/three-dimensional/crystal.json +3 -0
  60. package/example/materials_category_components/entities/core/three-dimensional/void.json +8 -0
  61. package/example/materials_category_components/entities/core/two-dimensional/vacuum.json +4 -0
  62. package/example/materials_category_components/entities/core/zero-dimensional/atom.json +3 -0
  63. package/example/materials_category_components/entities/reusable/repetitions.json +1 -0
  64. package/example/materials_category_components/operations/core/combinations/merge.json +11 -0
  65. package/example/materials_category_components/operations/core/combinations/stack.json +11 -0
  66. package/example/materials_category_components/operations/core/combinations/stack_component.json +3 -0
  67. package/example/materials_category_components/operations/core/modifications/repeat.json +13 -0
  68. package/example/materials_category_components/operations/core/modifications/strain.json +7 -0
  69. package/package.json +1 -1
  70. package/schema/apse/materials/builders/slab/pymatgen/parameters.json +3 -3
  71. package/schema/core/primitive/array_of_3_integers.json +11 -0
  72. package/schema/core/primitive/axis_3d_names_enum.json +12 -0
  73. package/schema/core/reusable/coordinate_conditions/base.json +15 -0
  74. package/schema/core/reusable/coordinate_conditions/box.json +25 -0
  75. package/schema/core/reusable/coordinate_conditions/enum.json +13 -0
  76. package/schema/core/reusable/coordinate_conditions/index.json +11 -0
  77. package/schema/materials_category/manifest.yaml +268 -0
  78. package/schema/materials_category/pristine_structures/three-dimensional/ideal_crystal.json +11 -0
  79. package/schema/materials_category/pristine_structures/two-dimensional/slab.json +17 -0
  80. package/schema/{material/reusable → materials_category_components/entities/auxiliary/three-dimensional}/supercell_matrix_3d.json +2 -7
  81. package/schema/materials_category_components/entities/auxiliary/two-dimensional/miller_indices.json +16 -0
  82. package/schema/{material/reusable → materials_category_components/entities/auxiliary/two-dimensional}/supercell_matrix_2d.json +1 -1
  83. package/schema/{material/reusable/slab → materials_category_components/entities/auxiliary/two-dimensional}/termination.json +2 -2
  84. package/schema/materials_category_components/entities/auxiliary/zero-dimensional/crystal_site.json +15 -0
  85. package/schema/materials_category_components/entities/core/three-dimensional/crystal.json +11 -0
  86. package/schema/materials_category_components/entities/core/three-dimensional/void.json +19 -0
  87. package/schema/materials_category_components/entities/core/two-dimensional/vacuum.json +22 -0
  88. package/schema/materials_category_components/entities/core/zero-dimensional/atom.json +15 -0
  89. package/schema/{material → materials_category_components/entities}/reusable/repetitions.json +1 -1
  90. package/schema/materials_category_components/entities/reusable/three-dimensional/strained_non_uniform.json +20 -0
  91. package/schema/materials_category_components/entities/reusable/three-dimensional/strained_uniform.json +20 -0
  92. package/schema/materials_category_components/entities/reusable/three-dimensional/supercell.json +20 -0
  93. package/schema/materials_category_components/entities/reusable/two-dimensional/atomic_layers.json +12 -0
  94. package/schema/materials_category_components/entities/reusable/two-dimensional/atomic_layers_unique.json +25 -0
  95. package/schema/materials_category_components/entities/reusable/two-dimensional/atomic_layers_unique_repeated.json +27 -0
  96. package/schema/materials_category_components/entities/reusable/two-dimensional/crystal_lattice_planes.json +25 -0
  97. package/schema/materials_category_components/entities/reusable/two-dimensional/slab_unit_cell.json +33 -0
  98. package/schema/materials_category_components/operations/core/combinations/merge.json +33 -0
  99. package/schema/materials_category_components/operations/core/combinations/stack.json +21 -0
  100. package/schema/materials_category_components/operations/core/combinations/stack_component.json +14 -0
  101. package/schema/materials_category_components/operations/core/modifications/repeat.json +10 -0
  102. package/schema/materials_category_components/operations/core/modifications/strain.json +10 -0
  103. package/src/js/json_include/index.ts +1 -0
  104. package/dist/js/example/material/builders/base/selector_parameters.json +0 -3
  105. package/dist/js/example/material/builders/single_material/two_dimensional/slab/selector_parameters.json +0 -6
  106. package/dist/js/example/material/reusable/repetitions.json +0 -5
  107. package/dist/js/example/material/reusable/slab/number_of_layers.json +0 -1
  108. package/dist/js/example/material/reusable/slab/vacuum.json +0 -1
  109. package/dist/js/example/materials_category/defects/by_host/two_dimensional/adatom/configuration.json +0 -138
  110. package/dist/js/example/materials_category/defects/by_host/two_dimensional/point/configuration.json +0 -135
  111. package/dist/js/example/materials_category/defects/configuration.json +0 -130
  112. package/dist/js/example/materials_category/defects/one_dimensional/terrace/configuration.json +0 -144
  113. package/dist/js/example/materials_category/defects/zero_dimensional/complex/pair/configuration.json +0 -406
  114. package/dist/js/example/materials_category/defects/zero_dimensional/point/configuration.json +0 -138
  115. package/dist/js/example/materials_category/defects/zero_dimensional/point/interstitial/configuration.json +0 -139
  116. package/dist/js/example/materials_category/defects/zero_dimensional/point/substitution/configuration.json +0 -138
  117. package/dist/js/example/materials_category/defects/zero_dimensional/point/vacancy/configuration.json +0 -137
  118. package/dist/js/example/materials_category/single_material/two_dimensional/slab/configuration.json +0 -150
  119. package/dist/js/schema/material/builders/base/selector_parameters.json +0 -15
  120. package/dist/js/schema/material/builders/single_material/two_dimensional/slab/builder_parameters.json +0 -33
  121. package/dist/js/schema/material/builders/single_material/two_dimensional/slab/selector_parameters.json +0 -159
  122. package/dist/js/schema/material/reusable/slab/enums/exposed_face.json +0 -11
  123. package/dist/js/schema/material/reusable/slab/number_of_layers.json +0 -9
  124. package/dist/js/schema/material/reusable/slab/vacuum.json +0 -9
  125. package/dist/js/schema/materials_category/defects/by_host/two_dimensional/adatom/configuration.json +0 -926
  126. package/dist/js/schema/materials_category/defects/by_host/two_dimensional/layered/configuration.json +0 -794
  127. package/dist/js/schema/materials_category/defects/by_host/two_dimensional/point/configuration.json +0 -803
  128. package/dist/js/schema/materials_category/defects/configuration.json +0 -786
  129. package/dist/js/schema/materials_category/defects/enums/point_defect_type.json +0 -11
  130. package/dist/js/schema/materials_category/defects/one_dimensional/terrace/configuration.json +0 -831
  131. package/dist/js/schema/materials_category/defects/zero_dimensional/complex/pair/configuration.json +0 -2634
  132. package/dist/js/schema/materials_category/defects/zero_dimensional/point/configuration.json +0 -925
  133. package/dist/js/schema/materials_category/defects/zero_dimensional/point/interstitial/configuration.json +0 -926
  134. package/dist/js/schema/materials_category/defects/zero_dimensional/point/substitution/configuration.json +0 -926
  135. package/dist/js/schema/materials_category/defects/zero_dimensional/point/vacancy/configuration.json +0 -926
  136. package/example/material/builders/base/selector_parameters.json +0 -3
  137. package/example/material/builders/single_material/two_dimensional/slab/selector_parameters.json +0 -6
  138. package/example/material/reusable/repetitions.json +0 -1
  139. package/example/material/reusable/slab/miller_indices.json +0 -5
  140. package/example/material/reusable/slab/number_of_layers.json +0 -1
  141. package/example/material/reusable/slab/vacuum.json +0 -1
  142. package/example/material/reusable/supercell_matrix_2d.json +0 -10
  143. package/example/material/reusable/supercell_matrix_3d.json +0 -5
  144. package/example/materials_category/defects/by_host/two-dimensional/adatom/configuration.json +0 -11
  145. package/example/materials_category/defects/by_host/two-dimensional/point/configuration.json +0 -8
  146. package/example/materials_category/defects/configuration.json +0 -5
  147. package/example/materials_category/defects/one-dimensional/terrace/configuration.json +0 -19
  148. package/example/materials_category/defects/zero-dimensional/complex/pair/configuration.json +0 -9
  149. package/example/materials_category/defects/zero-dimensional/point/configuration.json +0 -11
  150. package/example/materials_category/defects/zero-dimensional/point/interstitial/configuration.json +0 -14
  151. package/example/materials_category/defects/zero-dimensional/point/substitution/configuration.json +0 -13
  152. package/example/materials_category/defects/zero-dimensional/point/vacancy/configuration.json +0 -12
  153. package/example/materials_category/single_material/two_dimensional/slab/configuration.json +0 -25
  154. package/schema/material/builders/base/selector_parameters.json +0 -15
  155. package/schema/material/builders/single_material/two_dimensional/slab/builder_parameters.json +0 -12
  156. package/schema/material/builders/single_material/two_dimensional/slab/selector_parameters.json +0 -12
  157. package/schema/material/reusable/slab/enums/exposed_face.json +0 -11
  158. package/schema/material/reusable/slab/miller_indices.json +0 -17
  159. package/schema/material/reusable/slab/number_of_layers.json +0 -9
  160. package/schema/material/reusable/slab/vacuum.json +0 -9
  161. package/schema/materials_category/defects/by_host/two-dimensional/adatom/configuration.json +0 -16
  162. package/schema/materials_category/defects/by_host/two-dimensional/layered/configuration.json +0 -16
  163. package/schema/materials_category/defects/by_host/two-dimensional/point/configuration.json +0 -26
  164. package/schema/materials_category/defects/configuration.json +0 -34
  165. package/schema/materials_category/defects/one-dimensional/terrace/configuration.json +0 -44
  166. package/schema/materials_category/defects/zero-dimensional/complex/pair/configuration.json +0 -20
  167. package/schema/materials_category/defects/zero-dimensional/point/configuration.json +0 -34
  168. package/schema/materials_category/defects/zero-dimensional/point/enums/type.json +0 -11
  169. package/schema/materials_category/defects/zero-dimensional/point/interstitial/configuration.json +0 -16
  170. package/schema/materials_category/defects/zero-dimensional/point/substitution/configuration.json +0 -16
  171. package/schema/materials_category/defects/zero-dimensional/point/vacancy/configuration.json +0 -16
  172. package/schema/materials_category/single_material/two_dimensional/slab/configuration.json +0 -42
  173. /package/dist/js/example/{material/reusable/slab → materials_category_components/entities/auxiliary/two_dimensional}/miller_indices.json +0 -0
  174. /package/dist/js/example/{material/reusable → materials_category_components/entities/auxiliary/two_dimensional}/supercell_matrix_2d.json +0 -0
  175. /package/dist/js/example/{material/reusable/slab → materials_category_components/entities/auxiliary/two_dimensional}/termination.json +0 -0
@@ -0,0 +1,128 @@
1
+ {
2
+ "_id": "LCthJ6E2QabYCZqf3",
3
+ "basis": {
4
+ "coordinates": [
5
+ {
6
+ "id": 1,
7
+ "value": [
8
+ 0,
9
+ 0,
10
+ 0
11
+ ]
12
+ },
13
+ {
14
+ "id": 2,
15
+ "value": [
16
+ 0.25,
17
+ 0.25,
18
+ 0.25
19
+ ]
20
+ }
21
+ ],
22
+ "elements": [
23
+ {
24
+ "id": 1,
25
+ "value": "Si"
26
+ },
27
+ {
28
+ "id": 2,
29
+ "value": "Si"
30
+ }
31
+ ],
32
+ "name": "basis",
33
+ "units": "crystal"
34
+ },
35
+ "createdAt": "2016-04-03T05:25:37.430Z",
36
+ "creator": {
37
+ "_id": "HtxACY2wX4b2hS8Rv",
38
+ "cls": "User",
39
+ "slug": "exadmin"
40
+ },
41
+ "derivedProperties": [
42
+ {
43
+ "name": "volume",
44
+ "units": "angstrom^3",
45
+ "value": 131.1
46
+ },
47
+ {
48
+ "name": "density",
49
+ "units": "g/cm^3",
50
+ "value": 2.33
51
+ },
52
+ {
53
+ "name": "symmetry",
54
+ "spaceGroupSymbol": "Fd-3m",
55
+ "tolerance": {
56
+ "units": "angstrom",
57
+ "value": 0.3
58
+ }
59
+ },
60
+ {
61
+ "degree": 10,
62
+ "name": "p-norm",
63
+ "value": 0.71
64
+ },
65
+ {
66
+ "element": "Si",
67
+ "name": "elemental_ratio",
68
+ "value": 0.71
69
+ },
70
+ {
71
+ "name": "inchi",
72
+ "value": ""
73
+ },
74
+ {
75
+ "name": "inchi_key",
76
+ "value": ""
77
+ }
78
+ ],
79
+ "exabyteId": "RKiswuxHKkF3uvLyA",
80
+ "formula": "Si",
81
+ "hash": "4ac3fa057e3530628eb1295c77110eaa",
82
+ "isDefault": false,
83
+ "isNonPeriodic": false,
84
+ "lattice": {
85
+ "name": "lattice",
86
+ "a": 5.14,
87
+ "alpha": 90,
88
+ "b": 5.14,
89
+ "beta": 90,
90
+ "c": 5.14,
91
+ "gamma": 90,
92
+ "type": "CUB",
93
+ "units": {
94
+ "angle": "degree",
95
+ "length": "angstrom"
96
+ },
97
+ "vectors": {
98
+ "a": [
99
+ 5,
100
+ 0.000121312,
101
+ 0.000131415
102
+ ],
103
+ "alat": 1,
104
+ "b": [
105
+ 0.000121312,
106
+ 5,
107
+ 0.000121314
108
+ ],
109
+ "c": [
110
+ 0.000121313,
111
+ 0.000121312,
112
+ 5
113
+ ],
114
+ "units": "angstrom"
115
+ }
116
+ },
117
+ "name": "Silicon FCC",
118
+ "owner": {
119
+ "_id": "HtxACY2wX4b2hS8Rv",
120
+ "cls": "Account",
121
+ "slug": "exabyte"
122
+ },
123
+ "scaledHash": "5bd4eb168e3530628eb1295d88221cbb",
124
+ "schemaVersion": "0.2.0",
125
+ "slug": "silicon-fcc",
126
+ "unitCellFormula": "Si2",
127
+ "updatedAt": "2016-04-04T17:58:42.867Z"
128
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "matrix": [
3
+ [
4
+ 1.02,
5
+ 0,
6
+ 0
7
+ ],
8
+ [
9
+ 0,
10
+ 1.02,
11
+ 0
12
+ ],
13
+ [
14
+ 0,
15
+ 0,
16
+ 0.98
17
+ ]
18
+ ]
19
+ }
@@ -64,6 +64,7 @@ class JSONInclude {
64
64
  */
65
65
  parseIncludeStatements(filePath) {
66
66
  const data = (0, common_1.safeParseJSON)(fs_1.default.readFileSync(filePath, "utf8"));
67
+ console.log("Parsing file: ", filePath);
67
68
  if (settings_1.OBJECT_ONLY && !(0, common_1.isInstanceOf)(data, "Object")) {
68
69
  throw new Error("The JSON file being included should always be a dict rather than a list");
69
70
  }
@@ -12,15 +12,15 @@
12
12
  "number"
13
13
  ],
14
14
  "minimum": 0,
15
- "default": 1
15
+ "default": 0
16
16
  },
17
17
  "in_unit_planes": {
18
- "description": "Whether to cleave in unit planes",
18
+ "description": "Whether to use unit planes for the vacuum and slab size",
19
19
  "type": "boolean",
20
20
  "default": true
21
21
  },
22
22
  "reorient_lattice": {
23
- "description": "Whether to reorient the lattice",
23
+ "description": "Whether to reorient the lattice to have c vector along the z-axis",
24
24
  "type": "boolean",
25
25
  "default": true
26
26
  },
@@ -0,0 +1,11 @@
1
+ {
2
+ "$id": "core/primitive/array-of-3-integers",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "array of 3 integer elements schema",
5
+ "type": "array",
6
+ "minItems": 3,
7
+ "maxItems": 3,
8
+ "items": {
9
+ "type": "integer"
10
+ }
11
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$id": "core/reusable/axis-enum",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Axis Enum",
5
+ "type": "string",
6
+ "description": "Enum for axis types",
7
+ "enum": [
8
+ "x",
9
+ "y",
10
+ "z"
11
+ ]
12
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "$id": "core/reusable/coordinate-conditions/base",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Coordinate Condition Schema",
5
+ "description": "Base interface for coordinate shape filters",
6
+ "type": "object",
7
+ "required": [
8
+ "shape"
9
+ ],
10
+ "properties": {
11
+ "shape": {
12
+ "$schema": "http://json-schema.org/draft-07/schema#",
13
+ "title": "Coordinate Shape Enum",
14
+ "type": "string",
15
+ "enum": [
16
+ "cylinder",
17
+ "sphere",
18
+ "box",
19
+ "triangular_prism",
20
+ "plane"
21
+ ]
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "$id": "core/reusable/coordinate-conditions/box",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Box Coordinate Condition Schema",
5
+ "required": [
6
+ "max_coordinate",
7
+ "min_coordinate",
8
+ "shape"
9
+ ],
10
+ "description": "Base interface for coordinate shape filters",
11
+ "type": "object",
12
+ "properties": {
13
+ "shape": {
14
+ "const": "box",
15
+ "$schema": "http://json-schema.org/draft-07/schema#",
16
+ "title": "Coordinate Shape Enum",
17
+ "type": "string",
18
+ "enum": [
19
+ "cylinder",
20
+ "sphere",
21
+ "box",
22
+ "triangular_prism",
23
+ "plane"
24
+ ]
25
+ },
26
+ "min_coordinate": {
27
+ "$schema": "http://json-schema.org/draft-07/schema#",
28
+ "title": "coordinate 3d schema",
29
+ "type": "array",
30
+ "minItems": 3,
31
+ "maxItems": 3,
32
+ "items": {
33
+ "type": "number"
34
+ }
35
+ },
36
+ "max_coordinate": {
37
+ "$schema": "http://json-schema.org/draft-07/schema#",
38
+ "title": "coordinate 3d schema",
39
+ "type": "array",
40
+ "minItems": 3,
41
+ "maxItems": 3,
42
+ "items": {
43
+ "type": "number"
44
+ }
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$id": "core/reusable/coordinate-conditions/enum",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Coordinate Shape Enum",
5
+ "type": "string",
6
+ "enum": [
7
+ "cylinder",
8
+ "sphere",
9
+ "box",
10
+ "triangular_prism",
11
+ "plane"
12
+ ]
13
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "$id": "core/reusable/coordinate-conditions",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Coordinate Conditions Schema",
5
+ "description": "Combined schema for all coordinate condition types",
6
+ "oneOf": [
7
+ {
8
+ "$schema": "http://json-schema.org/draft-07/schema#",
9
+ "title": "Box Coordinate Condition Schema",
10
+ "required": [
11
+ "max_coordinate",
12
+ "min_coordinate",
13
+ "shape"
14
+ ],
15
+ "description": "Base interface for coordinate shape filters",
16
+ "type": "object",
17
+ "properties": {
18
+ "shape": {
19
+ "const": "box",
20
+ "$schema": "http://json-schema.org/draft-07/schema#",
21
+ "title": "Coordinate Shape Enum",
22
+ "type": "string",
23
+ "enum": [
24
+ "cylinder",
25
+ "sphere",
26
+ "box",
27
+ "triangular_prism",
28
+ "plane"
29
+ ]
30
+ },
31
+ "min_coordinate": {
32
+ "$schema": "http://json-schema.org/draft-07/schema#",
33
+ "title": "coordinate 3d schema",
34
+ "type": "array",
35
+ "minItems": 3,
36
+ "maxItems": 3,
37
+ "items": {
38
+ "type": "number"
39
+ }
40
+ },
41
+ "max_coordinate": {
42
+ "$schema": "http://json-schema.org/draft-07/schema#",
43
+ "title": "coordinate 3d schema",
44
+ "type": "array",
45
+ "minItems": 3,
46
+ "maxItems": 3,
47
+ "items": {
48
+ "type": "number"
49
+ }
50
+ }
51
+ }
52
+ }
53
+ ]
54
+ }