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,38 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Phase of a running {@link MeshJob}.
|
|
8
|
+
*/
|
|
9
|
+
export class MeshPhase {
|
|
10
|
+
|
|
11
|
+
/** @internal */
|
|
12
|
+
static fromValue(value: MeshPhase | string): MeshPhase;
|
|
13
|
+
|
|
14
|
+
get value(): string;
|
|
15
|
+
|
|
16
|
+
/** @internal */
|
|
17
|
+
get ffiValue(): number;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Scanning palettes / building the shared texture atlas.
|
|
21
|
+
*/
|
|
22
|
+
static BuildingAtlas : MeshPhase;
|
|
23
|
+
/**
|
|
24
|
+
* Meshing individual chunks (`current` / `total` advance here).
|
|
25
|
+
*/
|
|
26
|
+
static MeshingChunks : MeshPhase;
|
|
27
|
+
/**
|
|
28
|
+
* All chunks meshed; `take_result` will not block.
|
|
29
|
+
*/
|
|
30
|
+
static Complete : MeshPhase;
|
|
31
|
+
/**
|
|
32
|
+
* The job failed; `take_result` returns the error.
|
|
33
|
+
*/
|
|
34
|
+
static Failed : MeshPhase;
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
constructor(value: MeshPhase | string );
|
|
38
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Phase of a running {@link MeshJob}.
|
|
8
|
+
*/
|
|
9
|
+
export class MeshPhase {
|
|
10
|
+
|
|
11
|
+
/** @internal */
|
|
12
|
+
static fromValue(value: MeshPhase | string): MeshPhase;
|
|
13
|
+
|
|
14
|
+
get value(): string;
|
|
15
|
+
|
|
16
|
+
/** @internal */
|
|
17
|
+
get ffiValue(): number;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Scanning palettes / building the shared texture atlas.
|
|
21
|
+
*/
|
|
22
|
+
static BuildingAtlas : MeshPhase;
|
|
23
|
+
/**
|
|
24
|
+
* Meshing individual chunks (`current` / `total` advance here).
|
|
25
|
+
*/
|
|
26
|
+
static MeshingChunks : MeshPhase;
|
|
27
|
+
/**
|
|
28
|
+
* All chunks meshed; `take_result` will not block.
|
|
29
|
+
*/
|
|
30
|
+
static Complete : MeshPhase;
|
|
31
|
+
/**
|
|
32
|
+
* The job failed; `take_result` returns the error.
|
|
33
|
+
*/
|
|
34
|
+
static Failed : MeshPhase;
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
constructor(value: MeshPhase | string );
|
|
38
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import wasm from "./diplomat-wasm.mjs";
|
|
3
|
+
import * as diplomatRuntime from "./diplomat-runtime.mjs";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Phase of a running {@link MeshJob}.
|
|
9
|
+
*/
|
|
10
|
+
export class MeshPhase {
|
|
11
|
+
#value = undefined;
|
|
12
|
+
|
|
13
|
+
static #values = new Map([
|
|
14
|
+
["BuildingAtlas", 0],
|
|
15
|
+
["MeshingChunks", 1],
|
|
16
|
+
["Complete", 2],
|
|
17
|
+
["Failed", 3]
|
|
18
|
+
]);
|
|
19
|
+
|
|
20
|
+
static getAllEntries() {
|
|
21
|
+
return MeshPhase.#values.entries();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
#internalConstructor(value) {
|
|
25
|
+
if (arguments.length > 1 && arguments[0] === diplomatRuntime.internalConstructor) {
|
|
26
|
+
// We pass in two internalConstructor arguments to create *new*
|
|
27
|
+
// instances of this type, otherwise the enums are treated as singletons.
|
|
28
|
+
if (arguments[1] === diplomatRuntime.internalConstructor ) {
|
|
29
|
+
this.#value = arguments[2];
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
return MeshPhase.#objectValues[arguments[1]];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (value instanceof MeshPhase) {
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
let intVal = MeshPhase.#values.get(value);
|
|
40
|
+
|
|
41
|
+
// Nullish check, checks for null or undefined
|
|
42
|
+
if (intVal != null) {
|
|
43
|
+
return MeshPhase.#objectValues[intVal];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
throw TypeError(value + " is not a MeshPhase and does not correspond to any of its enumerator values.");
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** @internal */
|
|
50
|
+
static fromValue(value) {
|
|
51
|
+
return new MeshPhase(value);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
get value(){
|
|
55
|
+
return [...MeshPhase.#values.keys()][this.#value];
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/** @internal */
|
|
59
|
+
get ffiValue(){
|
|
60
|
+
return this.#value;
|
|
61
|
+
}
|
|
62
|
+
static #objectValues = [
|
|
63
|
+
new MeshPhase(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 0),
|
|
64
|
+
new MeshPhase(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 1),
|
|
65
|
+
new MeshPhase(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 2),
|
|
66
|
+
new MeshPhase(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 3),
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Scanning palettes / building the shared texture atlas.
|
|
71
|
+
*/
|
|
72
|
+
static BuildingAtlas = MeshPhase.#objectValues[0];
|
|
73
|
+
/**
|
|
74
|
+
* Meshing individual chunks (`current` / `total` advance here).
|
|
75
|
+
*/
|
|
76
|
+
static MeshingChunks = MeshPhase.#objectValues[1];
|
|
77
|
+
/**
|
|
78
|
+
* All chunks meshed; `take_result` will not block.
|
|
79
|
+
*/
|
|
80
|
+
static Complete = MeshPhase.#objectValues[2];
|
|
81
|
+
/**
|
|
82
|
+
* The job failed; `take_result` returns the error.
|
|
83
|
+
*/
|
|
84
|
+
static Failed = MeshPhase.#objectValues[3];
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
constructor(value) {
|
|
88
|
+
return this.#internalConstructor(...arguments)
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { MeshPhase } from "./MeshPhase.mjs"
|
|
3
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
4
|
+
|
|
5
|
+
export type MeshProgress_obj = {
|
|
6
|
+
phase: MeshPhase;
|
|
7
|
+
current: number;
|
|
8
|
+
total: number;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Snapshot of a {@link MeshJob}'s progress.
|
|
15
|
+
*/
|
|
16
|
+
export class MeshProgress {
|
|
17
|
+
get phase(): MeshPhase;
|
|
18
|
+
set phase(value: MeshPhase);
|
|
19
|
+
get current(): number;
|
|
20
|
+
set current(value: number);
|
|
21
|
+
get total(): number;
|
|
22
|
+
set total(value: number);
|
|
23
|
+
/** @internal */
|
|
24
|
+
static fromFields(structObj : MeshProgress_obj) : MeshProgress;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Create `MeshProgress` from an object that contains all of `MeshProgress`s fields.
|
|
28
|
+
* Optional fields do not need to be included in the provided object.
|
|
29
|
+
*/
|
|
30
|
+
constructor(structObj: MeshProgress_obj);
|
|
31
|
+
|
|
32
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { MeshPhase } from "./MeshPhase.mjs"
|
|
3
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
4
|
+
|
|
5
|
+
export type MeshProgress_obj = {
|
|
6
|
+
phase: MeshPhase;
|
|
7
|
+
current: number;
|
|
8
|
+
total: number;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Snapshot of a {@link MeshJob}'s progress.
|
|
15
|
+
*/
|
|
16
|
+
export class MeshProgress {
|
|
17
|
+
get phase(): MeshPhase;
|
|
18
|
+
set phase(value: MeshPhase);
|
|
19
|
+
get current(): number;
|
|
20
|
+
set current(value: number);
|
|
21
|
+
get total(): number;
|
|
22
|
+
set total(value: number);
|
|
23
|
+
/** @internal */
|
|
24
|
+
static fromFields(structObj : MeshProgress_obj) : MeshProgress;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Create `MeshProgress` from an object that contains all of `MeshProgress`s fields.
|
|
28
|
+
* Optional fields do not need to be included in the provided object.
|
|
29
|
+
*/
|
|
30
|
+
constructor(structObj: MeshProgress_obj);
|
|
31
|
+
|
|
32
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import { MeshPhase } from "./MeshPhase.mjs"
|
|
3
|
+
import wasm from "./diplomat-wasm.mjs";
|
|
4
|
+
import * as diplomatRuntime from "./diplomat-runtime.mjs";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Snapshot of a {@link MeshJob}'s progress.
|
|
10
|
+
*/
|
|
11
|
+
export class MeshProgress {
|
|
12
|
+
#phase;
|
|
13
|
+
get phase() {
|
|
14
|
+
return this.#phase;
|
|
15
|
+
}
|
|
16
|
+
set phase(value){
|
|
17
|
+
this.#phase = value;
|
|
18
|
+
}
|
|
19
|
+
#current;
|
|
20
|
+
get current() {
|
|
21
|
+
return this.#current;
|
|
22
|
+
}
|
|
23
|
+
set current(value){
|
|
24
|
+
this.#current = value;
|
|
25
|
+
}
|
|
26
|
+
#total;
|
|
27
|
+
get total() {
|
|
28
|
+
return this.#total;
|
|
29
|
+
}
|
|
30
|
+
set total(value){
|
|
31
|
+
this.#total = value;
|
|
32
|
+
}
|
|
33
|
+
/** @internal */
|
|
34
|
+
static fromFields(structObj) {
|
|
35
|
+
return new MeshProgress(structObj);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
#internalConstructor(structObj) {
|
|
39
|
+
if (typeof structObj !== "object") {
|
|
40
|
+
throw new Error("MeshProgress's constructor takes an object of MeshProgress's fields.");
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if ("phase" in structObj) {
|
|
44
|
+
this.#phase = structObj.phase;
|
|
45
|
+
} else {
|
|
46
|
+
throw new Error("Missing required field phase.");
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if ("current" in structObj) {
|
|
50
|
+
this.#current = structObj.current;
|
|
51
|
+
} else {
|
|
52
|
+
throw new Error("Missing required field current.");
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if ("total" in structObj) {
|
|
56
|
+
this.#total = structObj.total;
|
|
57
|
+
} else {
|
|
58
|
+
throw new Error("Missing required field total.");
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return this;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Return this struct in FFI function friendly format.
|
|
65
|
+
// Returns an array that can be expanded with spread syntax (...)
|
|
66
|
+
_intoFFI(
|
|
67
|
+
dst,
|
|
68
|
+
functionCleanupArena,
|
|
69
|
+
appendArrayMap
|
|
70
|
+
) {
|
|
71
|
+
|
|
72
|
+
this._writeToArrayBuffer(wasm.memory.buffer, dst, functionCleanupArena, appendArrayMap);
|
|
73
|
+
|
|
74
|
+
return dst;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
static get _sizeBytes() {
|
|
78
|
+
return 12;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/// Currently unused, we may want to use later on though:
|
|
82
|
+
static get _sizeAlign() {
|
|
83
|
+
return 4;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
static _fromSuppliedValue(internalConstructor, obj) {
|
|
87
|
+
if (internalConstructor !== diplomatRuntime.internalConstructor) {
|
|
88
|
+
throw new Error("_fromSuppliedValue cannot be called externally.");
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (obj instanceof MeshProgress) {
|
|
92
|
+
return obj;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return MeshProgress.fromFields(obj);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
_writeToArrayBuffer(
|
|
99
|
+
arrayBuffer,
|
|
100
|
+
offset,
|
|
101
|
+
functionCleanupArena,
|
|
102
|
+
appendArrayMap
|
|
103
|
+
) {
|
|
104
|
+
diplomatRuntime.writeToArrayBuffer(arrayBuffer, offset + 0, this.#phase.ffiValue, Int32Array);
|
|
105
|
+
diplomatRuntime.writeToArrayBuffer(arrayBuffer, offset + 4, this.#current, Uint32Array);
|
|
106
|
+
diplomatRuntime.writeToArrayBuffer(arrayBuffer, offset + 8, this.#total, Uint32Array);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// This struct contains borrowed fields, so this takes in a list of
|
|
110
|
+
// "edges" corresponding to where each lifetime's data may have been borrowed from
|
|
111
|
+
// and passes it down to individual fields containing the borrow.
|
|
112
|
+
// This method does not attempt to handle any dependencies between lifetimes, the caller
|
|
113
|
+
// should handle this when constructing edge arrays.
|
|
114
|
+
static _fromFFI(internalConstructor, ptr) {
|
|
115
|
+
ptr >>>= 0; // unsigned wasm32 address; field values retain their signedness.
|
|
116
|
+
if (internalConstructor !== diplomatRuntime.internalConstructor) {
|
|
117
|
+
throw new Error("MeshProgress._fromFFI is not meant to be called externally. Please use the default constructor.");
|
|
118
|
+
}
|
|
119
|
+
let structObj = {};
|
|
120
|
+
const phaseDeref = diplomatRuntime.enumDiscriminant(wasm, ptr);
|
|
121
|
+
structObj.phase = new MeshPhase(diplomatRuntime.internalConstructor, phaseDeref);
|
|
122
|
+
const currentDeref = (new Uint32Array(wasm.memory.buffer, ptr + 4, 1))[0];
|
|
123
|
+
structObj.current = currentDeref;
|
|
124
|
+
const totalDeref = (new Uint32Array(wasm.memory.buffer, ptr + 8, 1))[0];
|
|
125
|
+
structObj.total = totalDeref;
|
|
126
|
+
|
|
127
|
+
return new MeshProgress(structObj);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
constructor(structObj) {
|
|
132
|
+
return this.#internalConstructor(...arguments)
|
|
133
|
+
}
|
|
134
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { MeshBounds } from "./MeshBounds.mjs"
|
|
3
|
+
import type { MeshConfig } from "./MeshConfig.mjs"
|
|
4
|
+
import type { NucleationError } from "./NucleationError.mjs"
|
|
5
|
+
import type { ResourcePack } from "./ResourcePack.mjs"
|
|
6
|
+
import type { Schematic } from "./Schematic.mjs"
|
|
7
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A single mesh output. Wraps {@link crate::meshing::MeshResult}.
|
|
13
|
+
*/
|
|
14
|
+
export class MeshResult {
|
|
15
|
+
/** @internal */
|
|
16
|
+
get ffiValue(): pointer;
|
|
17
|
+
/** @internal */
|
|
18
|
+
constructor();
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Mesh an entire schematic in one pass (old ABI: `schematic_to_mesh`).
|
|
23
|
+
*/
|
|
24
|
+
static create(schematic: Schematic, pack: ResourcePack, config: MeshConfig): MeshResult;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Mesh a schematic with USDZ-compatible output (old ABI: `schematic_to_usdz`).
|
|
28
|
+
*/
|
|
29
|
+
static createUsdz(schematic: Schematic, pack: ResourcePack, config: MeshConfig): MeshResult;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* A schematic plus a run timeline, as an animated GLB, base64-encoded.
|
|
33
|
+
*
|
|
34
|
+
* `timeline_json` is what `TickSimulation::animation_timeline_json`
|
|
35
|
+
* produces, and `schematic` the scene it starts from
|
|
36
|
+
* (`selection_schematic_b64`). Static rather than a method on a mesh
|
|
37
|
+
* because the animation is built from the schematic and the timeline
|
|
38
|
+
* together — there is no intermediate `MeshResult` to hang it off.
|
|
39
|
+
*/
|
|
40
|
+
static animatedGlbB64(schematic: Schematic, pack: ResourcePack, timelineJson: string): string;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The mesh as a binary GLB, base64-encoded.
|
|
44
|
+
*/
|
|
45
|
+
glbDataB64(): string;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The mesh as a USDZ archive, base64-encoded.
|
|
49
|
+
*/
|
|
50
|
+
usdzDataB64(): string;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* The mesh serialized in the NUCM cache format, base64-encoded.
|
|
54
|
+
*/
|
|
55
|
+
nucmDataB64(): string;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Total number of vertices in the mesh.
|
|
59
|
+
*/
|
|
60
|
+
vertexCount(): number;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Total number of triangles in the mesh.
|
|
64
|
+
*/
|
|
65
|
+
triangleCount(): number;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Whether the mesh contains any transparent or translucent geometry.
|
|
69
|
+
*/
|
|
70
|
+
hasTransparency(): boolean;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Axis-aligned bounding box of the mesh, in world units.
|
|
74
|
+
*/
|
|
75
|
+
bounds(): MeshBounds;
|
|
76
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { MeshBounds } from "./MeshBounds.mjs"
|
|
3
|
+
import type { MeshConfig } from "./MeshConfig.mjs"
|
|
4
|
+
import type { NucleationError } from "./NucleationError.mjs"
|
|
5
|
+
import type { ResourcePack } from "./ResourcePack.mjs"
|
|
6
|
+
import type { Schematic } from "./Schematic.mjs"
|
|
7
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A single mesh output. Wraps {@link crate::meshing::MeshResult}.
|
|
13
|
+
*/
|
|
14
|
+
export class MeshResult {
|
|
15
|
+
/** @internal */
|
|
16
|
+
get ffiValue(): pointer;
|
|
17
|
+
/** @internal */
|
|
18
|
+
constructor();
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Mesh an entire schematic in one pass (old ABI: `schematic_to_mesh`).
|
|
23
|
+
*/
|
|
24
|
+
static create(schematic: Schematic, pack: ResourcePack, config: MeshConfig): MeshResult;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Mesh a schematic with USDZ-compatible output (old ABI: `schematic_to_usdz`).
|
|
28
|
+
*/
|
|
29
|
+
static createUsdz(schematic: Schematic, pack: ResourcePack, config: MeshConfig): MeshResult;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* A schematic plus a run timeline, as an animated GLB, base64-encoded.
|
|
33
|
+
*
|
|
34
|
+
* `timeline_json` is what `TickSimulation::animation_timeline_json`
|
|
35
|
+
* produces, and `schematic` the scene it starts from
|
|
36
|
+
* (`selection_schematic_b64`). Static rather than a method on a mesh
|
|
37
|
+
* because the animation is built from the schematic and the timeline
|
|
38
|
+
* together — there is no intermediate `MeshResult` to hang it off.
|
|
39
|
+
*/
|
|
40
|
+
static animatedGlbB64(schematic: Schematic, pack: ResourcePack, timelineJson: string): string;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The mesh as a binary GLB, base64-encoded.
|
|
44
|
+
*/
|
|
45
|
+
glbDataB64(): string;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The mesh as a USDZ archive, base64-encoded.
|
|
49
|
+
*/
|
|
50
|
+
usdzDataB64(): string;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* The mesh serialized in the NUCM cache format, base64-encoded.
|
|
54
|
+
*/
|
|
55
|
+
nucmDataB64(): string;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Total number of vertices in the mesh.
|
|
59
|
+
*/
|
|
60
|
+
vertexCount(): number;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Total number of triangles in the mesh.
|
|
64
|
+
*/
|
|
65
|
+
triangleCount(): number;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Whether the mesh contains any transparent or translucent geometry.
|
|
69
|
+
*/
|
|
70
|
+
hasTransparency(): boolean;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Axis-aligned bounding box of the mesh, in world units.
|
|
74
|
+
*/
|
|
75
|
+
bounds(): MeshBounds;
|
|
76
|
+
}
|