nucleation 0.10.21 → 0.10.23

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 (314) hide show
  1. package/BlockPos.mjs +1 -0
  2. package/Dimensions.mjs +1 -0
  3. package/FieldRange.mjs +1 -0
  4. package/ItemScale.mjs +1 -0
  5. package/MeshBounds.mjs +1 -0
  6. package/MeshProgress.mjs +1 -0
  7. package/README.md +12 -0
  8. package/RegionBounds.mjs +1 -0
  9. package/Schematic.d.mts +32 -0
  10. package/Schematic.d.ts +32 -0
  11. package/Schematic.mjs +100 -0
  12. package/SdfBounds.mjs +1 -0
  13. package/SdfNormal.mjs +1 -0
  14. package/TextureInfo.mjs +1 -0
  15. package/diplomat-runtime.mjs +19 -14
  16. package/nucleation.wasm +0 -0
  17. package/package.json +7 -2
  18. package/renderer/AnimationEffect.d.mts +44 -0
  19. package/renderer/AnimationEffect.d.ts +44 -0
  20. package/renderer/AnimationEffect.mjs +204 -0
  21. package/renderer/Autostack.d.mts +43 -0
  22. package/renderer/Autostack.d.ts +43 -0
  23. package/renderer/Autostack.mjs +134 -0
  24. package/renderer/BlockPos.d.mts +28 -0
  25. package/renderer/BlockPos.d.ts +28 -0
  26. package/renderer/BlockPos.mjs +130 -0
  27. package/renderer/BlockState.d.mts +39 -0
  28. package/renderer/BlockState.d.ts +39 -0
  29. package/renderer/BlockState.mjs +134 -0
  30. package/renderer/Blocks.d.mts +91 -0
  31. package/renderer/Blocks.d.ts +91 -0
  32. package/renderer/Blocks.mjs +308 -0
  33. package/renderer/Brush.d.mts +99 -0
  34. package/renderer/Brush.d.ts +99 -0
  35. package/renderer/Brush.mjs +335 -0
  36. package/renderer/BuildAnimation.d.mts +179 -0
  37. package/renderer/BuildAnimation.d.ts +179 -0
  38. package/renderer/BuildAnimation.mjs +1148 -0
  39. package/renderer/BuildingTool.d.mts +46 -0
  40. package/renderer/BuildingTool.d.ts +46 -0
  41. package/renderer/BuildingTool.mjs +121 -0
  42. package/renderer/CellExecutor.d.mts +51 -0
  43. package/renderer/CellExecutor.d.ts +51 -0
  44. package/renderer/CellExecutor.mjs +171 -0
  45. package/renderer/CellularSdfConfig.d.mts +22 -0
  46. package/renderer/CellularSdfConfig.d.ts +22 -0
  47. package/renderer/CellularSdfConfig.mjs +69 -0
  48. package/renderer/ChunkMeshResult.d.mts +75 -0
  49. package/renderer/ChunkMeshResult.d.ts +75 -0
  50. package/renderer/ChunkMeshResult.mjs +253 -0
  51. package/renderer/CircuitBuilder.d.mts +118 -0
  52. package/renderer/CircuitBuilder.d.ts +118 -0
  53. package/renderer/CircuitBuilder.mjs +516 -0
  54. package/renderer/Curve3D.d.mts +27 -0
  55. package/renderer/Curve3D.d.ts +27 -0
  56. package/renderer/Curve3D.mjs +101 -0
  57. package/renderer/DefinitionRegion.d.mts +274 -0
  58. package/renderer/DefinitionRegion.d.ts +274 -0
  59. package/renderer/DefinitionRegion.mjs +973 -0
  60. package/renderer/Design.d.mts +348 -0
  61. package/renderer/Design.d.ts +348 -0
  62. package/renderer/Design.mjs +1334 -0
  63. package/renderer/Diff.d.mts +88 -0
  64. package/renderer/Diff.d.ts +88 -0
  65. package/renderer/Diff.mjs +316 -0
  66. package/renderer/Dimensions.d.mts +28 -0
  67. package/renderer/Dimensions.d.ts +28 -0
  68. package/renderer/Dimensions.mjs +130 -0
  69. package/renderer/DistanceField.d.mts +39 -0
  70. package/renderer/DistanceField.d.ts +39 -0
  71. package/renderer/DistanceField.mjs +114 -0
  72. package/renderer/ExecutionMode.d.mts +42 -0
  73. package/renderer/ExecutionMode.d.ts +42 -0
  74. package/renderer/ExecutionMode.mjs +127 -0
  75. package/renderer/Field3.d.mts +40 -0
  76. package/renderer/Field3.d.ts +40 -0
  77. package/renderer/Field3.mjs +160 -0
  78. package/renderer/FieldProgram.d.mts +40 -0
  79. package/renderer/FieldProgram.d.ts +40 -0
  80. package/renderer/FieldProgram.mjs +167 -0
  81. package/renderer/FieldProgramBinaryOp.d.mts +42 -0
  82. package/renderer/FieldProgramBinaryOp.d.ts +42 -0
  83. package/renderer/FieldProgramBinaryOp.mjs +118 -0
  84. package/renderer/FieldProgramBuilder.d.mts +104 -0
  85. package/renderer/FieldProgramBuilder.d.ts +104 -0
  86. package/renderer/FieldProgramBuilder.mjs +486 -0
  87. package/renderer/FieldProgramDistanceKind.d.mts +26 -0
  88. package/renderer/FieldProgramDistanceKind.d.ts +26 -0
  89. package/renderer/FieldProgramDistanceKind.mjs +78 -0
  90. package/renderer/FieldProgramUnaryOp.d.mts +34 -0
  91. package/renderer/FieldProgramUnaryOp.d.ts +34 -0
  92. package/renderer/FieldProgramUnaryOp.mjs +102 -0
  93. package/renderer/FieldProgramValueType.d.mts +25 -0
  94. package/renderer/FieldProgramValueType.d.ts +25 -0
  95. package/renderer/FieldProgramValueType.mjs +75 -0
  96. package/renderer/FieldRange.d.mts +15 -0
  97. package/renderer/FieldRange.d.ts +15 -0
  98. package/renderer/FieldRange.mjs +109 -0
  99. package/renderer/Fingerprint.d.mts +44 -0
  100. package/renderer/Fingerprint.d.ts +44 -0
  101. package/renderer/Fingerprint.mjs +197 -0
  102. package/renderer/GeneratedChunk.d.mts +35 -0
  103. package/renderer/GeneratedChunk.d.ts +35 -0
  104. package/renderer/GeneratedChunk.mjs +178 -0
  105. package/renderer/GeneratedChunkCoverage.d.mts +25 -0
  106. package/renderer/GeneratedChunkCoverage.d.ts +25 -0
  107. package/renderer/GeneratedChunkCoverage.mjs +75 -0
  108. package/renderer/GeneratedChunkOverlayMode.d.mts +24 -0
  109. package/renderer/GeneratedChunkOverlayMode.d.ts +24 -0
  110. package/renderer/GeneratedChunkOverlayMode.mjs +72 -0
  111. package/renderer/GeneratedWorldStream.d.mts +28 -0
  112. package/renderer/GeneratedWorldStream.d.ts +28 -0
  113. package/renderer/GeneratedWorldStream.mjs +86 -0
  114. package/renderer/Geo.d.mts +41 -0
  115. package/renderer/Geo.d.ts +41 -0
  116. package/renderer/Geo.mjs +121 -0
  117. package/renderer/Hdl.d.mts +56 -0
  118. package/renderer/Hdl.d.ts +56 -0
  119. package/renderer/Hdl.mjs +163 -0
  120. package/renderer/InterpolationSpace.d.mts +25 -0
  121. package/renderer/InterpolationSpace.d.ts +25 -0
  122. package/renderer/InterpolationSpace.mjs +73 -0
  123. package/renderer/IoLayout.d.mts +26 -0
  124. package/renderer/IoLayout.d.ts +26 -0
  125. package/renderer/IoLayout.mjs +81 -0
  126. package/renderer/IoLayoutBuilder.d.mts +73 -0
  127. package/renderer/IoLayoutBuilder.d.ts +73 -0
  128. package/renderer/IoLayoutBuilder.mjs +315 -0
  129. package/renderer/IoType.d.mts +41 -0
  130. package/renderer/IoType.d.ts +41 -0
  131. package/renderer/IoType.mjs +125 -0
  132. package/renderer/ItemModelConfig.d.mts +65 -0
  133. package/renderer/ItemModelConfig.d.ts +65 -0
  134. package/renderer/ItemModelConfig.mjs +223 -0
  135. package/renderer/ItemModelPackBuilder.d.mts +32 -0
  136. package/renderer/ItemModelPackBuilder.d.ts +32 -0
  137. package/renderer/ItemModelPackBuilder.mjs +104 -0
  138. package/renderer/ItemModelResult.d.mts +72 -0
  139. package/renderer/ItemModelResult.d.ts +72 -0
  140. package/renderer/ItemModelResult.mjs +268 -0
  141. package/renderer/ItemScale.d.mts +31 -0
  142. package/renderer/ItemScale.d.ts +31 -0
  143. package/renderer/ItemScale.mjs +133 -0
  144. package/renderer/LayoutFunction.d.mts +52 -0
  145. package/renderer/LayoutFunction.d.ts +52 -0
  146. package/renderer/LayoutFunction.mjs +159 -0
  147. package/renderer/MchprsWorld.d.mts +131 -0
  148. package/renderer/MchprsWorld.d.ts +131 -0
  149. package/renderer/MchprsWorld.mjs +423 -0
  150. package/renderer/MeshBounds.d.mts +40 -0
  151. package/renderer/MeshBounds.d.ts +40 -0
  152. package/renderer/MeshBounds.mjs +181 -0
  153. package/renderer/MeshConfig.d.mts +101 -0
  154. package/renderer/MeshConfig.d.ts +101 -0
  155. package/renderer/MeshConfig.mjs +306 -0
  156. package/renderer/MeshJob.d.mts +44 -0
  157. package/renderer/MeshJob.d.ts +44 -0
  158. package/renderer/MeshJob.mjs +116 -0
  159. package/renderer/MeshPhase.d.mts +38 -0
  160. package/renderer/MeshPhase.d.ts +38 -0
  161. package/renderer/MeshPhase.mjs +90 -0
  162. package/renderer/MeshProgress.d.mts +32 -0
  163. package/renderer/MeshProgress.d.ts +32 -0
  164. package/renderer/MeshProgress.mjs +134 -0
  165. package/renderer/MeshResult.d.mts +76 -0
  166. package/renderer/MeshResult.d.ts +76 -0
  167. package/renderer/MeshResult.mjs +269 -0
  168. package/renderer/MultiMeshResult.d.mts +50 -0
  169. package/renderer/MultiMeshResult.d.ts +50 -0
  170. package/renderer/MultiMeshResult.mjs +166 -0
  171. package/renderer/Nbt.d.mts +50 -0
  172. package/renderer/Nbt.d.ts +50 -0
  173. package/renderer/Nbt.mjs +161 -0
  174. package/renderer/NucleationError.d.mts +53 -0
  175. package/renderer/NucleationError.d.ts +53 -0
  176. package/renderer/NucleationError.mjs +136 -0
  177. package/renderer/OutputCondition.d.mts +45 -0
  178. package/renderer/OutputCondition.d.ts +45 -0
  179. package/renderer/OutputCondition.mjs +129 -0
  180. package/renderer/Palette.d.mts +157 -0
  181. package/renderer/Palette.d.ts +157 -0
  182. package/renderer/Palette.mjs +487 -0
  183. package/renderer/PaletteBuilder.d.mts +119 -0
  184. package/renderer/PaletteBuilder.d.ts +119 -0
  185. package/renderer/PaletteBuilder.mjs +457 -0
  186. package/renderer/README.md +67 -0
  187. package/renderer/RawMeshExport.d.mts +74 -0
  188. package/renderer/RawMeshExport.d.ts +74 -0
  189. package/renderer/RawMeshExport.mjs +243 -0
  190. package/renderer/RedstoneGraph.d.mts +58 -0
  191. package/renderer/RedstoneGraph.d.ts +58 -0
  192. package/renderer/RedstoneGraph.mjs +242 -0
  193. package/renderer/RegionBounds.d.mts +41 -0
  194. package/renderer/RegionBounds.d.ts +41 -0
  195. package/renderer/RegionBounds.mjs +182 -0
  196. package/renderer/RenderConfig.d.mts +101 -0
  197. package/renderer/RenderConfig.d.ts +101 -0
  198. package/renderer/RenderConfig.mjs +271 -0
  199. package/renderer/Renderer.d.mts +51 -0
  200. package/renderer/Renderer.d.ts +51 -0
  201. package/renderer/Renderer.mjs +219 -0
  202. package/renderer/ResourcePack.d.mts +105 -0
  203. package/renderer/ResourcePack.d.ts +105 -0
  204. package/renderer/ResourcePack.mjs +447 -0
  205. package/renderer/ResourcePackList.d.mts +32 -0
  206. package/renderer/ResourcePackList.d.ts +32 -0
  207. package/renderer/ResourcePackList.mjs +96 -0
  208. package/renderer/Routing.d.mts +66 -0
  209. package/renderer/Routing.d.ts +66 -0
  210. package/renderer/Routing.mjs +220 -0
  211. package/renderer/Schematic.d.mts +977 -0
  212. package/renderer/Schematic.d.ts +977 -0
  213. package/renderer/Schematic.mjs +3820 -0
  214. package/renderer/SchematicBuilder.d.mts +103 -0
  215. package/renderer/SchematicBuilder.d.ts +103 -0
  216. package/renderer/SchematicBuilder.mjs +401 -0
  217. package/renderer/SchematicRegions.d.mts +93 -0
  218. package/renderer/SchematicRegions.d.ts +93 -0
  219. package/renderer/SchematicRegions.mjs +411 -0
  220. package/renderer/SchematicSplitResult.d.mts +26 -0
  221. package/renderer/SchematicSplitResult.d.ts +26 -0
  222. package/renderer/SchematicSplitResult.mjs +84 -0
  223. package/renderer/Scripting.d.mts +40 -0
  224. package/renderer/Scripting.d.ts +40 -0
  225. package/renderer/Scripting.mjs +138 -0
  226. package/renderer/Sdf.d.mts +234 -0
  227. package/renderer/Sdf.d.ts +234 -0
  228. package/renderer/Sdf.mjs +1234 -0
  229. package/renderer/SdfAxis.d.mts +25 -0
  230. package/renderer/SdfAxis.d.ts +25 -0
  231. package/renderer/SdfAxis.mjs +75 -0
  232. package/renderer/SdfBounds.d.mts +19 -0
  233. package/renderer/SdfBounds.d.ts +19 -0
  234. package/renderer/SdfBounds.mjs +161 -0
  235. package/renderer/SdfCellMode.d.mts +26 -0
  236. package/renderer/SdfCellMode.d.ts +26 -0
  237. package/renderer/SdfCellMode.mjs +78 -0
  238. package/renderer/SdfNormal.d.mts +16 -0
  239. package/renderer/SdfNormal.d.ts +16 -0
  240. package/renderer/SdfNormal.mjs +122 -0
  241. package/renderer/Shape.d.mts +143 -0
  242. package/renderer/Shape.d.ts +143 -0
  243. package/renderer/Shape.mjs +458 -0
  244. package/renderer/SortStrategy.d.mts +86 -0
  245. package/renderer/SortStrategy.d.ts +86 -0
  246. package/renderer/SortStrategy.mjs +272 -0
  247. package/renderer/Store.d.mts +83 -0
  248. package/renderer/Store.d.ts +83 -0
  249. package/renderer/Store.mjs +369 -0
  250. package/renderer/StoreIo.d.mts +71 -0
  251. package/renderer/StoreIo.d.ts +71 -0
  252. package/renderer/StoreIo.mjs +292 -0
  253. package/renderer/TextureAtlas.d.mts +40 -0
  254. package/renderer/TextureAtlas.d.ts +40 -0
  255. package/renderer/TextureAtlas.mjs +122 -0
  256. package/renderer/TextureInfo.d.mts +34 -0
  257. package/renderer/TextureInfo.d.ts +34 -0
  258. package/renderer/TextureInfo.mjs +149 -0
  259. package/renderer/TickSettleMode.d.mts +34 -0
  260. package/renderer/TickSettleMode.d.ts +34 -0
  261. package/renderer/TickSettleMode.mjs +84 -0
  262. package/renderer/TickSimulation.d.mts +572 -0
  263. package/renderer/TickSimulation.d.ts +572 -0
  264. package/renderer/TickSimulation.mjs +1299 -0
  265. package/renderer/TypedCircuitExecutor.d.mts +101 -0
  266. package/renderer/TypedCircuitExecutor.d.ts +101 -0
  267. package/renderer/TypedCircuitExecutor.mjs +378 -0
  268. package/renderer/Value.d.mts +73 -0
  269. package/renderer/Value.d.ts +73 -0
  270. package/renderer/Value.mjs +275 -0
  271. package/renderer/VideoConfig.d.mts +15 -0
  272. package/renderer/VideoConfig.d.ts +15 -0
  273. package/renderer/VideoConfig.mjs +44 -0
  274. package/renderer/VoxelModel.d.mts +34 -0
  275. package/renderer/VoxelModel.d.ts +34 -0
  276. package/renderer/VoxelModel.mjs +113 -0
  277. package/renderer/Voxelizer.d.mts +80 -0
  278. package/renderer/Voxelizer.d.ts +80 -0
  279. package/renderer/Voxelizer.mjs +261 -0
  280. package/renderer/WorldChunkView.d.mts +75 -0
  281. package/renderer/WorldChunkView.d.ts +75 -0
  282. package/renderer/WorldChunkView.mjs +224 -0
  283. package/renderer/WorldGenerator.d.mts +75 -0
  284. package/renderer/WorldGenerator.d.ts +75 -0
  285. package/renderer/WorldGenerator.mjs +255 -0
  286. package/renderer/WorldSink.d.mts +50 -0
  287. package/renderer/WorldSink.d.ts +50 -0
  288. package/renderer/WorldSink.mjs +177 -0
  289. package/renderer/WorldStream.d.mts +45 -0
  290. package/renderer/WorldStream.d.ts +45 -0
  291. package/renderer/WorldStream.mjs +184 -0
  292. package/renderer/WsPartitionHints.d.mts +29 -0
  293. package/renderer/WsPartitionHints.d.ts +29 -0
  294. package/renderer/WsPartitionHints.mjs +102 -0
  295. package/renderer/WsProfile.d.mts +46 -0
  296. package/renderer/WsProfile.d.ts +46 -0
  297. package/renderer/WsProfile.mjs +152 -0
  298. package/renderer/WsRunResult.d.mts +83 -0
  299. package/renderer/WsRunResult.d.ts +83 -0
  300. package/renderer/WsRunResult.mjs +326 -0
  301. package/renderer/WsSegmentJob.d.mts +28 -0
  302. package/renderer/WsSegmentJob.d.ts +28 -0
  303. package/renderer/WsSegmentJob.mjs +81 -0
  304. package/renderer/diplomat-runtime.d.mts +15 -0
  305. package/renderer/diplomat-runtime.d.ts +15 -0
  306. package/renderer/diplomat-runtime.mjs +779 -0
  307. package/renderer/diplomat-wasm.mjs +52 -0
  308. package/renderer/diplomat.config.mjs +5 -0
  309. package/renderer/index.d.mts +193 -0
  310. package/renderer/index.d.ts +193 -0
  311. package/renderer/index.mjs +196 -0
  312. package/renderer/nucleation.wasm +0 -0
  313. package/renderer/veneer/design.d.ts +167 -0
  314. package/renderer/veneer/design.mjs +480 -0
