nucleation 0.10.22 → 0.10.24

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 (303) hide show
  1. package/README.md +12 -0
  2. package/Schematic.d.mts +23 -0
  3. package/Schematic.d.ts +23 -0
  4. package/Schematic.mjs +70 -0
  5. package/nucleation.wasm +0 -0
  6. package/package.json +7 -2
  7. package/renderer/AnimationEffect.d.mts +44 -0
  8. package/renderer/AnimationEffect.d.ts +44 -0
  9. package/renderer/AnimationEffect.mjs +204 -0
  10. package/renderer/Autostack.d.mts +43 -0
  11. package/renderer/Autostack.d.ts +43 -0
  12. package/renderer/Autostack.mjs +134 -0
  13. package/renderer/BlockPos.d.mts +28 -0
  14. package/renderer/BlockPos.d.ts +28 -0
  15. package/renderer/BlockPos.mjs +130 -0
  16. package/renderer/BlockState.d.mts +39 -0
  17. package/renderer/BlockState.d.ts +39 -0
  18. package/renderer/BlockState.mjs +134 -0
  19. package/renderer/Blocks.d.mts +91 -0
  20. package/renderer/Blocks.d.ts +91 -0
  21. package/renderer/Blocks.mjs +308 -0
  22. package/renderer/Brush.d.mts +99 -0
  23. package/renderer/Brush.d.ts +99 -0
  24. package/renderer/Brush.mjs +335 -0
  25. package/renderer/BuildAnimation.d.mts +179 -0
  26. package/renderer/BuildAnimation.d.ts +179 -0
  27. package/renderer/BuildAnimation.mjs +1148 -0
  28. package/renderer/BuildingTool.d.mts +46 -0
  29. package/renderer/BuildingTool.d.ts +46 -0
  30. package/renderer/BuildingTool.mjs +121 -0
  31. package/renderer/CellExecutor.d.mts +51 -0
  32. package/renderer/CellExecutor.d.ts +51 -0
  33. package/renderer/CellExecutor.mjs +171 -0
  34. package/renderer/CellularSdfConfig.d.mts +22 -0
  35. package/renderer/CellularSdfConfig.d.ts +22 -0
  36. package/renderer/CellularSdfConfig.mjs +69 -0
  37. package/renderer/ChunkMeshResult.d.mts +75 -0
  38. package/renderer/ChunkMeshResult.d.ts +75 -0
  39. package/renderer/ChunkMeshResult.mjs +253 -0
  40. package/renderer/CircuitBuilder.d.mts +118 -0
  41. package/renderer/CircuitBuilder.d.ts +118 -0
  42. package/renderer/CircuitBuilder.mjs +516 -0
  43. package/renderer/Curve3D.d.mts +27 -0
  44. package/renderer/Curve3D.d.ts +27 -0
  45. package/renderer/Curve3D.mjs +101 -0
  46. package/renderer/DefinitionRegion.d.mts +274 -0
  47. package/renderer/DefinitionRegion.d.ts +274 -0
  48. package/renderer/DefinitionRegion.mjs +973 -0
  49. package/renderer/Design.d.mts +348 -0
  50. package/renderer/Design.d.ts +348 -0
  51. package/renderer/Design.mjs +1334 -0
  52. package/renderer/Diff.d.mts +88 -0
  53. package/renderer/Diff.d.ts +88 -0
  54. package/renderer/Diff.mjs +316 -0
  55. package/renderer/Dimensions.d.mts +28 -0
  56. package/renderer/Dimensions.d.ts +28 -0
  57. package/renderer/Dimensions.mjs +130 -0
  58. package/renderer/DistanceField.d.mts +39 -0
  59. package/renderer/DistanceField.d.ts +39 -0
  60. package/renderer/DistanceField.mjs +114 -0
  61. package/renderer/ExecutionMode.d.mts +42 -0
  62. package/renderer/ExecutionMode.d.ts +42 -0
  63. package/renderer/ExecutionMode.mjs +127 -0
  64. package/renderer/Field3.d.mts +40 -0
  65. package/renderer/Field3.d.ts +40 -0
  66. package/renderer/Field3.mjs +160 -0
  67. package/renderer/FieldProgram.d.mts +40 -0
  68. package/renderer/FieldProgram.d.ts +40 -0
  69. package/renderer/FieldProgram.mjs +167 -0
  70. package/renderer/FieldProgramBinaryOp.d.mts +42 -0
  71. package/renderer/FieldProgramBinaryOp.d.ts +42 -0
  72. package/renderer/FieldProgramBinaryOp.mjs +118 -0
  73. package/renderer/FieldProgramBuilder.d.mts +104 -0
  74. package/renderer/FieldProgramBuilder.d.ts +104 -0
  75. package/renderer/FieldProgramBuilder.mjs +486 -0
  76. package/renderer/FieldProgramDistanceKind.d.mts +26 -0
  77. package/renderer/FieldProgramDistanceKind.d.ts +26 -0
  78. package/renderer/FieldProgramDistanceKind.mjs +78 -0
  79. package/renderer/FieldProgramUnaryOp.d.mts +34 -0
  80. package/renderer/FieldProgramUnaryOp.d.ts +34 -0
  81. package/renderer/FieldProgramUnaryOp.mjs +102 -0
  82. package/renderer/FieldProgramValueType.d.mts +25 -0
  83. package/renderer/FieldProgramValueType.d.ts +25 -0
  84. package/renderer/FieldProgramValueType.mjs +75 -0
  85. package/renderer/FieldRange.d.mts +15 -0
  86. package/renderer/FieldRange.d.ts +15 -0
  87. package/renderer/FieldRange.mjs +109 -0
  88. package/renderer/Fingerprint.d.mts +44 -0
  89. package/renderer/Fingerprint.d.ts +44 -0
  90. package/renderer/Fingerprint.mjs +197 -0
  91. package/renderer/GeneratedChunk.d.mts +35 -0
  92. package/renderer/GeneratedChunk.d.ts +35 -0
  93. package/renderer/GeneratedChunk.mjs +178 -0
  94. package/renderer/GeneratedChunkCoverage.d.mts +25 -0
  95. package/renderer/GeneratedChunkCoverage.d.ts +25 -0
  96. package/renderer/GeneratedChunkCoverage.mjs +75 -0
  97. package/renderer/GeneratedChunkOverlayMode.d.mts +24 -0
  98. package/renderer/GeneratedChunkOverlayMode.d.ts +24 -0
  99. package/renderer/GeneratedChunkOverlayMode.mjs +72 -0
  100. package/renderer/GeneratedWorldStream.d.mts +28 -0
  101. package/renderer/GeneratedWorldStream.d.ts +28 -0
  102. package/renderer/GeneratedWorldStream.mjs +86 -0
  103. package/renderer/Geo.d.mts +41 -0
  104. package/renderer/Geo.d.ts +41 -0
  105. package/renderer/Geo.mjs +121 -0
  106. package/renderer/Hdl.d.mts +56 -0
  107. package/renderer/Hdl.d.ts +56 -0
  108. package/renderer/Hdl.mjs +163 -0
  109. package/renderer/InterpolationSpace.d.mts +25 -0
  110. package/renderer/InterpolationSpace.d.ts +25 -0
  111. package/renderer/InterpolationSpace.mjs +73 -0
  112. package/renderer/IoLayout.d.mts +26 -0
  113. package/renderer/IoLayout.d.ts +26 -0
  114. package/renderer/IoLayout.mjs +81 -0
  115. package/renderer/IoLayoutBuilder.d.mts +73 -0
  116. package/renderer/IoLayoutBuilder.d.ts +73 -0
  117. package/renderer/IoLayoutBuilder.mjs +315 -0
  118. package/renderer/IoType.d.mts +41 -0
  119. package/renderer/IoType.d.ts +41 -0
  120. package/renderer/IoType.mjs +125 -0
  121. package/renderer/ItemModelConfig.d.mts +65 -0
  122. package/renderer/ItemModelConfig.d.ts +65 -0
  123. package/renderer/ItemModelConfig.mjs +223 -0
  124. package/renderer/ItemModelPackBuilder.d.mts +32 -0
  125. package/renderer/ItemModelPackBuilder.d.ts +32 -0
  126. package/renderer/ItemModelPackBuilder.mjs +104 -0
  127. package/renderer/ItemModelResult.d.mts +72 -0
  128. package/renderer/ItemModelResult.d.ts +72 -0
  129. package/renderer/ItemModelResult.mjs +268 -0
  130. package/renderer/ItemScale.d.mts +31 -0
  131. package/renderer/ItemScale.d.ts +31 -0
  132. package/renderer/ItemScale.mjs +133 -0
  133. package/renderer/LayoutFunction.d.mts +52 -0
  134. package/renderer/LayoutFunction.d.ts +52 -0
  135. package/renderer/LayoutFunction.mjs +159 -0
  136. package/renderer/MchprsWorld.d.mts +131 -0
  137. package/renderer/MchprsWorld.d.ts +131 -0
  138. package/renderer/MchprsWorld.mjs +423 -0
  139. package/renderer/MeshBounds.d.mts +40 -0
  140. package/renderer/MeshBounds.d.ts +40 -0
  141. package/renderer/MeshBounds.mjs +181 -0
  142. package/renderer/MeshConfig.d.mts +101 -0
  143. package/renderer/MeshConfig.d.ts +101 -0
  144. package/renderer/MeshConfig.mjs +306 -0
  145. package/renderer/MeshJob.d.mts +44 -0
  146. package/renderer/MeshJob.d.ts +44 -0
  147. package/renderer/MeshJob.mjs +116 -0
  148. package/renderer/MeshPhase.d.mts +38 -0
  149. package/renderer/MeshPhase.d.ts +38 -0
  150. package/renderer/MeshPhase.mjs +90 -0
  151. package/renderer/MeshProgress.d.mts +32 -0
  152. package/renderer/MeshProgress.d.ts +32 -0
  153. package/renderer/MeshProgress.mjs +134 -0
  154. package/renderer/MeshResult.d.mts +76 -0
  155. package/renderer/MeshResult.d.ts +76 -0
  156. package/renderer/MeshResult.mjs +269 -0
  157. package/renderer/MultiMeshResult.d.mts +50 -0
  158. package/renderer/MultiMeshResult.d.ts +50 -0
  159. package/renderer/MultiMeshResult.mjs +166 -0
  160. package/renderer/Nbt.d.mts +50 -0
  161. package/renderer/Nbt.d.ts +50 -0
  162. package/renderer/Nbt.mjs +161 -0
  163. package/renderer/NucleationError.d.mts +53 -0
  164. package/renderer/NucleationError.d.ts +53 -0
  165. package/renderer/NucleationError.mjs +136 -0
  166. package/renderer/OutputCondition.d.mts +45 -0
  167. package/renderer/OutputCondition.d.ts +45 -0
  168. package/renderer/OutputCondition.mjs +129 -0
  169. package/renderer/Palette.d.mts +157 -0
  170. package/renderer/Palette.d.ts +157 -0
  171. package/renderer/Palette.mjs +487 -0
  172. package/renderer/PaletteBuilder.d.mts +119 -0
  173. package/renderer/PaletteBuilder.d.ts +119 -0
  174. package/renderer/PaletteBuilder.mjs +457 -0
  175. package/renderer/README.md +67 -0
  176. package/renderer/RawMeshExport.d.mts +74 -0
  177. package/renderer/RawMeshExport.d.ts +74 -0
  178. package/renderer/RawMeshExport.mjs +243 -0
  179. package/renderer/RedstoneGraph.d.mts +58 -0
  180. package/renderer/RedstoneGraph.d.ts +58 -0
  181. package/renderer/RedstoneGraph.mjs +242 -0
  182. package/renderer/RegionBounds.d.mts +41 -0
  183. package/renderer/RegionBounds.d.ts +41 -0
  184. package/renderer/RegionBounds.mjs +182 -0
  185. package/renderer/RenderConfig.d.mts +101 -0
  186. package/renderer/RenderConfig.d.ts +101 -0
  187. package/renderer/RenderConfig.mjs +271 -0
  188. package/renderer/Renderer.d.mts +51 -0
  189. package/renderer/Renderer.d.ts +51 -0
  190. package/renderer/Renderer.mjs +219 -0
  191. package/renderer/ResourcePack.d.mts +105 -0
  192. package/renderer/ResourcePack.d.ts +105 -0
  193. package/renderer/ResourcePack.mjs +447 -0
  194. package/renderer/ResourcePackList.d.mts +32 -0
  195. package/renderer/ResourcePackList.d.ts +32 -0
  196. package/renderer/ResourcePackList.mjs +96 -0
  197. package/renderer/Routing.d.mts +66 -0
  198. package/renderer/Routing.d.ts +66 -0
  199. package/renderer/Routing.mjs +220 -0
  200. package/renderer/Schematic.d.mts +977 -0
  201. package/renderer/Schematic.d.ts +977 -0
  202. package/renderer/Schematic.mjs +3820 -0
  203. package/renderer/SchematicBuilder.d.mts +103 -0
  204. package/renderer/SchematicBuilder.d.ts +103 -0
  205. package/renderer/SchematicBuilder.mjs +401 -0
  206. package/renderer/SchematicRegions.d.mts +93 -0
  207. package/renderer/SchematicRegions.d.ts +93 -0
  208. package/renderer/SchematicRegions.mjs +411 -0
  209. package/renderer/SchematicSplitResult.d.mts +26 -0
  210. package/renderer/SchematicSplitResult.d.ts +26 -0
  211. package/renderer/SchematicSplitResult.mjs +84 -0
  212. package/renderer/Scripting.d.mts +40 -0
  213. package/renderer/Scripting.d.ts +40 -0
  214. package/renderer/Scripting.mjs +138 -0
  215. package/renderer/Sdf.d.mts +234 -0
  216. package/renderer/Sdf.d.ts +234 -0
  217. package/renderer/Sdf.mjs +1234 -0
  218. package/renderer/SdfAxis.d.mts +25 -0
  219. package/renderer/SdfAxis.d.ts +25 -0
  220. package/renderer/SdfAxis.mjs +75 -0
  221. package/renderer/SdfBounds.d.mts +19 -0
  222. package/renderer/SdfBounds.d.ts +19 -0
  223. package/renderer/SdfBounds.mjs +161 -0
  224. package/renderer/SdfCellMode.d.mts +26 -0
  225. package/renderer/SdfCellMode.d.ts +26 -0
  226. package/renderer/SdfCellMode.mjs +78 -0
  227. package/renderer/SdfNormal.d.mts +16 -0
  228. package/renderer/SdfNormal.d.ts +16 -0
  229. package/renderer/SdfNormal.mjs +122 -0
  230. package/renderer/Shape.d.mts +143 -0
  231. package/renderer/Shape.d.ts +143 -0
  232. package/renderer/Shape.mjs +458 -0
  233. package/renderer/SortStrategy.d.mts +86 -0
  234. package/renderer/SortStrategy.d.ts +86 -0
  235. package/renderer/SortStrategy.mjs +272 -0
  236. package/renderer/Store.d.mts +83 -0
  237. package/renderer/Store.d.ts +83 -0
  238. package/renderer/Store.mjs +369 -0
  239. package/renderer/StoreIo.d.mts +71 -0
  240. package/renderer/StoreIo.d.ts +71 -0
  241. package/renderer/StoreIo.mjs +292 -0
  242. package/renderer/TextureAtlas.d.mts +40 -0
  243. package/renderer/TextureAtlas.d.ts +40 -0
  244. package/renderer/TextureAtlas.mjs +122 -0
  245. package/renderer/TextureInfo.d.mts +34 -0
  246. package/renderer/TextureInfo.d.ts +34 -0
  247. package/renderer/TextureInfo.mjs +149 -0
  248. package/renderer/TickSettleMode.d.mts +34 -0
  249. package/renderer/TickSettleMode.d.ts +34 -0
  250. package/renderer/TickSettleMode.mjs +84 -0
  251. package/renderer/TickSimulation.d.mts +572 -0
  252. package/renderer/TickSimulation.d.ts +572 -0
  253. package/renderer/TickSimulation.mjs +1299 -0
  254. package/renderer/TypedCircuitExecutor.d.mts +101 -0
  255. package/renderer/TypedCircuitExecutor.d.ts +101 -0
  256. package/renderer/TypedCircuitExecutor.mjs +378 -0
  257. package/renderer/Value.d.mts +73 -0
  258. package/renderer/Value.d.ts +73 -0
  259. package/renderer/Value.mjs +275 -0
  260. package/renderer/VideoConfig.d.mts +15 -0
  261. package/renderer/VideoConfig.d.ts +15 -0
  262. package/renderer/VideoConfig.mjs +44 -0
  263. package/renderer/VoxelModel.d.mts +34 -0
  264. package/renderer/VoxelModel.d.ts +34 -0
  265. package/renderer/VoxelModel.mjs +113 -0
  266. package/renderer/Voxelizer.d.mts +80 -0
  267. package/renderer/Voxelizer.d.ts +80 -0
  268. package/renderer/Voxelizer.mjs +261 -0
  269. package/renderer/WorldChunkView.d.mts +75 -0
  270. package/renderer/WorldChunkView.d.ts +75 -0
  271. package/renderer/WorldChunkView.mjs +224 -0
  272. package/renderer/WorldGenerator.d.mts +75 -0
  273. package/renderer/WorldGenerator.d.ts +75 -0
  274. package/renderer/WorldGenerator.mjs +255 -0
  275. package/renderer/WorldSink.d.mts +50 -0
  276. package/renderer/WorldSink.d.ts +50 -0
  277. package/renderer/WorldSink.mjs +177 -0
  278. package/renderer/WorldStream.d.mts +45 -0
  279. package/renderer/WorldStream.d.ts +45 -0
  280. package/renderer/WorldStream.mjs +184 -0
  281. package/renderer/WsPartitionHints.d.mts +29 -0
  282. package/renderer/WsPartitionHints.d.ts +29 -0
  283. package/renderer/WsPartitionHints.mjs +102 -0
  284. package/renderer/WsProfile.d.mts +46 -0
  285. package/renderer/WsProfile.d.ts +46 -0
  286. package/renderer/WsProfile.mjs +152 -0
  287. package/renderer/WsRunResult.d.mts +83 -0
  288. package/renderer/WsRunResult.d.ts +83 -0
  289. package/renderer/WsRunResult.mjs +326 -0
  290. package/renderer/WsSegmentJob.d.mts +28 -0
  291. package/renderer/WsSegmentJob.d.ts +28 -0
  292. package/renderer/WsSegmentJob.mjs +81 -0
  293. package/renderer/diplomat-runtime.d.mts +15 -0
  294. package/renderer/diplomat-runtime.d.ts +15 -0
  295. package/renderer/diplomat-runtime.mjs +779 -0
  296. package/renderer/diplomat-wasm.mjs +52 -0
  297. package/renderer/diplomat.config.mjs +5 -0
  298. package/renderer/index.d.mts +193 -0
  299. package/renderer/index.d.ts +193 -0
  300. package/renderer/index.mjs +196 -0
  301. package/renderer/nucleation.wasm +0 -0
  302. package/renderer/veneer/design.d.ts +167 -0
  303. package/renderer/veneer/design.mjs +480 -0
