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,326 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import { BlockPos } from "./BlockPos.mjs"
|
|
3
|
+
import { NucleationError } from "./NucleationError.mjs"
|
|
4
|
+
import { WsPartitionHints } from "./WsPartitionHints.mjs"
|
|
5
|
+
import { WsProfile } from "./WsProfile.mjs"
|
|
6
|
+
import { WsSegmentJob } from "./WsSegmentJob.mjs"
|
|
7
|
+
import wasm from "./diplomat-wasm.mjs";
|
|
8
|
+
import * as diplomatRuntime from "./diplomat-runtime.mjs";
|
|
9
|
+
|
|
10
|
+
const WsRunResult_box_destroy_registry = new FinalizationRegistry((ptr) => {
|
|
11
|
+
wasm.WsRunResult_destroy(ptr);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* The materialized output of one segmentation run: every build (in the
|
|
16
|
+
* pipeline's deterministic stable-id order) plus the aggregate
|
|
17
|
+
* {@link RunStats}(crate::world_segment::runner::RunStats).
|
|
18
|
+
*/
|
|
19
|
+
export class WsRunResult {
|
|
20
|
+
// Internal ptr reference:
|
|
21
|
+
#ptr = null;
|
|
22
|
+
|
|
23
|
+
// Lifetimes are only to keep dependencies alive.
|
|
24
|
+
// Since JS won't garbage collect until there are no incoming edges.
|
|
25
|
+
#selfEdge = [];
|
|
26
|
+
|
|
27
|
+
#internalConstructor(symbol, ptr, selfEdge) {
|
|
28
|
+
if (symbol !== diplomatRuntime.internalConstructor) {
|
|
29
|
+
console.error("WsRunResult is an Opaque type. You cannot call its constructor.");
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
this.#ptr = ptr;
|
|
33
|
+
this.#selfEdge = selfEdge;
|
|
34
|
+
|
|
35
|
+
// Are we being borrowed? If not, we can register.
|
|
36
|
+
if (this.#selfEdge.length === 0) {
|
|
37
|
+
WsRunResult_box_destroy_registry.register(this, this.#ptr);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
/** @internal */
|
|
43
|
+
get ffiValue() {
|
|
44
|
+
return this.#ptr;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Run the full pipeline (source -> segment -> stitch -> score ->
|
|
50
|
+
* identity -> materialize) over a world directory. No prior-snapshot
|
|
51
|
+
* builds are supplied, so every build seeds a fresh stable id (see
|
|
52
|
+
* `StableBuildId::seed`).
|
|
53
|
+
*
|
|
54
|
+
* See the module docs for why this catches a panic instead of
|
|
55
|
+
* propagating it.
|
|
56
|
+
*/
|
|
57
|
+
static runDir(job, hints, profile, worldDir) {
|
|
58
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
59
|
+
|
|
60
|
+
const worldDirSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, worldDir)));
|
|
61
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
const result = wasm.WsRunResult_run_dir(diplomatReceive.buffer, job.ffiValue, hints.ffiValue, profile.ffiValue, worldDirSlice.ptr);
|
|
65
|
+
|
|
66
|
+
try {
|
|
67
|
+
if (!diplomatReceive.resultFlag) {
|
|
68
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
69
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
70
|
+
}
|
|
71
|
+
return new WsRunResult(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
finally {
|
|
75
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
76
|
+
functionCleanupArena.free();
|
|
77
|
+
|
|
78
|
+
diplomatReceive.free();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Total builds materialized (same as `build_count`, from `RunStats`).
|
|
84
|
+
*/
|
|
85
|
+
builds() {
|
|
86
|
+
|
|
87
|
+
const result = wasm.WsRunResult_builds(this.ffiValue);
|
|
88
|
+
|
|
89
|
+
try {
|
|
90
|
+
return result;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
finally {
|
|
94
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
tierConfident() {
|
|
99
|
+
|
|
100
|
+
const result = wasm.WsRunResult_tier_confident(this.ffiValue);
|
|
101
|
+
|
|
102
|
+
try {
|
|
103
|
+
return result;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
finally {
|
|
107
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
tierProbable() {
|
|
112
|
+
|
|
113
|
+
const result = wasm.WsRunResult_tier_probable(this.ffiValue);
|
|
114
|
+
|
|
115
|
+
try {
|
|
116
|
+
return result;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
finally {
|
|
120
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
tierDebris() {
|
|
125
|
+
|
|
126
|
+
const result = wasm.WsRunResult_tier_debris(this.ffiValue);
|
|
127
|
+
|
|
128
|
+
try {
|
|
129
|
+
return result;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
finally {
|
|
133
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
crossTile() {
|
|
138
|
+
|
|
139
|
+
const result = wasm.WsRunResult_cross_tile(this.ffiValue);
|
|
140
|
+
|
|
141
|
+
try {
|
|
142
|
+
return result;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
finally {
|
|
146
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
largestBlockCount() {
|
|
151
|
+
|
|
152
|
+
const result = wasm.WsRunResult_largest_block_count(this.ffiValue);
|
|
153
|
+
|
|
154
|
+
try {
|
|
155
|
+
return result;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
finally {
|
|
159
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Number of builds held in this result (indices `0..build_count()`
|
|
165
|
+
* are valid for every per-index accessor below).
|
|
166
|
+
*/
|
|
167
|
+
buildCount() {
|
|
168
|
+
|
|
169
|
+
const result = wasm.WsRunResult_build_count(this.ffiValue);
|
|
170
|
+
|
|
171
|
+
try {
|
|
172
|
+
return result;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
finally {
|
|
176
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* The build's stable id (hex), stable across re-runs against the
|
|
182
|
+
* same source under the same config, absent a prior-snapshot match.
|
|
183
|
+
*/
|
|
184
|
+
stableIdHex(index) {
|
|
185
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
186
|
+
|
|
187
|
+
const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
const result = wasm.WsRunResult_stable_id_hex(diplomatReceive.buffer, this.ffiValue, index, write.buffer);
|
|
191
|
+
|
|
192
|
+
try {
|
|
193
|
+
if (!diplomatReceive.resultFlag) {
|
|
194
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
195
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
196
|
+
}
|
|
197
|
+
return write.readString8();
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
finally {
|
|
201
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
202
|
+
diplomatReceive.free();
|
|
203
|
+
write.free();
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* The build's content fingerprint, as 32 lowercase hex digits (u128,
|
|
209
|
+
* big-endian).
|
|
210
|
+
*/
|
|
211
|
+
fingerprintHex(index) {
|
|
212
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
213
|
+
|
|
214
|
+
const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
const result = wasm.WsRunResult_fingerprint_hex(diplomatReceive.buffer, this.ffiValue, index, write.buffer);
|
|
218
|
+
|
|
219
|
+
try {
|
|
220
|
+
if (!diplomatReceive.resultFlag) {
|
|
221
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
222
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
223
|
+
}
|
|
224
|
+
return write.readString8();
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
finally {
|
|
228
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
229
|
+
diplomatReceive.free();
|
|
230
|
+
write.free();
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* `0` = Confident, `1` = Probable, `2` = Debris.
|
|
236
|
+
*/
|
|
237
|
+
tierOf(index) {
|
|
238
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 1, true);
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
const result = wasm.WsRunResult_tier_of(diplomatReceive.buffer, this.ffiValue, index);
|
|
242
|
+
|
|
243
|
+
try {
|
|
244
|
+
if (!diplomatReceive.resultFlag) {
|
|
245
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
246
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
247
|
+
}
|
|
248
|
+
return (new Uint8Array(wasm.memory.buffer, diplomatReceive.buffer, 1))[0];
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
finally {
|
|
252
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
253
|
+
diplomatReceive.free();
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
blockCountOf(index) {
|
|
258
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 9, 8, true);
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
const result = wasm.WsRunResult_block_count_of(diplomatReceive.buffer, this.ffiValue, index);
|
|
262
|
+
|
|
263
|
+
try {
|
|
264
|
+
if (!diplomatReceive.resultFlag) {
|
|
265
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
266
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
267
|
+
}
|
|
268
|
+
return (new BigUint64Array(wasm.memory.buffer, diplomatReceive.buffer, 1))[0];
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
finally {
|
|
272
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
273
|
+
diplomatReceive.free();
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* The build's world-space bounding box minimum (inclusive).
|
|
279
|
+
*/
|
|
280
|
+
bboxMinOf(index) {
|
|
281
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 13, 4, true);
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
const result = wasm.WsRunResult_bbox_min_of(diplomatReceive.buffer, this.ffiValue, index);
|
|
285
|
+
|
|
286
|
+
try {
|
|
287
|
+
if (!diplomatReceive.resultFlag) {
|
|
288
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
289
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
290
|
+
}
|
|
291
|
+
return BlockPos._fromFFI(diplomatRuntime.internalConstructor, diplomatReceive.buffer);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
finally {
|
|
295
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
296
|
+
diplomatReceive.free();
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* The build's world-space bounding box maximum (inclusive).
|
|
302
|
+
*/
|
|
303
|
+
bboxMaxOf(index) {
|
|
304
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 13, 4, true);
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
const result = wasm.WsRunResult_bbox_max_of(diplomatReceive.buffer, this.ffiValue, index);
|
|
308
|
+
|
|
309
|
+
try {
|
|
310
|
+
if (!diplomatReceive.resultFlag) {
|
|
311
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
312
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
313
|
+
}
|
|
314
|
+
return BlockPos._fromFFI(diplomatRuntime.internalConstructor, diplomatReceive.buffer);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
finally {
|
|
318
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
319
|
+
diplomatReceive.free();
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
constructor(symbol, ptr, selfEdge) {
|
|
324
|
+
return this.#internalConstructor(...arguments)
|
|
325
|
+
}
|
|
326
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
* One segmentation run's parameters (the primitive knobs of
|
|
9
|
+
* {@link SegmentJob}(crate::world_segment::runner::SegmentJob), plus a
|
|
10
|
+
* `hard_cut` flag selecting {@link PartitionPolicy}). Built once, passed by
|
|
11
|
+
* reference into {@link WsRunResult::run_dir}.
|
|
12
|
+
*/
|
|
13
|
+
export class WsSegmentJob {
|
|
14
|
+
/** @internal */
|
|
15
|
+
get ffiValue(): pointer;
|
|
16
|
+
/** @internal */
|
|
17
|
+
constructor();
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* `algorithm_version` is pinned to
|
|
22
|
+
* {@link SegConfig::default}(crate::world_segment::segment::SegConfig)'s
|
|
23
|
+
* value; `score_config` uses `ScoreConfig::default()`. Neither is
|
|
24
|
+
* exposed as a knob here — construct a `SegmentJob` directly in Rust
|
|
25
|
+
* if you need to override them.
|
|
26
|
+
*/
|
|
27
|
+
static create(cellSize: number, closingRadius: number, minClusterBlocks: bigint, sourceId: string, snapshotId: string, minY: number, maxY: number, extractedAt: bigint, matchIou: number, hardCut: boolean): WsSegmentJob;
|
|
28
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
* One segmentation run's parameters (the primitive knobs of
|
|
9
|
+
* {@link SegmentJob}(crate::world_segment::runner::SegmentJob), plus a
|
|
10
|
+
* `hard_cut` flag selecting {@link PartitionPolicy}). Built once, passed by
|
|
11
|
+
* reference into {@link WsRunResult::run_dir}.
|
|
12
|
+
*/
|
|
13
|
+
export class WsSegmentJob {
|
|
14
|
+
/** @internal */
|
|
15
|
+
get ffiValue(): pointer;
|
|
16
|
+
/** @internal */
|
|
17
|
+
constructor();
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* `algorithm_version` is pinned to
|
|
22
|
+
* {@link SegConfig::default}(crate::world_segment::segment::SegConfig)'s
|
|
23
|
+
* value; `score_config` uses `ScoreConfig::default()`. Neither is
|
|
24
|
+
* exposed as a knob here — construct a `SegmentJob` directly in Rust
|
|
25
|
+
* if you need to override them.
|
|
26
|
+
*/
|
|
27
|
+
static create(cellSize: number, closingRadius: number, minClusterBlocks: bigint, sourceId: string, snapshotId: string, minY: number, maxY: number, extractedAt: bigint, matchIou: number, hardCut: boolean): WsSegmentJob;
|
|
28
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
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 WsSegmentJob_box_destroy_registry = new FinalizationRegistry((ptr) => {
|
|
7
|
+
wasm.WsSegmentJob_destroy(ptr);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* One segmentation run's parameters (the primitive knobs of
|
|
12
|
+
* {@link SegmentJob}(crate::world_segment::runner::SegmentJob), plus a
|
|
13
|
+
* `hard_cut` flag selecting {@link PartitionPolicy}). Built once, passed by
|
|
14
|
+
* reference into {@link WsRunResult::run_dir}.
|
|
15
|
+
*/
|
|
16
|
+
export class WsSegmentJob {
|
|
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("WsSegmentJob 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
|
+
WsSegmentJob_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
|
+
/**
|
|
46
|
+
* `algorithm_version` is pinned to
|
|
47
|
+
* {@link SegConfig::default}(crate::world_segment::segment::SegConfig)'s
|
|
48
|
+
* value; `score_config` uses `ScoreConfig::default()`. Neither is
|
|
49
|
+
* exposed as a knob here — construct a `SegmentJob` directly in Rust
|
|
50
|
+
* if you need to override them.
|
|
51
|
+
*/
|
|
52
|
+
static create(cellSize, closingRadius, minClusterBlocks, sourceId, snapshotId, minY, maxY, extractedAt, matchIou, hardCut) {
|
|
53
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
54
|
+
|
|
55
|
+
const sourceIdSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, sourceId)));
|
|
56
|
+
const snapshotIdSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, snapshotId)));
|
|
57
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
const result = wasm.WsSegmentJob_create(diplomatReceive.buffer, cellSize, closingRadius, minClusterBlocks, sourceIdSlice.ptr, snapshotIdSlice.ptr, minY, maxY, extractedAt, matchIou, hardCut);
|
|
61
|
+
|
|
62
|
+
try {
|
|
63
|
+
if (!diplomatReceive.resultFlag) {
|
|
64
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
65
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
66
|
+
}
|
|
67
|
+
return new WsSegmentJob(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
finally {
|
|
71
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
72
|
+
functionCleanupArena.free();
|
|
73
|
+
|
|
74
|
+
diplomatReceive.free();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
constructor(symbol, ptr, selfEdge) {
|
|
79
|
+
return this.#internalConstructor(...arguments)
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// A [codepoint] is a Unicode code point, such as `a`, or `💡`.
|
|
2
|
+
///
|
|
3
|
+
/// The recommended way to obtain a `codepoint` is to create it from a
|
|
4
|
+
/// `String`, which is conceptually a list of `codepoint`s. For example,
|
|
5
|
+
/// `'a'.codePointAt(0)` is equal to the `char` `a`.
|
|
6
|
+
///
|
|
7
|
+
/// JS does not have a character/codepoint literal, so integer literals
|
|
8
|
+
/// need to be used. For example the Unicode code point U+1F4A1, `💡`,
|
|
9
|
+
/// can be represented by `0x1F4A1`. Note that only values in the ranges
|
|
10
|
+
/// `0x0..0xD7FF` and `0xE000..0x10FFFF` (both inclusive) are Unicode
|
|
11
|
+
/// code points, and hence valid `codepoint`s.
|
|
12
|
+
///
|
|
13
|
+
/// A `String` can be constructed from a `codepoint` using `String.fromCodePoint()`.
|
|
14
|
+
export type codepoint = number;
|
|
15
|
+
export type pointer = number;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// A [codepoint] is a Unicode code point, such as `a`, or `💡`.
|
|
2
|
+
///
|
|
3
|
+
/// The recommended way to obtain a `codepoint` is to create it from a
|
|
4
|
+
/// `String`, which is conceptually a list of `codepoint`s. For example,
|
|
5
|
+
/// `'a'.codePointAt(0)` is equal to the `char` `a`.
|
|
6
|
+
///
|
|
7
|
+
/// JS does not have a character/codepoint literal, so integer literals
|
|
8
|
+
/// need to be used. For example the Unicode code point U+1F4A1, `💡`,
|
|
9
|
+
/// can be represented by `0x1F4A1`. Note that only values in the ranges
|
|
10
|
+
/// `0x0..0xD7FF` and `0xE000..0x10FFFF` (both inclusive) are Unicode
|
|
11
|
+
/// code points, and hence valid `codepoint`s.
|
|
12
|
+
///
|
|
13
|
+
/// A `String` can be constructed from a `codepoint` using `String.fromCodePoint()`.
|
|
14
|
+
export type codepoint = number;
|
|
15
|
+
export type pointer = number;
|