@@ -0,0 +1,272 @@
1
+ // generated by diplomat-tool
2
+ import { NucleationError } from "./NucleationError.mjs"
3
+ import wasm from "./diplomat-wasm.mjs";
4
+ import * as diplomatRuntime from "./diplomat-runtime.mjs";
5
+
6
+ const SortStrategy_box_destroy_registry = new FinalizationRegistry((ptr) => {
7
+ wasm.SortStrategy_destroy(ptr);
8
+ });
9
+
10
+ /**
11
+ * Ordering applied to region positions before bit assignment
12
+ * (PORTING rule 10).
13
+ */
14
+ export class SortStrategy {
15
+ // Internal ptr reference:
16
+ #ptr = null;
17
+
18
+ // Lifetimes are only to keep dependencies alive.
19
+ // Since JS won't garbage collect until there are no incoming edges.
20
+ #selfEdge = [];
21
+
22
+ #internalConstructor(symbol, ptr, selfEdge) {
23
+ if (symbol !== diplomatRuntime.internalConstructor) {
24
+ console.error("SortStrategy is an Opaque type. You cannot call its constructor.");
25
+ return;
26
+ }
27
+ this.#ptr = ptr;
28
+ this.#selfEdge = selfEdge;
29
+
30
+ // Are we being borrowed? If not, we can register.
31
+ if (this.#selfEdge.length === 0) {
32
+ SortStrategy_box_destroy_registry.register(this, this.#ptr);
33
+ }
34
+
35
+ return this;
36
+ }
37
+ /** @internal */
38
+ get ffiValue() {
39
+ return this.#ptr;
40
+ }
41
+
42
+
43
+ /**
44
+ * Sort by Y ascending, then X, then Z (default Minecraft layer
45
+ * order). The first position after sorting is bit 0 (LSB).
46
+ */
47
+ static yxz() {
48
+
49
+ const result = wasm.SortStrategy_yxz();
50
+
51
+ try {
52
+ return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
53
+ }
54
+
55
+ finally {
56
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
57
+ }
58
+ }
59
+
60
+ /**
61
+ * Sort by X ascending, then Y, then Z.
62
+ */
63
+ static xyz() {
64
+
65
+ const result = wasm.SortStrategy_xyz();
66
+
67
+ try {
68
+ return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
69
+ }
70
+
71
+ finally {
72
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
73
+ }
74
+ }
75
+
76
+ /**
77
+ * Sort by Z ascending, then Y, then X.
78
+ */
79
+ static zyx() {
80
+
81
+ const result = wasm.SortStrategy_zyx();
82
+
83
+ try {
84
+ return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
85
+ }
86
+
87
+ finally {
88
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
89
+ }
90
+ }
91
+
92
+ /**
93
+ * Sort by Y descending, then X ascending, then Z ascending.
94
+ */
95
+ static yDescXz() {
96
+
97
+ const result = wasm.SortStrategy_y_desc_xz();
98
+
99
+ try {
100
+ return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
101
+ }
102
+
103
+ finally {
104
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
105
+ }
106
+ }
107
+
108
+ /**
109
+ * Sort by X descending, then Y ascending, then Z ascending.
110
+ */
111
+ static xDescYz() {
112
+
113
+ const result = wasm.SortStrategy_x_desc_yz();
114
+
115
+ try {
116
+ return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
117
+ }
118
+
119
+ finally {
120
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
121
+ }
122
+ }
123
+
124
+ /**
125
+ * Sort by Z descending, then Y ascending, then X ascending.
126
+ */
127
+ static zDescYx() {
128
+
129
+ const result = wasm.SortStrategy_z_desc_yx();
130
+
131
+ try {
132
+ return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
133
+ }
134
+
135
+ finally {
136
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
137
+ }
138
+ }
139
+
140
+ /**
141
+ * Old ABI name: `sort_strategy_descending`.
142
+ */
143
+ static descending() {
144
+
145
+ const result = wasm.SortStrategy_descending();
146
+
147
+ try {
148
+ return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
149
+ }
150
+
151
+ finally {
152
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
153
+ }
154
+ }
155
+
156
+ /**
157
+ * Sort by Euclidean distance from the reference point, closest
158
+ * first (ties broken by Y, X, Z ascending).
159
+ */
160
+ static distanceFrom(x, y, z) {
161
+
162
+ const result = wasm.SortStrategy_distance_from(x, y, z);
163
+
164
+ try {
165
+ return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
166
+ }
167
+
168
+ finally {
169
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
170
+ }
171
+ }
172
+
173
+ /**
174
+ * Sort by Euclidean distance from the reference point, farthest
175
+ * first (ties broken by Y, X, Z descending).
176
+ */
177
+ static distanceFromDesc(x, y, z) {
178
+
179
+ const result = wasm.SortStrategy_distance_from_desc(x, y, z);
180
+
181
+ try {
182
+ return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
183
+ }
184
+
185
+ finally {
186
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
187
+ }
188
+ }
189
+
190
+ /**
191
+ * Keep positions in the order they were added (no sorting). Useful
192
+ * when positions were ordered manually or box order matters.
193
+ */
194
+ static preserve() {
195
+
196
+ const result = wasm.SortStrategy_preserve();
197
+
198
+ try {
199
+ return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
200
+ }
201
+
202
+ finally {
203
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
204
+ }
205
+ }
206
+
207
+ /**
208
+ * Reverse of the order positions were added.
209
+ */
210
+ static reverse() {
211
+
212
+ const result = wasm.SortStrategy_reverse();
213
+
214
+ try {
215
+ return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
216
+ }
217
+
218
+ finally {
219
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
220
+ }
221
+ }
222
+
223
+ /**
224
+ * Parse from a name (e.g. "yxz", "descending", "preserve").
225
+ */
226
+ static fromString(s) {
227
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
228
+
229
+ const sSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, s)));
230
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
231
+
232
+
233
+ const result = wasm.SortStrategy_from_string(diplomatReceive.buffer, sSlice.ptr);
234
+
235
+ try {
236
+ if (!diplomatReceive.resultFlag) {
237
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
238
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
239
+ }
240
+ return new SortStrategy(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
241
+ }
242
+
243
+ finally {
244
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
245
+ functionCleanupArena.free();
246
+
247
+ diplomatReceive.free();
248
+ }
249
+ }
250
+
251
+ /**
252
+ * The strategy name.
253
+ */
254
+ name() {
255
+ const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
256
+
257
+ wasm.SortStrategy_name(this.ffiValue, write.buffer);
258
+
259
+ try {
260
+ return write.readString8();
261
+ }
262
+
263
+ finally {
264
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
265
+ write.free();
266
+ }
267
+ }
268
+
269
+ constructor(symbol, ptr, selfEdge) {
270
+ return this.#internalConstructor(...arguments)
271
+ }
272
+ }
@@ -0,0 +1,83 @@
1
+ // generated by diplomat-tool
2
+ import type { NucleationError } from "./NucleationError.mjs"
3
+ import type { Schematic } from "./Schematic.mjs"
4
+ import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
5
+
6
+
7
+
8
+ /**
9
+ * A key/value store opened from a URL (e.g. `mem://`, `file:///path`,
10
+ * `ssh://user@host/path`, `s3://bucket/prefix`, `redis://…`, `postgres://…`).
11
+ */
12
+ export class Store {
13
+ /** @internal */
14
+ get ffiValue(): pointer;
15
+ /** @internal */
16
+ constructor();
17
+
18
+
19
+ /**
20
+ * Open a store from a URL. Errors with `Store` on an unknown scheme or
21
+ * connection failure.
22
+ */
23
+ static open(url: string): Store;
24
+
25
+ /**
26
+ * Fetch `key`, writing the value as base64 (PORTING rule 6). Errors with
27
+ * `NotFound` when the key is absent.
28
+ */
29
+ getB64(key: string): string;
30
+
31
+ /**
32
+ * Store `data` at `key`.
33
+ */
34
+ put(key: string, data: Array<number>): void;
35
+
36
+ /**
37
+ * Whether `key` exists.
38
+ */
39
+ exists(key: string): boolean;
40
+
41
+ /**
42
+ * Delete `key` (idempotent).
43
+ */
44
+ delete_(key: string): void;
45
+
46
+ /**
47
+ * List keys under `prefix`, written as a JSON array string.
48
+ */
49
+ list(prefix: string): string;
50
+
51
+ /**
52
+ * Atomically write `data` at `key` only if it does not already exist.
53
+ * Returns `true` if written, `false` if the key existed.
54
+ */
55
+ putIfAbsent(key: string, data: Array<number>): boolean;
56
+
57
+ /**
58
+ * A keyset page of keys under `prefix`. `after` is the exclusive cursor
59
+ * (empty string for the first page); at most `limit` keys are returned.
60
+ * Writes a JSON object string `{"keys":[...],"next":"…"|null}`.
61
+ */
62
+ listPaginated(prefix: string, after: string, limit: number): string;
63
+
64
+ /**
65
+ * Health check: `Ok` when the store is usable.
66
+ */
67
+ health(): void;
68
+
69
+ /**
70
+ * Open a schematic stored at `key` in this store. Works for every
71
+ * backend, including `redis://`/`postgres://`/`mem://` that the
72
+ * single-string URI form (`StoreIo::open`) rejects.
73
+ */
74
+ openSchematic(key: string): Schematic;
75
+
76
+ /**
77
+ * Save a schematic at `key` in this store. `version` selects the format
78
+ * version (empty string = format default). Works for every backend,
79
+ * including `redis://`/`postgres://`/`mem://` that the single-string URI
80
+ * form (`StoreIo::save`) rejects.
81
+ */
82
+ saveSchematic(schematic: Schematic, key: string, version: string): void;
83
+ }
@@ -0,0 +1,83 @@
1
+ // generated by diplomat-tool
2
+ import type { NucleationError } from "./NucleationError.mjs"
3
+ import type { Schematic } from "./Schematic.mjs"
4
+ import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
5
+
6
+
7
+
8
+ /**
9
+ * A key/value store opened from a URL (e.g. `mem://`, `file:///path`,
10
+ * `ssh://user@host/path`, `s3://bucket/prefix`, `redis://…`, `postgres://…`).
11
+ */
12
+ export class Store {
13
+ /** @internal */
14
+ get ffiValue(): pointer;
15
+ /** @internal */
16
+ constructor();
17
+
18
+
19
+ /**
20
+ * Open a store from a URL. Errors with `Store` on an unknown scheme or
21
+ * connection failure.
22
+ */
23
+ static open(url: string): Store;
24
+
25
+ /**
26
+ * Fetch `key`, writing the value as base64 (PORTING rule 6). Errors with
27
+ * `NotFound` when the key is absent.
28
+ */
29
+ getB64(key: string): string;
30
+
31
+ /**
32
+ * Store `data` at `key`.
33
+ */
34
+ put(key: string, data: Array<number>): void;
35
+
36
+ /**
37
+ * Whether `key` exists.
38
+ */
39
+ exists(key: string): boolean;
40
+
41
+ /**
42
+ * Delete `key` (idempotent).
43
+ */
44
+ delete_(key: string): void;
45
+
46
+ /**
47
+ * List keys under `prefix`, written as a JSON array string.
48
+ */
49
+ list(prefix: string): string;
50
+
51
+ /**
52
+ * Atomically write `data` at `key` only if it does not already exist.
53
+ * Returns `true` if written, `false` if the key existed.
54
+ */
55
+ putIfAbsent(key: string, data: Array<number>): boolean;
56
+
57
+ /**
58
+ * A keyset page of keys under `prefix`. `after` is the exclusive cursor
59
+ * (empty string for the first page); at most `limit` keys are returned.
60
+ * Writes a JSON object string `{"keys":[...],"next":"…"|null}`.
61
+ */
62
+ listPaginated(prefix: string, after: string, limit: number): string;
63
+
64
+ /**
65
+ * Health check: `Ok` when the store is usable.
66
+ */
67
+ health(): void;
68
+
69
+ /**
70
+ * Open a schematic stored at `key` in this store. Works for every
71
+ * backend, including `redis://`/`postgres://`/`mem://` that the
72
+ * single-string URI form (`StoreIo::open`) rejects.
73
+ */
74
+ openSchematic(key: string): Schematic;
75
+
76
+ /**
77
+ * Save a schematic at `key` in this store. `version` selects the format
78
+ * version (empty string = format default). Works for every backend,
79
+ * including `redis://`/`postgres://`/`mem://` that the single-string URI
80
+ * form (`StoreIo::save`) rejects.
81
+ */
82
+ saveSchematic(schematic: Schematic, key: string, version: string): void;
83
+ }