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.
- package/BlockPos.mjs +1 -0
- package/Dimensions.mjs +1 -0
- package/FieldRange.mjs +1 -0
- package/ItemScale.mjs +1 -0
- package/MeshBounds.mjs +1 -0
- package/MeshProgress.mjs +1 -0
- package/README.md +12 -0
- package/RegionBounds.mjs +1 -0
- package/Schematic.d.mts +32 -0
- package/Schematic.d.ts +32 -0
- package/Schematic.mjs +100 -0
- package/SdfBounds.mjs +1 -0
- package/SdfNormal.mjs +1 -0
- package/TextureInfo.mjs +1 -0
- package/diplomat-runtime.mjs +19 -14
- package/nucleation.wasm +0 -0
- package/package.json +7 -2
- package/renderer/AnimationEffect.d.mts +44 -0
- package/renderer/AnimationEffect.d.ts +44 -0
- package/renderer/AnimationEffect.mjs +204 -0
- package/renderer/Autostack.d.mts +43 -0
- package/renderer/Autostack.d.ts +43 -0
- package/renderer/Autostack.mjs +134 -0
- package/renderer/BlockPos.d.mts +28 -0
- package/renderer/BlockPos.d.ts +28 -0
- package/renderer/BlockPos.mjs +130 -0
- package/renderer/BlockState.d.mts +39 -0
- package/renderer/BlockState.d.ts +39 -0
- package/renderer/BlockState.mjs +134 -0
- package/renderer/Blocks.d.mts +91 -0
- package/renderer/Blocks.d.ts +91 -0
- package/renderer/Blocks.mjs +308 -0
- package/renderer/Brush.d.mts +99 -0
- package/renderer/Brush.d.ts +99 -0
- package/renderer/Brush.mjs +335 -0
- package/renderer/BuildAnimation.d.mts +179 -0
- package/renderer/BuildAnimation.d.ts +179 -0
- package/renderer/BuildAnimation.mjs +1148 -0
- package/renderer/BuildingTool.d.mts +46 -0
- package/renderer/BuildingTool.d.ts +46 -0
- package/renderer/BuildingTool.mjs +121 -0
- package/renderer/CellExecutor.d.mts +51 -0
- package/renderer/CellExecutor.d.ts +51 -0
- package/renderer/CellExecutor.mjs +171 -0
- package/renderer/CellularSdfConfig.d.mts +22 -0
- package/renderer/CellularSdfConfig.d.ts +22 -0
- package/renderer/CellularSdfConfig.mjs +69 -0
- package/renderer/ChunkMeshResult.d.mts +75 -0
- package/renderer/ChunkMeshResult.d.ts +75 -0
- package/renderer/ChunkMeshResult.mjs +253 -0
- package/renderer/CircuitBuilder.d.mts +118 -0
- package/renderer/CircuitBuilder.d.ts +118 -0
- package/renderer/CircuitBuilder.mjs +516 -0
- package/renderer/Curve3D.d.mts +27 -0
- package/renderer/Curve3D.d.ts +27 -0
- package/renderer/Curve3D.mjs +101 -0
- package/renderer/DefinitionRegion.d.mts +274 -0
- package/renderer/DefinitionRegion.d.ts +274 -0
- package/renderer/DefinitionRegion.mjs +973 -0
- package/renderer/Design.d.mts +348 -0
- package/renderer/Design.d.ts +348 -0
- package/renderer/Design.mjs +1334 -0
- package/renderer/Diff.d.mts +88 -0
- package/renderer/Diff.d.ts +88 -0
- package/renderer/Diff.mjs +316 -0
- package/renderer/Dimensions.d.mts +28 -0
- package/renderer/Dimensions.d.ts +28 -0
- package/renderer/Dimensions.mjs +130 -0
- package/renderer/DistanceField.d.mts +39 -0
- package/renderer/DistanceField.d.ts +39 -0
- package/renderer/DistanceField.mjs +114 -0
- package/renderer/ExecutionMode.d.mts +42 -0
- package/renderer/ExecutionMode.d.ts +42 -0
- package/renderer/ExecutionMode.mjs +127 -0
- package/renderer/Field3.d.mts +40 -0
- package/renderer/Field3.d.ts +40 -0
- package/renderer/Field3.mjs +160 -0
- package/renderer/FieldProgram.d.mts +40 -0
- package/renderer/FieldProgram.d.ts +40 -0
- package/renderer/FieldProgram.mjs +167 -0
- package/renderer/FieldProgramBinaryOp.d.mts +42 -0
- package/renderer/FieldProgramBinaryOp.d.ts +42 -0
- package/renderer/FieldProgramBinaryOp.mjs +118 -0
- package/renderer/FieldProgramBuilder.d.mts +104 -0
- package/renderer/FieldProgramBuilder.d.ts +104 -0
- package/renderer/FieldProgramBuilder.mjs +486 -0
- package/renderer/FieldProgramDistanceKind.d.mts +26 -0
- package/renderer/FieldProgramDistanceKind.d.ts +26 -0
- package/renderer/FieldProgramDistanceKind.mjs +78 -0
- package/renderer/FieldProgramUnaryOp.d.mts +34 -0
- package/renderer/FieldProgramUnaryOp.d.ts +34 -0
- package/renderer/FieldProgramUnaryOp.mjs +102 -0
- package/renderer/FieldProgramValueType.d.mts +25 -0
- package/renderer/FieldProgramValueType.d.ts +25 -0
- package/renderer/FieldProgramValueType.mjs +75 -0
- package/renderer/FieldRange.d.mts +15 -0
- package/renderer/FieldRange.d.ts +15 -0
- package/renderer/FieldRange.mjs +109 -0
- package/renderer/Fingerprint.d.mts +44 -0
- package/renderer/Fingerprint.d.ts +44 -0
- package/renderer/Fingerprint.mjs +197 -0
- package/renderer/GeneratedChunk.d.mts +35 -0
- package/renderer/GeneratedChunk.d.ts +35 -0
- package/renderer/GeneratedChunk.mjs +178 -0
- package/renderer/GeneratedChunkCoverage.d.mts +25 -0
- package/renderer/GeneratedChunkCoverage.d.ts +25 -0
- package/renderer/GeneratedChunkCoverage.mjs +75 -0
- package/renderer/GeneratedChunkOverlayMode.d.mts +24 -0
- package/renderer/GeneratedChunkOverlayMode.d.ts +24 -0
- package/renderer/GeneratedChunkOverlayMode.mjs +72 -0
- package/renderer/GeneratedWorldStream.d.mts +28 -0
- package/renderer/GeneratedWorldStream.d.ts +28 -0
- package/renderer/GeneratedWorldStream.mjs +86 -0
- package/renderer/Geo.d.mts +41 -0
- package/renderer/Geo.d.ts +41 -0
- package/renderer/Geo.mjs +121 -0
- package/renderer/Hdl.d.mts +56 -0
- package/renderer/Hdl.d.ts +56 -0
- package/renderer/Hdl.mjs +163 -0
- package/renderer/InterpolationSpace.d.mts +25 -0
- package/renderer/InterpolationSpace.d.ts +25 -0
- package/renderer/InterpolationSpace.mjs +73 -0
- package/renderer/IoLayout.d.mts +26 -0
- package/renderer/IoLayout.d.ts +26 -0
- package/renderer/IoLayout.mjs +81 -0
- package/renderer/IoLayoutBuilder.d.mts +73 -0
- package/renderer/IoLayoutBuilder.d.ts +73 -0
- package/renderer/IoLayoutBuilder.mjs +315 -0
- package/renderer/IoType.d.mts +41 -0
- package/renderer/IoType.d.ts +41 -0
- package/renderer/IoType.mjs +125 -0
- package/renderer/ItemModelConfig.d.mts +65 -0
- package/renderer/ItemModelConfig.d.ts +65 -0
- package/renderer/ItemModelConfig.mjs +223 -0
- package/renderer/ItemModelPackBuilder.d.mts +32 -0
- package/renderer/ItemModelPackBuilder.d.ts +32 -0
- package/renderer/ItemModelPackBuilder.mjs +104 -0
- package/renderer/ItemModelResult.d.mts +72 -0
- package/renderer/ItemModelResult.d.ts +72 -0
- package/renderer/ItemModelResult.mjs +268 -0
- package/renderer/ItemScale.d.mts +31 -0
- package/renderer/ItemScale.d.ts +31 -0
- package/renderer/ItemScale.mjs +133 -0
- package/renderer/LayoutFunction.d.mts +52 -0
- package/renderer/LayoutFunction.d.ts +52 -0
- package/renderer/LayoutFunction.mjs +159 -0
- package/renderer/MchprsWorld.d.mts +131 -0
- package/renderer/MchprsWorld.d.ts +131 -0
- package/renderer/MchprsWorld.mjs +423 -0
- package/renderer/MeshBounds.d.mts +40 -0
- package/renderer/MeshBounds.d.ts +40 -0
- package/renderer/MeshBounds.mjs +181 -0
- package/renderer/MeshConfig.d.mts +101 -0
- package/renderer/MeshConfig.d.ts +101 -0
- package/renderer/MeshConfig.mjs +306 -0
- package/renderer/MeshJob.d.mts +44 -0
- package/renderer/MeshJob.d.ts +44 -0
- package/renderer/MeshJob.mjs +116 -0
- package/renderer/MeshPhase.d.mts +38 -0
- package/renderer/MeshPhase.d.ts +38 -0
- package/renderer/MeshPhase.mjs +90 -0
- package/renderer/MeshProgress.d.mts +32 -0
- package/renderer/MeshProgress.d.ts +32 -0
- package/renderer/MeshProgress.mjs +134 -0
- package/renderer/MeshResult.d.mts +76 -0
- package/renderer/MeshResult.d.ts +76 -0
- package/renderer/MeshResult.mjs +269 -0
- package/renderer/MultiMeshResult.d.mts +50 -0
- package/renderer/MultiMeshResult.d.ts +50 -0
- package/renderer/MultiMeshResult.mjs +166 -0
- package/renderer/Nbt.d.mts +50 -0
- package/renderer/Nbt.d.ts +50 -0
- package/renderer/Nbt.mjs +161 -0
- package/renderer/NucleationError.d.mts +53 -0
- package/renderer/NucleationError.d.ts +53 -0
- package/renderer/NucleationError.mjs +136 -0
- package/renderer/OutputCondition.d.mts +45 -0
- package/renderer/OutputCondition.d.ts +45 -0
- package/renderer/OutputCondition.mjs +129 -0
- package/renderer/Palette.d.mts +157 -0
- package/renderer/Palette.d.ts +157 -0
- package/renderer/Palette.mjs +487 -0
- package/renderer/PaletteBuilder.d.mts +119 -0
- package/renderer/PaletteBuilder.d.ts +119 -0
- package/renderer/PaletteBuilder.mjs +457 -0
- package/renderer/README.md +67 -0
- package/renderer/RawMeshExport.d.mts +74 -0
- package/renderer/RawMeshExport.d.ts +74 -0
- package/renderer/RawMeshExport.mjs +243 -0
- package/renderer/RedstoneGraph.d.mts +58 -0
- package/renderer/RedstoneGraph.d.ts +58 -0
- package/renderer/RedstoneGraph.mjs +242 -0
- package/renderer/RegionBounds.d.mts +41 -0
- package/renderer/RegionBounds.d.ts +41 -0
- package/renderer/RegionBounds.mjs +182 -0
- package/renderer/RenderConfig.d.mts +101 -0
- package/renderer/RenderConfig.d.ts +101 -0
- package/renderer/RenderConfig.mjs +271 -0
- package/renderer/Renderer.d.mts +51 -0
- package/renderer/Renderer.d.ts +51 -0
- package/renderer/Renderer.mjs +219 -0
- package/renderer/ResourcePack.d.mts +105 -0
- package/renderer/ResourcePack.d.ts +105 -0
- package/renderer/ResourcePack.mjs +447 -0
- package/renderer/ResourcePackList.d.mts +32 -0
- package/renderer/ResourcePackList.d.ts +32 -0
- package/renderer/ResourcePackList.mjs +96 -0
- package/renderer/Routing.d.mts +66 -0
- package/renderer/Routing.d.ts +66 -0
- package/renderer/Routing.mjs +220 -0
- package/renderer/Schematic.d.mts +977 -0
- package/renderer/Schematic.d.ts +977 -0
- package/renderer/Schematic.mjs +3820 -0
- package/renderer/SchematicBuilder.d.mts +103 -0
- package/renderer/SchematicBuilder.d.ts +103 -0
- package/renderer/SchematicBuilder.mjs +401 -0
- package/renderer/SchematicRegions.d.mts +93 -0
- package/renderer/SchematicRegions.d.ts +93 -0
- package/renderer/SchematicRegions.mjs +411 -0
- package/renderer/SchematicSplitResult.d.mts +26 -0
- package/renderer/SchematicSplitResult.d.ts +26 -0
- package/renderer/SchematicSplitResult.mjs +84 -0
- package/renderer/Scripting.d.mts +40 -0
- package/renderer/Scripting.d.ts +40 -0
- package/renderer/Scripting.mjs +138 -0
- package/renderer/Sdf.d.mts +234 -0
- package/renderer/Sdf.d.ts +234 -0
- package/renderer/Sdf.mjs +1234 -0
- package/renderer/SdfAxis.d.mts +25 -0
- package/renderer/SdfAxis.d.ts +25 -0
- package/renderer/SdfAxis.mjs +75 -0
- package/renderer/SdfBounds.d.mts +19 -0
- package/renderer/SdfBounds.d.ts +19 -0
- package/renderer/SdfBounds.mjs +161 -0
- package/renderer/SdfCellMode.d.mts +26 -0
- package/renderer/SdfCellMode.d.ts +26 -0
- package/renderer/SdfCellMode.mjs +78 -0
- package/renderer/SdfNormal.d.mts +16 -0
- package/renderer/SdfNormal.d.ts +16 -0
- package/renderer/SdfNormal.mjs +122 -0
- package/renderer/Shape.d.mts +143 -0
- package/renderer/Shape.d.ts +143 -0
- package/renderer/Shape.mjs +458 -0
- package/renderer/SortStrategy.d.mts +86 -0
- package/renderer/SortStrategy.d.ts +86 -0
- package/renderer/SortStrategy.mjs +272 -0
- package/renderer/Store.d.mts +83 -0
- package/renderer/Store.d.ts +83 -0
- package/renderer/Store.mjs +369 -0
- package/renderer/StoreIo.d.mts +71 -0
- package/renderer/StoreIo.d.ts +71 -0
- package/renderer/StoreIo.mjs +292 -0
- package/renderer/TextureAtlas.d.mts +40 -0
- package/renderer/TextureAtlas.d.ts +40 -0
- package/renderer/TextureAtlas.mjs +122 -0
- package/renderer/TextureInfo.d.mts +34 -0
- package/renderer/TextureInfo.d.ts +34 -0
- package/renderer/TextureInfo.mjs +149 -0
- package/renderer/TickSettleMode.d.mts +34 -0
- package/renderer/TickSettleMode.d.ts +34 -0
- package/renderer/TickSettleMode.mjs +84 -0
- package/renderer/TickSimulation.d.mts +572 -0
- package/renderer/TickSimulation.d.ts +572 -0
- package/renderer/TickSimulation.mjs +1299 -0
- package/renderer/TypedCircuitExecutor.d.mts +101 -0
- package/renderer/TypedCircuitExecutor.d.ts +101 -0
- package/renderer/TypedCircuitExecutor.mjs +378 -0
- package/renderer/Value.d.mts +73 -0
- package/renderer/Value.d.ts +73 -0
- package/renderer/Value.mjs +275 -0
- package/renderer/VideoConfig.d.mts +15 -0
- package/renderer/VideoConfig.d.ts +15 -0
- package/renderer/VideoConfig.mjs +44 -0
- package/renderer/VoxelModel.d.mts +34 -0
- package/renderer/VoxelModel.d.ts +34 -0
- package/renderer/VoxelModel.mjs +113 -0
- package/renderer/Voxelizer.d.mts +80 -0
- package/renderer/Voxelizer.d.ts +80 -0
- package/renderer/Voxelizer.mjs +261 -0
- package/renderer/WorldChunkView.d.mts +75 -0
- package/renderer/WorldChunkView.d.ts +75 -0
- package/renderer/WorldChunkView.mjs +224 -0
- package/renderer/WorldGenerator.d.mts +75 -0
- package/renderer/WorldGenerator.d.ts +75 -0
- package/renderer/WorldGenerator.mjs +255 -0
- package/renderer/WorldSink.d.mts +50 -0
- package/renderer/WorldSink.d.ts +50 -0
- package/renderer/WorldSink.mjs +177 -0
- package/renderer/WorldStream.d.mts +45 -0
- package/renderer/WorldStream.d.ts +45 -0
- package/renderer/WorldStream.mjs +184 -0
- package/renderer/WsPartitionHints.d.mts +29 -0
- package/renderer/WsPartitionHints.d.ts +29 -0
- package/renderer/WsPartitionHints.mjs +102 -0
- package/renderer/WsProfile.d.mts +46 -0
- package/renderer/WsProfile.d.ts +46 -0
- package/renderer/WsProfile.mjs +152 -0
- package/renderer/WsRunResult.d.mts +83 -0
- package/renderer/WsRunResult.d.ts +83 -0
- package/renderer/WsRunResult.mjs +326 -0
- package/renderer/WsSegmentJob.d.mts +28 -0
- package/renderer/WsSegmentJob.d.ts +28 -0
- package/renderer/WsSegmentJob.mjs +81 -0
- package/renderer/diplomat-runtime.d.mts +15 -0
- package/renderer/diplomat-runtime.d.ts +15 -0
- package/renderer/diplomat-runtime.mjs +779 -0
- package/renderer/diplomat-wasm.mjs +52 -0
- package/renderer/diplomat.config.mjs +5 -0
- package/renderer/index.d.mts +193 -0
- package/renderer/index.d.ts +193 -0
- package/renderer/index.mjs +196 -0
- package/renderer/nucleation.wasm +0 -0
- package/renderer/veneer/design.d.ts +167 -0
- package/renderer/veneer/design.mjs +480 -0
|
@@ -0,0 +1,103 @@
|
|
|
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
|
+
* Fluent builder for schematics from character-mapped text layers.
|
|
10
|
+
*
|
|
11
|
+
* `build` is consuming (PORTING rule 11): the inner builder is held in an
|
|
12
|
+
* `Option` and taken on `build`; every method afterwards returns
|
|
13
|
+
* `AlreadyConsumed`.
|
|
14
|
+
*/
|
|
15
|
+
export class SchematicBuilder {
|
|
16
|
+
/** @internal */
|
|
17
|
+
get ffiValue(): pointer;
|
|
18
|
+
/** @internal */
|
|
19
|
+
constructor();
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Create a new builder, pre-loaded with the standard Unicode palette
|
|
24
|
+
* (override any character via `map` or `palette`).
|
|
25
|
+
*/
|
|
26
|
+
static create(): SchematicBuilder;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Parse a builder from the canonical template text format.
|
|
30
|
+
*/
|
|
31
|
+
static fromTemplate(template: string): SchematicBuilder;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Set the schematic name.
|
|
35
|
+
*/
|
|
36
|
+
name(name: string): void;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Map a palette character to a block string. `ch` must contain exactly
|
|
40
|
+
* one character (its first char is used).
|
|
41
|
+
*/
|
|
42
|
+
map(ch: string, block: string): void;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Append layers. `layers_json` is a JSON array of arrays of row strings,
|
|
46
|
+
* e.g. `[["ab","cd"],["ef","gh"]]`.
|
|
47
|
+
*/
|
|
48
|
+
layers(layersJson: string): void;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Append a single layer of rows. `rows_json` is a JSON array of strings,
|
|
52
|
+
* e.g. `["abc", "def"]`. Equivalent to a one-element layers array.
|
|
53
|
+
*/
|
|
54
|
+
layer(rowsJson: string): void;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Bulk-register palette characters. `pairs_json` is a JSON array of
|
|
58
|
+
* `[char, block]` two-element arrays, e.g.
|
|
59
|
+
* `[["c", "minecraft:gray_concrete"], [" ", "minecraft:air"]]`.
|
|
60
|
+
*/
|
|
61
|
+
palette(pairsJson: string): void;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Set the build offset applied to every placed block.
|
|
65
|
+
*/
|
|
66
|
+
offset(x: number, y: number, z: number): void;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Register the standard Unicode palette (redstone wires, repeaters,
|
|
70
|
+
* comparators, torches, blocks, air...; the same set `create`
|
|
71
|
+
* pre-loads), overwriting any clashing character mappings.
|
|
72
|
+
*/
|
|
73
|
+
useStandardPalette(): void;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Register the minimal palette (an essentials-only subset of the
|
|
77
|
+
* standard one), overwriting any clashing character mappings.
|
|
78
|
+
*/
|
|
79
|
+
useMinimalPalette(): void;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Register the compact ASCII-only palette, overwriting any clashing
|
|
83
|
+
* character mappings.
|
|
84
|
+
*/
|
|
85
|
+
useCompactPalette(): void;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Run pre-build validation without consuming the builder.
|
|
89
|
+
*/
|
|
90
|
+
validate(): void;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Serialize the builder back into the canonical template format.
|
|
94
|
+
*/
|
|
95
|
+
toTemplate(): string;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Build the schematic. Consuming: the builder cannot be reused afterwards
|
|
99
|
+
* (subsequent calls return `AlreadyConsumed`), including after a failed
|
|
100
|
+
* build.
|
|
101
|
+
*/
|
|
102
|
+
build(): Schematic;
|
|
103
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
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
|
+
* Fluent builder for schematics from character-mapped text layers.
|
|
10
|
+
*
|
|
11
|
+
* `build` is consuming (PORTING rule 11): the inner builder is held in an
|
|
12
|
+
* `Option` and taken on `build`; every method afterwards returns
|
|
13
|
+
* `AlreadyConsumed`.
|
|
14
|
+
*/
|
|
15
|
+
export class SchematicBuilder {
|
|
16
|
+
/** @internal */
|
|
17
|
+
get ffiValue(): pointer;
|
|
18
|
+
/** @internal */
|
|
19
|
+
constructor();
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Create a new builder, pre-loaded with the standard Unicode palette
|
|
24
|
+
* (override any character via `map` or `palette`).
|
|
25
|
+
*/
|
|
26
|
+
static create(): SchematicBuilder;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Parse a builder from the canonical template text format.
|
|
30
|
+
*/
|
|
31
|
+
static fromTemplate(template: string): SchematicBuilder;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Set the schematic name.
|
|
35
|
+
*/
|
|
36
|
+
name(name: string): void;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Map a palette character to a block string. `ch` must contain exactly
|
|
40
|
+
* one character (its first char is used).
|
|
41
|
+
*/
|
|
42
|
+
map(ch: string, block: string): void;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Append layers. `layers_json` is a JSON array of arrays of row strings,
|
|
46
|
+
* e.g. `[["ab","cd"],["ef","gh"]]`.
|
|
47
|
+
*/
|
|
48
|
+
layers(layersJson: string): void;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Append a single layer of rows. `rows_json` is a JSON array of strings,
|
|
52
|
+
* e.g. `["abc", "def"]`. Equivalent to a one-element layers array.
|
|
53
|
+
*/
|
|
54
|
+
layer(rowsJson: string): void;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Bulk-register palette characters. `pairs_json` is a JSON array of
|
|
58
|
+
* `[char, block]` two-element arrays, e.g.
|
|
59
|
+
* `[["c", "minecraft:gray_concrete"], [" ", "minecraft:air"]]`.
|
|
60
|
+
*/
|
|
61
|
+
palette(pairsJson: string): void;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Set the build offset applied to every placed block.
|
|
65
|
+
*/
|
|
66
|
+
offset(x: number, y: number, z: number): void;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Register the standard Unicode palette (redstone wires, repeaters,
|
|
70
|
+
* comparators, torches, blocks, air...; the same set `create`
|
|
71
|
+
* pre-loads), overwriting any clashing character mappings.
|
|
72
|
+
*/
|
|
73
|
+
useStandardPalette(): void;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Register the minimal palette (an essentials-only subset of the
|
|
77
|
+
* standard one), overwriting any clashing character mappings.
|
|
78
|
+
*/
|
|
79
|
+
useMinimalPalette(): void;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Register the compact ASCII-only palette, overwriting any clashing
|
|
83
|
+
* character mappings.
|
|
84
|
+
*/
|
|
85
|
+
useCompactPalette(): void;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Run pre-build validation without consuming the builder.
|
|
89
|
+
*/
|
|
90
|
+
validate(): void;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Serialize the builder back into the canonical template format.
|
|
94
|
+
*/
|
|
95
|
+
toTemplate(): string;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Build the schematic. Consuming: the builder cannot be reused afterwards
|
|
99
|
+
* (subsequent calls return `AlreadyConsumed`), including after a failed
|
|
100
|
+
* build.
|
|
101
|
+
*/
|
|
102
|
+
build(): Schematic;
|
|
103
|
+
}
|
|
@@ -0,0 +1,401 @@
|
|
|
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 SchematicBuilder_box_destroy_registry = new FinalizationRegistry((ptr) => {
|
|
8
|
+
wasm.SchematicBuilder_destroy(ptr);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Fluent builder for schematics from character-mapped text layers.
|
|
13
|
+
*
|
|
14
|
+
* `build` is consuming (PORTING rule 11): the inner builder is held in an
|
|
15
|
+
* `Option` and taken on `build`; every method afterwards returns
|
|
16
|
+
* `AlreadyConsumed`.
|
|
17
|
+
*/
|
|
18
|
+
export class SchematicBuilder {
|
|
19
|
+
// Internal ptr reference:
|
|
20
|
+
#ptr = null;
|
|
21
|
+
|
|
22
|
+
// Lifetimes are only to keep dependencies alive.
|
|
23
|
+
// Since JS won't garbage collect until there are no incoming edges.
|
|
24
|
+
#selfEdge = [];
|
|
25
|
+
|
|
26
|
+
#internalConstructor(symbol, ptr, selfEdge) {
|
|
27
|
+
if (symbol !== diplomatRuntime.internalConstructor) {
|
|
28
|
+
console.error("SchematicBuilder is an Opaque type. You cannot call its constructor.");
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
this.#ptr = ptr;
|
|
32
|
+
this.#selfEdge = selfEdge;
|
|
33
|
+
|
|
34
|
+
// Are we being borrowed? If not, we can register.
|
|
35
|
+
if (this.#selfEdge.length === 0) {
|
|
36
|
+
SchematicBuilder_box_destroy_registry.register(this, this.#ptr);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
/** @internal */
|
|
42
|
+
get ffiValue() {
|
|
43
|
+
return this.#ptr;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Create a new builder, pre-loaded with the standard Unicode palette
|
|
49
|
+
* (override any character via `map` or `palette`).
|
|
50
|
+
*/
|
|
51
|
+
static create() {
|
|
52
|
+
|
|
53
|
+
const result = wasm.SchematicBuilder_create();
|
|
54
|
+
|
|
55
|
+
try {
|
|
56
|
+
return new SchematicBuilder(diplomatRuntime.internalConstructor, result, []);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
finally {
|
|
60
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Parse a builder from the canonical template text format.
|
|
66
|
+
*/
|
|
67
|
+
static fromTemplate(template) {
|
|
68
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
69
|
+
|
|
70
|
+
const templateSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, template)));
|
|
71
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
const result = wasm.SchematicBuilder_from_template(diplomatReceive.buffer, templateSlice.ptr);
|
|
75
|
+
|
|
76
|
+
try {
|
|
77
|
+
if (!diplomatReceive.resultFlag) {
|
|
78
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
79
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
80
|
+
}
|
|
81
|
+
return new SchematicBuilder(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
finally {
|
|
85
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
86
|
+
functionCleanupArena.free();
|
|
87
|
+
|
|
88
|
+
diplomatReceive.free();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Set the schematic name.
|
|
94
|
+
*/
|
|
95
|
+
name(name) {
|
|
96
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
97
|
+
|
|
98
|
+
const nameSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, name)));
|
|
99
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
const result = wasm.SchematicBuilder_name(diplomatReceive.buffer, this.ffiValue, nameSlice.ptr);
|
|
103
|
+
|
|
104
|
+
try {
|
|
105
|
+
if (!diplomatReceive.resultFlag) {
|
|
106
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
107
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
finally {
|
|
112
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
113
|
+
functionCleanupArena.free();
|
|
114
|
+
|
|
115
|
+
diplomatReceive.free();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Map a palette character to a block string. `ch` must contain exactly
|
|
121
|
+
* one character (its first char is used).
|
|
122
|
+
*/
|
|
123
|
+
map(ch, block) {
|
|
124
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
125
|
+
|
|
126
|
+
const chSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, ch)));
|
|
127
|
+
const blockSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, block)));
|
|
128
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
const result = wasm.SchematicBuilder_map(diplomatReceive.buffer, this.ffiValue, chSlice.ptr, blockSlice.ptr);
|
|
132
|
+
|
|
133
|
+
try {
|
|
134
|
+
if (!diplomatReceive.resultFlag) {
|
|
135
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
136
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
finally {
|
|
141
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
142
|
+
functionCleanupArena.free();
|
|
143
|
+
|
|
144
|
+
diplomatReceive.free();
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Append layers. `layers_json` is a JSON array of arrays of row strings,
|
|
150
|
+
* e.g. `[["ab","cd"],["ef","gh"]]`.
|
|
151
|
+
*/
|
|
152
|
+
layers(layersJson) {
|
|
153
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
154
|
+
|
|
155
|
+
const layersJsonSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, layersJson)));
|
|
156
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
const result = wasm.SchematicBuilder_layers(diplomatReceive.buffer, this.ffiValue, layersJsonSlice.ptr);
|
|
160
|
+
|
|
161
|
+
try {
|
|
162
|
+
if (!diplomatReceive.resultFlag) {
|
|
163
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
164
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
finally {
|
|
169
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
170
|
+
functionCleanupArena.free();
|
|
171
|
+
|
|
172
|
+
diplomatReceive.free();
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Append a single layer of rows. `rows_json` is a JSON array of strings,
|
|
178
|
+
* e.g. `["abc", "def"]`. Equivalent to a one-element layers array.
|
|
179
|
+
*/
|
|
180
|
+
layer(rowsJson) {
|
|
181
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
182
|
+
|
|
183
|
+
const rowsJsonSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, rowsJson)));
|
|
184
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
const result = wasm.SchematicBuilder_layer(diplomatReceive.buffer, this.ffiValue, rowsJsonSlice.ptr);
|
|
188
|
+
|
|
189
|
+
try {
|
|
190
|
+
if (!diplomatReceive.resultFlag) {
|
|
191
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
192
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
finally {
|
|
197
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
198
|
+
functionCleanupArena.free();
|
|
199
|
+
|
|
200
|
+
diplomatReceive.free();
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Bulk-register palette characters. `pairs_json` is a JSON array of
|
|
206
|
+
* `[char, block]` two-element arrays, e.g.
|
|
207
|
+
* `[["c", "minecraft:gray_concrete"], [" ", "minecraft:air"]]`.
|
|
208
|
+
*/
|
|
209
|
+
palette(pairsJson) {
|
|
210
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
211
|
+
|
|
212
|
+
const pairsJsonSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, pairsJson)));
|
|
213
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
const result = wasm.SchematicBuilder_palette(diplomatReceive.buffer, this.ffiValue, pairsJsonSlice.ptr);
|
|
217
|
+
|
|
218
|
+
try {
|
|
219
|
+
if (!diplomatReceive.resultFlag) {
|
|
220
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
221
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
finally {
|
|
226
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
227
|
+
functionCleanupArena.free();
|
|
228
|
+
|
|
229
|
+
diplomatReceive.free();
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Set the build offset applied to every placed block.
|
|
235
|
+
*/
|
|
236
|
+
offset(x, y, z) {
|
|
237
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
const result = wasm.SchematicBuilder_offset(diplomatReceive.buffer, this.ffiValue, x, y, z);
|
|
241
|
+
|
|
242
|
+
try {
|
|
243
|
+
if (!diplomatReceive.resultFlag) {
|
|
244
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
245
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
finally {
|
|
250
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
251
|
+
diplomatReceive.free();
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Register the standard Unicode palette (redstone wires, repeaters,
|
|
257
|
+
* comparators, torches, blocks, air...; the same set `create`
|
|
258
|
+
* pre-loads), overwriting any clashing character mappings.
|
|
259
|
+
*/
|
|
260
|
+
useStandardPalette() {
|
|
261
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
const result = wasm.SchematicBuilder_use_standard_palette(diplomatReceive.buffer, this.ffiValue);
|
|
265
|
+
|
|
266
|
+
try {
|
|
267
|
+
if (!diplomatReceive.resultFlag) {
|
|
268
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
269
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
finally {
|
|
274
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
275
|
+
diplomatReceive.free();
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Register the minimal palette (an essentials-only subset of the
|
|
281
|
+
* standard one), overwriting any clashing character mappings.
|
|
282
|
+
*/
|
|
283
|
+
useMinimalPalette() {
|
|
284
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
const result = wasm.SchematicBuilder_use_minimal_palette(diplomatReceive.buffer, this.ffiValue);
|
|
288
|
+
|
|
289
|
+
try {
|
|
290
|
+
if (!diplomatReceive.resultFlag) {
|
|
291
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
292
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
finally {
|
|
297
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
298
|
+
diplomatReceive.free();
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* Register the compact ASCII-only palette, overwriting any clashing
|
|
304
|
+
* character mappings.
|
|
305
|
+
*/
|
|
306
|
+
useCompactPalette() {
|
|
307
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
const result = wasm.SchematicBuilder_use_compact_palette(diplomatReceive.buffer, this.ffiValue);
|
|
311
|
+
|
|
312
|
+
try {
|
|
313
|
+
if (!diplomatReceive.resultFlag) {
|
|
314
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
315
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
finally {
|
|
320
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
321
|
+
diplomatReceive.free();
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Run pre-build validation without consuming the builder.
|
|
327
|
+
*/
|
|
328
|
+
validate() {
|
|
329
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
const result = wasm.SchematicBuilder_validate(diplomatReceive.buffer, this.ffiValue);
|
|
333
|
+
|
|
334
|
+
try {
|
|
335
|
+
if (!diplomatReceive.resultFlag) {
|
|
336
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
337
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
finally {
|
|
342
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
343
|
+
diplomatReceive.free();
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
/**
|
|
348
|
+
* Serialize the builder back into the canonical template format.
|
|
349
|
+
*/
|
|
350
|
+
toTemplate() {
|
|
351
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
352
|
+
|
|
353
|
+
const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
const result = wasm.SchematicBuilder_to_template(diplomatReceive.buffer, this.ffiValue, write.buffer);
|
|
357
|
+
|
|
358
|
+
try {
|
|
359
|
+
if (!diplomatReceive.resultFlag) {
|
|
360
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
361
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
362
|
+
}
|
|
363
|
+
return write.readString8();
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
finally {
|
|
367
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
368
|
+
diplomatReceive.free();
|
|
369
|
+
write.free();
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* Build the schematic. Consuming: the builder cannot be reused afterwards
|
|
375
|
+
* (subsequent calls return `AlreadyConsumed`), including after a failed
|
|
376
|
+
* build.
|
|
377
|
+
*/
|
|
378
|
+
build() {
|
|
379
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
const result = wasm.SchematicBuilder_build(diplomatReceive.buffer, this.ffiValue);
|
|
383
|
+
|
|
384
|
+
try {
|
|
385
|
+
if (!diplomatReceive.resultFlag) {
|
|
386
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
387
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
388
|
+
}
|
|
389
|
+
return new Schematic(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
finally {
|
|
393
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
394
|
+
diplomatReceive.free();
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
constructor(symbol, ptr, selfEdge) {
|
|
399
|
+
return this.#internalConstructor(...arguments)
|
|
400
|
+
}
|
|
401
|
+
}
|
|
@@ -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
|
+
}
|