nucleation 0.10.21 → 0.10.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/BlockPos.mjs +1 -0
  2. package/Dimensions.mjs +1 -0
  3. package/FieldRange.mjs +1 -0
  4. package/ItemScale.mjs +1 -0
  5. package/MeshBounds.mjs +1 -0
  6. package/MeshProgress.mjs +1 -0
  7. package/README.md +12 -0
  8. package/RegionBounds.mjs +1 -0
  9. package/Schematic.d.mts +32 -0
  10. package/Schematic.d.ts +32 -0
  11. package/Schematic.mjs +100 -0
  12. package/SdfBounds.mjs +1 -0
  13. package/SdfNormal.mjs +1 -0
  14. package/TextureInfo.mjs +1 -0
  15. package/diplomat-runtime.mjs +19 -14
  16. package/nucleation.wasm +0 -0
  17. package/package.json +7 -2
  18. package/renderer/AnimationEffect.d.mts +44 -0
  19. package/renderer/AnimationEffect.d.ts +44 -0
  20. package/renderer/AnimationEffect.mjs +204 -0
  21. package/renderer/Autostack.d.mts +43 -0
  22. package/renderer/Autostack.d.ts +43 -0
  23. package/renderer/Autostack.mjs +134 -0
  24. package/renderer/BlockPos.d.mts +28 -0
  25. package/renderer/BlockPos.d.ts +28 -0
  26. package/renderer/BlockPos.mjs +130 -0
  27. package/renderer/BlockState.d.mts +39 -0
  28. package/renderer/BlockState.d.ts +39 -0
  29. package/renderer/BlockState.mjs +134 -0
  30. package/renderer/Blocks.d.mts +91 -0
  31. package/renderer/Blocks.d.ts +91 -0
  32. package/renderer/Blocks.mjs +308 -0
  33. package/renderer/Brush.d.mts +99 -0
  34. package/renderer/Brush.d.ts +99 -0
  35. package/renderer/Brush.mjs +335 -0
  36. package/renderer/BuildAnimation.d.mts +179 -0
  37. package/renderer/BuildAnimation.d.ts +179 -0
  38. package/renderer/BuildAnimation.mjs +1148 -0
  39. package/renderer/BuildingTool.d.mts +46 -0
  40. package/renderer/BuildingTool.d.ts +46 -0
  41. package/renderer/BuildingTool.mjs +121 -0
  42. package/renderer/CellExecutor.d.mts +51 -0
  43. package/renderer/CellExecutor.d.ts +51 -0
  44. package/renderer/CellExecutor.mjs +171 -0
  45. package/renderer/CellularSdfConfig.d.mts +22 -0
  46. package/renderer/CellularSdfConfig.d.ts +22 -0
  47. package/renderer/CellularSdfConfig.mjs +69 -0
  48. package/renderer/ChunkMeshResult.d.mts +75 -0
  49. package/renderer/ChunkMeshResult.d.ts +75 -0
  50. package/renderer/ChunkMeshResult.mjs +253 -0
  51. package/renderer/CircuitBuilder.d.mts +118 -0
  52. package/renderer/CircuitBuilder.d.ts +118 -0
  53. package/renderer/CircuitBuilder.mjs +516 -0
  54. package/renderer/Curve3D.d.mts +27 -0
  55. package/renderer/Curve3D.d.ts +27 -0
  56. package/renderer/Curve3D.mjs +101 -0
  57. package/renderer/DefinitionRegion.d.mts +274 -0
  58. package/renderer/DefinitionRegion.d.ts +274 -0
  59. package/renderer/DefinitionRegion.mjs +973 -0
  60. package/renderer/Design.d.mts +348 -0
  61. package/renderer/Design.d.ts +348 -0
  62. package/renderer/Design.mjs +1334 -0
  63. package/renderer/Diff.d.mts +88 -0
  64. package/renderer/Diff.d.ts +88 -0
  65. package/renderer/Diff.mjs +316 -0
  66. package/renderer/Dimensions.d.mts +28 -0
  67. package/renderer/Dimensions.d.ts +28 -0
  68. package/renderer/Dimensions.mjs +130 -0
  69. package/renderer/DistanceField.d.mts +39 -0
  70. package/renderer/DistanceField.d.ts +39 -0
  71. package/renderer/DistanceField.mjs +114 -0
  72. package/renderer/ExecutionMode.d.mts +42 -0
  73. package/renderer/ExecutionMode.d.ts +42 -0
  74. package/renderer/ExecutionMode.mjs +127 -0
  75. package/renderer/Field3.d.mts +40 -0
  76. package/renderer/Field3.d.ts +40 -0
  77. package/renderer/Field3.mjs +160 -0
  78. package/renderer/FieldProgram.d.mts +40 -0
  79. package/renderer/FieldProgram.d.ts +40 -0
  80. package/renderer/FieldProgram.mjs +167 -0
  81. package/renderer/FieldProgramBinaryOp.d.mts +42 -0
  82. package/renderer/FieldProgramBinaryOp.d.ts +42 -0
  83. package/renderer/FieldProgramBinaryOp.mjs +118 -0
  84. package/renderer/FieldProgramBuilder.d.mts +104 -0
  85. package/renderer/FieldProgramBuilder.d.ts +104 -0
  86. package/renderer/FieldProgramBuilder.mjs +486 -0
  87. package/renderer/FieldProgramDistanceKind.d.mts +26 -0
  88. package/renderer/FieldProgramDistanceKind.d.ts +26 -0
  89. package/renderer/FieldProgramDistanceKind.mjs +78 -0
  90. package/renderer/FieldProgramUnaryOp.d.mts +34 -0
  91. package/renderer/FieldProgramUnaryOp.d.ts +34 -0
  92. package/renderer/FieldProgramUnaryOp.mjs +102 -0
  93. package/renderer/FieldProgramValueType.d.mts +25 -0
  94. package/renderer/FieldProgramValueType.d.ts +25 -0
  95. package/renderer/FieldProgramValueType.mjs +75 -0
  96. package/renderer/FieldRange.d.mts +15 -0
  97. package/renderer/FieldRange.d.ts +15 -0
  98. package/renderer/FieldRange.mjs +109 -0
  99. package/renderer/Fingerprint.d.mts +44 -0
  100. package/renderer/Fingerprint.d.ts +44 -0
  101. package/renderer/Fingerprint.mjs +197 -0
  102. package/renderer/GeneratedChunk.d.mts +35 -0
  103. package/renderer/GeneratedChunk.d.ts +35 -0
  104. package/renderer/GeneratedChunk.mjs +178 -0
  105. package/renderer/GeneratedChunkCoverage.d.mts +25 -0
  106. package/renderer/GeneratedChunkCoverage.d.ts +25 -0
  107. package/renderer/GeneratedChunkCoverage.mjs +75 -0
  108. package/renderer/GeneratedChunkOverlayMode.d.mts +24 -0
  109. package/renderer/GeneratedChunkOverlayMode.d.ts +24 -0
  110. package/renderer/GeneratedChunkOverlayMode.mjs +72 -0
  111. package/renderer/GeneratedWorldStream.d.mts +28 -0
  112. package/renderer/GeneratedWorldStream.d.ts +28 -0
  113. package/renderer/GeneratedWorldStream.mjs +86 -0
  114. package/renderer/Geo.d.mts +41 -0
  115. package/renderer/Geo.d.ts +41 -0
  116. package/renderer/Geo.mjs +121 -0
  117. package/renderer/Hdl.d.mts +56 -0
  118. package/renderer/Hdl.d.ts +56 -0
  119. package/renderer/Hdl.mjs +163 -0
  120. package/renderer/InterpolationSpace.d.mts +25 -0
  121. package/renderer/InterpolationSpace.d.ts +25 -0
  122. package/renderer/InterpolationSpace.mjs +73 -0
  123. package/renderer/IoLayout.d.mts +26 -0
  124. package/renderer/IoLayout.d.ts +26 -0
  125. package/renderer/IoLayout.mjs +81 -0
  126. package/renderer/IoLayoutBuilder.d.mts +73 -0
  127. package/renderer/IoLayoutBuilder.d.ts +73 -0
  128. package/renderer/IoLayoutBuilder.mjs +315 -0
  129. package/renderer/IoType.d.mts +41 -0
  130. package/renderer/IoType.d.ts +41 -0
  131. package/renderer/IoType.mjs +125 -0
  132. package/renderer/ItemModelConfig.d.mts +65 -0
  133. package/renderer/ItemModelConfig.d.ts +65 -0
  134. package/renderer/ItemModelConfig.mjs +223 -0
  135. package/renderer/ItemModelPackBuilder.d.mts +32 -0
  136. package/renderer/ItemModelPackBuilder.d.ts +32 -0
  137. package/renderer/ItemModelPackBuilder.mjs +104 -0
  138. package/renderer/ItemModelResult.d.mts +72 -0
  139. package/renderer/ItemModelResult.d.ts +72 -0
  140. package/renderer/ItemModelResult.mjs +268 -0
  141. package/renderer/ItemScale.d.mts +31 -0
  142. package/renderer/ItemScale.d.ts +31 -0
  143. package/renderer/ItemScale.mjs +133 -0
  144. package/renderer/LayoutFunction.d.mts +52 -0
  145. package/renderer/LayoutFunction.d.ts +52 -0
  146. package/renderer/LayoutFunction.mjs +159 -0
  147. package/renderer/MchprsWorld.d.mts +131 -0
  148. package/renderer/MchprsWorld.d.ts +131 -0
  149. package/renderer/MchprsWorld.mjs +423 -0
  150. package/renderer/MeshBounds.d.mts +40 -0
  151. package/renderer/MeshBounds.d.ts +40 -0
  152. package/renderer/MeshBounds.mjs +181 -0
  153. package/renderer/MeshConfig.d.mts +101 -0
  154. package/renderer/MeshConfig.d.ts +101 -0
  155. package/renderer/MeshConfig.mjs +306 -0
  156. package/renderer/MeshJob.d.mts +44 -0
  157. package/renderer/MeshJob.d.ts +44 -0
  158. package/renderer/MeshJob.mjs +116 -0
  159. package/renderer/MeshPhase.d.mts +38 -0
  160. package/renderer/MeshPhase.d.ts +38 -0
  161. package/renderer/MeshPhase.mjs +90 -0
  162. package/renderer/MeshProgress.d.mts +32 -0
  163. package/renderer/MeshProgress.d.ts +32 -0
  164. package/renderer/MeshProgress.mjs +134 -0
  165. package/renderer/MeshResult.d.mts +76 -0
  166. package/renderer/MeshResult.d.ts +76 -0
  167. package/renderer/MeshResult.mjs +269 -0
  168. package/renderer/MultiMeshResult.d.mts +50 -0
  169. package/renderer/MultiMeshResult.d.ts +50 -0
  170. package/renderer/MultiMeshResult.mjs +166 -0
  171. package/renderer/Nbt.d.mts +50 -0
  172. package/renderer/Nbt.d.ts +50 -0
  173. package/renderer/Nbt.mjs +161 -0
  174. package/renderer/NucleationError.d.mts +53 -0
  175. package/renderer/NucleationError.d.ts +53 -0
  176. package/renderer/NucleationError.mjs +136 -0
  177. package/renderer/OutputCondition.d.mts +45 -0
  178. package/renderer/OutputCondition.d.ts +45 -0
  179. package/renderer/OutputCondition.mjs +129 -0
  180. package/renderer/Palette.d.mts +157 -0
  181. package/renderer/Palette.d.ts +157 -0
  182. package/renderer/Palette.mjs +487 -0
  183. package/renderer/PaletteBuilder.d.mts +119 -0
  184. package/renderer/PaletteBuilder.d.ts +119 -0
  185. package/renderer/PaletteBuilder.mjs +457 -0
  186. package/renderer/README.md +67 -0
  187. package/renderer/RawMeshExport.d.mts +74 -0
  188. package/renderer/RawMeshExport.d.ts +74 -0
  189. package/renderer/RawMeshExport.mjs +243 -0
  190. package/renderer/RedstoneGraph.d.mts +58 -0
  191. package/renderer/RedstoneGraph.d.ts +58 -0
  192. package/renderer/RedstoneGraph.mjs +242 -0
  193. package/renderer/RegionBounds.d.mts +41 -0
  194. package/renderer/RegionBounds.d.ts +41 -0
  195. package/renderer/RegionBounds.mjs +182 -0
  196. package/renderer/RenderConfig.d.mts +101 -0
  197. package/renderer/RenderConfig.d.ts +101 -0
  198. package/renderer/RenderConfig.mjs +271 -0
  199. package/renderer/Renderer.d.mts +51 -0
  200. package/renderer/Renderer.d.ts +51 -0
  201. package/renderer/Renderer.mjs +219 -0
  202. package/renderer/ResourcePack.d.mts +105 -0
  203. package/renderer/ResourcePack.d.ts +105 -0
  204. package/renderer/ResourcePack.mjs +447 -0
  205. package/renderer/ResourcePackList.d.mts +32 -0
  206. package/renderer/ResourcePackList.d.ts +32 -0
  207. package/renderer/ResourcePackList.mjs +96 -0
  208. package/renderer/Routing.d.mts +66 -0
  209. package/renderer/Routing.d.ts +66 -0
  210. package/renderer/Routing.mjs +220 -0
  211. package/renderer/Schematic.d.mts +977 -0
  212. package/renderer/Schematic.d.ts +977 -0
  213. package/renderer/Schematic.mjs +3820 -0
  214. package/renderer/SchematicBuilder.d.mts +103 -0
  215. package/renderer/SchematicBuilder.d.ts +103 -0
  216. package/renderer/SchematicBuilder.mjs +401 -0
  217. package/renderer/SchematicRegions.d.mts +93 -0
  218. package/renderer/SchematicRegions.d.ts +93 -0
  219. package/renderer/SchematicRegions.mjs +411 -0
  220. package/renderer/SchematicSplitResult.d.mts +26 -0
  221. package/renderer/SchematicSplitResult.d.ts +26 -0
  222. package/renderer/SchematicSplitResult.mjs +84 -0
  223. package/renderer/Scripting.d.mts +40 -0
  224. package/renderer/Scripting.d.ts +40 -0
  225. package/renderer/Scripting.mjs +138 -0
  226. package/renderer/Sdf.d.mts +234 -0
  227. package/renderer/Sdf.d.ts +234 -0
  228. package/renderer/Sdf.mjs +1234 -0
  229. package/renderer/SdfAxis.d.mts +25 -0
  230. package/renderer/SdfAxis.d.ts +25 -0
  231. package/renderer/SdfAxis.mjs +75 -0
  232. package/renderer/SdfBounds.d.mts +19 -0
  233. package/renderer/SdfBounds.d.ts +19 -0
  234. package/renderer/SdfBounds.mjs +161 -0
  235. package/renderer/SdfCellMode.d.mts +26 -0
  236. package/renderer/SdfCellMode.d.ts +26 -0
  237. package/renderer/SdfCellMode.mjs +78 -0
  238. package/renderer/SdfNormal.d.mts +16 -0
  239. package/renderer/SdfNormal.d.ts +16 -0
  240. package/renderer/SdfNormal.mjs +122 -0
  241. package/renderer/Shape.d.mts +143 -0
  242. package/renderer/Shape.d.ts +143 -0
  243. package/renderer/Shape.mjs +458 -0
  244. package/renderer/SortStrategy.d.mts +86 -0
  245. package/renderer/SortStrategy.d.ts +86 -0
  246. package/renderer/SortStrategy.mjs +272 -0
  247. package/renderer/Store.d.mts +83 -0
  248. package/renderer/Store.d.ts +83 -0
  249. package/renderer/Store.mjs +369 -0
  250. package/renderer/StoreIo.d.mts +71 -0
  251. package/renderer/StoreIo.d.ts +71 -0
  252. package/renderer/StoreIo.mjs +292 -0
  253. package/renderer/TextureAtlas.d.mts +40 -0
  254. package/renderer/TextureAtlas.d.ts +40 -0
  255. package/renderer/TextureAtlas.mjs +122 -0
  256. package/renderer/TextureInfo.d.mts +34 -0
  257. package/renderer/TextureInfo.d.ts +34 -0
  258. package/renderer/TextureInfo.mjs +149 -0
  259. package/renderer/TickSettleMode.d.mts +34 -0
  260. package/renderer/TickSettleMode.d.ts +34 -0
  261. package/renderer/TickSettleMode.mjs +84 -0
  262. package/renderer/TickSimulation.d.mts +572 -0
  263. package/renderer/TickSimulation.d.ts +572 -0
  264. package/renderer/TickSimulation.mjs +1299 -0
  265. package/renderer/TypedCircuitExecutor.d.mts +101 -0
  266. package/renderer/TypedCircuitExecutor.d.ts +101 -0
  267. package/renderer/TypedCircuitExecutor.mjs +378 -0
  268. package/renderer/Value.d.mts +73 -0
  269. package/renderer/Value.d.ts +73 -0
  270. package/renderer/Value.mjs +275 -0
  271. package/renderer/VideoConfig.d.mts +15 -0
  272. package/renderer/VideoConfig.d.ts +15 -0
  273. package/renderer/VideoConfig.mjs +44 -0
  274. package/renderer/VoxelModel.d.mts +34 -0
  275. package/renderer/VoxelModel.d.ts +34 -0
  276. package/renderer/VoxelModel.mjs +113 -0
  277. package/renderer/Voxelizer.d.mts +80 -0
  278. package/renderer/Voxelizer.d.ts +80 -0
  279. package/renderer/Voxelizer.mjs +261 -0
  280. package/renderer/WorldChunkView.d.mts +75 -0
  281. package/renderer/WorldChunkView.d.ts +75 -0
  282. package/renderer/WorldChunkView.mjs +224 -0
  283. package/renderer/WorldGenerator.d.mts +75 -0
  284. package/renderer/WorldGenerator.d.ts +75 -0
  285. package/renderer/WorldGenerator.mjs +255 -0
  286. package/renderer/WorldSink.d.mts +50 -0
  287. package/renderer/WorldSink.d.ts +50 -0
  288. package/renderer/WorldSink.mjs +177 -0
  289. package/renderer/WorldStream.d.mts +45 -0
  290. package/renderer/WorldStream.d.ts +45 -0
  291. package/renderer/WorldStream.mjs +184 -0
  292. package/renderer/WsPartitionHints.d.mts +29 -0
  293. package/renderer/WsPartitionHints.d.ts +29 -0
  294. package/renderer/WsPartitionHints.mjs +102 -0
  295. package/renderer/WsProfile.d.mts +46 -0
  296. package/renderer/WsProfile.d.ts +46 -0
  297. package/renderer/WsProfile.mjs +152 -0
  298. package/renderer/WsRunResult.d.mts +83 -0
  299. package/renderer/WsRunResult.d.ts +83 -0
  300. package/renderer/WsRunResult.mjs +326 -0
  301. package/renderer/WsSegmentJob.d.mts +28 -0
  302. package/renderer/WsSegmentJob.d.ts +28 -0
  303. package/renderer/WsSegmentJob.mjs +81 -0
  304. package/renderer/diplomat-runtime.d.mts +15 -0
  305. package/renderer/diplomat-runtime.d.ts +15 -0
  306. package/renderer/diplomat-runtime.mjs +779 -0
  307. package/renderer/diplomat-wasm.mjs +52 -0
  308. package/renderer/diplomat.config.mjs +5 -0
  309. package/renderer/index.d.mts +193 -0
  310. package/renderer/index.d.ts +193 -0
  311. package/renderer/index.mjs +196 -0
  312. package/renderer/nucleation.wasm +0 -0
  313. package/renderer/veneer/design.d.ts +167 -0
  314. package/renderer/veneer/design.mjs +480 -0
