minecraft-renderer 0.1.40 → 0.1.42

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.
Files changed (57) hide show
  1. package/dist/mesher.js +8 -8
  2. package/dist/mesher.js.map +4 -4
  3. package/dist/mesherWasm.js +93 -93
  4. package/dist/minecraft-renderer.js +57 -57
  5. package/dist/minecraft-renderer.js.meta.json +1 -1
  6. package/dist/threeWorker.js +19 -19
  7. package/package.json +3 -4
  8. package/src/bundler/bundlePrepare.ts +56 -0
  9. package/src/graphicsBackend/appViewer.ts +10 -0
  10. package/src/graphicsBackend/config.ts +1 -1
  11. package/src/graphicsBackend/preloadWorkers.ts +187 -0
  12. package/src/lib/worldrendererCommon.ts +1 -1
  13. package/src/{mesher → mesher-legacy}/mesher.ts +14 -4
  14. package/src/{mesher → mesher-legacy}/test/mesherTester.ts +2 -2
  15. package/src/{mesher → mesher-legacy}/test/run/test-js.ts +1 -1
  16. package/src/{mesher → mesher-legacy}/test/test-perf.ts +1 -1
  17. package/src/{mesher → mesher-legacy}/test/tests.test.ts +1 -1
  18. package/src/{mesher → mesher-shared}/shared.ts +2 -0
  19. package/src/playground/allEntitiesDebug.ts +1 -1
  20. package/src/three/chunkMeshManager.ts +1 -1
  21. package/src/three/entities.ts +19 -6
  22. package/src/three/entity/EntityMesh.ts +123 -140
  23. package/src/three/graphicsBackendBase.ts +13 -0
  24. package/src/three/holdingBlock.ts +1 -1
  25. package/src/three/holdingBlockLegacy.ts +1 -1
  26. package/src/three/modules/sciFiWorldReveal.ts +1 -1
  27. package/src/three/worldRendererThree.ts +2 -2
  28. package/src/wasm-mesher/README.md +90 -0
  29. package/src/{wasm-lib → wasm-mesher/bridge}/convertChunk.ts +2 -2
  30. package/src/{wasm-lib → wasm-mesher/bridge}/render-from-wasm.ts +4 -4
  31. package/src/wasm-mesher/runtime-build/wasm_mesher.d.ts +251 -0
  32. package/src/wasm-mesher/runtime-build/wasm_mesher.js +1061 -0
  33. package/src/wasm-mesher/runtime-build/wasm_mesher_bg.wasm +0 -0
  34. package/src/wasm-mesher/runtime-build/wasm_mesher_bg.wasm.d.ts +26 -0
  35. package/src/{mesher/test → wasm-mesher/tests}/heightmapParity.test.ts +4 -4
  36. package/src/{mesher/test → wasm-mesher/tests}/mesherWasmConversionCache.test.ts +2 -2
  37. package/src/{mesher/test → wasm-mesher/tests}/splitColumnWasmOutput.test.ts +1 -1
  38. package/src/wasm-mesher/worker/mesherWasm.ts +1425 -0
  39. package/src/{mesher → wasm-mesher/worker}/mesherWasmConversionCache.ts +1 -1
  40. package/src/worldView/types.ts +90 -0
  41. package/src/mesher/mesherWasm.ts +0 -696
  42. package/wasm/wasm_mesher.d.ts +0 -46
  43. package/wasm/wasm_mesher.js +0 -443
  44. package/wasm/wasm_mesher_bg.wasm +0 -0
  45. package/wasm/wasm_mesher_bg.wasm.d.ts +0 -9
  46. /package/src/{mesher → mesher-legacy}/test/a.ts +0 -0
  47. /package/src/{mesher → mesher-legacy}/test/playground.ts +0 -0
  48. /package/src/{mesher → mesher-legacy}/test/run/chunk.ts +0 -0
  49. /package/src/{mesher → mesher-legacy}/test/snapshotUtils.ts +0 -0
  50. /package/src/{mesher → mesher-shared}/blockEntityMetadata.ts +0 -0
  51. /package/src/{mesher → mesher-shared}/computeHeightmap.ts +0 -0
  52. /package/src/{mesher → mesher-shared}/models.ts +0 -0
  53. /package/src/{mesher → mesher-shared}/modelsGeometryCommon.ts +0 -0
  54. /package/src/{mesher → mesher-shared}/standaloneRenderer.ts +0 -0
  55. /package/src/{mesher → mesher-shared}/world.ts +0 -0
  56. /package/src/{mesher → mesher-shared}/worldConstants.ts +0 -0
  57. /package/src/{mesher → wasm-mesher/worker}/mesherWasmRequestTracker.ts +0 -0
