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,46 @@
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
+ * A pinned {@link WorldProfile}(crate::world_segment::profile::WorldProfile):
9
+ * the substrate palette + Y band derived (or supplied) once per world and
10
+ * reused across every segmentation run against it.
11
+ */
12
+ export class WsProfile {
13
+ /** @internal */
14
+ get ffiValue(): pointer;
15
+ /** @internal */
16
+ constructor();
17
+
18
+
19
+ /**
20
+ * Derive a profile from up to `sample` tiles (regions) of a world
21
+ * directory, in ascending `(x, z)` region order. `coverage` is
22
+ * `ProfileParams::min_slab_coverage`; every other `ProfileParams`
23
+ * field uses its default (`sample_stride: 1`, `y_scan: (-64, 320)`).
24
+ */
25
+ static deriveFromDir(worldDir: string, minY: number, maxY: number, sample: number, coverage: number): WsProfile;
26
+
27
+ /**
28
+ * The derived substrate Y band's lower bound (inclusive).
29
+ */
30
+ bandMin(): number;
31
+
32
+ /**
33
+ * The derived substrate Y band's upper bound (inclusive).
34
+ */
35
+ bandMax(): number;
36
+
37
+ /**
38
+ * Number of distinct block names in the substrate palette.
39
+ */
40
+ paletteLen(): number;
41
+
42
+ /**
43
+ * The substrate palette as a JSON array of block-name strings.
44
+ */
45
+ writePaletteJson(): string;
46
+ }
@@ -0,0 +1,46 @@
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
+ * A pinned {@link WorldProfile}(crate::world_segment::profile::WorldProfile):
9
+ * the substrate palette + Y band derived (or supplied) once per world and
10
+ * reused across every segmentation run against it.
11
+ */
12
+ export class WsProfile {
13
+ /** @internal */
14
+ get ffiValue(): pointer;
15
+ /** @internal */
16
+ constructor();
17
+
18
+
19
+ /**
20
+ * Derive a profile from up to `sample` tiles (regions) of a world
21
+ * directory, in ascending `(x, z)` region order. `coverage` is
22
+ * `ProfileParams::min_slab_coverage`; every other `ProfileParams`
23
+ * field uses its default (`sample_stride: 1`, `y_scan: (-64, 320)`).
24
+ */
25
+ static deriveFromDir(worldDir: string, minY: number, maxY: number, sample: number, coverage: number): WsProfile;
26
+
27
+ /**
28
+ * The derived substrate Y band's lower bound (inclusive).
29
+ */
30
+ bandMin(): number;
31
+
32
+ /**
33
+ * The derived substrate Y band's upper bound (inclusive).
34
+ */
35
+ bandMax(): number;
36
+
37
+ /**
38
+ * Number of distinct block names in the substrate palette.
39
+ */
40
+ paletteLen(): number;
41
+
42
+ /**
43
+ * The substrate palette as a JSON array of block-name strings.
44
+ */
45
+ writePaletteJson(): string;
46
+ }
@@ -0,0 +1,152 @@
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 WsProfile_box_destroy_registry = new FinalizationRegistry((ptr) => {
7
+ wasm.WsProfile_destroy(ptr);
8
+ });
9
+
10
+ /**
11
+ * A pinned {@link WorldProfile}(crate::world_segment::profile::WorldProfile):
12
+ * the substrate palette + Y band derived (or supplied) once per world and
13
+ * reused across every segmentation run against it.
14
+ */
15
+ export class WsProfile {
16
+ // Internal ptr reference:
17
+ #ptr = null;
18
+
19
+ // Lifetimes are only to keep dependencies alive.
20
+ // Since JS won't garbage collect until there are no incoming edges.
21
+ #selfEdge = [];
22
+
23
+ #internalConstructor(symbol, ptr, selfEdge) {
24
+ if (symbol !== diplomatRuntime.internalConstructor) {
25
+ console.error("WsProfile is an Opaque type. You cannot call its constructor.");
26
+ return;
27
+ }
28
+ this.#ptr = ptr;
29
+ this.#selfEdge = selfEdge;
30
+
31
+ // Are we being borrowed? If not, we can register.
32
+ if (this.#selfEdge.length === 0) {
33
+ WsProfile_box_destroy_registry.register(this, this.#ptr);
34
+ }
35
+
36
+ return this;
37
+ }
38
+ /** @internal */
39
+ get ffiValue() {
40
+ return this.#ptr;
41
+ }
42
+
43
+
44
+ /**
45
+ * Derive a profile from up to `sample` tiles (regions) of a world
46
+ * directory, in ascending `(x, z)` region order. `coverage` is
47
+ * `ProfileParams::min_slab_coverage`; every other `ProfileParams`
48
+ * field uses its default (`sample_stride: 1`, `y_scan: (-64, 320)`).
49
+ */
50
+ static deriveFromDir(worldDir, minY, maxY, sample, coverage) {
51
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
52
+
53
+ const worldDirSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, worldDir)));
54
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
55
+
56
+
57
+ const result = wasm.WsProfile_derive_from_dir(diplomatReceive.buffer, worldDirSlice.ptr, minY, maxY, sample, coverage);
58
+
59
+ try {
60
+ if (!diplomatReceive.resultFlag) {
61
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
62
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
63
+ }
64
+ return new WsProfile(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
65
+ }
66
+
67
+ finally {
68
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
69
+ functionCleanupArena.free();
70
+
71
+ diplomatReceive.free();
72
+ }
73
+ }
74
+
75
+ /**
76
+ * The derived substrate Y band's lower bound (inclusive).
77
+ */
78
+ bandMin() {
79
+
80
+ const result = wasm.WsProfile_band_min(this.ffiValue);
81
+
82
+ try {
83
+ return result;
84
+ }
85
+
86
+ finally {
87
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
88
+ }
89
+ }
90
+
91
+ /**
92
+ * The derived substrate Y band's upper bound (inclusive).
93
+ */
94
+ bandMax() {
95
+
96
+ const result = wasm.WsProfile_band_max(this.ffiValue);
97
+
98
+ try {
99
+ return result;
100
+ }
101
+
102
+ finally {
103
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
104
+ }
105
+ }
106
+
107
+ /**
108
+ * Number of distinct block names in the substrate palette.
109
+ */
110
+ paletteLen() {
111
+
112
+ const result = wasm.WsProfile_palette_len(this.ffiValue);
113
+
114
+ try {
115
+ return result;
116
+ }
117
+
118
+ finally {
119
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
120
+ }
121
+ }
122
+
123
+ /**
124
+ * The substrate palette as a JSON array of block-name strings.
125
+ */
126
+ writePaletteJson() {
127
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
128
+
129
+ const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
130
+
131
+
132
+ const result = wasm.WsProfile_write_palette_json(diplomatReceive.buffer, this.ffiValue, write.buffer);
133
+
134
+ try {
135
+ if (!diplomatReceive.resultFlag) {
136
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
137
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
138
+ }
139
+ return write.readString8();
140
+ }
141
+
142
+ finally {
143
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
144
+ diplomatReceive.free();
145
+ write.free();
146
+ }
147
+ }
148
+
149
+ constructor(symbol, ptr, selfEdge) {
150
+ return this.#internalConstructor(...arguments)
151
+ }
152
+ }
@@ -0,0 +1,83 @@
1
+ // generated by diplomat-tool
2
+ import type { BlockPos } from "./BlockPos.mjs"
3
+ import type { NucleationError } from "./NucleationError.mjs"
4
+ import type { WsPartitionHints } from "./WsPartitionHints.mjs"
5
+ import type { WsProfile } from "./WsProfile.mjs"
6
+ import type { WsSegmentJob } from "./WsSegmentJob.mjs"
7
+ import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
8
+
9
+
10
+
11
+ /**
12
+ * The materialized output of one segmentation run: every build (in the
13
+ * pipeline's deterministic stable-id order) plus the aggregate
14
+ * {@link RunStats}(crate::world_segment::runner::RunStats).
15
+ */
16
+ export class WsRunResult {
17
+ /** @internal */
18
+ get ffiValue(): pointer;
19
+ /** @internal */
20
+ constructor();
21
+
22
+
23
+ /**
24
+ * Run the full pipeline (source -> segment -> stitch -> score ->
25
+ * identity -> materialize) over a world directory. No prior-snapshot
26
+ * builds are supplied, so every build seeds a fresh stable id (see
27
+ * `StableBuildId::seed`).
28
+ *
29
+ * See the module docs for why this catches a panic instead of
30
+ * propagating it.
31
+ */
32
+ static runDir(job: WsSegmentJob, hints: WsPartitionHints, profile: WsProfile, worldDir: string): WsRunResult;
33
+
34
+ /**
35
+ * Total builds materialized (same as `build_count`, from `RunStats`).
36
+ */
37
+ builds(): bigint;
38
+
39
+ tierConfident(): bigint;
40
+
41
+ tierProbable(): bigint;
42
+
43
+ tierDebris(): bigint;
44
+
45
+ crossTile(): bigint;
46
+
47
+ largestBlockCount(): bigint;
48
+
49
+ /**
50
+ * Number of builds held in this result (indices `0..build_count()`
51
+ * are valid for every per-index accessor below).
52
+ */
53
+ buildCount(): number;
54
+
55
+ /**
56
+ * The build's stable id (hex), stable across re-runs against the
57
+ * same source under the same config, absent a prior-snapshot match.
58
+ */
59
+ stableIdHex(index: number): string;
60
+
61
+ /**
62
+ * The build's content fingerprint, as 32 lowercase hex digits (u128,
63
+ * big-endian).
64
+ */
65
+ fingerprintHex(index: number): string;
66
+
67
+ /**
68
+ * `0` = Confident, `1` = Probable, `2` = Debris.
69
+ */
70
+ tierOf(index: number): number;
71
+
72
+ blockCountOf(index: number): bigint;
73
+
74
+ /**
75
+ * The build's world-space bounding box minimum (inclusive).
76
+ */
77
+ bboxMinOf(index: number): BlockPos;
78
+
79
+ /**
80
+ * The build's world-space bounding box maximum (inclusive).
81
+ */
82
+ bboxMaxOf(index: number): BlockPos;
83
+ }
@@ -0,0 +1,83 @@
1
+ // generated by diplomat-tool
2
+ import type { BlockPos } from "./BlockPos.mjs"
3
+ import type { NucleationError } from "./NucleationError.mjs"
4
+ import type { WsPartitionHints } from "./WsPartitionHints.mjs"
5
+ import type { WsProfile } from "./WsProfile.mjs"
6
+ import type { WsSegmentJob } from "./WsSegmentJob.mjs"
7
+ import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
8
+
9
+
10
+
11
+ /**
12
+ * The materialized output of one segmentation run: every build (in the
13
+ * pipeline's deterministic stable-id order) plus the aggregate
14
+ * {@link RunStats}(crate::world_segment::runner::RunStats).
15
+ */
16
+ export class WsRunResult {
17
+ /** @internal */
18
+ get ffiValue(): pointer;
19
+ /** @internal */
20
+ constructor();
21
+
22
+
23
+ /**
24
+ * Run the full pipeline (source -> segment -> stitch -> score ->
25
+ * identity -> materialize) over a world directory. No prior-snapshot
26
+ * builds are supplied, so every build seeds a fresh stable id (see
27
+ * `StableBuildId::seed`).
28
+ *
29
+ * See the module docs for why this catches a panic instead of
30
+ * propagating it.
31
+ */
32
+ static runDir(job: WsSegmentJob, hints: WsPartitionHints, profile: WsProfile, worldDir: string): WsRunResult;
33
+
34
+ /**
35
+ * Total builds materialized (same as `build_count`, from `RunStats`).
36
+ */
37
+ builds(): bigint;
38
+
39
+ tierConfident(): bigint;
40
+
41
+ tierProbable(): bigint;
42
+
43
+ tierDebris(): bigint;
44
+
45
+ crossTile(): bigint;
46
+
47
+ largestBlockCount(): bigint;
48
+
49
+ /**
50
+ * Number of builds held in this result (indices `0..build_count()`
51
+ * are valid for every per-index accessor below).
52
+ */
53
+ buildCount(): number;
54
+
55
+ /**
56
+ * The build's stable id (hex), stable across re-runs against the
57
+ * same source under the same config, absent a prior-snapshot match.
58
+ */
59
+ stableIdHex(index: number): string;
60
+
61
+ /**
62
+ * The build's content fingerprint, as 32 lowercase hex digits (u128,
63
+ * big-endian).
64
+ */
65
+ fingerprintHex(index: number): string;
66
+
67
+ /**
68
+ * `0` = Confident, `1` = Probable, `2` = Debris.
69
+ */
70
+ tierOf(index: number): number;
71
+
72
+ blockCountOf(index: number): bigint;
73
+
74
+ /**
75
+ * The build's world-space bounding box minimum (inclusive).
76
+ */
77
+ bboxMinOf(index: number): BlockPos;
78
+
79
+ /**
80
+ * The build's world-space bounding box maximum (inclusive).
81
+ */
82
+ bboxMaxOf(index: number): BlockPos;
83
+ }