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,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
|
+
}
|