@@ -0,0 +1,93 @@
1
+ // generated by diplomat-tool
2
+ import type { DefinitionRegion } from "./DefinitionRegion.mjs"
3
+ import type { NucleationError } from "./NucleationError.mjs"
4
+ import type { Schematic } from "./Schematic.mjs"
5
+ import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
6
+
7
+
8
+
9
+ /**
10
+ * Namespace type for the schematic-attached definition-region operations
11
+ * (PORTING rule 12; the `Schematic` opaque lives in another module, so
12
+ * these are statics taking it explicitly, like `Autostack`).
13
+ */
14
+ export class SchematicRegions {
15
+ /** @internal */
16
+ get ffiValue(): pointer;
17
+ /** @internal */
18
+ constructor();
19
+
20
+
21
+ /**
22
+ * Insert (or overwrite) `region` under `name`.
23
+ */
24
+ static add(schematic: Schematic, name: string, region: DefinitionRegion): void;
25
+
26
+ /**
27
+ * Overwrite the region stored under `name` (identical to `add` in the
28
+ * old ABI too; kept as a separate method for 1:1 coverage of
29
+ * `schematic_update_region`).
30
+ */
31
+ static update(schematic: Schematic, name: string, region: DefinitionRegion): void;
32
+
33
+ /**
34
+ * A copy of the region stored under `name`. Errors with `NotFound` when
35
+ * absent.
36
+ */
37
+ static get(schematic: Schematic, name: string): DefinitionRegion;
38
+
39
+ /**
40
+ * Remove the region stored under `name`. Errors with `NotFound` when
41
+ * absent.
42
+ */
43
+ static remove(schematic: Schematic, name: string): void;
44
+
45
+ /**
46
+ * The names of every definition region, written as a JSON array string.
47
+ */
48
+ static namesJson(schematic: Schematic): string;
49
+
50
+ /**
51
+ * Create an empty region under `name`.
52
+ */
53
+ static create(schematic: Schematic, name: string): void;
54
+
55
+ /**
56
+ * Create a single-point region under `name`.
57
+ */
58
+ static createFromPoint(schematic: Schematic, name: string, x: number, y: number, z: number): void;
59
+
60
+ /**
61
+ * Create a single-box region under `name`.
62
+ */
63
+ static createFromBounds(schematic: Schematic, name: string, minX: number, minY: number, minZ: number, maxX: number, maxY: number, maxZ: number): void;
64
+
65
+ /**
66
+ * Create a single-box region under `name` and return a copy of it.
67
+ */
68
+ static createRegion(schematic: Schematic, name: string, minX: number, minY: number, minZ: number, maxX: number, maxY: number, maxZ: number): DefinitionRegion;
69
+
70
+ /**
71
+ * Add a box to the region stored under `name`. Errors with `NotFound`
72
+ * when absent.
73
+ */
74
+ static addBoundsTo(schematic: Schematic, name: string, minX: number, minY: number, minZ: number, maxX: number, maxY: number, maxZ: number): void;
75
+
76
+ /**
77
+ * Add a point to the region stored under `name`. Errors with `NotFound`
78
+ * when absent.
79
+ */
80
+ static addPointTo(schematic: Schematic, name: string, x: number, y: number, z: number): void;
81
+
82
+ /**
83
+ * Set a metadata entry on the region stored under `name`. Errors with
84
+ * `NotFound` when absent.
85
+ */
86
+ static setMetadataOn(schematic: Schematic, name: string, key: string, value: string): void;
87
+
88
+ /**
89
+ * Shift the region stored under `name` by (`dx`, `dy`, `dz`). Errors
90
+ * with `NotFound` when absent.
91
+ */
92
+ static shiftRegion(schematic: Schematic, name: string, dx: number, dy: number, dz: number): void;
93
+ }
@@ -0,0 +1,411 @@
1
+ // generated by diplomat-tool
2
+ import { DefinitionRegion } from "./DefinitionRegion.mjs"
3
+ import { NucleationError } from "./NucleationError.mjs"
4
+ import { Schematic } from "./Schematic.mjs"
5
+ import wasm from "./diplomat-wasm.mjs";
6
+ import * as diplomatRuntime from "./diplomat-runtime.mjs";
7
+
8
+ const SchematicRegions_box_destroy_registry = new FinalizationRegistry((ptr) => {
9
+ wasm.SchematicRegions_destroy(ptr);
10
+ });
11
+
12
+ /**
13
+ * Namespace type for the schematic-attached definition-region operations
14
+ * (PORTING rule 12; the `Schematic` opaque lives in another module, so
15
+ * these are statics taking it explicitly, like `Autostack`).
16
+ */
17
+ export class SchematicRegions {
18
+ // Internal ptr reference:
19
+ #ptr = null;
20
+
21
+ // Lifetimes are only to keep dependencies alive.
22
+ // Since JS won't garbage collect until there are no incoming edges.
23
+ #selfEdge = [];
24
+
25
+ #internalConstructor(symbol, ptr, selfEdge) {
26
+ if (symbol !== diplomatRuntime.internalConstructor) {
27
+ console.error("SchematicRegions is an Opaque type. You cannot call its constructor.");
28
+ return;
29
+ }
30
+ this.#ptr = ptr;
31
+ this.#selfEdge = selfEdge;
32
+
33
+ // Are we being borrowed? If not, we can register.
34
+ if (this.#selfEdge.length === 0) {
35
+ SchematicRegions_box_destroy_registry.register(this, this.#ptr);
36
+ }
37
+
38
+ return this;
39
+ }
40
+ /** @internal */
41
+ get ffiValue() {
42
+ return this.#ptr;
43
+ }
44
+
45
+
46
+ /**
47
+ * Insert (or overwrite) `region` under `name`.
48
+ */
49
+ static add(schematic, name, region) {
50
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
51
+
52
+ const nameSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, name)));
53
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
54
+
55
+
56
+ const result = wasm.SchematicRegions_add(diplomatReceive.buffer, schematic.ffiValue, nameSlice.ptr, region.ffiValue);
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
+ }
64
+
65
+ finally {
66
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
67
+ functionCleanupArena.free();
68
+
69
+ diplomatReceive.free();
70
+ }
71
+ }
72
+
73
+ /**
74
+ * Overwrite the region stored under `name` (identical to `add` in the
75
+ * old ABI too; kept as a separate method for 1:1 coverage of
76
+ * `schematic_update_region`).
77
+ */
78
+ static update(schematic, name, region) {
79
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
80
+
81
+ const nameSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, name)));
82
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
83
+
84
+
85
+ const result = wasm.SchematicRegions_update(diplomatReceive.buffer, schematic.ffiValue, nameSlice.ptr, region.ffiValue);
86
+
87
+ try {
88
+ if (!diplomatReceive.resultFlag) {
89
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
90
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
91
+ }
92
+ }
93
+
94
+ finally {
95
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
96
+ functionCleanupArena.free();
97
+
98
+ diplomatReceive.free();
99
+ }
100
+ }
101
+
102
+ /**
103
+ * A copy of the region stored under `name`. Errors with `NotFound` when
104
+ * absent.
105
+ */
106
+ static get(schematic, name) {
107
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
108
+
109
+ const nameSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, name)));
110
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
111
+
112
+
113
+ const result = wasm.SchematicRegions_get(diplomatReceive.buffer, schematic.ffiValue, nameSlice.ptr);
114
+
115
+ try {
116
+ if (!diplomatReceive.resultFlag) {
117
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
118
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
119
+ }
120
+ return new DefinitionRegion(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
121
+ }
122
+
123
+ finally {
124
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
125
+ functionCleanupArena.free();
126
+
127
+ diplomatReceive.free();
128
+ }
129
+ }
130
+
131
+ /**
132
+ * Remove the region stored under `name`. Errors with `NotFound` when
133
+ * absent.
134
+ */
135
+ static remove(schematic, name) {
136
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
137
+
138
+ const nameSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, name)));
139
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
140
+
141
+
142
+ const result = wasm.SchematicRegions_remove(diplomatReceive.buffer, schematic.ffiValue, nameSlice.ptr);
143
+
144
+ try {
145
+ if (!diplomatReceive.resultFlag) {
146
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
147
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
148
+ }
149
+ }
150
+
151
+ finally {
152
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
153
+ functionCleanupArena.free();
154
+
155
+ diplomatReceive.free();
156
+ }
157
+ }
158
+
159
+ /**
160
+ * The names of every definition region, written as a JSON array string.
161
+ */
162
+ static namesJson(schematic) {
163
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
164
+
165
+ const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
166
+
167
+
168
+ const result = wasm.SchematicRegions_names_json(diplomatReceive.buffer, schematic.ffiValue, write.buffer);
169
+
170
+ try {
171
+ if (!diplomatReceive.resultFlag) {
172
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
173
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
174
+ }
175
+ return write.readString8();
176
+ }
177
+
178
+ finally {
179
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
180
+ diplomatReceive.free();
181
+ write.free();
182
+ }
183
+ }
184
+
185
+ /**
186
+ * Create an empty region under `name`.
187
+ */
188
+ static create(schematic, name) {
189
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
190
+
191
+ const nameSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, name)));
192
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
193
+
194
+
195
+ const result = wasm.SchematicRegions_create(diplomatReceive.buffer, schematic.ffiValue, nameSlice.ptr);
196
+
197
+ try {
198
+ if (!diplomatReceive.resultFlag) {
199
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
200
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
201
+ }
202
+ }
203
+
204
+ finally {
205
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
206
+ functionCleanupArena.free();
207
+
208
+ diplomatReceive.free();
209
+ }
210
+ }
211
+
212
+ /**
213
+ * Create a single-point region under `name`.
214
+ */
215
+ static createFromPoint(schematic, name, x, y, z) {
216
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
217
+
218
+ const nameSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, name)));
219
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
220
+
221
+
222
+ const result = wasm.SchematicRegions_create_from_point(diplomatReceive.buffer, schematic.ffiValue, nameSlice.ptr, x, y, z);
223
+
224
+ try {
225
+ if (!diplomatReceive.resultFlag) {
226
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
227
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
228
+ }
229
+ }
230
+
231
+ finally {
232
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
233
+ functionCleanupArena.free();
234
+
235
+ diplomatReceive.free();
236
+ }
237
+ }
238
+
239
+ /**
240
+ * Create a single-box region under `name`.
241
+ */
242
+ static createFromBounds(schematic, name, minX, minY, minZ, maxX, maxY, maxZ) {
243
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
244
+
245
+ const nameSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, name)));
246
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
247
+
248
+
249
+ const result = wasm.SchematicRegions_create_from_bounds(diplomatReceive.buffer, schematic.ffiValue, nameSlice.ptr, minX, minY, minZ, maxX, maxY, maxZ);
250
+
251
+ try {
252
+ if (!diplomatReceive.resultFlag) {
253
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
254
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
255
+ }
256
+ }
257
+
258
+ finally {
259
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
260
+ functionCleanupArena.free();
261
+
262
+ diplomatReceive.free();
263
+ }
264
+ }
265
+
266
+ /**
267
+ * Create a single-box region under `name` and return a copy of it.
268
+ */
269
+ static createRegion(schematic, name, minX, minY, minZ, maxX, maxY, maxZ) {
270
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
271
+
272
+ const nameSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, name)));
273
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
274
+
275
+
276
+ const result = wasm.SchematicRegions_create_region(diplomatReceive.buffer, schematic.ffiValue, nameSlice.ptr, minX, minY, minZ, maxX, maxY, maxZ);
277
+
278
+ try {
279
+ if (!diplomatReceive.resultFlag) {
280
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
281
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
282
+ }
283
+ return new DefinitionRegion(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
284
+ }
285
+
286
+ finally {
287
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
288
+ functionCleanupArena.free();
289
+
290
+ diplomatReceive.free();
291
+ }
292
+ }
293
+
294
+ /**
295
+ * Add a box to the region stored under `name`. Errors with `NotFound`
296
+ * when absent.
297
+ */
298
+ static addBoundsTo(schematic, name, minX, minY, minZ, maxX, maxY, maxZ) {
299
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
300
+
301
+ const nameSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, name)));
302
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
303
+
304
+
305
+ const result = wasm.SchematicRegions_add_bounds_to(diplomatReceive.buffer, schematic.ffiValue, nameSlice.ptr, minX, minY, minZ, maxX, maxY, maxZ);
306
+
307
+ try {
308
+ if (!diplomatReceive.resultFlag) {
309
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
310
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
311
+ }
312
+ }
313
+
314
+ finally {
315
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
316
+ functionCleanupArena.free();
317
+
318
+ diplomatReceive.free();
319
+ }
320
+ }
321
+
322
+ /**
323
+ * Add a point to the region stored under `name`. Errors with `NotFound`
324
+ * when absent.
325
+ */
326
+ static addPointTo(schematic, name, x, y, z) {
327
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
328
+
329
+ const nameSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, name)));
330
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
331
+
332
+
333
+ const result = wasm.SchematicRegions_add_point_to(diplomatReceive.buffer, schematic.ffiValue, nameSlice.ptr, x, y, z);
334
+
335
+ try {
336
+ if (!diplomatReceive.resultFlag) {
337
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
338
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
339
+ }
340
+ }
341
+
342
+ finally {
343
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
344
+ functionCleanupArena.free();
345
+
346
+ diplomatReceive.free();
347
+ }
348
+ }
349
+
350
+ /**
351
+ * Set a metadata entry on the region stored under `name`. Errors with
352
+ * `NotFound` when absent.
353
+ */
354
+ static setMetadataOn(schematic, name, key, value) {
355
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
356
+
357
+ const nameSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, name)));
358
+ const keySlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, key)));
359
+ const valueSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, value)));
360
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
361
+
362
+
363
+ const result = wasm.SchematicRegions_set_metadata_on(diplomatReceive.buffer, schematic.ffiValue, nameSlice.ptr, keySlice.ptr, valueSlice.ptr);
364
+
365
+ try {
366
+ if (!diplomatReceive.resultFlag) {
367
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
368
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
369
+ }
370
+ }
371
+
372
+ finally {
373
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
374
+ functionCleanupArena.free();
375
+
376
+ diplomatReceive.free();
377
+ }
378
+ }
379
+
380
+ /**
381
+ * Shift the region stored under `name` by (`dx`, `dy`, `dz`). Errors
382
+ * with `NotFound` when absent.
383
+ */
384
+ static shiftRegion(schematic, name, dx, dy, dz) {
385
+ let functionCleanupArena = new diplomatRuntime.CleanupArena();
386
+
387
+ const nameSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, name)));
388
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
389
+
390
+
391
+ const result = wasm.SchematicRegions_shift_region(diplomatReceive.buffer, schematic.ffiValue, nameSlice.ptr, dx, dy, dz);
392
+
393
+ try {
394
+ if (!diplomatReceive.resultFlag) {
395
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
396
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
397
+ }
398
+ }
399
+
400
+ finally {
401
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
402
+ functionCleanupArena.free();
403
+
404
+ diplomatReceive.free();
405
+ }
406
+ }
407
+
408
+ constructor(symbol, ptr, selfEdge) {
409
+ return this.#internalConstructor(...arguments)
410
+ }
411
+ }
@@ -0,0 +1,26 @@
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
+ * Deterministic, lossless pieces returned by
10
+ * {@link Schematic::split_connected_attach_nearby}. Pieces are ordered by their
11
+ * largest connected component, largest first.
12
+ */
13
+ export class SchematicSplitResult {
14
+ /** @internal */
15
+ get ffiValue(): pointer;
16
+ /** @internal */
17
+ constructor();
18
+
19
+
20
+ len(): number;
21
+
22
+ /**
23
+ * Return an independently owned piece by zero-based index.
24
+ */
25
+ piece(index: number): Schematic;
26
+ }
@@ -0,0 +1,26 @@
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
+ * Deterministic, lossless pieces returned by
10
+ * {@link Schematic::split_connected_attach_nearby}. Pieces are ordered by their
11
+ * largest connected component, largest first.
12
+ */
13
+ export class SchematicSplitResult {
14
+ /** @internal */
15
+ get ffiValue(): pointer;
16
+ /** @internal */
17
+ constructor();
18
+
19
+
20
+ len(): number;
21
+
22
+ /**
23
+ * Return an independently owned piece by zero-based index.
24
+ */
25
+ piece(index: number): Schematic;
26
+ }
@@ -0,0 +1,84 @@
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 SchematicSplitResult_box_destroy_registry = new FinalizationRegistry((ptr) => {
8
+ wasm.SchematicSplitResult_destroy(ptr);
9
+ });
10
+
11
+ /**
12
+ * Deterministic, lossless pieces returned by
13
+ * {@link Schematic::split_connected_attach_nearby}. Pieces are ordered by their
14
+ * largest connected component, largest first.
15
+ */
16
+ export class SchematicSplitResult {
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("SchematicSplitResult 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
+ SchematicSplitResult_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
+ len() {
46
+
47
+ const result = wasm.SchematicSplitResult_len(this.ffiValue);
48
+
49
+ try {
50
+ return result;
51
+ }
52
+
53
+ finally {
54
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
55
+ }
56
+ }
57
+
58
+ /**
59
+ * Return an independently owned piece by zero-based index.
60
+ */
61
+ piece(index) {
62
+ const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
63
+
64
+
65
+ const result = wasm.SchematicSplitResult_piece(diplomatReceive.buffer, this.ffiValue, index);
66
+
67
+ try {
68
+ if (!diplomatReceive.resultFlag) {
69
+ const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
70
+ throw new globalThis.Error('NucleationError.' + cause.value, { cause });
71
+ }
72
+ return new Schematic(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
73
+ }
74
+
75
+ finally {
76
+ diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
77
+ diplomatReceive.free();
78
+ }
79
+ }
80
+
81
+ constructor(symbol, ptr, selfEdge) {
82
+ return this.#internalConstructor(...arguments)
83
+ }
84
+ }
@@ -0,0 +1,40 @@
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 for the script-runner free functions of the old ABI
10
+ * (`run_lua_script`, `run_js_script`, `run_script`).
11
+ */
12
+ export class Scripting {
13
+ /** @internal */
14
+ get ffiValue(): pointer;
15
+ /** @internal */
16
+ constructor();
17
+
18
+
19
+ /**
20
+ * Run a Lua script file. Returns the schematic the script assigns to
21
+ * `result`; `NotFound` if it produced none, `Parse` if it failed, and
22
+ * `InvalidArgument` when built without the `scripting-lua` feature.
23
+ */
24
+ static runLuaScript(path: string): Schematic;
25
+
26
+ /**
27
+ * Run a JS script file. Returns the schematic the script assigns to
28
+ * `result`; `NotFound` if it produced none, `Parse` if it failed, and
29
+ * `InvalidArgument` when built without the `scripting-js` feature.
30
+ */
31
+ static runJsScript(path: string): Schematic;
32
+
33
+ /**
34
+ * Run a script file, auto-detecting the engine by extension (`.lua` or
35
+ * `.js`). Returns the schematic the script assigns to `result`; `NotFound`
36
+ * if it produced none, `Parse` if it failed (including unsupported
37
+ * extensions).
38
+ */
39
+ static runScript(path: string): Schematic;
40
+ }