@@ -0,0 +1,251 @@
1
+ //@ts-nocheck
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ /**
6
+ * VITALY's path: parse 1.18+ dump + light → run the mesher → return ONLY the final
7
+ * geometry. Avoids marshalling the intermediate ~300KB block_states/biomes/lights
8
+ * arrays back to JS.
9
+ *
10
+ * Combines `parseChunkDump118FullColumnAll` and `generate_geometry` into one Rust call.
11
+ * All `generate_geometry` parameters (mesher config, block-state lists) are accepted
12
+ * unchanged.
13
+ */
14
+ export function generateGeometryFromDump118(section_x: number, section_y: number, section_z: number, section_height: number, world_min_y: number, world_max_y: number, section_data_start_y: number, dump_buffer: Uint8Array, sky_light_concat: Uint8Array, block_light_concat: Uint8Array, sky_light_mask: Uint32Array, block_light_mask: Uint32Array, empty_sky_light_mask: Uint32Array, empty_block_light_mask: Uint32Array, num_sections: number, max_bits_per_block: number, max_bits_per_biome: number, invisible_blocks: Uint16Array, transparent_blocks: Uint16Array, no_ao_blocks: Uint16Array, cull_identical_blocks: Uint16Array, occluding_blocks: Uint16Array, enable_lighting: boolean, smooth_lighting: boolean, sky_light_value: number): any;
15
+
16
+ /**
17
+ * Fused parse+mesh for 1.18+ `map_chunk` wire format.
18
+ *
19
+ * Parses the raw packet inside Rust, meshes immediately, and returns ONLY the
20
+ * final `GeometryOutput` — no intermediate typed arrays are materialised on the
21
+ * JS heap. This halves the number of JS<->WASM boundary crossings per column
22
+ * and removes the largest per-column allocations (Uint16Array block_states +
23
+ * three Uint8Arrays for biomes/light).
24
+ *
25
+ * `raw_packet` is the buffer captured from `bot._client.on('raw.map_chunk', ...)`;
26
+ * it includes the leading packet-id varint (we skip it).
27
+ */
28
+ export function generateGeometryFromMapChunkV18Plus(raw_packet: Uint8Array, num_sections: number, max_bits_per_block: number, max_bits_per_biome: number, protocol: number, section_x: number, section_y: number, section_z: number, section_height: number, world_min_y: number, world_max_y: number, section_data_start_y: number, invisible_blocks: Uint16Array, transparent_blocks: Uint16Array, no_ao_blocks: Uint16Array, cull_identical_blocks: Uint16Array, occluding_blocks: Uint16Array, enable_lighting: boolean, smooth_lighting: boolean, sky_light_value: number): any;
29
+
30
+ /**
31
+ * Fused multi-column parse+mesh for 1.18+ raw map_chunk.
32
+ *
33
+ * Parses multiple raw packets inside Rust and meshes them in a single
34
+ * `mesher.generate_multi` call with correct per-neighbor AO/lighting.
35
+ * No typed arrays are materialised on the JS heap.
36
+ *
37
+ * `raw_packets` — `Array<Uint8Array>`, one raw packet per column.
38
+ * Reuses the existing JS-side per-column buffers (zero concat, zero alloc).
39
+ *
40
+ * `num_sections_list` — per-column section count (terrain height varies).
41
+ *
42
+ * Invariant: `chunk_xs[0]` / `chunk_zs[0]` is the **target** column whose
43
+ * geometry is emitted. Neighbour columns provide border data to the mesher
44
+ * but do not contribute directly to the output.
45
+ */
46
+ export function generateGeometryFromMapChunkV18PlusMulti(raw_packets: Array<any>, num_sections_list: Uint32Array, max_bits_per_block: number, max_bits_per_biome: number, protocol: number, chunk_xs: Int32Array, chunk_zs: Int32Array, section_x: number, section_y: number, section_z: number, section_height: number, world_min_y: number, world_max_y: number, section_data_start_y: number, invisible_blocks: Uint16Array, transparent_blocks: Uint16Array, no_ao_blocks: Uint16Array, cull_identical_blocks: Uint16Array, occluding_blocks: Uint16Array, enable_lighting: boolean, smooth_lighting: boolean, sky_light_value: number): any;
47
+
48
+ /**
49
+ * Fused parse+mesh for 1.16 / 1.17 chunk sections.
50
+ *
51
+ * Parses `chunk_data` (the raw section bytes from a `map_chunk` packet) inside
52
+ * Rust and meshes immediately, returning only `GeometryOutput`. Block states
53
+ * and biomes never leave WASM memory.
54
+ *
55
+ * Light arrays (`sky_light` / `block_light`) come from a pre-parsed
56
+ * `update_light` packet and are passed by reference (the JS-side update-light
57
+ * cache already holds them as `Uint8Array`). When light is absent the
58
+ * function fills defaults (sky=15, block=0) internally.
59
+ */
60
+ export function generateGeometryFromParsedV16V17(chunk_data: Uint8Array, bit_map_lo_hi: Uint32Array, num_sections: number, max_bits_per_block: number, biomes_cells: Int32Array, default_biome: number, sky_light: Uint8Array, block_light: Uint8Array, section_x: number, section_y: number, section_z: number, section_height: number, world_min_y: number, world_max_y: number, section_data_start_y: number, invisible_blocks: Uint16Array, transparent_blocks: Uint16Array, no_ao_blocks: Uint16Array, cull_identical_blocks: Uint16Array, occluding_blocks: Uint16Array, enable_lighting: boolean, smooth_lighting: boolean, sky_light_value: number): any;
61
+
62
+ /**
63
+ * Fused multi-column parse+mesh for 1.16 / 1.17 chunk sections.
64
+ *
65
+ * Parses multiple columns inside Rust and meshes them in one
66
+ * `mesher.generate_multi` call. Block states and biomes never leave WASM
67
+ * memory; light arrays are passed by reference from the JS-side
68
+ * update-light caches.
69
+ *
70
+ * `chunk_data_list` — `Array<Uint8Array>`, one chunk_data buffer per column.
71
+ * `bit_map_lo_hi` — flat `&[u32]` of length `chunkCount * 2`; each pair
72
+ * (lo, hi) is the section mask for one column.
73
+ * `num_sections_list` — per-column section count.
74
+ * `biomes_cells_list` — `Array<Int32Array>`, may contain empty arrays for
75
+ * columns without captured biomes.
76
+ * `sky_light_list` / `block_light_list` — `Array<Uint8Array>`, may contain
77
+ * empty arrays for columns where update_light has not arrived yet.
78
+ *
79
+ * Invariant: `chunk_xs[0]` / `chunk_zs[0]` is the target column.
80
+ */
81
+ export function generateGeometryFromParsedV16V17Multi(chunk_data_list: Array<any>, bit_map_lo_hi: Uint32Array, num_sections_list: Uint32Array, max_bits_per_block: number, biomes_cells_list: Array<any>, default_biome: number, sky_light_list: Array<any>, block_light_list: Array<any>, chunk_xs: Int32Array, chunk_zs: Int32Array, section_x: number, section_y: number, section_z: number, section_height: number, world_min_y: number, world_max_y: number, section_data_start_y: number, invisible_blocks: Uint16Array, transparent_blocks: Uint16Array, no_ao_blocks: Uint16Array, cull_identical_blocks: Uint16Array, occluding_blocks: Uint16Array, enable_lighting: boolean, smooth_lighting: boolean, sky_light_value: number): any;
82
+
83
+ /**
84
+ * Main entry point for generating geometry
85
+ *
86
+ * Input: Serialized chunk data as TypedArrays
87
+ * Output: Geometry data (positions, normals, colors, uvs, indices)
88
+ */
89
+ export function generate_geometry(section_x: number, section_y: number, section_z: number, section_height: number, world_min_y: number, world_max_y: number, section_data_start_y: number, block_states: Uint16Array, block_light: Uint8Array, sky_light: Uint8Array, biomes: Uint8Array, invisible_blocks: Uint16Array, transparent_blocks: Uint16Array, no_ao_blocks: Uint16Array, cull_identical_blocks: Uint16Array, occluding_blocks: Uint16Array, enable_lighting: boolean, smooth_lighting: boolean, sky_light_value: number): any;
90
+
91
+ export function generate_geometry_multi(section_x: number, section_y: number, section_z: number, section_height: number, world_min_y: number, world_max_y: number, section_data_start_y: number, chunk_xs: Int32Array, chunk_zs: Int32Array, block_states: Uint16Array, block_light: Uint8Array, sky_light: Uint8Array, biomes: Uint8Array, invisible_blocks: Uint16Array, transparent_blocks: Uint16Array, no_ao_blocks: Uint16Array, cull_identical_blocks: Uint16Array, occluding_blocks: Uint16Array, enable_lighting: boolean, smooth_lighting: boolean, sky_light_value: number): any;
92
+
93
+ /**
94
+ * Parse a 1.18+ Minecraft chunk dump (column.dump() output).
95
+ *
96
+ * Returns an object: { blockStates: Uint16Array, biomes: Uint8Array, bytesRead: number }.
97
+ * Throws on parse error.
98
+ */
99
+ export function parseChunkDump118(buffer: Uint8Array, num_sections: number, max_bits_per_block: number, max_bits_per_biome: number): any;
100
+
101
+ /**
102
+ * index = x + z*16 + y*256, where y goes 0..(num_sections*16).
103
+ * Biomes are expanded from per-section 4×4×4 to per-block (matching prismarine-chunk's
104
+ * `getBiome(pos)`).
105
+ *
106
+ * This is the drop-in replacement for `convertChunkToWasm`'s blocks+biomes extraction:
107
+ * no JS hot loop, no per-section-to-full-column reorder. Light is still produced by
108
+ * `unpackLightSection118` per section (caller is responsible).
109
+ *
110
+ * Returns: { blockStates: Uint16Array, biomes: Uint8Array, bytesRead: number }.
111
+ */
112
+ export function parseChunkDump118FullColumn(buffer: Uint8Array, num_sections: number, max_bits_per_block: number, max_bits_per_biome: number): any;
113
+
114
+ /**
115
+ * Full drop-in replacement for `convertChunkToWasm`: parses dump + assembles light into
116
+ * `convertChunkToWasm`-shaped Uint16Array(blocks) + Uint8Array(biomes/blockLight/skyLight).
117
+ *
118
+ * Light masks come as Uint32Array laid out as (low0, high0, low1, high1, ...).
119
+ * The JS side flattens prismarine's [[high, low]] format into that order:
120
+ * `Uint32Array.of(...mask.flatMap(([h, l]) => [l >>> 0, h >>> 0]))`.
121
+ *
122
+ * `sky_light_concat` / `block_light_concat` = concatenation of present light section
123
+ * buffers (each 2048 bytes), in mask-bit order (border-below first).
124
+ *
125
+ * Returns: { blockStates: Uint16Array, biomes: Uint8Array, blockLight: Uint8Array,
126
+ * skyLight: Uint8Array, bytesRead: number }.
127
+ */
128
+ export function parseChunkDump118FullColumnAll(dump_buffer: Uint8Array, sky_light_concat: Uint8Array, block_light_concat: Uint8Array, sky_light_mask: Uint32Array, block_light_mask: Uint32Array, empty_sky_light_mask: Uint32Array, empty_block_light_mask: Uint32Array, num_sections: number, max_bits_per_block: number, max_bits_per_biome: number): any;
129
+
130
+ /**
131
+ * PoC bench helper: parse dump but return ONLY a checksum (no Uint16Array marshalling).
132
+ * Lets us isolate raw parse cost from the JS<->WASM boundary cost.
133
+ */
134
+ export function parseChunkDump118NoMarshal(buffer: Uint8Array, num_sections: number, max_bits_per_block: number, max_bits_per_biome: number): number;
135
+
136
+ /**
137
+ * Parse a 1.17 chunk-section payload (the bytes inside `chunkData` of a
138
+ * `map_chunk` packet) into a flat `Uint16Array` of block states **and** an
139
+ * expanded per-block biome `Uint8Array`.
140
+ *
141
+ * `chunk_data` — exactly the bytes between the `chunkData` length prefix and
142
+ * the `blockEntities` count in the wire packet (i.e. what
143
+ * `prismarine-chunk` 1.17 `ChunkColumn.load(data, bitMap)` consumes). The
144
+ * JS-side caller (mineflayer/protodef) does the outer-packet parsing and
145
+ * hands the slice in directly.
146
+ *
147
+ * `bit_map_lo_hi` — section mask flattened to `[low0, high0, low1, high1,
148
+ * ...]` u32 pairs. Bit `s` indicates that section index `s` is present in
149
+ * `chunk_data`. Sections without a set bit decode to all-zeros.
150
+ *
151
+ * `biomes_cells` — the 1.17 wire `biomes` field (varint[num_sections * 64]),
152
+ * passed straight through as `Int32Array`. May be empty (`&[]`) when the
153
+ * caller didn't capture biomes — every block then gets `default_biome`
154
+ * (typically 1 = plains).
155
+ *
156
+ * Returns `{ blockStates: Uint16Array(num_sections * 4096),
157
+ * biomes: Uint8Array(num_sections * 4096),
158
+ * bytesRead, bytesTotal }`.
159
+ * Layout of both arrays is `(s * 4096) | (y_in << 8) | (z << 4) | x`,
160
+ * matching what the WASM mesher already consumes for 1.18+ blocks.
161
+ *
162
+ * Light is **not** produced here — in 1.17 it arrives in a separate
163
+ * `update_light` packet (see `parseUpdateLightV17`). The JS bridge fills in
164
+ * defaults (sky=15, block=0) or merges real data from a paired light cache.
165
+ */
166
+ export function parseChunkSectionsV16V17(chunk_data: Uint8Array, bit_map_lo_hi: Uint32Array, num_sections: number, max_bits_per_block: number, biomes_cells: Int32Array, default_biome: number): any;
167
+
168
+ /**
169
+ * Stage-3 entry: parse a raw `map_chunk` packet (1.18+) into the same shape as
170
+ * `parseChunkDump118FullColumnAll` so the worker can drop it straight into
171
+ * `generate_geometry`.
172
+ *
173
+ * `raw_packet` is the buffer captured from `bot._client.on('raw.map_chunk', ...)`;
174
+ * it includes the leading packet-id varint (we skip it). `protocol` selects
175
+ * the version-specific quirks (heightmaps NBT, trust_edges, anonymous NBT, etc.).
176
+ *
177
+ * Returns: `{ x, z, blockStates: Uint16Array, biomes: Uint8Array,
178
+ * blockLight: Uint8Array, skyLight: Uint8Array, bytesRead }`.
179
+ */
180
+ export function parseMapChunkV18Plus(raw_packet: Uint8Array, num_sections: number, max_bits_per_block: number, max_bits_per_biome: number, protocol: number): any;
181
+
182
+ /**
183
+ * Parse a raw 1.17 `update_light` packet (as captured by
184
+ * `client.on('raw.update_light', ...)`) into flat per-block sky/block light
185
+ * arrays the WASM mesher consumes.
186
+ *
187
+ * `raw_packet` includes the leading packet-id varint (we skip it).
188
+ * `num_sections` should match the column the light is for (16 in 1.17).
189
+ *
190
+ * Returns `{ x, z, skyLight: Uint8Array(num_sections * 4096),
191
+ * blockLight: Uint8Array(num_sections * 4096), bytesRead }`.
192
+ * Layout matches the existing 1.18+ light arrays
193
+ * (`x + z*16 + y_abs*256`); the JS-side worker reorders into per-section
194
+ * stack via the same path used for 1.18+ raw map_chunk parsing.
195
+ */
196
+ export function parseUpdateLightV17(raw_packet: Uint8Array, num_sections: number): any;
197
+
198
+ /**
199
+ * Unpack a single light section (2048 bytes, BitArrayNoSpan bpv=4) into 4096 nibble values.
200
+ */
201
+ export function unpackLightSection118(buffer: Uint8Array): Uint8Array;
202
+
203
+ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
204
+
205
+ export interface InitOutput {
206
+ readonly memory: WebAssembly.Memory;
207
+ readonly generate_geometry: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number) => any;
208
+ readonly generate_geometry_multi: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number) => any;
209
+ readonly parseChunkDump118: (a: number, b: number, c: number, d: number, e: number) => any;
210
+ readonly unpackLightSection118: (a: number, b: number) => [number, number];
211
+ readonly parseChunkDump118NoMarshal: (a: number, b: number, c: number, d: number, e: number) => number;
212
+ readonly parseChunkDump118FullColumnAll: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number) => any;
213
+ readonly generateGeometryFromDump118: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number) => any;
214
+ readonly parseChunkDump118FullColumn: (a: number, b: number, c: number, d: number, e: number) => any;
215
+ readonly generateGeometryFromMapChunkV18Plus: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number) => any;
216
+ readonly parseMapChunkV18Plus: (a: number, b: number, c: number, d: number, e: number, f: number) => any;
217
+ readonly parseChunkSectionsV16V17: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => any;
218
+ readonly generateGeometryFromParsedV16V17: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number) => any;
219
+ readonly generateGeometryFromMapChunkV18PlusMulti: (a: any, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number) => any;
220
+ readonly generateGeometryFromParsedV16V17Multi: (a: any, b: number, c: number, d: number, e: number, f: number, g: any, h: number, i: any, j: any, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number) => any;
221
+ readonly parseUpdateLightV17: (a: number, b: number, c: number) => any;
222
+ readonly __wbindgen_malloc: (a: number, b: number) => number;
223
+ readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
224
+ readonly __wbindgen_exn_store: (a: number) => void;
225
+ readonly __externref_table_alloc: () => number;
226
+ readonly __wbindgen_externrefs: WebAssembly.Table;
227
+ readonly __wbindgen_free: (a: number, b: number, c: number) => void;
228
+ readonly __wbindgen_start: () => void;
229
+ }
230
+
231
+ export type SyncInitInput = BufferSource | WebAssembly.Module;
232
+
233
+ /**
234
+ * Instantiates the given `module`, which can either be bytes or
235
+ * a precompiled `WebAssembly.Module`.
236
+ *
237
+ * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
238
+ *
239
+ * @returns {InitOutput}
240
+ */
241
+ export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
242
+
243
+ /**
244
+ * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
245
+ * for everything else, calls `WebAssembly.instantiate` directly.
246
+ *
247
+ * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
248
+ *
249
+ * @returns {Promise<InitOutput>}
250
+ */
251
+ export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;