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,102 @@
1
+ // generated by diplomat-tool
2
+ import wasm from "./diplomat-wasm.mjs";
3
+ import * as diplomatRuntime from "./diplomat-runtime.mjs";
4
+
5
+
6
+
7
+ /**
8
+ * Unary field-program operations (see `crate::sdf::UnaryOp`).
9
+ */
10
+ export class FieldProgramUnaryOp {
11
+ #value = undefined;
12
+
13
+ static #values = new Map([
14
+ ["Neg", 0],
15
+ ["Abs", 1],
16
+ ["Sqrt", 2],
17
+ ["Log", 3],
18
+ ["Sin", 4],
19
+ ["Cos", 5],
20
+ ["Acos", 6],
21
+ ["VecX", 7],
22
+ ["VecY", 8],
23
+ ["VecZ", 9],
24
+ ["Length", 10],
25
+ ["Normalize", 11]
26
+ ]);
27
+
28
+ static getAllEntries() {
29
+ return FieldProgramUnaryOp.#values.entries();
30
+ }
31
+
32
+ #internalConstructor(value) {
33
+ if (arguments.length > 1 && arguments[0] === diplomatRuntime.internalConstructor) {
34
+ // We pass in two internalConstructor arguments to create *new*
35
+ // instances of this type, otherwise the enums are treated as singletons.
36
+ if (arguments[1] === diplomatRuntime.internalConstructor ) {
37
+ this.#value = arguments[2];
38
+ return this;
39
+ }
40
+ return FieldProgramUnaryOp.#objectValues[arguments[1]];
41
+ }
42
+
43
+ if (value instanceof FieldProgramUnaryOp) {
44
+ return value;
45
+ }
46
+
47
+ let intVal = FieldProgramUnaryOp.#values.get(value);
48
+
49
+ // Nullish check, checks for null or undefined
50
+ if (intVal != null) {
51
+ return FieldProgramUnaryOp.#objectValues[intVal];
52
+ }
53
+
54
+ throw TypeError(value + " is not a FieldProgramUnaryOp and does not correspond to any of its enumerator values.");
55
+ }
56
+
57
+ /** @internal */
58
+ static fromValue(value) {
59
+ return new FieldProgramUnaryOp(value);
60
+ }
61
+
62
+ get value(){
63
+ return [...FieldProgramUnaryOp.#values.keys()][this.#value];
64
+ }
65
+
66
+ /** @internal */
67
+ get ffiValue(){
68
+ return this.#value;
69
+ }
70
+ static #objectValues = [
71
+ new FieldProgramUnaryOp(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 0),
72
+ new FieldProgramUnaryOp(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 1),
73
+ new FieldProgramUnaryOp(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 2),
74
+ new FieldProgramUnaryOp(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 3),
75
+ new FieldProgramUnaryOp(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 4),
76
+ new FieldProgramUnaryOp(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 5),
77
+ new FieldProgramUnaryOp(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 6),
78
+ new FieldProgramUnaryOp(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 7),
79
+ new FieldProgramUnaryOp(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 8),
80
+ new FieldProgramUnaryOp(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 9),
81
+ new FieldProgramUnaryOp(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 10),
82
+ new FieldProgramUnaryOp(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 11),
83
+ ];
84
+
85
+ static Neg = FieldProgramUnaryOp.#objectValues[0];
86
+ static Abs = FieldProgramUnaryOp.#objectValues[1];
87
+ static Sqrt = FieldProgramUnaryOp.#objectValues[2];
88
+ static Log = FieldProgramUnaryOp.#objectValues[3];
89
+ static Sin = FieldProgramUnaryOp.#objectValues[4];
90
+ static Cos = FieldProgramUnaryOp.#objectValues[5];
91
+ static Acos = FieldProgramUnaryOp.#objectValues[6];
92
+ static VecX = FieldProgramUnaryOp.#objectValues[7];
93
+ static VecY = FieldProgramUnaryOp.#objectValues[8];
94
+ static VecZ = FieldProgramUnaryOp.#objectValues[9];
95
+ static Length = FieldProgramUnaryOp.#objectValues[10];
96
+ static Normalize = FieldProgramUnaryOp.#objectValues[11];
97
+
98
+
99
+ constructor(value) {
100
+ return this.#internalConstructor(...arguments)
101
+ }
102
+ }
@@ -0,0 +1,25 @@
1
+ // generated by diplomat-tool
2
+ import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
3
+
4
+
5
+
6
+ /**
7
+ * The type of a value on a {@link FieldProgramBuilder}'s stack or in a slot.
8
+ */
9
+ export class FieldProgramValueType {
10
+
11
+ /** @internal */
12
+ static fromValue(value: FieldProgramValueType | string): FieldProgramValueType;
13
+
14
+ get value(): string;
15
+
16
+ /** @internal */
17
+ get ffiValue(): number;
18
+
19
+ static Scalar : FieldProgramValueType;
20
+ static Vec3 : FieldProgramValueType;
21
+ static Bool : FieldProgramValueType;
22
+
23
+
24
+ constructor(value: FieldProgramValueType | string );
25
+ }
@@ -0,0 +1,25 @@
1
+ // generated by diplomat-tool
2
+ import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
3
+
4
+
5
+
6
+ /**
7
+ * The type of a value on a {@link FieldProgramBuilder}'s stack or in a slot.
8
+ */
9
+ export class FieldProgramValueType {
10
+
11
+ /** @internal */
12
+ static fromValue(value: FieldProgramValueType | string): FieldProgramValueType;
13
+
14
+ get value(): string;
15
+
16
+ /** @internal */
17
+ get ffiValue(): number;
18
+
19
+ static Scalar : FieldProgramValueType;
20
+ static Vec3 : FieldProgramValueType;
21
+ static Bool : FieldProgramValueType;
22
+
23
+
24
+ constructor(value: FieldProgramValueType | string );
25
+ }
@@ -0,0 +1,75 @@
1
+ // generated by diplomat-tool
2
+ import wasm from "./diplomat-wasm.mjs";
3
+ import * as diplomatRuntime from "./diplomat-runtime.mjs";
4
+
5
+
6
+
7
+ /**
8
+ * The type of a value on a {@link FieldProgramBuilder}'s stack or in a slot.
9
+ */
10
+ export class FieldProgramValueType {
11
+ #value = undefined;
12
+
13
+ static #values = new Map([
14
+ ["Scalar", 0],
15
+ ["Vec3", 1],
16
+ ["Bool", 2]
17
+ ]);
18
+
19
+ static getAllEntries() {
20
+ return FieldProgramValueType.#values.entries();
21
+ }
22
+
23
+ #internalConstructor(value) {
24
+ if (arguments.length > 1 && arguments[0] === diplomatRuntime.internalConstructor) {
25
+ // We pass in two internalConstructor arguments to create *new*
26
+ // instances of this type, otherwise the enums are treated as singletons.
27
+ if (arguments[1] === diplomatRuntime.internalConstructor ) {
28
+ this.#value = arguments[2];
29
+ return this;
30
+ }
31
+ return FieldProgramValueType.#objectValues[arguments[1]];
32
+ }
33
+
34
+ if (value instanceof FieldProgramValueType) {
35
+ return value;
36
+ }
37
+
38
+ let intVal = FieldProgramValueType.#values.get(value);
39
+
40
+ // Nullish check, checks for null or undefined
41
+ if (intVal != null) {
42
+ return FieldProgramValueType.#objectValues[intVal];
43
+ }
44
+
45
+ throw TypeError(value + " is not a FieldProgramValueType and does not correspond to any of its enumerator values.");
46
+ }
47
+
48
+ /** @internal */
49
+ static fromValue(value) {
50
+ return new FieldProgramValueType(value);
51
+ }
52
+
53
+ get value(){
54
+ return [...FieldProgramValueType.#values.keys()][this.#value];
55
+ }
56
+
57
+ /** @internal */
58
+ get ffiValue(){
59
+ return this.#value;
60
+ }
61
+ static #objectValues = [
62
+ new FieldProgramValueType(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 0),
63
+ new FieldProgramValueType(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 1),
64
+ new FieldProgramValueType(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 2),
65
+ ];
66
+
67
+ static Scalar = FieldProgramValueType.#objectValues[0];
68
+ static Vec3 = FieldProgramValueType.#objectValues[1];
69
+ static Bool = FieldProgramValueType.#objectValues[2];
70
+
71
+
72
+ constructor(value) {
73
+ return this.#internalConstructor(...arguments)
74
+ }
75
+ }
@@ -0,0 +1,15 @@
1
+ // generated by diplomat-tool
2
+ import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
3
+
4
+
5
+
6
+ /**
7
+ * The closed interval a field's values are analytically proven to lie in.
8
+ */
9
+ export class FieldRange {
10
+ get min(): number;
11
+ get max(): number;
12
+ /** @internal */
13
+ constructor();
14
+
15
+ }
@@ -0,0 +1,15 @@
1
+ // generated by diplomat-tool
2
+ import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
3
+
4
+
5
+
6
+ /**
7
+ * The closed interval a field's values are analytically proven to lie in.
8
+ */
9
+ export class FieldRange {
10
+ get min(): number;
11
+ get max(): number;
12
+ /** @internal */
13
+ constructor();
14
+
15
+ }
@@ -0,0 +1,109 @@
1
+ // generated by diplomat-tool
2
+ import wasm from "./diplomat-wasm.mjs";
3
+ import * as diplomatRuntime from "./diplomat-runtime.mjs";
4
+
5
+
6
+
7
+ /**
8
+ * The closed interval a field's values are analytically proven to lie in.
9
+ */
10
+ export class FieldRange {
11
+ #min;
12
+ get min() {
13
+ return this.#min;
14
+ }
15
+ #max;
16
+ get max() {
17
+ return this.#max;
18
+ }
19
+ #internalConstructor(structObj, internalConstructor) {
20
+ if (typeof structObj !== "object") {
21
+ throw new Error("FieldRange's constructor takes an object of FieldRange's fields.");
22
+ }
23
+
24
+ if (internalConstructor !== diplomatRuntime.internalConstructor) {
25
+ throw new Error("FieldRange is an out struct and can only be created internally.");
26
+ }
27
+ if ("min" in structObj) {
28
+ this.#min = structObj.min;
29
+ } else {
30
+ throw new Error("Missing required field min.");
31
+ }
32
+
33
+ if ("max" in structObj) {
34
+ this.#max = structObj.max;
35
+ } else {
36
+ throw new Error("Missing required field max.");
37
+ }
38
+
39
+ return this;
40
+ }
41
+
42
+ // Return this struct in FFI function friendly format.
43
+ // Returns an array that can be expanded with spread syntax (...)
44
+ _intoFFI(
45
+ dst,
46
+ functionCleanupArena,
47
+ appendArrayMap
48
+ ) {
49
+
50
+ this._writeToArrayBuffer(wasm.memory.buffer, dst, functionCleanupArena, appendArrayMap);
51
+
52
+ return dst;
53
+ }
54
+
55
+ static get _sizeBytes() {
56
+ return 8;
57
+ }
58
+
59
+ /// Currently unused, we may want to use later on though:
60
+ static get _sizeAlign() {
61
+ return 4;
62
+ }
63
+
64
+ static _fromSuppliedValue(internalConstructor, obj) {
65
+ if (internalConstructor !== diplomatRuntime.internalConstructor) {
66
+ throw new Error("_fromSuppliedValue cannot be called externally.");
67
+ }
68
+
69
+ if (obj instanceof FieldRange) {
70
+ return obj;
71
+ }
72
+
73
+ return FieldRange.fromFields(obj);
74
+ }
75
+
76
+ _writeToArrayBuffer(
77
+ arrayBuffer,
78
+ offset,
79
+ functionCleanupArena,
80
+ appendArrayMap
81
+ ) {
82
+ diplomatRuntime.writeToArrayBuffer(arrayBuffer, offset + 0, this.#min, Float32Array);
83
+ diplomatRuntime.writeToArrayBuffer(arrayBuffer, offset + 4, this.#max, Float32Array);
84
+ }
85
+
86
+ // This struct contains borrowed fields, so this takes in a list of
87
+ // "edges" corresponding to where each lifetime's data may have been borrowed from
88
+ // and passes it down to individual fields containing the borrow.
89
+ // This method does not attempt to handle any dependencies between lifetimes, the caller
90
+ // should handle this when constructing edge arrays.
91
+ static _fromFFI(internalConstructor, ptr) {
92
+ ptr >>>= 0; // unsigned wasm32 address; field values retain their signedness.
93
+ if (internalConstructor !== diplomatRuntime.internalConstructor) {
94
+ throw new Error("FieldRange._fromFFI is not meant to be called externally. Please use the default constructor.");
95
+ }
96
+ let structObj = {};
97
+ const minDeref = (new Float32Array(wasm.memory.buffer, ptr, 1))[0];
98
+ structObj.min = minDeref;
99
+ const maxDeref = (new Float32Array(wasm.memory.buffer, ptr + 4, 1))[0];
100
+ structObj.max = maxDeref;
101
+
102
+ return new FieldRange(structObj, internalConstructor);
103
+ }
104
+
105
+
106
+ constructor(structObj, internalConstructor) {
107
+ return this.#internalConstructor(...arguments)
108
+ }
109
+ }
@@ -0,0 +1,44 @@
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
+ * Namespace type for the fingerprint free functions (PORTING rule 12).
10
+ */
11
+ export class Fingerprint {
12
+ /** @internal */
13
+ get ffiValue(): pointer;
14
+ /** @internal */
15
+ constructor();
16
+
17
+
18
+ /**
19
+ * The fingerprint of a schematic for the given preset, as a hex string.
20
+ * Errors with `InvalidArgument` on an unknown preset.
21
+ */
22
+ static compute(schematic: Schematic, preset: string): string;
23
+
24
+ /**
25
+ * The structural signature (JSON) of a schematic for the given preset.
26
+ */
27
+ static signatureJson(schematic: Schematic, preset: string): string;
28
+
29
+ /**
30
+ * Translation-invariant fuzzy distance between two builds' footprints.
31
+ */
32
+ static footprintDistance(a: Schematic, b: Schematic, preset: string): number;
33
+
34
+ /**
35
+ * The schematic's translation/scale-invariant FFT shape footprint as a
36
+ * JSON array of floats.
37
+ */
38
+ static footprintJson(schematic: Schematic, preset: string): string;
39
+
40
+ /**
41
+ * Whether two schematics share the same fingerprint for the given preset.
42
+ */
43
+ static isDuplicate(a: Schematic, b: Schematic, preset: string): boolean;
44
+ }
@@ -0,0 +1,44 @@
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
+ * Namespace type for the fingerprint free functions (PORTING rule 12).
10
+ */
11
+ export class Fingerprint {
12
+ /** @internal */
13
+ get ffiValue(): pointer;
14
+ /** @internal */
15
+ constructor();
16
+
17
+
18
+ /**
19
+ * The fingerprint of a schematic for the given preset, as a hex string.
20
+ * Errors with `InvalidArgument` on an unknown preset.
21
+ */
22
+ static compute(schematic: Schematic, preset: string): string;
23
+
24
+ /**
25
+ * The structural signature (JSON) of a schematic for the given preset.
26
+ */
27
+ static signatureJson(schematic: Schematic, preset: string): string;
28
+
29
+ /**
30
+ * Translation-invariant fuzzy distance between two builds' footprints.
31
+ */
32
+ static footprintDistance(a: Schematic, b: Schematic, preset: string): number;
33
+
34
+ /**
35
+ * The schematic's translation/scale-invariant FFT shape footprint as a
36
+ * JSON array of floats.
37
+ */
38
+ static footprintJson(schematic: Schematic, preset: string): string;
39
+
40
+ /**
41
+ * Whether two schematics share the same fingerprint for the given preset.
42
+ */
43
+ static isDuplicate(a: Schematic, b: Schematic, preset: string): boolean;
44
+ }
@@ -0,0 +1,197 @@
1
+ // generated by diplomat-tool
2
+ import { NucleationError } from "./NucleationError.mjs"
3
+ import { Schematic } from "./Schematic.mjs"
4
+ import wasm from "./diplomat-wasm.mjs";
5
+ import * as diplomatRuntime from "./diplomat-runtime.mjs";
6
+
7
+ const Fingerprint_box_destroy_registry = new FinalizationRegistry((ptr) => {
8
+ wasm.Fingerprint_destroy(ptr);
9
+ });
10
+
11
+ /**
12
+ * Namespace type for the fingerprint free functions (PORTING rule 12).
13
+ */
14
+ export class Fingerprint {
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("Fingerprint 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
+ Fingerprint_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
+ * The fingerprint of a schematic for the given preset, as a hex string.
45
+ * Errors with `InvalidArgument` on an unknown preset.
46
+ */
47
+ static compute(schematic, preset) {
48
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
49
+
50
+ const presetSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, preset)));
51
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
52
+
53
+ const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
54
+
55
+
56
+ const result = wasm.Fingerprint_compute(diplomatReceive.buffer, schematic.ffiValue, presetSlice.ptr, write.buffer);
57
+
58
+ try {
59
+ if (!diplomatReceive.resultFlag) {
60
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
61
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
62
+ }
63
+ return write.readString8();
64
+ }
65
+
66
+ finally {
67
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
68
+ functionCleanupArena.free();
69
+
70
+ diplomatReceive.free();
71
+ write.free();
72
+ }
73
+ }
74
+
75
+ /**
76
+ * The structural signature (JSON) of a schematic for the given preset.
77
+ */
78
+ static signatureJson(schematic, preset) {
79
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
80
+
81
+ const presetSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, preset)));
82
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
83
+
84
+ const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
85
+
86
+
87
+ const result = wasm.Fingerprint_signature_json(diplomatReceive.buffer, schematic.ffiValue, presetSlice.ptr, write.buffer);
88
+
89
+ try {
90
+ if (!diplomatReceive.resultFlag) {
91
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
92
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
93
+ }
94
+ return write.readString8();
95
+ }
96
+
97
+ finally {
98
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
99
+ functionCleanupArena.free();
100
+
101
+ diplomatReceive.free();
102
+ write.free();
103
+ }
104
+ }
105
+
106
+ /**
107
+ * Translation-invariant fuzzy distance between two builds' footprints.
108
+ */
109
+ static footprintDistance(a, b, preset) {
110
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
111
+
112
+ const presetSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, preset)));
113
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
114
+
115
+
116
+ const result = wasm.Fingerprint_footprint_distance(diplomatReceive.buffer, a.ffiValue, b.ffiValue, presetSlice.ptr);
117
+
118
+ try {
119
+ if (!diplomatReceive.resultFlag) {
120
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
121
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
122
+ }
123
+ return (new Float32Array(wasm.memory.buffer, diplomatReceive.buffer, 1))[0];
124
+ }
125
+
126
+ finally {
127
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
128
+ functionCleanupArena.free();
129
+
130
+ diplomatReceive.free();
131
+ }
132
+ }
133
+
134
+ /**
135
+ * The schematic's translation/scale-invariant FFT shape footprint as a
136
+ * JSON array of floats.
137
+ */
138
+ static footprintJson(schematic, preset) {
139
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
140
+
141
+ const presetSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, preset)));
142
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
143
+
144
+ const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
145
+
146
+
147
+ const result = wasm.Fingerprint_footprint_json(diplomatReceive.buffer, schematic.ffiValue, presetSlice.ptr, write.buffer);
148
+
149
+ try {
150
+ if (!diplomatReceive.resultFlag) {
151
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
152
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
153
+ }
154
+ return write.readString8();
155
+ }
156
+
157
+ finally {
158
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
159
+ functionCleanupArena.free();
160
+
161
+ diplomatReceive.free();
162
+ write.free();
163
+ }
164
+ }
165
+
166
+ /**
167
+ * Whether two schematics share the same fingerprint for the given preset.
168
+ */
169
+ static isDuplicate(a, b, preset) {
170
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
171
+
172
+ const presetSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, preset)));
173
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 1, true);
174
+
175
+
176
+ const result = wasm.Fingerprint_is_duplicate(diplomatReceive.buffer, a.ffiValue, b.ffiValue, presetSlice.ptr);
177
+
178
+ try {
179
+ if (!diplomatReceive.resultFlag) {
180
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
181
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
182
+ }
183
+ return (new Uint8Array(wasm.memory.buffer, diplomatReceive.buffer, 1))[0] === 1;
184
+ }
185
+
186
+ finally {
187
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
188
+ functionCleanupArena.free();
189
+
190
+ diplomatReceive.free();
191
+ }
192
+ }
193
+
194
+ constructor(symbol, ptr, selfEdge) {
195
+ return this.#internalConstructor(...arguments)
196
+ }
197
+ }
@@ -0,0 +1,35 @@
1
+ // generated by diplomat-tool
2
+ import type { GeneratedChunkCoverage } from "./GeneratedChunkCoverage.mjs"
3
+ import type { NucleationError } from "./NucleationError.mjs"
4
+ import type { WorldChunkView } from "./WorldChunkView.mjs"
5
+ import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
6
+
7
+
8
+
9
+ /**
10
+ * One generated chunk plus coverage and source-version metadata.
11
+ * Call `take_view` once to move its chunk into the existing world-stream API.
12
+ */
13
+ export class GeneratedChunk {
14
+ /** @internal */
15
+ get ffiValue(): pointer;
16
+ /** @internal */
17
+ constructor();
18
+
19
+
20
+ cx(): number;
21
+
22
+ cz(): number;
23
+
24
+ coverage(): GeneratedChunkCoverage;
25
+
26
+ sourceId(): string;
27
+
28
+ version(): string;
29
+
30
+ /**
31
+ * Consume the generated chunk payload. Metadata access and a second call
32
+ * return `AlreadyConsumed` afterwards.
33
+ */
34
+ takeView(): WorldChunkView;
35
+ }