nucleation 0.10.22 → 0.10.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/Schematic.d.mts +23 -0
- package/Schematic.d.ts +23 -0
- package/Schematic.mjs +70 -0
- package/nucleation.wasm +0 -0
- package/package.json +7 -2
- package/renderer/AnimationEffect.d.mts +44 -0
- package/renderer/AnimationEffect.d.ts +44 -0
- package/renderer/AnimationEffect.mjs +204 -0
- package/renderer/Autostack.d.mts +43 -0
- package/renderer/Autostack.d.ts +43 -0
- package/renderer/Autostack.mjs +134 -0
- package/renderer/BlockPos.d.mts +28 -0
- package/renderer/BlockPos.d.ts +28 -0
- package/renderer/BlockPos.mjs +130 -0
- package/renderer/BlockState.d.mts +39 -0
- package/renderer/BlockState.d.ts +39 -0
- package/renderer/BlockState.mjs +134 -0
- package/renderer/Blocks.d.mts +91 -0
- package/renderer/Blocks.d.ts +91 -0
- package/renderer/Blocks.mjs +308 -0
- package/renderer/Brush.d.mts +99 -0
- package/renderer/Brush.d.ts +99 -0
- package/renderer/Brush.mjs +335 -0
- package/renderer/BuildAnimation.d.mts +179 -0
- package/renderer/BuildAnimation.d.ts +179 -0
- package/renderer/BuildAnimation.mjs +1148 -0
- package/renderer/BuildingTool.d.mts +46 -0
- package/renderer/BuildingTool.d.ts +46 -0
- package/renderer/BuildingTool.mjs +121 -0
- package/renderer/CellExecutor.d.mts +51 -0
- package/renderer/CellExecutor.d.ts +51 -0
- package/renderer/CellExecutor.mjs +171 -0
- package/renderer/CellularSdfConfig.d.mts +22 -0
- package/renderer/CellularSdfConfig.d.ts +22 -0
- package/renderer/CellularSdfConfig.mjs +69 -0
- package/renderer/ChunkMeshResult.d.mts +75 -0
- package/renderer/ChunkMeshResult.d.ts +75 -0
- package/renderer/ChunkMeshResult.mjs +253 -0
- package/renderer/CircuitBuilder.d.mts +118 -0
- package/renderer/CircuitBuilder.d.ts +118 -0
- package/renderer/CircuitBuilder.mjs +516 -0
- package/renderer/Curve3D.d.mts +27 -0
- package/renderer/Curve3D.d.ts +27 -0
- package/renderer/Curve3D.mjs +101 -0
- package/renderer/DefinitionRegion.d.mts +274 -0
- package/renderer/DefinitionRegion.d.ts +274 -0
- package/renderer/DefinitionRegion.mjs +973 -0
- package/renderer/Design.d.mts +348 -0
- package/renderer/Design.d.ts +348 -0
- package/renderer/Design.mjs +1334 -0
- package/renderer/Diff.d.mts +88 -0
- package/renderer/Diff.d.ts +88 -0
- package/renderer/Diff.mjs +316 -0
- package/renderer/Dimensions.d.mts +28 -0
- package/renderer/Dimensions.d.ts +28 -0
- package/renderer/Dimensions.mjs +130 -0
- package/renderer/DistanceField.d.mts +39 -0
- package/renderer/DistanceField.d.ts +39 -0
- package/renderer/DistanceField.mjs +114 -0
- package/renderer/ExecutionMode.d.mts +42 -0
- package/renderer/ExecutionMode.d.ts +42 -0
- package/renderer/ExecutionMode.mjs +127 -0
- package/renderer/Field3.d.mts +40 -0
- package/renderer/Field3.d.ts +40 -0
- package/renderer/Field3.mjs +160 -0
- package/renderer/FieldProgram.d.mts +40 -0
- package/renderer/FieldProgram.d.ts +40 -0
- package/renderer/FieldProgram.mjs +167 -0
- package/renderer/FieldProgramBinaryOp.d.mts +42 -0
- package/renderer/FieldProgramBinaryOp.d.ts +42 -0
- package/renderer/FieldProgramBinaryOp.mjs +118 -0
- package/renderer/FieldProgramBuilder.d.mts +104 -0
- package/renderer/FieldProgramBuilder.d.ts +104 -0
- package/renderer/FieldProgramBuilder.mjs +486 -0
- package/renderer/FieldProgramDistanceKind.d.mts +26 -0
- package/renderer/FieldProgramDistanceKind.d.ts +26 -0
- package/renderer/FieldProgramDistanceKind.mjs +78 -0
- package/renderer/FieldProgramUnaryOp.d.mts +34 -0
- package/renderer/FieldProgramUnaryOp.d.ts +34 -0
- package/renderer/FieldProgramUnaryOp.mjs +102 -0
- package/renderer/FieldProgramValueType.d.mts +25 -0
- package/renderer/FieldProgramValueType.d.ts +25 -0
- package/renderer/FieldProgramValueType.mjs +75 -0
- package/renderer/FieldRange.d.mts +15 -0
- package/renderer/FieldRange.d.ts +15 -0
- package/renderer/FieldRange.mjs +109 -0
- package/renderer/Fingerprint.d.mts +44 -0
- package/renderer/Fingerprint.d.ts +44 -0
- package/renderer/Fingerprint.mjs +197 -0
- package/renderer/GeneratedChunk.d.mts +35 -0
- package/renderer/GeneratedChunk.d.ts +35 -0
- package/renderer/GeneratedChunk.mjs +178 -0
- package/renderer/GeneratedChunkCoverage.d.mts +25 -0
- package/renderer/GeneratedChunkCoverage.d.ts +25 -0
- package/renderer/GeneratedChunkCoverage.mjs +75 -0
- package/renderer/GeneratedChunkOverlayMode.d.mts +24 -0
- package/renderer/GeneratedChunkOverlayMode.d.ts +24 -0
- package/renderer/GeneratedChunkOverlayMode.mjs +72 -0
- package/renderer/GeneratedWorldStream.d.mts +28 -0
- package/renderer/GeneratedWorldStream.d.ts +28 -0
- package/renderer/GeneratedWorldStream.mjs +86 -0
- package/renderer/Geo.d.mts +41 -0
- package/renderer/Geo.d.ts +41 -0
- package/renderer/Geo.mjs +121 -0
- package/renderer/Hdl.d.mts +56 -0
- package/renderer/Hdl.d.ts +56 -0
- package/renderer/Hdl.mjs +163 -0
- package/renderer/InterpolationSpace.d.mts +25 -0
- package/renderer/InterpolationSpace.d.ts +25 -0
- package/renderer/InterpolationSpace.mjs +73 -0
- package/renderer/IoLayout.d.mts +26 -0
- package/renderer/IoLayout.d.ts +26 -0
- package/renderer/IoLayout.mjs +81 -0
- package/renderer/IoLayoutBuilder.d.mts +73 -0
- package/renderer/IoLayoutBuilder.d.ts +73 -0
- package/renderer/IoLayoutBuilder.mjs +315 -0
- package/renderer/IoType.d.mts +41 -0
- package/renderer/IoType.d.ts +41 -0
- package/renderer/IoType.mjs +125 -0
- package/renderer/ItemModelConfig.d.mts +65 -0
- package/renderer/ItemModelConfig.d.ts +65 -0
- package/renderer/ItemModelConfig.mjs +223 -0
- package/renderer/ItemModelPackBuilder.d.mts +32 -0
- package/renderer/ItemModelPackBuilder.d.ts +32 -0
- package/renderer/ItemModelPackBuilder.mjs +104 -0
- package/renderer/ItemModelResult.d.mts +72 -0
- package/renderer/ItemModelResult.d.ts +72 -0
- package/renderer/ItemModelResult.mjs +268 -0
- package/renderer/ItemScale.d.mts +31 -0
- package/renderer/ItemScale.d.ts +31 -0
- package/renderer/ItemScale.mjs +133 -0
- package/renderer/LayoutFunction.d.mts +52 -0
- package/renderer/LayoutFunction.d.ts +52 -0
- package/renderer/LayoutFunction.mjs +159 -0
- package/renderer/MchprsWorld.d.mts +131 -0
- package/renderer/MchprsWorld.d.ts +131 -0
- package/renderer/MchprsWorld.mjs +423 -0
- package/renderer/MeshBounds.d.mts +40 -0
- package/renderer/MeshBounds.d.ts +40 -0
- package/renderer/MeshBounds.mjs +181 -0
- package/renderer/MeshConfig.d.mts +101 -0
- package/renderer/MeshConfig.d.ts +101 -0
- package/renderer/MeshConfig.mjs +306 -0
- package/renderer/MeshJob.d.mts +44 -0
- package/renderer/MeshJob.d.ts +44 -0
- package/renderer/MeshJob.mjs +116 -0
- package/renderer/MeshPhase.d.mts +38 -0
- package/renderer/MeshPhase.d.ts +38 -0
- package/renderer/MeshPhase.mjs +90 -0
- package/renderer/MeshProgress.d.mts +32 -0
- package/renderer/MeshProgress.d.ts +32 -0
- package/renderer/MeshProgress.mjs +134 -0
- package/renderer/MeshResult.d.mts +76 -0
- package/renderer/MeshResult.d.ts +76 -0
- package/renderer/MeshResult.mjs +269 -0
- package/renderer/MultiMeshResult.d.mts +50 -0
- package/renderer/MultiMeshResult.d.ts +50 -0
- package/renderer/MultiMeshResult.mjs +166 -0
- package/renderer/Nbt.d.mts +50 -0
- package/renderer/Nbt.d.ts +50 -0
- package/renderer/Nbt.mjs +161 -0
- package/renderer/NucleationError.d.mts +53 -0
- package/renderer/NucleationError.d.ts +53 -0
- package/renderer/NucleationError.mjs +136 -0
- package/renderer/OutputCondition.d.mts +45 -0
- package/renderer/OutputCondition.d.ts +45 -0
- package/renderer/OutputCondition.mjs +129 -0
- package/renderer/Palette.d.mts +157 -0
- package/renderer/Palette.d.ts +157 -0
- package/renderer/Palette.mjs +487 -0
- package/renderer/PaletteBuilder.d.mts +119 -0
- package/renderer/PaletteBuilder.d.ts +119 -0
- package/renderer/PaletteBuilder.mjs +457 -0
- package/renderer/README.md +67 -0
- package/renderer/RawMeshExport.d.mts +74 -0
- package/renderer/RawMeshExport.d.ts +74 -0
- package/renderer/RawMeshExport.mjs +243 -0
- package/renderer/RedstoneGraph.d.mts +58 -0
- package/renderer/RedstoneGraph.d.ts +58 -0
- package/renderer/RedstoneGraph.mjs +242 -0
- package/renderer/RegionBounds.d.mts +41 -0
- package/renderer/RegionBounds.d.ts +41 -0
- package/renderer/RegionBounds.mjs +182 -0
- package/renderer/RenderConfig.d.mts +101 -0
- package/renderer/RenderConfig.d.ts +101 -0
- package/renderer/RenderConfig.mjs +271 -0
- package/renderer/Renderer.d.mts +51 -0
- package/renderer/Renderer.d.ts +51 -0
- package/renderer/Renderer.mjs +219 -0
- package/renderer/ResourcePack.d.mts +105 -0
- package/renderer/ResourcePack.d.ts +105 -0
- package/renderer/ResourcePack.mjs +447 -0
- package/renderer/ResourcePackList.d.mts +32 -0
- package/renderer/ResourcePackList.d.ts +32 -0
- package/renderer/ResourcePackList.mjs +96 -0
- package/renderer/Routing.d.mts +66 -0
- package/renderer/Routing.d.ts +66 -0
- package/renderer/Routing.mjs +220 -0
- package/renderer/Schematic.d.mts +977 -0
- package/renderer/Schematic.d.ts +977 -0
- package/renderer/Schematic.mjs +3820 -0
- package/renderer/SchematicBuilder.d.mts +103 -0
- package/renderer/SchematicBuilder.d.ts +103 -0
- package/renderer/SchematicBuilder.mjs +401 -0
- package/renderer/SchematicRegions.d.mts +93 -0
- package/renderer/SchematicRegions.d.ts +93 -0
- package/renderer/SchematicRegions.mjs +411 -0
- package/renderer/SchematicSplitResult.d.mts +26 -0
- package/renderer/SchematicSplitResult.d.ts +26 -0
- package/renderer/SchematicSplitResult.mjs +84 -0
- package/renderer/Scripting.d.mts +40 -0
- package/renderer/Scripting.d.ts +40 -0
- package/renderer/Scripting.mjs +138 -0
- package/renderer/Sdf.d.mts +234 -0
- package/renderer/Sdf.d.ts +234 -0
- package/renderer/Sdf.mjs +1234 -0
- package/renderer/SdfAxis.d.mts +25 -0
- package/renderer/SdfAxis.d.ts +25 -0
- package/renderer/SdfAxis.mjs +75 -0
- package/renderer/SdfBounds.d.mts +19 -0
- package/renderer/SdfBounds.d.ts +19 -0
- package/renderer/SdfBounds.mjs +161 -0
- package/renderer/SdfCellMode.d.mts +26 -0
- package/renderer/SdfCellMode.d.ts +26 -0
- package/renderer/SdfCellMode.mjs +78 -0
- package/renderer/SdfNormal.d.mts +16 -0
- package/renderer/SdfNormal.d.ts +16 -0
- package/renderer/SdfNormal.mjs +122 -0
- package/renderer/Shape.d.mts +143 -0
- package/renderer/Shape.d.ts +143 -0
- package/renderer/Shape.mjs +458 -0
- package/renderer/SortStrategy.d.mts +86 -0
- package/renderer/SortStrategy.d.ts +86 -0
- package/renderer/SortStrategy.mjs +272 -0
- package/renderer/Store.d.mts +83 -0
- package/renderer/Store.d.ts +83 -0
- package/renderer/Store.mjs +369 -0
- package/renderer/StoreIo.d.mts +71 -0
- package/renderer/StoreIo.d.ts +71 -0
- package/renderer/StoreIo.mjs +292 -0
- package/renderer/TextureAtlas.d.mts +40 -0
- package/renderer/TextureAtlas.d.ts +40 -0
- package/renderer/TextureAtlas.mjs +122 -0
- package/renderer/TextureInfo.d.mts +34 -0
- package/renderer/TextureInfo.d.ts +34 -0
- package/renderer/TextureInfo.mjs +149 -0
- package/renderer/TickSettleMode.d.mts +34 -0
- package/renderer/TickSettleMode.d.ts +34 -0
- package/renderer/TickSettleMode.mjs +84 -0
- package/renderer/TickSimulation.d.mts +572 -0
- package/renderer/TickSimulation.d.ts +572 -0
- package/renderer/TickSimulation.mjs +1299 -0
- package/renderer/TypedCircuitExecutor.d.mts +101 -0
- package/renderer/TypedCircuitExecutor.d.ts +101 -0
- package/renderer/TypedCircuitExecutor.mjs +378 -0
- package/renderer/Value.d.mts +73 -0
- package/renderer/Value.d.ts +73 -0
- package/renderer/Value.mjs +275 -0
- package/renderer/VideoConfig.d.mts +15 -0
- package/renderer/VideoConfig.d.ts +15 -0
- package/renderer/VideoConfig.mjs +44 -0
- package/renderer/VoxelModel.d.mts +34 -0
- package/renderer/VoxelModel.d.ts +34 -0
- package/renderer/VoxelModel.mjs +113 -0
- package/renderer/Voxelizer.d.mts +80 -0
- package/renderer/Voxelizer.d.ts +80 -0
- package/renderer/Voxelizer.mjs +261 -0
- package/renderer/WorldChunkView.d.mts +75 -0
- package/renderer/WorldChunkView.d.ts +75 -0
- package/renderer/WorldChunkView.mjs +224 -0
- package/renderer/WorldGenerator.d.mts +75 -0
- package/renderer/WorldGenerator.d.ts +75 -0
- package/renderer/WorldGenerator.mjs +255 -0
- package/renderer/WorldSink.d.mts +50 -0
- package/renderer/WorldSink.d.ts +50 -0
- package/renderer/WorldSink.mjs +177 -0
- package/renderer/WorldStream.d.mts +45 -0
- package/renderer/WorldStream.d.ts +45 -0
- package/renderer/WorldStream.mjs +184 -0
- package/renderer/WsPartitionHints.d.mts +29 -0
- package/renderer/WsPartitionHints.d.ts +29 -0
- package/renderer/WsPartitionHints.mjs +102 -0
- package/renderer/WsProfile.d.mts +46 -0
- package/renderer/WsProfile.d.ts +46 -0
- package/renderer/WsProfile.mjs +152 -0
- package/renderer/WsRunResult.d.mts +83 -0
- package/renderer/WsRunResult.d.ts +83 -0
- package/renderer/WsRunResult.mjs +326 -0
- package/renderer/WsSegmentJob.d.mts +28 -0
- package/renderer/WsSegmentJob.d.ts +28 -0
- package/renderer/WsSegmentJob.mjs +81 -0
- package/renderer/diplomat-runtime.d.mts +15 -0
- package/renderer/diplomat-runtime.d.ts +15 -0
- package/renderer/diplomat-runtime.mjs +779 -0
- package/renderer/diplomat-wasm.mjs +52 -0
- package/renderer/diplomat.config.mjs +5 -0
- package/renderer/index.d.mts +193 -0
- package/renderer/index.d.ts +193 -0
- package/renderer/index.mjs +196 -0
- package/renderer/nucleation.wasm +0 -0
- package/renderer/veneer/design.d.ts +167 -0
- package/renderer/veneer/design.mjs +480 -0
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { BlockPos } from "./BlockPos.mjs"
|
|
3
|
+
import type { Dimensions } from "./Dimensions.mjs"
|
|
4
|
+
import type { NucleationError } from "./NucleationError.mjs"
|
|
5
|
+
import type { RegionBounds } from "./RegionBounds.mjs"
|
|
6
|
+
import type { Schematic } from "./Schematic.mjs"
|
|
7
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A named sub-volume of a schematic: a union of boxes plus a metadata map.
|
|
13
|
+
*/
|
|
14
|
+
export class DefinitionRegion {
|
|
15
|
+
/** @internal */
|
|
16
|
+
get ffiValue(): pointer;
|
|
17
|
+
/** @internal */
|
|
18
|
+
constructor();
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Create a new empty region (no boxes, no metadata).
|
|
23
|
+
*/
|
|
24
|
+
static create(): DefinitionRegion;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* A region consisting of a single inclusive box. Min/max are swapped
|
|
28
|
+
* per axis if given out of order.
|
|
29
|
+
*/
|
|
30
|
+
static fromBounds(minX: number, minY: number, minZ: number, maxX: number, maxY: number, maxZ: number): DefinitionRegion;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Build a region from single-block positions crossing as flat `[i32]`
|
|
34
|
+
* chunked in threes (PORTING rule 7). Errors with `InvalidArgument` if
|
|
35
|
+
* the length is not a multiple of 3.
|
|
36
|
+
*/
|
|
37
|
+
static fromPositions(positions: Array<number>): DefinitionRegion;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Build a region from bounding boxes crossing as flat `[i32]` chunked in
|
|
41
|
+
* sixes (`min_x, min_y, min_z, max_x, max_y, max_z` per box). Errors
|
|
42
|
+
* with `InvalidArgument` if the length is not a multiple of 6.
|
|
43
|
+
*/
|
|
44
|
+
static fromBoundingBoxes(boxes: Array<number>): DefinitionRegion;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Add an inclusive box to the region. Min/max are swapped per axis if
|
|
48
|
+
* given out of order.
|
|
49
|
+
*/
|
|
50
|
+
addBounds(minX: number, minY: number, minZ: number, maxX: number, maxY: number, maxZ: number): void;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Add a single block position (a 1x1x1 box) to the region.
|
|
54
|
+
*/
|
|
55
|
+
addPoint(x: number, y: number, z: number): void;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Set a metadata entry (insert or overwrite the key).
|
|
59
|
+
*/
|
|
60
|
+
setMetadata(key: string, value: string): void;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Errors with `NotFound` when the key is absent.
|
|
64
|
+
*/
|
|
65
|
+
getMetadata(key: string): string;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* The full metadata map, written as a JSON object string (the old ABI
|
|
69
|
+
* returned an array of `"key=value"` strings).
|
|
70
|
+
*/
|
|
71
|
+
allMetadataJson(): string;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* The metadata keys, written as a JSON array string.
|
|
75
|
+
*/
|
|
76
|
+
metadataKeysJson(): string;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Store a filter expression in the region's metadata under the `filter`
|
|
80
|
+
* key.
|
|
81
|
+
*/
|
|
82
|
+
addFilter(filter: string): void;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* `true` if the region contains no boxes.
|
|
86
|
+
*/
|
|
87
|
+
isEmpty(): boolean;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* The total volume in blocks, summed box by box: positions covered by
|
|
91
|
+
* several overlapping boxes are counted once per box.
|
|
92
|
+
*/
|
|
93
|
+
volume(): bigint;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Whether the position lies inside any of the region's boxes.
|
|
97
|
+
*/
|
|
98
|
+
contains(x: number, y: number, z: number): boolean;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Translate every box by (`dx`, `dy`, `dz`) in place.
|
|
102
|
+
*/
|
|
103
|
+
shift(dx: number, dy: number, dz: number): void;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Grow every box in place by (`x`, `y`, `z`) outward on both sides of
|
|
107
|
+
* each axis. Negative values contract; boxes that shrink away are
|
|
108
|
+
* removed.
|
|
109
|
+
*/
|
|
110
|
+
expand(x: number, y: number, z: number): void;
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Shrink every box in place by `amount` on all sides (the inverse of
|
|
114
|
+
* a uniform `expand`); boxes that shrink away are removed.
|
|
115
|
+
*/
|
|
116
|
+
contract(amount: number): void;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* A new region: the intersection of `self` and `other`.
|
|
120
|
+
*/
|
|
121
|
+
intersected(other: DefinitionRegion): DefinitionRegion;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* A new region: the union of `self` and `other`.
|
|
125
|
+
*/
|
|
126
|
+
unionWith(other: DefinitionRegion): DefinitionRegion;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* A new region: `self` minus `other`.
|
|
130
|
+
*/
|
|
131
|
+
subtracted(other: DefinitionRegion): DefinitionRegion;
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Merge `other`'s boxes and metadata into `self`.
|
|
135
|
+
*/
|
|
136
|
+
merge(other: DefinitionRegion): void;
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Union `other`'s boxes into `self` in place.
|
|
140
|
+
*/
|
|
141
|
+
unionInto(other: DefinitionRegion): void;
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* The overall bounding box. Errors with `NotFound` when the region is
|
|
145
|
+
* empty.
|
|
146
|
+
*/
|
|
147
|
+
bounds(): RegionBounds;
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* The (width, height, length) of the overall bounding box; all zeros
|
|
151
|
+
* when the region is empty.
|
|
152
|
+
*/
|
|
153
|
+
dimensions(): Dimensions;
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* The center block position. Errors with `NotFound` when the region is
|
|
157
|
+
* empty.
|
|
158
|
+
*/
|
|
159
|
+
center(): BlockPos;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* The exact (fractional) center, written as a JSON `[x, y, z]` array of
|
|
163
|
+
* floats. Errors with `NotFound` when the region is empty.
|
|
164
|
+
*/
|
|
165
|
+
centerF32Json(): string;
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Every contained position, written as a flat JSON array of ints
|
|
169
|
+
* (`[x0, y0, z0, x1, y1, z1, …]`), deduplicated, in box order.
|
|
170
|
+
*/
|
|
171
|
+
positionsJson(): string;
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Every contained position in sorted (y, z, x) order, written as a flat
|
|
175
|
+
* JSON array of ints.
|
|
176
|
+
*/
|
|
177
|
+
positionsSortedJson(): string;
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* The number of boxes making up this region.
|
|
181
|
+
*/
|
|
182
|
+
boxCount(): number;
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* The box at `index`. Errors with `NotFound` when out of range.
|
|
186
|
+
*/
|
|
187
|
+
getBox(index: number): RegionBounds;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Every box, written as a flat JSON array of ints (six ints per box:
|
|
191
|
+
* `min_x, min_y, min_z, max_x, max_y, max_z`).
|
|
192
|
+
*/
|
|
193
|
+
boxesJson(): string;
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Whether all positions form a single face-connected (6-connectivity)
|
|
197
|
+
* component. `true` for empty and single-block regions.
|
|
198
|
+
*/
|
|
199
|
+
isContiguous(): boolean;
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* The number of face-connected (6-connectivity) components; 0 when
|
|
203
|
+
* the region is empty.
|
|
204
|
+
*/
|
|
205
|
+
connectedComponents(): number;
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Merge overlapping/adjacent boxes into a minimal representation.
|
|
209
|
+
*/
|
|
210
|
+
simplify(): void;
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* A new region containing only the positions where `schematic` has a
|
|
214
|
+
* block named `block_name`.
|
|
215
|
+
*/
|
|
216
|
+
filterByBlock(schematic: Schematic, blockName: string): DefinitionRegion;
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* A new region containing only the positions where the block in
|
|
220
|
+
* `schematic` matches every property in `properties_json` (a JSON
|
|
221
|
+
* object of property name → value strings).
|
|
222
|
+
*/
|
|
223
|
+
filterByProperties(schematic: Schematic, propertiesJson: string): DefinitionRegion;
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Remove every position where `schematic` has a block named
|
|
227
|
+
* `block_name` (in place).
|
|
228
|
+
*/
|
|
229
|
+
excludeBlock(schematic: Schematic, blockName: string): void;
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Whether any of the region's boxes intersects the given inclusive
|
|
233
|
+
* box (useful for frustum culling).
|
|
234
|
+
*/
|
|
235
|
+
intersectsBounds(minX: number, minY: number, minZ: number, maxX: number, maxY: number, maxZ: number): boolean;
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* A new region shifted by (`dx`, `dy`, `dz`).
|
|
239
|
+
*/
|
|
240
|
+
shifted(dx: number, dy: number, dz: number): DefinitionRegion;
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* A new region expanded by (`x`, `y`, `z`) on each axis.
|
|
244
|
+
*/
|
|
245
|
+
expanded(x: number, y: number, z: number): DefinitionRegion;
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* A new region contracted by `amount` on every axis.
|
|
249
|
+
*/
|
|
250
|
+
contracted(amount: number): DefinitionRegion;
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* A deep copy of this region.
|
|
254
|
+
*/
|
|
255
|
+
copy(): DefinitionRegion;
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Store a display color (`0xRRGGBB`) in the region's metadata.
|
|
259
|
+
*/
|
|
260
|
+
setColor(color: number): void;
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* The blocks of `schematic` inside this region, written as a JSON array
|
|
264
|
+
* of `{"x", "y", "z", "name", "properties"}` objects (the old ABI
|
|
265
|
+
* returned a `CBlockArray`).
|
|
266
|
+
*/
|
|
267
|
+
blocksJson(schematic: Schematic): string;
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* Write this region into `schematic`'s definition-region map under
|
|
271
|
+
* `name` (insert or overwrite).
|
|
272
|
+
*/
|
|
273
|
+
sync(schematic: Schematic, name: string): void;
|
|
274
|
+
}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { BlockPos } from "./BlockPos.mjs"
|
|
3
|
+
import type { Dimensions } from "./Dimensions.mjs"
|
|
4
|
+
import type { NucleationError } from "./NucleationError.mjs"
|
|
5
|
+
import type { RegionBounds } from "./RegionBounds.mjs"
|
|
6
|
+
import type { Schematic } from "./Schematic.mjs"
|
|
7
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A named sub-volume of a schematic: a union of boxes plus a metadata map.
|
|
13
|
+
*/
|
|
14
|
+
export class DefinitionRegion {
|
|
15
|
+
/** @internal */
|
|
16
|
+
get ffiValue(): pointer;
|
|
17
|
+
/** @internal */
|
|
18
|
+
constructor();
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Create a new empty region (no boxes, no metadata).
|
|
23
|
+
*/
|
|
24
|
+
static create(): DefinitionRegion;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* A region consisting of a single inclusive box. Min/max are swapped
|
|
28
|
+
* per axis if given out of order.
|
|
29
|
+
*/
|
|
30
|
+
static fromBounds(minX: number, minY: number, minZ: number, maxX: number, maxY: number, maxZ: number): DefinitionRegion;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Build a region from single-block positions crossing as flat `[i32]`
|
|
34
|
+
* chunked in threes (PORTING rule 7). Errors with `InvalidArgument` if
|
|
35
|
+
* the length is not a multiple of 3.
|
|
36
|
+
*/
|
|
37
|
+
static fromPositions(positions: Array<number>): DefinitionRegion;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Build a region from bounding boxes crossing as flat `[i32]` chunked in
|
|
41
|
+
* sixes (`min_x, min_y, min_z, max_x, max_y, max_z` per box). Errors
|
|
42
|
+
* with `InvalidArgument` if the length is not a multiple of 6.
|
|
43
|
+
*/
|
|
44
|
+
static fromBoundingBoxes(boxes: Array<number>): DefinitionRegion;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Add an inclusive box to the region. Min/max are swapped per axis if
|
|
48
|
+
* given out of order.
|
|
49
|
+
*/
|
|
50
|
+
addBounds(minX: number, minY: number, minZ: number, maxX: number, maxY: number, maxZ: number): void;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Add a single block position (a 1x1x1 box) to the region.
|
|
54
|
+
*/
|
|
55
|
+
addPoint(x: number, y: number, z: number): void;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Set a metadata entry (insert or overwrite the key).
|
|
59
|
+
*/
|
|
60
|
+
setMetadata(key: string, value: string): void;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Errors with `NotFound` when the key is absent.
|
|
64
|
+
*/
|
|
65
|
+
getMetadata(key: string): string;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* The full metadata map, written as a JSON object string (the old ABI
|
|
69
|
+
* returned an array of `"key=value"` strings).
|
|
70
|
+
*/
|
|
71
|
+
allMetadataJson(): string;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* The metadata keys, written as a JSON array string.
|
|
75
|
+
*/
|
|
76
|
+
metadataKeysJson(): string;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Store a filter expression in the region's metadata under the `filter`
|
|
80
|
+
* key.
|
|
81
|
+
*/
|
|
82
|
+
addFilter(filter: string): void;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* `true` if the region contains no boxes.
|
|
86
|
+
*/
|
|
87
|
+
isEmpty(): boolean;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* The total volume in blocks, summed box by box: positions covered by
|
|
91
|
+
* several overlapping boxes are counted once per box.
|
|
92
|
+
*/
|
|
93
|
+
volume(): bigint;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Whether the position lies inside any of the region's boxes.
|
|
97
|
+
*/
|
|
98
|
+
contains(x: number, y: number, z: number): boolean;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Translate every box by (`dx`, `dy`, `dz`) in place.
|
|
102
|
+
*/
|
|
103
|
+
shift(dx: number, dy: number, dz: number): void;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Grow every box in place by (`x`, `y`, `z`) outward on both sides of
|
|
107
|
+
* each axis. Negative values contract; boxes that shrink away are
|
|
108
|
+
* removed.
|
|
109
|
+
*/
|
|
110
|
+
expand(x: number, y: number, z: number): void;
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Shrink every box in place by `amount` on all sides (the inverse of
|
|
114
|
+
* a uniform `expand`); boxes that shrink away are removed.
|
|
115
|
+
*/
|
|
116
|
+
contract(amount: number): void;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* A new region: the intersection of `self` and `other`.
|
|
120
|
+
*/
|
|
121
|
+
intersected(other: DefinitionRegion): DefinitionRegion;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* A new region: the union of `self` and `other`.
|
|
125
|
+
*/
|
|
126
|
+
unionWith(other: DefinitionRegion): DefinitionRegion;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* A new region: `self` minus `other`.
|
|
130
|
+
*/
|
|
131
|
+
subtracted(other: DefinitionRegion): DefinitionRegion;
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Merge `other`'s boxes and metadata into `self`.
|
|
135
|
+
*/
|
|
136
|
+
merge(other: DefinitionRegion): void;
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Union `other`'s boxes into `self` in place.
|
|
140
|
+
*/
|
|
141
|
+
unionInto(other: DefinitionRegion): void;
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* The overall bounding box. Errors with `NotFound` when the region is
|
|
145
|
+
* empty.
|
|
146
|
+
*/
|
|
147
|
+
bounds(): RegionBounds;
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* The (width, height, length) of the overall bounding box; all zeros
|
|
151
|
+
* when the region is empty.
|
|
152
|
+
*/
|
|
153
|
+
dimensions(): Dimensions;
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* The center block position. Errors with `NotFound` when the region is
|
|
157
|
+
* empty.
|
|
158
|
+
*/
|
|
159
|
+
center(): BlockPos;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* The exact (fractional) center, written as a JSON `[x, y, z]` array of
|
|
163
|
+
* floats. Errors with `NotFound` when the region is empty.
|
|
164
|
+
*/
|
|
165
|
+
centerF32Json(): string;
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Every contained position, written as a flat JSON array of ints
|
|
169
|
+
* (`[x0, y0, z0, x1, y1, z1, …]`), deduplicated, in box order.
|
|
170
|
+
*/
|
|
171
|
+
positionsJson(): string;
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Every contained position in sorted (y, z, x) order, written as a flat
|
|
175
|
+
* JSON array of ints.
|
|
176
|
+
*/
|
|
177
|
+
positionsSortedJson(): string;
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* The number of boxes making up this region.
|
|
181
|
+
*/
|
|
182
|
+
boxCount(): number;
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* The box at `index`. Errors with `NotFound` when out of range.
|
|
186
|
+
*/
|
|
187
|
+
getBox(index: number): RegionBounds;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Every box, written as a flat JSON array of ints (six ints per box:
|
|
191
|
+
* `min_x, min_y, min_z, max_x, max_y, max_z`).
|
|
192
|
+
*/
|
|
193
|
+
boxesJson(): string;
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Whether all positions form a single face-connected (6-connectivity)
|
|
197
|
+
* component. `true` for empty and single-block regions.
|
|
198
|
+
*/
|
|
199
|
+
isContiguous(): boolean;
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* The number of face-connected (6-connectivity) components; 0 when
|
|
203
|
+
* the region is empty.
|
|
204
|
+
*/
|
|
205
|
+
connectedComponents(): number;
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Merge overlapping/adjacent boxes into a minimal representation.
|
|
209
|
+
*/
|
|
210
|
+
simplify(): void;
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* A new region containing only the positions where `schematic` has a
|
|
214
|
+
* block named `block_name`.
|
|
215
|
+
*/
|
|
216
|
+
filterByBlock(schematic: Schematic, blockName: string): DefinitionRegion;
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* A new region containing only the positions where the block in
|
|
220
|
+
* `schematic` matches every property in `properties_json` (a JSON
|
|
221
|
+
* object of property name → value strings).
|
|
222
|
+
*/
|
|
223
|
+
filterByProperties(schematic: Schematic, propertiesJson: string): DefinitionRegion;
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Remove every position where `schematic` has a block named
|
|
227
|
+
* `block_name` (in place).
|
|
228
|
+
*/
|
|
229
|
+
excludeBlock(schematic: Schematic, blockName: string): void;
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Whether any of the region's boxes intersects the given inclusive
|
|
233
|
+
* box (useful for frustum culling).
|
|
234
|
+
*/
|
|
235
|
+
intersectsBounds(minX: number, minY: number, minZ: number, maxX: number, maxY: number, maxZ: number): boolean;
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* A new region shifted by (`dx`, `dy`, `dz`).
|
|
239
|
+
*/
|
|
240
|
+
shifted(dx: number, dy: number, dz: number): DefinitionRegion;
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* A new region expanded by (`x`, `y`, `z`) on each axis.
|
|
244
|
+
*/
|
|
245
|
+
expanded(x: number, y: number, z: number): DefinitionRegion;
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* A new region contracted by `amount` on every axis.
|
|
249
|
+
*/
|
|
250
|
+
contracted(amount: number): DefinitionRegion;
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* A deep copy of this region.
|
|
254
|
+
*/
|
|
255
|
+
copy(): DefinitionRegion;
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Store a display color (`0xRRGGBB`) in the region's metadata.
|
|
259
|
+
*/
|
|
260
|
+
setColor(color: number): void;
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* The blocks of `schematic` inside this region, written as a JSON array
|
|
264
|
+
* of `{"x", "y", "z", "name", "properties"}` objects (the old ABI
|
|
265
|
+
* returned a `CBlockArray`).
|
|
266
|
+
*/
|
|
267
|
+
blocksJson(schematic: Schematic): string;
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* Write this region into `schematic`'s definition-region map under
|
|
271
|
+
* `name` (insert or overwrite).
|
|
272
|
+
*/
|
|
273
|
+
sync(schematic: Schematic, name: string): void;
|
|
274
|
+
}
|