@@ -0,0 +1,326 @@
1
+ // generated by diplomat-tool
2
+ import { BlockPos } from "./BlockPos.mjs"
3
+ import { NucleationError } from "./NucleationError.mjs"
4
+ import { WsPartitionHints } from "./WsPartitionHints.mjs"
5
+ import { WsProfile } from "./WsProfile.mjs"
6
+ import { WsSegmentJob } from "./WsSegmentJob.mjs"
7
+ import wasm from "./diplomat-wasm.mjs";
8
+ import * as diplomatRuntime from "./diplomat-runtime.mjs";
9
+
10
+ const WsRunResult_box_destroy_registry = new FinalizationRegistry((ptr) => {
11
+ wasm.WsRunResult_destroy(ptr);
12
+ });
13
+
14
+ /**
15
+ * The materialized output of one segmentation run: every build (in the
16
+ * pipeline's deterministic stable-id order) plus the aggregate
17
+ * {@link RunStats}(crate::world_segment::runner::RunStats).
18
+ */
19
+ export class WsRunResult {
20
+ // Internal ptr reference:
21
+ #ptr = null;
22
+
23
+ // Lifetimes are only to keep dependencies alive.
24
+ // Since JS won't garbage collect until there are no incoming edges.
25
+ #selfEdge = [];
26
+
27
+ #internalConstructor(symbol, ptr, selfEdge) {
28
+ if (symbol !== diplomatRuntime.internalConstructor) {
29
+ console.error("WsRunResult is an Opaque type. You cannot call its constructor.");
30
+ return;
31
+ }
32
+ this.#ptr = ptr;
33
+ this.#selfEdge = selfEdge;
34
+
35
+ // Are we being borrowed? If not, we can register.
36
+ if (this.#selfEdge.length === 0) {
37
+ WsRunResult_box_destroy_registry.register(this, this.#ptr);
38
+ }
39
+
40
+ return this;
41
+ }
42
+ /** @internal */
43
+ get ffiValue() {
44
+ return this.#ptr;
45
+ }
46
+
47
+
48
+ /**
49
+ * Run the full pipeline (source -> segment -> stitch -> score ->
50
+ * identity -> materialize) over a world directory. No prior-snapshot
51
+ * builds are supplied, so every build seeds a fresh stable id (see
52
+ * `StableBuildId::seed`).
53
+ *
54
+ * See the module docs for why this catches a panic instead of
55
+ * propagating it.
56
+ */
57
+ static runDir(job, hints, profile, worldDir) {
58
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
59
+
60
+ const worldDirSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, worldDir)));
61
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
62
+
63
+
64
+ const result = wasm.WsRunResult_run_dir(diplomatReceive.buffer, job.ffiValue, hints.ffiValue, profile.ffiValue, worldDirSlice.ptr);
65
+
66
+ try {
67
+ if (!diplomatReceive.resultFlag) {
68
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
69
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
70
+ }
71
+ return new WsRunResult(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
72
+ }
73
+
74
+ finally {
75
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
76
+ functionCleanupArena.free();
77
+
78
+ diplomatReceive.free();
79
+ }
80
+ }
81
+
82
+ /**
83
+ * Total builds materialized (same as `build_count`, from `RunStats`).
84
+ */
85
+ builds() {
86
+
87
+ const result = wasm.WsRunResult_builds(this.ffiValue);
88
+
89
+ try {
90
+ return result;
91
+ }
92
+
93
+ finally {
94
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
95
+ }
96
+ }
97
+
98
+ tierConfident() {
99
+
100
+ const result = wasm.WsRunResult_tier_confident(this.ffiValue);
101
+
102
+ try {
103
+ return result;
104
+ }
105
+
106
+ finally {
107
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
108
+ }
109
+ }
110
+
111
+ tierProbable() {
112
+
113
+ const result = wasm.WsRunResult_tier_probable(this.ffiValue);
114
+
115
+ try {
116
+ return result;
117
+ }
118
+
119
+ finally {
120
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
121
+ }
122
+ }
123
+
124
+ tierDebris() {
125
+
126
+ const result = wasm.WsRunResult_tier_debris(this.ffiValue);
127
+
128
+ try {
129
+ return result;
130
+ }
131
+
132
+ finally {
133
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
134
+ }
135
+ }
136
+
137
+ crossTile() {
138
+
139
+ const result = wasm.WsRunResult_cross_tile(this.ffiValue);
140
+
141
+ try {
142
+ return result;
143
+ }
144
+
145
+ finally {
146
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
147
+ }
148
+ }
149
+
150
+ largestBlockCount() {
151
+
152
+ const result = wasm.WsRunResult_largest_block_count(this.ffiValue);
153
+
154
+ try {
155
+ return result;
156
+ }
157
+
158
+ finally {
159
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
160
+ }
161
+ }
162
+
163
+ /**
164
+ * Number of builds held in this result (indices `0..build_count()`
165
+ * are valid for every per-index accessor below).
166
+ */
167
+ buildCount() {
168
+
169
+ const result = wasm.WsRunResult_build_count(this.ffiValue);
170
+
171
+ try {
172
+ return result;
173
+ }
174
+
175
+ finally {
176
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
177
+ }
178
+ }
179
+
180
+ /**
181
+ * The build's stable id (hex), stable across re-runs against the
182
+ * same source under the same config, absent a prior-snapshot match.
183
+ */
184
+ stableIdHex(index) {
185
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
186
+
187
+ const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
188
+
189
+
190
+ const result = wasm.WsRunResult_stable_id_hex(diplomatReceive.buffer, this.ffiValue, index, write.buffer);
191
+
192
+ try {
193
+ if (!diplomatReceive.resultFlag) {
194
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
195
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
196
+ }
197
+ return write.readString8();
198
+ }
199
+
200
+ finally {
201
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
202
+ diplomatReceive.free();
203
+ write.free();
204
+ }
205
+ }
206
+
207
+ /**
208
+ * The build's content fingerprint, as 32 lowercase hex digits (u128,
209
+ * big-endian).
210
+ */
211
+ fingerprintHex(index) {
212
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
213
+
214
+ const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
215
+
216
+
217
+ const result = wasm.WsRunResult_fingerprint_hex(diplomatReceive.buffer, this.ffiValue, index, write.buffer);
218
+
219
+ try {
220
+ if (!diplomatReceive.resultFlag) {
221
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
222
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
223
+ }
224
+ return write.readString8();
225
+ }
226
+
227
+ finally {
228
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
229
+ diplomatReceive.free();
230
+ write.free();
231
+ }
232
+ }
233
+
234
+ /**
235
+ * `0` = Confident, `1` = Probable, `2` = Debris.
236
+ */
237
+ tierOf(index) {
238
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 1, true);
239
+
240
+
241
+ const result = wasm.WsRunResult_tier_of(diplomatReceive.buffer, this.ffiValue, index);
242
+
243
+ try {
244
+ if (!diplomatReceive.resultFlag) {
245
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
246
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
247
+ }
248
+ return (new Uint8Array(wasm.memory.buffer, diplomatReceive.buffer, 1))[0];
249
+ }
250
+
251
+ finally {
252
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
253
+ diplomatReceive.free();
254
+ }
255
+ }
256
+
257
+ blockCountOf(index) {
258
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 9, 8, true);
259
+
260
+
261
+ const result = wasm.WsRunResult_block_count_of(diplomatReceive.buffer, this.ffiValue, index);
262
+
263
+ try {
264
+ if (!diplomatReceive.resultFlag) {
265
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
266
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
267
+ }
268
+ return (new BigUint64Array(wasm.memory.buffer, diplomatReceive.buffer, 1))[0];
269
+ }
270
+
271
+ finally {
272
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
273
+ diplomatReceive.free();
274
+ }
275
+ }
276
+
277
+ /**
278
+ * The build's world-space bounding box minimum (inclusive).
279
+ */
280
+ bboxMinOf(index) {
281
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 13, 4, true);
282
+
283
+
284
+ const result = wasm.WsRunResult_bbox_min_of(diplomatReceive.buffer, this.ffiValue, index);
285
+
286
+ try {
287
+ if (!diplomatReceive.resultFlag) {
288
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
289
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
290
+ }
291
+ return BlockPos._fromFFI(diplomatRuntime.internalConstructor, diplomatReceive.buffer);
292
+ }
293
+
294
+ finally {
295
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
296
+ diplomatReceive.free();
297
+ }
298
+ }
299
+
300
+ /**
301
+ * The build's world-space bounding box maximum (inclusive).
302
+ */
303
+ bboxMaxOf(index) {
304
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 13, 4, true);
305
+
306
+
307
+ const result = wasm.WsRunResult_bbox_max_of(diplomatReceive.buffer, this.ffiValue, index);
308
+
309
+ try {
310
+ if (!diplomatReceive.resultFlag) {
311
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
312
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
313
+ }
314
+ return BlockPos._fromFFI(diplomatRuntime.internalConstructor, diplomatReceive.buffer);
315
+ }
316
+
317
+ finally {
318
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
319
+ diplomatReceive.free();
320
+ }
321
+ }
322
+
323
+ constructor(symbol, ptr, selfEdge) {
324
+ return this.#internalConstructor(...arguments)
325
+ }
326
+ }
@@ -0,0 +1,28 @@
1
+ // generated by diplomat-tool
2
+ import type { NucleationError } from "./NucleationError.mjs"
3
+ import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
4
+
5
+
6
+
7
+ /**
8
+ * One segmentation run's parameters (the primitive knobs of
9
+ * {@link SegmentJob}(crate::world_segment::runner::SegmentJob), plus a
10
+ * `hard_cut` flag selecting {@link PartitionPolicy}). Built once, passed by
11
+ * reference into {@link WsRunResult::run_dir}.
12
+ */
13
+ export class WsSegmentJob {
14
+ /** @internal */
15
+ get ffiValue(): pointer;
16
+ /** @internal */
17
+ constructor();
18
+
19
+
20
+ /**
21
+ * `algorithm_version` is pinned to
22
+ * {@link SegConfig::default}(crate::world_segment::segment::SegConfig)'s
23
+ * value; `score_config` uses `ScoreConfig::default()`. Neither is
24
+ * exposed as a knob here — construct a `SegmentJob` directly in Rust
25
+ * if you need to override them.
26
+ */
27
+ static create(cellSize: number, closingRadius: number, minClusterBlocks: bigint, sourceId: string, snapshotId: string, minY: number, maxY: number, extractedAt: bigint, matchIou: number, hardCut: boolean): WsSegmentJob;
28
+ }
@@ -0,0 +1,28 @@
1
+ // generated by diplomat-tool
2
+ import type { NucleationError } from "./NucleationError.mjs"
3
+ import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
4
+
5
+
6
+
7
+ /**
8
+ * One segmentation run's parameters (the primitive knobs of
9
+ * {@link SegmentJob}(crate::world_segment::runner::SegmentJob), plus a
10
+ * `hard_cut` flag selecting {@link PartitionPolicy}). Built once, passed by
11
+ * reference into {@link WsRunResult::run_dir}.
12
+ */
13
+ export class WsSegmentJob {
14
+ /** @internal */
15
+ get ffiValue(): pointer;
16
+ /** @internal */
17
+ constructor();
18
+
19
+
20
+ /**
21
+ * `algorithm_version` is pinned to
22
+ * {@link SegConfig::default}(crate::world_segment::segment::SegConfig)'s
23
+ * value; `score_config` uses `ScoreConfig::default()`. Neither is
24
+ * exposed as a knob here — construct a `SegmentJob` directly in Rust
25
+ * if you need to override them.
26
+ */
27
+ static create(cellSize: number, closingRadius: number, minClusterBlocks: bigint, sourceId: string, snapshotId: string, minY: number, maxY: number, extractedAt: bigint, matchIou: number, hardCut: boolean): WsSegmentJob;
28
+ }
@@ -0,0 +1,81 @@
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 WsSegmentJob_box_destroy_registry = new FinalizationRegistry((ptr) => {
7
+ wasm.WsSegmentJob_destroy(ptr);
8
+ });
9
+
10
+ /**
11
+ * One segmentation run's parameters (the primitive knobs of
12
+ * {@link SegmentJob}(crate::world_segment::runner::SegmentJob), plus a
13
+ * `hard_cut` flag selecting {@link PartitionPolicy}). Built once, passed by
14
+ * reference into {@link WsRunResult::run_dir}.
15
+ */
16
+ export class WsSegmentJob {
17
+ // Internal ptr reference:
18
+ #ptr = null;
19
+
20
+ // Lifetimes are only to keep dependencies alive.
21
+ // Since JS won't garbage collect until there are no incoming edges.
22
+ #selfEdge = [];
23
+
24
+ #internalConstructor(symbol, ptr, selfEdge) {
25
+ if (symbol !== diplomatRuntime.internalConstructor) {
26
+ console.error("WsSegmentJob is an Opaque type. You cannot call its constructor.");
27
+ return;
28
+ }
29
+ this.#ptr = ptr;
30
+ this.#selfEdge = selfEdge;
31
+
32
+ // Are we being borrowed? If not, we can register.
33
+ if (this.#selfEdge.length === 0) {
34
+ WsSegmentJob_box_destroy_registry.register(this, this.#ptr);
35
+ }
36
+
37
+ return this;
38
+ }
39
+ /** @internal */
40
+ get ffiValue() {
41
+ return this.#ptr;
42
+ }
43
+
44
+
45
+ /**
46
+ * `algorithm_version` is pinned to
47
+ * {@link SegConfig::default}(crate::world_segment::segment::SegConfig)'s
48
+ * value; `score_config` uses `ScoreConfig::default()`. Neither is
49
+ * exposed as a knob here — construct a `SegmentJob` directly in Rust
50
+ * if you need to override them.
51
+ */
52
+ static create(cellSize, closingRadius, minClusterBlocks, sourceId, snapshotId, minY, maxY, extractedAt, matchIou, hardCut) {
53
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
54
+
55
+ const sourceIdSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, sourceId)));
56
+ const snapshotIdSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, snapshotId)));
57
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
58
+
59
+
60
+ const result = wasm.WsSegmentJob_create(diplomatReceive.buffer, cellSize, closingRadius, minClusterBlocks, sourceIdSlice.ptr, snapshotIdSlice.ptr, minY, maxY, extractedAt, matchIou, hardCut);
61
+
62
+ try {
63
+ if (!diplomatReceive.resultFlag) {
64
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
65
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
66
+ }
67
+ return new WsSegmentJob(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
68
+ }
69
+
70
+ finally {
71
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
72
+ functionCleanupArena.free();
73
+
74
+ diplomatReceive.free();
75
+ }
76
+ }
77
+
78
+ constructor(symbol, ptr, selfEdge) {
79
+ return this.#internalConstructor(...arguments)
80
+ }
81
+ }
@@ -0,0 +1,15 @@
1
+ /// A [codepoint] is a Unicode code point, such as `a`, or `💡`.
2
+ ///
3
+ /// The recommended way to obtain a `codepoint` is to create it from a
4
+ /// `String`, which is conceptually a list of `codepoint`s. For example,
5
+ /// `'a'.codePointAt(0)` is equal to the `char` `a`.
6
+ ///
7
+ /// JS does not have a character/codepoint literal, so integer literals
8
+ /// need to be used. For example the Unicode code point U+1F4A1, `💡`,
9
+ /// can be represented by `0x1F4A1`. Note that only values in the ranges
10
+ /// `0x0..0xD7FF` and `0xE000..0x10FFFF` (both inclusive) are Unicode
11
+ /// code points, and hence valid `codepoint`s.
12
+ ///
13
+ /// A `String` can be constructed from a `codepoint` using `String.fromCodePoint()`.
14
+ export type codepoint = number;
15
+ export type pointer = number;
@@ -0,0 +1,15 @@
1
+ /// A [codepoint] is a Unicode code point, such as `a`, or `💡`.
2
+ ///
3
+ /// The recommended way to obtain a `codepoint` is to create it from a
4
+ /// `String`, which is conceptually a list of `codepoint`s. For example,
5
+ /// `'a'.codePointAt(0)` is equal to the `char` `a`.
6
+ ///
7
+ /// JS does not have a character/codepoint literal, so integer literals
8
+ /// need to be used. For example the Unicode code point U+1F4A1, `💡`,
9
+ /// can be represented by `0x1F4A1`. Note that only values in the ranges
10
+ /// `0x0..0xD7FF` and `0xE000..0x10FFFF` (both inclusive) are Unicode
11
+ /// code points, and hence valid `codepoint`s.
12
+ ///
13
+ /// A `String` can be constructed from a `codepoint` using `String.fromCodePoint()`.
14
+ export type codepoint = number;
15
+ export type pointer = number;