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,272 @@
|
|
|
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 SortStrategy_box_destroy_registry = new FinalizationRegistry((ptr) => {
|
|
7
|
+
wasm.SortStrategy_destroy(ptr);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Ordering applied to region positions before bit assignment
|
|
12
|
+
* (PORTING rule 10).
|
|
13
|
+
*/
|
|
14
|
+
export class SortStrategy {
|
|
15
|
+
// Internal ptr reference:
|
|
16
|
+
#ptr = null;
|
|
17
|
+
|
|
18
|
+
// Lifetimes are only to keep dependencies alive.
|
|
19
|
+
// Since JS won't garbage collect until there are no incoming edges.
|
|
20
|
+
#selfEdge = [];
|
|
21
|
+
|
|
22
|
+
#internalConstructor(symbol, ptr, selfEdge) {
|
|
23
|
+
if (symbol !== diplomatRuntime.internalConstructor) {
|
|
24
|
+
console.error("SortStrategy is an Opaque type. You cannot call its constructor.");
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this.#ptr = ptr;
|
|
28
|
+
this.#selfEdge = selfEdge;
|
|
29
|
+
|
|
30
|
+
// Are we being borrowed? If not, we can register.
|
|
31
|
+
if (this.#selfEdge.length === 0) {
|
|
32
|
+
SortStrategy_box_destroy_registry.register(this, this.#ptr);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
/** @internal */
|
|
38
|
+
get ffiValue() {
|
|
39
|
+
return this.#ptr;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Sort by Y ascending, then X, then Z (default Minecraft layer
|
|
45
|
+
* order). The first position after sorting is bit 0 (LSB).
|
|
46
|
+
*/
|
|
47
|
+
static yxz() {
|
|
48
|
+
|
|
49
|
+
const result = wasm.SortStrategy_yxz();
|
|
50
|
+
|
|
51
|
+
try {
|
|
52
|
+
return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
finally {
|
|
56
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Sort by X ascending, then Y, then Z.
|
|
62
|
+
*/
|
|
63
|
+
static xyz() {
|
|
64
|
+
|
|
65
|
+
const result = wasm.SortStrategy_xyz();
|
|
66
|
+
|
|
67
|
+
try {
|
|
68
|
+
return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
finally {
|
|
72
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Sort by Z ascending, then Y, then X.
|
|
78
|
+
*/
|
|
79
|
+
static zyx() {
|
|
80
|
+
|
|
81
|
+
const result = wasm.SortStrategy_zyx();
|
|
82
|
+
|
|
83
|
+
try {
|
|
84
|
+
return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
finally {
|
|
88
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Sort by Y descending, then X ascending, then Z ascending.
|
|
94
|
+
*/
|
|
95
|
+
static yDescXz() {
|
|
96
|
+
|
|
97
|
+
const result = wasm.SortStrategy_y_desc_xz();
|
|
98
|
+
|
|
99
|
+
try {
|
|
100
|
+
return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
finally {
|
|
104
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Sort by X descending, then Y ascending, then Z ascending.
|
|
110
|
+
*/
|
|
111
|
+
static xDescYz() {
|
|
112
|
+
|
|
113
|
+
const result = wasm.SortStrategy_x_desc_yz();
|
|
114
|
+
|
|
115
|
+
try {
|
|
116
|
+
return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
finally {
|
|
120
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Sort by Z descending, then Y ascending, then X ascending.
|
|
126
|
+
*/
|
|
127
|
+
static zDescYx() {
|
|
128
|
+
|
|
129
|
+
const result = wasm.SortStrategy_z_desc_yx();
|
|
130
|
+
|
|
131
|
+
try {
|
|
132
|
+
return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
finally {
|
|
136
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Old ABI name: `sort_strategy_descending`.
|
|
142
|
+
*/
|
|
143
|
+
static descending() {
|
|
144
|
+
|
|
145
|
+
const result = wasm.SortStrategy_descending();
|
|
146
|
+
|
|
147
|
+
try {
|
|
148
|
+
return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
finally {
|
|
152
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Sort by Euclidean distance from the reference point, closest
|
|
158
|
+
* first (ties broken by Y, X, Z ascending).
|
|
159
|
+
*/
|
|
160
|
+
static distanceFrom(x, y, z) {
|
|
161
|
+
|
|
162
|
+
const result = wasm.SortStrategy_distance_from(x, y, z);
|
|
163
|
+
|
|
164
|
+
try {
|
|
165
|
+
return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
finally {
|
|
169
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Sort by Euclidean distance from the reference point, farthest
|
|
175
|
+
* first (ties broken by Y, X, Z descending).
|
|
176
|
+
*/
|
|
177
|
+
static distanceFromDesc(x, y, z) {
|
|
178
|
+
|
|
179
|
+
const result = wasm.SortStrategy_distance_from_desc(x, y, z);
|
|
180
|
+
|
|
181
|
+
try {
|
|
182
|
+
return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
finally {
|
|
186
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Keep positions in the order they were added (no sorting). Useful
|
|
192
|
+
* when positions were ordered manually or box order matters.
|
|
193
|
+
*/
|
|
194
|
+
static preserve() {
|
|
195
|
+
|
|
196
|
+
const result = wasm.SortStrategy_preserve();
|
|
197
|
+
|
|
198
|
+
try {
|
|
199
|
+
return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
finally {
|
|
203
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Reverse of the order positions were added.
|
|
209
|
+
*/
|
|
210
|
+
static reverse() {
|
|
211
|
+
|
|
212
|
+
const result = wasm.SortStrategy_reverse();
|
|
213
|
+
|
|
214
|
+
try {
|
|
215
|
+
return new SortStrategy(diplomatRuntime.internalConstructor, result, []);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
finally {
|
|
219
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Parse from a name (e.g. "yxz", "descending", "preserve").
|
|
225
|
+
*/
|
|
226
|
+
static fromString(s) {
|
|
227
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
228
|
+
|
|
229
|
+
const sSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, s)));
|
|
230
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
const result = wasm.SortStrategy_from_string(diplomatReceive.buffer, sSlice.ptr);
|
|
234
|
+
|
|
235
|
+
try {
|
|
236
|
+
if (!diplomatReceive.resultFlag) {
|
|
237
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
238
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
239
|
+
}
|
|
240
|
+
return new SortStrategy(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
finally {
|
|
244
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
245
|
+
functionCleanupArena.free();
|
|
246
|
+
|
|
247
|
+
diplomatReceive.free();
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* The strategy name.
|
|
253
|
+
*/
|
|
254
|
+
name() {
|
|
255
|
+
const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
|
|
256
|
+
|
|
257
|
+
wasm.SortStrategy_name(this.ffiValue, write.buffer);
|
|
258
|
+
|
|
259
|
+
try {
|
|
260
|
+
return write.readString8();
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
finally {
|
|
264
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
265
|
+
write.free();
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
constructor(symbol, ptr, selfEdge) {
|
|
270
|
+
return this.#internalConstructor(...arguments)
|
|
271
|
+
}
|
|
272
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import type { Schematic } from "./Schematic.mjs"
|
|
4
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* A key/value store opened from a URL (e.g. `mem://`, `file:///path`,
|
|
10
|
+
* `ssh://user@host/path`, `s3://bucket/prefix`, `redis://…`, `postgres://…`).
|
|
11
|
+
*/
|
|
12
|
+
export class Store {
|
|
13
|
+
/** @internal */
|
|
14
|
+
get ffiValue(): pointer;
|
|
15
|
+
/** @internal */
|
|
16
|
+
constructor();
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Open a store from a URL. Errors with `Store` on an unknown scheme or
|
|
21
|
+
* connection failure.
|
|
22
|
+
*/
|
|
23
|
+
static open(url: string): Store;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Fetch `key`, writing the value as base64 (PORTING rule 6). Errors with
|
|
27
|
+
* `NotFound` when the key is absent.
|
|
28
|
+
*/
|
|
29
|
+
getB64(key: string): string;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Store `data` at `key`.
|
|
33
|
+
*/
|
|
34
|
+
put(key: string, data: Array<number>): void;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Whether `key` exists.
|
|
38
|
+
*/
|
|
39
|
+
exists(key: string): boolean;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Delete `key` (idempotent).
|
|
43
|
+
*/
|
|
44
|
+
delete_(key: string): void;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* List keys under `prefix`, written as a JSON array string.
|
|
48
|
+
*/
|
|
49
|
+
list(prefix: string): string;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Atomically write `data` at `key` only if it does not already exist.
|
|
53
|
+
* Returns `true` if written, `false` if the key existed.
|
|
54
|
+
*/
|
|
55
|
+
putIfAbsent(key: string, data: Array<number>): boolean;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* A keyset page of keys under `prefix`. `after` is the exclusive cursor
|
|
59
|
+
* (empty string for the first page); at most `limit` keys are returned.
|
|
60
|
+
* Writes a JSON object string `{"keys":[...],"next":"…"|null}`.
|
|
61
|
+
*/
|
|
62
|
+
listPaginated(prefix: string, after: string, limit: number): string;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Health check: `Ok` when the store is usable.
|
|
66
|
+
*/
|
|
67
|
+
health(): void;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Open a schematic stored at `key` in this store. Works for every
|
|
71
|
+
* backend, including `redis://`/`postgres://`/`mem://` that the
|
|
72
|
+
* single-string URI form (`StoreIo::open`) rejects.
|
|
73
|
+
*/
|
|
74
|
+
openSchematic(key: string): Schematic;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Save a schematic at `key` in this store. `version` selects the format
|
|
78
|
+
* version (empty string = format default). Works for every backend,
|
|
79
|
+
* including `redis://`/`postgres://`/`mem://` that the single-string URI
|
|
80
|
+
* form (`StoreIo::save`) rejects.
|
|
81
|
+
*/
|
|
82
|
+
saveSchematic(schematic: Schematic, key: string, version: string): void;
|
|
83
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import type { Schematic } from "./Schematic.mjs"
|
|
4
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* A key/value store opened from a URL (e.g. `mem://`, `file:///path`,
|
|
10
|
+
* `ssh://user@host/path`, `s3://bucket/prefix`, `redis://…`, `postgres://…`).
|
|
11
|
+
*/
|
|
12
|
+
export class Store {
|
|
13
|
+
/** @internal */
|
|
14
|
+
get ffiValue(): pointer;
|
|
15
|
+
/** @internal */
|
|
16
|
+
constructor();
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Open a store from a URL. Errors with `Store` on an unknown scheme or
|
|
21
|
+
* connection failure.
|
|
22
|
+
*/
|
|
23
|
+
static open(url: string): Store;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Fetch `key`, writing the value as base64 (PORTING rule 6). Errors with
|
|
27
|
+
* `NotFound` when the key is absent.
|
|
28
|
+
*/
|
|
29
|
+
getB64(key: string): string;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Store `data` at `key`.
|
|
33
|
+
*/
|
|
34
|
+
put(key: string, data: Array<number>): void;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Whether `key` exists.
|
|
38
|
+
*/
|
|
39
|
+
exists(key: string): boolean;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Delete `key` (idempotent).
|
|
43
|
+
*/
|
|
44
|
+
delete_(key: string): void;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* List keys under `prefix`, written as a JSON array string.
|
|
48
|
+
*/
|
|
49
|
+
list(prefix: string): string;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Atomically write `data` at `key` only if it does not already exist.
|
|
53
|
+
* Returns `true` if written, `false` if the key existed.
|
|
54
|
+
*/
|
|
55
|
+
putIfAbsent(key: string, data: Array<number>): boolean;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* A keyset page of keys under `prefix`. `after` is the exclusive cursor
|
|
59
|
+
* (empty string for the first page); at most `limit` keys are returned.
|
|
60
|
+
* Writes a JSON object string `{"keys":[...],"next":"…"|null}`.
|
|
61
|
+
*/
|
|
62
|
+
listPaginated(prefix: string, after: string, limit: number): string;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Health check: `Ok` when the store is usable.
|
|
66
|
+
*/
|
|
67
|
+
health(): void;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Open a schematic stored at `key` in this store. Works for every
|
|
71
|
+
* backend, including `redis://`/`postgres://`/`mem://` that the
|
|
72
|
+
* single-string URI form (`StoreIo::open`) rejects.
|
|
73
|
+
*/
|
|
74
|
+
openSchematic(key: string): Schematic;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Save a schematic at `key` in this store. `version` selects the format
|
|
78
|
+
* version (empty string = format default). Works for every backend,
|
|
79
|
+
* including `redis://`/`postgres://`/`mem://` that the single-string URI
|
|
80
|
+
* form (`StoreIo::save`) rejects.
|
|
81
|
+
*/
|
|
82
|
+
saveSchematic(schematic: Schematic, key: string, version: string): void;
|
|
83
|
+
}
|