nucleation 0.10.22 → 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/README.md +12 -0
- package/Schematic.d.mts +23 -0
- package/Schematic.d.ts +23 -0
- package/Schematic.mjs +70 -0
- 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,73 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A typed circuit value (payload-carrying enum; PORTING rule 10).
|
|
9
|
+
*/
|
|
10
|
+
export class Value {
|
|
11
|
+
/** @internal */
|
|
12
|
+
get ffiValue(): pointer;
|
|
13
|
+
/** @internal */
|
|
14
|
+
constructor();
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Create an unsigned 32-bit integer value.
|
|
19
|
+
*/
|
|
20
|
+
static fromU32(v: number): Value;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Create a signed 32-bit integer value.
|
|
24
|
+
*/
|
|
25
|
+
static fromI32(v: number): Value;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Create a 32-bit IEEE 754 float value.
|
|
29
|
+
*/
|
|
30
|
+
static fromF32(v: number): Value;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Create a boolean value.
|
|
34
|
+
*/
|
|
35
|
+
static fromBool(v: boolean): Value;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Create a string value. Fails if the bytes are not valid UTF-8.
|
|
39
|
+
*/
|
|
40
|
+
static fromString(s: string): Value;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The value as u32. Also accepts u64/non-negative signed ints that
|
|
44
|
+
* fit, and bool (false → 0, true → 1); fails otherwise.
|
|
45
|
+
*/
|
|
46
|
+
asU32(): number;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* The value as i32. Also accepts i64 values in i32 range; fails for
|
|
50
|
+
* other types.
|
|
51
|
+
*/
|
|
52
|
+
asI32(): number;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* The value as f32; fails if this is not an f32 value.
|
|
56
|
+
*/
|
|
57
|
+
asF32(): number;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* The value as bool; fails if this is not a bool value.
|
|
61
|
+
*/
|
|
62
|
+
asBool(): boolean;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The string payload; fails if this is not a string value.
|
|
66
|
+
*/
|
|
67
|
+
asString(): string;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* The type name (e.g. "u32", "bool", "string").
|
|
71
|
+
*/
|
|
72
|
+
typeName(): string;
|
|
73
|
+
}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import wasm from "./diplomat-wasm.mjs";
|
|
4
|
+
import * as diplomatRuntime from "./diplomat-runtime.mjs";
|
|
5
|
+
|
|
6
|
+
const Value_box_destroy_registry = new FinalizationRegistry((ptr) => {
|
|
7
|
+
wasm.Value_destroy(ptr);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* A typed circuit value (payload-carrying enum; PORTING rule 10).
|
|
12
|
+
*/
|
|
13
|
+
export class Value {
|
|
14
|
+
// Internal ptr reference:
|
|
15
|
+
#ptr = null;
|
|
16
|
+
|
|
17
|
+
// Lifetimes are only to keep dependencies alive.
|
|
18
|
+
// Since JS won't garbage collect until there are no incoming edges.
|
|
19
|
+
#selfEdge = [];
|
|
20
|
+
|
|
21
|
+
#internalConstructor(symbol, ptr, selfEdge) {
|
|
22
|
+
if (symbol !== diplomatRuntime.internalConstructor) {
|
|
23
|
+
console.error("Value is an Opaque type. You cannot call its constructor.");
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
this.#ptr = ptr;
|
|
27
|
+
this.#selfEdge = selfEdge;
|
|
28
|
+
|
|
29
|
+
// Are we being borrowed? If not, we can register.
|
|
30
|
+
if (this.#selfEdge.length === 0) {
|
|
31
|
+
Value_box_destroy_registry.register(this, this.#ptr);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
/** @internal */
|
|
37
|
+
get ffiValue() {
|
|
38
|
+
return this.#ptr;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Create an unsigned 32-bit integer value.
|
|
44
|
+
*/
|
|
45
|
+
static fromU32(v) {
|
|
46
|
+
|
|
47
|
+
const result = wasm.Value_from_u32(v);
|
|
48
|
+
|
|
49
|
+
try {
|
|
50
|
+
return new Value(diplomatRuntime.internalConstructor, result, []);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
finally {
|
|
54
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Create a signed 32-bit integer value.
|
|
60
|
+
*/
|
|
61
|
+
static fromI32(v) {
|
|
62
|
+
|
|
63
|
+
const result = wasm.Value_from_i32(v);
|
|
64
|
+
|
|
65
|
+
try {
|
|
66
|
+
return new Value(diplomatRuntime.internalConstructor, result, []);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
finally {
|
|
70
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Create a 32-bit IEEE 754 float value.
|
|
76
|
+
*/
|
|
77
|
+
static fromF32(v) {
|
|
78
|
+
|
|
79
|
+
const result = wasm.Value_from_f32(v);
|
|
80
|
+
|
|
81
|
+
try {
|
|
82
|
+
return new Value(diplomatRuntime.internalConstructor, result, []);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
finally {
|
|
86
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Create a boolean value.
|
|
92
|
+
*/
|
|
93
|
+
static fromBool(v) {
|
|
94
|
+
|
|
95
|
+
const result = wasm.Value_from_bool(v);
|
|
96
|
+
|
|
97
|
+
try {
|
|
98
|
+
return new Value(diplomatRuntime.internalConstructor, result, []);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
finally {
|
|
102
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Create a string value. Fails if the bytes are not valid UTF-8.
|
|
108
|
+
*/
|
|
109
|
+
static fromString(s) {
|
|
110
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
111
|
+
|
|
112
|
+
const sSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, s)));
|
|
113
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
const result = wasm.Value_from_string(diplomatReceive.buffer, sSlice.ptr);
|
|
117
|
+
|
|
118
|
+
try {
|
|
119
|
+
if (!diplomatReceive.resultFlag) {
|
|
120
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
121
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
122
|
+
}
|
|
123
|
+
return new Value(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
finally {
|
|
127
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
128
|
+
functionCleanupArena.free();
|
|
129
|
+
|
|
130
|
+
diplomatReceive.free();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* The value as u32. Also accepts u64/non-negative signed ints that
|
|
136
|
+
* fit, and bool (false → 0, true → 1); fails otherwise.
|
|
137
|
+
*/
|
|
138
|
+
asU32() {
|
|
139
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
const result = wasm.Value_as_u32(diplomatReceive.buffer, this.ffiValue);
|
|
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
|
+
return (new Uint32Array(wasm.memory.buffer, diplomatReceive.buffer, 1))[0];
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
finally {
|
|
153
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
154
|
+
diplomatReceive.free();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* The value as i32. Also accepts i64 values in i32 range; fails for
|
|
160
|
+
* other types.
|
|
161
|
+
*/
|
|
162
|
+
asI32() {
|
|
163
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
const result = wasm.Value_as_i32(diplomatReceive.buffer, this.ffiValue);
|
|
167
|
+
|
|
168
|
+
try {
|
|
169
|
+
if (!diplomatReceive.resultFlag) {
|
|
170
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
171
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
172
|
+
}
|
|
173
|
+
return (new Int32Array(wasm.memory.buffer, diplomatReceive.buffer, 1))[0];
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
finally {
|
|
177
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
178
|
+
diplomatReceive.free();
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* The value as f32; fails if this is not an f32 value.
|
|
184
|
+
*/
|
|
185
|
+
asF32() {
|
|
186
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
const result = wasm.Value_as_f32(diplomatReceive.buffer, this.ffiValue);
|
|
190
|
+
|
|
191
|
+
try {
|
|
192
|
+
if (!diplomatReceive.resultFlag) {
|
|
193
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
194
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
195
|
+
}
|
|
196
|
+
return (new Float32Array(wasm.memory.buffer, diplomatReceive.buffer, 1))[0];
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
finally {
|
|
200
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
201
|
+
diplomatReceive.free();
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* The value as bool; fails if this is not a bool value.
|
|
207
|
+
*/
|
|
208
|
+
asBool() {
|
|
209
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 1, true);
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
const result = wasm.Value_as_bool(diplomatReceive.buffer, this.ffiValue);
|
|
213
|
+
|
|
214
|
+
try {
|
|
215
|
+
if (!diplomatReceive.resultFlag) {
|
|
216
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
217
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
218
|
+
}
|
|
219
|
+
return (new Uint8Array(wasm.memory.buffer, diplomatReceive.buffer, 1))[0] === 1;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
finally {
|
|
223
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
224
|
+
diplomatReceive.free();
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* The string payload; fails if this is not a string value.
|
|
230
|
+
*/
|
|
231
|
+
asString() {
|
|
232
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
233
|
+
|
|
234
|
+
const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
const result = wasm.Value_as_string(diplomatReceive.buffer, this.ffiValue, write.buffer);
|
|
238
|
+
|
|
239
|
+
try {
|
|
240
|
+
if (!diplomatReceive.resultFlag) {
|
|
241
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
242
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
243
|
+
}
|
|
244
|
+
return write.readString8();
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
finally {
|
|
248
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
249
|
+
diplomatReceive.free();
|
|
250
|
+
write.free();
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* The type name (e.g. "u32", "bool", "string").
|
|
256
|
+
*/
|
|
257
|
+
typeName() {
|
|
258
|
+
const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
|
|
259
|
+
|
|
260
|
+
wasm.Value_type_name(this.ffiValue, write.buffer);
|
|
261
|
+
|
|
262
|
+
try {
|
|
263
|
+
return write.readString8();
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
finally {
|
|
267
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
268
|
+
write.free();
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
constructor(symbol, ptr, selfEdge) {
|
|
273
|
+
return this.#internalConstructor(...arguments)
|
|
274
|
+
}
|
|
275
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Native FFmpeg video output preset.
|
|
8
|
+
*/
|
|
9
|
+
export class VideoConfig {
|
|
10
|
+
/** @internal */
|
|
11
|
+
get ffiValue(): pointer;
|
|
12
|
+
/** @internal */
|
|
13
|
+
constructor();
|
|
14
|
+
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Native FFmpeg video output preset.
|
|
8
|
+
*/
|
|
9
|
+
export class VideoConfig {
|
|
10
|
+
/** @internal */
|
|
11
|
+
get ffiValue(): pointer;
|
|
12
|
+
/** @internal */
|
|
13
|
+
constructor();
|
|
14
|
+
|
|
15
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import wasm from "./diplomat-wasm.mjs";
|
|
3
|
+
import * as diplomatRuntime from "./diplomat-runtime.mjs";
|
|
4
|
+
|
|
5
|
+
const VideoConfig_box_destroy_registry = new FinalizationRegistry((ptr) => {
|
|
6
|
+
wasm.VideoConfig_destroy(ptr);
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Native FFmpeg video output preset.
|
|
11
|
+
*/
|
|
12
|
+
export class VideoConfig {
|
|
13
|
+
// Internal ptr reference:
|
|
14
|
+
#ptr = null;
|
|
15
|
+
|
|
16
|
+
// Lifetimes are only to keep dependencies alive.
|
|
17
|
+
// Since JS won't garbage collect until there are no incoming edges.
|
|
18
|
+
#selfEdge = [];
|
|
19
|
+
|
|
20
|
+
#internalConstructor(symbol, ptr, selfEdge) {
|
|
21
|
+
if (symbol !== diplomatRuntime.internalConstructor) {
|
|
22
|
+
console.error("VideoConfig is an Opaque type. You cannot call its constructor.");
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
this.#ptr = ptr;
|
|
26
|
+
this.#selfEdge = selfEdge;
|
|
27
|
+
|
|
28
|
+
// Are we being borrowed? If not, we can register.
|
|
29
|
+
if (this.#selfEdge.length === 0) {
|
|
30
|
+
VideoConfig_box_destroy_registry.register(this, this.#ptr);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
/** @internal */
|
|
36
|
+
get ffiValue() {
|
|
37
|
+
return this.#ptr;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
constructor(symbol, ptr, selfEdge) {
|
|
42
|
+
return this.#internalConstructor(...arguments)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import type { Palette } from "./Palette.mjs"
|
|
4
|
+
import type { Schematic } from "./Schematic.mjs"
|
|
5
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A parsed GLB/OBJ, reusable for size estimates and configured imports.
|
|
11
|
+
*/
|
|
12
|
+
export class VoxelModel {
|
|
13
|
+
/** @internal */
|
|
14
|
+
get ffiValue(): pointer;
|
|
15
|
+
/** @internal */
|
|
16
|
+
constructor();
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Return {dimensions:[width,height,depth],volume} or {error:message}.
|
|
21
|
+
* Options: target_size, axis (longest/x/y/z), hollow, optional lighting
|
|
22
|
+
* {direction:[x,y,z],strength:0..1}, optional untextured_block.
|
|
23
|
+
* Estimates preserve proportions and run before voxel-grid allocation.
|
|
24
|
+
*/
|
|
25
|
+
planJson(optionsJson: string): string;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Import using plan_json's options. Anchored at (0,0,0), with exact
|
|
29
|
+
* axis-based uniform scaling. Hollow uses a sparse surface raster;
|
|
30
|
+
* lighting darkens sampled texture colours before palette matching.
|
|
31
|
+
* Rejects oversized/over-complex output with InvalidArgument.
|
|
32
|
+
*/
|
|
33
|
+
toSchematic(optionsJson: string, palette: Palette, name: string): Schematic;
|
|
34
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import type { Palette } from "./Palette.mjs"
|
|
4
|
+
import type { Schematic } from "./Schematic.mjs"
|
|
5
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A parsed GLB/OBJ, reusable for size estimates and configured imports.
|
|
11
|
+
*/
|
|
12
|
+
export class VoxelModel {
|
|
13
|
+
/** @internal */
|
|
14
|
+
get ffiValue(): pointer;
|
|
15
|
+
/** @internal */
|
|
16
|
+
constructor();
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Return {dimensions:[width,height,depth],volume} or {error:message}.
|
|
21
|
+
* Options: target_size, axis (longest/x/y/z), hollow, optional lighting
|
|
22
|
+
* {direction:[x,y,z],strength:0..1}, optional untextured_block.
|
|
23
|
+
* Estimates preserve proportions and run before voxel-grid allocation.
|
|
24
|
+
*/
|
|
25
|
+
planJson(optionsJson: string): string;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Import using plan_json's options. Anchored at (0,0,0), with exact
|
|
29
|
+
* axis-based uniform scaling. Hollow uses a sparse surface raster;
|
|
30
|
+
* lighting darkens sampled texture colours before palette matching.
|
|
31
|
+
* Rejects oversized/over-complex output with InvalidArgument.
|
|
32
|
+
*/
|
|
33
|
+
toSchematic(optionsJson: string, palette: Palette, name: string): Schematic;
|
|
34
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import { Palette } from "./Palette.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 VoxelModel_box_destroy_registry = new FinalizationRegistry((ptr) => {
|
|
9
|
+
wasm.VoxelModel_destroy(ptr);
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A parsed GLB/OBJ, reusable for size estimates and configured imports.
|
|
14
|
+
*/
|
|
15
|
+
export class VoxelModel {
|
|
16
|
+
// Internal ptr reference:
|
|
17
|
+
#ptr = null;
|
|
18
|
+
|
|
19
|
+
// Lifetimes are only to keep dependencies alive.
|
|
20
|
+
// Since JS won't garbage collect until there are no incoming edges.
|
|
21
|
+
#selfEdge = [];
|
|
22
|
+
|
|
23
|
+
#internalConstructor(symbol, ptr, selfEdge) {
|
|
24
|
+
if (symbol !== diplomatRuntime.internalConstructor) {
|
|
25
|
+
console.error("VoxelModel is an Opaque type. You cannot call its constructor.");
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
this.#ptr = ptr;
|
|
29
|
+
this.#selfEdge = selfEdge;
|
|
30
|
+
|
|
31
|
+
// Are we being borrowed? If not, we can register.
|
|
32
|
+
if (this.#selfEdge.length === 0) {
|
|
33
|
+
VoxelModel_box_destroy_registry.register(this, this.#ptr);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
/** @internal */
|
|
39
|
+
get ffiValue() {
|
|
40
|
+
return this.#ptr;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Return {dimensions:[width,height,depth],volume} or {error:message}.
|
|
46
|
+
* Options: target_size, axis (longest/x/y/z), hollow, optional lighting
|
|
47
|
+
* {direction:[x,y,z],strength:0..1}, optional untextured_block.
|
|
48
|
+
* Estimates preserve proportions and run before voxel-grid allocation.
|
|
49
|
+
*/
|
|
50
|
+
planJson(optionsJson) {
|
|
51
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
52
|
+
|
|
53
|
+
const optionsJsonSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, optionsJson)));
|
|
54
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
55
|
+
|
|
56
|
+
const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
const result = wasm.VoxelModel_plan_json(diplomatReceive.buffer, this.ffiValue, optionsJsonSlice.ptr, write.buffer);
|
|
60
|
+
|
|
61
|
+
try {
|
|
62
|
+
if (!diplomatReceive.resultFlag) {
|
|
63
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
64
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
65
|
+
}
|
|
66
|
+
return write.readString8();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
finally {
|
|
70
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
71
|
+
functionCleanupArena.free();
|
|
72
|
+
|
|
73
|
+
diplomatReceive.free();
|
|
74
|
+
write.free();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Import using plan_json's options. Anchored at (0,0,0), with exact
|
|
80
|
+
* axis-based uniform scaling. Hollow uses a sparse surface raster;
|
|
81
|
+
* lighting darkens sampled texture colours before palette matching.
|
|
82
|
+
* Rejects oversized/over-complex output with InvalidArgument.
|
|
83
|
+
*/
|
|
84
|
+
toSchematic(optionsJson, palette, name) {
|
|
85
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
86
|
+
|
|
87
|
+
const optionsJsonSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, optionsJson)));
|
|
88
|
+
const nameSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, name)));
|
|
89
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
const result = wasm.VoxelModel_to_schematic(diplomatReceive.buffer, this.ffiValue, optionsJsonSlice.ptr, palette.ffiValue, nameSlice.ptr);
|
|
93
|
+
|
|
94
|
+
try {
|
|
95
|
+
if (!diplomatReceive.resultFlag) {
|
|
96
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
97
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
98
|
+
}
|
|
99
|
+
return new Schematic(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
finally {
|
|
103
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
104
|
+
functionCleanupArena.free();
|
|
105
|
+
|
|
106
|
+
diplomatReceive.free();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
constructor(symbol, ptr, selfEdge) {
|
|
111
|
+
return this.#internalConstructor(...arguments)
|
|
112
|
+
}
|
|
113
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import type { Palette } from "./Palette.mjs"
|
|
4
|
+
import type { Schematic } from "./Schematic.mjs"
|
|
5
|
+
import type { Shape } from "./Shape.mjs"
|
|
6
|
+
import type { VoxelModel } from "./VoxelModel.mjs"
|
|
7
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Namespace for the mesh-voxelization entry points (GLB/OBJ → shapes
|
|
13
|
+
* and textured schematics).
|
|
14
|
+
*/
|
|
15
|
+
export class Voxelizer {
|
|
16
|
+
/** @internal */
|
|
17
|
+
get ffiValue(): pointer;
|
|
18
|
+
/** @internal */
|
|
19
|
+
constructor();
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Reason the last configured model import failed; cleared on success.
|
|
24
|
+
*/
|
|
25
|
+
static lastErrorDetail(): string;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* PHP-friendly GLB input: avoids expanding every byte into a boxed
|
|
29
|
+
* integer array before copying it over FFI.
|
|
30
|
+
*/
|
|
31
|
+
static loadGlbBase64(data: string): VoxelModel;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Parse a GLB once for axis-based size estimates and lit voxelization.
|
|
35
|
+
*/
|
|
36
|
+
static loadGlb(data: Array<number>): VoxelModel;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Parse an OBJ once for axis-based size estimates and lit voxelization.
|
|
40
|
+
*/
|
|
41
|
+
static loadObj(text: string): VoxelModel;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Load a binary glTF (`.glb`, embedded buffers/images) and voxelize
|
|
45
|
+
* it into a fillable Shape: the model is uniformly scaled so its
|
|
46
|
+
* largest dimension equals `target_size` voxels, centered on x/z
|
|
47
|
+
* with its base resting at y = 0. Solidity is a parity test at each
|
|
48
|
+
* voxel center (robust on closed meshes), plus — when `shell` > 0 —
|
|
49
|
+
* every voxel whose center is within `shell` blocks of the surface,
|
|
50
|
+
* which rescues thin walls and hollow vessels (0.7–1.0 closes
|
|
51
|
+
* single-voxel shells; 0 = pure parity; a *negative* `shell` is
|
|
52
|
+
* surface-only — a skin |shell| blocks thick with no interior fill,
|
|
53
|
+
* for open sheets/ribbons that dip or self-overlap). Errors with `Parse` on
|
|
54
|
+
* malformed/triangle-less GLB and `InvalidArgument` on a
|
|
55
|
+
* non-positive `target_size`.
|
|
56
|
+
*/
|
|
57
|
+
static shapeFromGlb(data: Array<number>, targetSize: number, shell: number): Shape;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Load a Wavefront OBJ (`v`/`vt`/`f` lines; polygon faces are
|
|
61
|
+
* fan-triangulated, negative indices supported, materials ignored)
|
|
62
|
+
* and voxelize it into a fillable Shape, fitted and shelled exactly
|
|
63
|
+
* like `shape_from_glb`. Errors with `Parse` on malformed/triangle-less
|
|
64
|
+
* OBJ and `InvalidArgument` on invalid UTF-8 or a non-positive
|
|
65
|
+
* `target_size`.
|
|
66
|
+
*/
|
|
67
|
+
static shapeFromObj(text: string, targetSize: number, shell: number): Shape;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Load a binary glTF and voxelize it directly into a textured
|
|
71
|
+
* schematic named `name`: every solid voxel becomes the `palette`
|
|
72
|
+
* block closest to its nearest-surface texture color (interior
|
|
73
|
+
* voxels inherit the nearest surface color; voxels without texture
|
|
74
|
+
* info snap to mid-gray). `shell` behaves as in `shape_from_glb` —
|
|
75
|
+
* use ~0.7 for thin-walled models. Errors with `Parse` on malformed GLB and
|
|
76
|
+
* `InvalidArgument` on invalid UTF-8 or a non-positive
|
|
77
|
+
* `target_size`.
|
|
78
|
+
*/
|
|
79
|
+
static schematicFromGlbTextured(data: Array<number>, targetSize: number, shell: number, palette: Palette, name: string): Schematic;
|
|
80
|
+
}
|