isard 0.4.0 → 0.5.0
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/CHANGELOG.md +33 -0
- package/README.md +6 -2
- package/dist/decoder.worker.js +4 -4
- package/dist/decoder.worker.js.map +7 -6
- package/dist/decoders.d.ts +3 -2
- package/dist/decoders.js +28 -5
- package/dist/decoders.js.map +1 -1
- package/dist/engine-loader.d.ts +6 -3
- package/dist/engine-loader.js +10 -3
- package/dist/engine-loader.js.map +1 -1
- package/dist/formats.d.ts +11 -0
- package/dist/formats.js +12 -0
- package/dist/formats.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/isard_bg.wasm +0 -0
- package/dist/isard_core_bg.wasm +0 -0
- package/dist/isard_points_bg.wasm +0 -0
- package/dist/layers.js +2 -2
- package/dist/layers.js.map +1 -1
- package/dist/loader.d.ts +9 -3
- package/dist/loader.js +22 -3
- package/dist/loader.js.map +1 -1
- package/dist/map.d.ts +8 -0
- package/dist/map.js +10 -2
- package/dist/map.js.map +1 -1
- package/dist/pointclouds.d.ts +98 -0
- package/dist/pointclouds.js +232 -0
- package/dist/pointclouds.js.map +1 -0
- package/dist/projections.d.ts +13 -0
- package/dist/projections.js +13 -0
- package/dist/projections.js.map +1 -0
- package/dist/protocol.d.ts +17 -0
- package/dist/protocol.js.map +1 -1
- package/dist/types.d.ts +6 -1
- package/dist/types.js.map +1 -1
- package/dist/wasm/isard.d.ts +124 -9
- package/dist/wasm/isard.js +127 -7
- package/dist/wasm/isard_points.d.ts +43 -0
- package/dist/wasm/isard_points.js +212 -0
- package/package.json +17 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/decoders.ts", "../src/wasm/isard.js", "../src/decoder.worker.ts"],
|
|
3
|
+
"sources": ["../src/decoders.ts", "../src/wasm/isard.js", "../src/wasm/isard_points.js", "../src/decoder.worker.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"/**\n * Optional decoders of the worker, loaded on first use from configurable URLs (the official builds three.js and\n * Cesium use): Draco geometry (`KHR_draco_mesh_compression`) and KTX2 / Basis Universal textures (`KHR_texture_basisu`),\n * transcoded to the best compressed format the GPU supports.\n */\nimport type { CompressedTexture, DracoGeometry, DracoRequest, TextureFormats } from './wasm/isard.js';\n\n/**\n * Base URLs of the decoders (each ending with `/`).\n *\n * The decoders are Emscripten builds published as classic scripts: the worker fetches the script and runs it with\n * `new Function`, so a Content Security Policy must allow `'unsafe-eval'` in `script-src` (or `worker-src`) for 3D\n * Tiles that use Draco or KTX2. They are fetched from the default CDNs; to self-host them (offline, locked-down\n * networks, no third-party requests), copy the four files (`draco_wasm_wrapper_gltf.js`, `draco_decoder_gltf.wasm`\n * from the Draco release, `basis_transcoder.js`, `basis_transcoder.wasm` from three.js's `examples/jsm/libs/basis/`)\n * to your server and give their folders in `GeoMapOptions.decoders`.\n */\nexport interface DecoderUrls {\n /** Folder of `draco_wasm_wrapper_gltf.js` and `draco_decoder_gltf.wasm` */\n draco: string;\n /** Folder of `basis_transcoder.js` and `basis_transcoder.wasm` */\n basis: string;\n}\n\nexport const DEFAULT_DECODERS: DecoderUrls = {\n draco: 'https://www.gstatic.com/draco/versioned/decoders/1.5.7/',\n basis: 'https://cdn.jsdelivr.net/npm/three@0.170.0/examples/jsm/libs/basis/',\n};\n\n// ── Draco (the subset of its Emscripten API used here) ──\n\ninterface DracoStatus {\n ok(): boolean;\n error_msg(): string;\n}\ninterface DracoMesh {\n num_points(): number;\n num_faces(): number;\n}\ninterface DracoAttribute {\n num_components(): number;\n}\ninterface DracoDecoder {\n DecodeArrayToMesh(data: Int8Array, size: number, mesh: DracoMesh): DracoStatus;\n GetAttributeByUniqueId(mesh: DracoMesh, id: number): DracoAttribute;\n GetAttributeDataArrayForAllPoints(\n mesh: DracoMesh,\n attribute: DracoAttribute,\n type: number,\n bytes: number,\n pointer: number,\n ): boolean;\n GetTrianglesUInt32Array(mesh: DracoMesh, bytes: number, pointer: number): boolean;\n}\ninterface DracoModule {\n Decoder: new () => DracoDecoder;\n Mesh: new () => DracoMesh;\n DT_FLOAT32: number;\n HEAPF32: Float32Array;\n HEAPU32: Uint32Array;\n _malloc(bytes: number): number;\n _free(pointer: number): void;\n destroy(object: object): void;\n}\n\n// ── Basis Universal transcoder ──\n\ninterface KTX2File {\n isValid(): boolean;\n getLevels(): number;\n getHasAlpha(): boolean;\n startTranscoding(): boolean;\n getImageLevelInfo(level: number, layer: number, face: number): { origWidth: number; origHeight: number };\n getImageTranscodedSizeInBytes(level: number, layer: number, face: number, format: number): number;\n transcodeImage(\n target: Uint8Array,\n level: number,\n layer: number,\n face: number,\n format: number,\n alphaForOpaque: number,\n channel0: number,\n channel1: number,\n ): boolean;\n close(): void;\n delete(): void;\n}\ninterface BasisModule {\n initializeBasis(): void;\n KTX2File: new (data: Uint8Array) => KTX2File;\n}\n\ntype Factory<T> = (options: { wasmBinary: ArrayBuffer }) => Promise<T>;\n\n/** Loads an Emscripten factory published as a classic script (module workers have no importScripts); needs\n * `'unsafe-eval'` under a Content Security Policy (see `DecoderUrls`) */\nasync function factory<T>(url: string, name: string): Promise<Factory<T>> {\n const source = await (await fetch(url)).text();\n return new Function(`${source}\\nreturn ${name};`)() as Factory<T>;\n}\n\nasync function instantiate<T>(base: string, script: string, wasm: string, name: string): Promise<T> {\n const [create, binary] = await Promise.all([\n factory<T>(`${base}${script}`, name),\n fetch(`${base}${wasm}`).then((r) => r.arrayBuffer()),\n ]);\n return create({ wasmBinary: binary });\n}\n\nlet draco: Promise<DracoModule> | undefined;\nlet basis: Promise<BasisModule> | undefined;\n\n/** Decodes the Draco primitives of a tile */\nexport async function decodeDraco(urls: DecoderUrls, requests: DracoRequest[]): Promise<DracoGeometry[]> {\n draco ??= instantiate<DracoModule>(\n
|
|
6
|
-
"/* @ts-self-types=\"./isard.d.ts\" */\n\nexport class Engine {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n EngineFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_engine_free(ptr, 0);\n }\n /**\n * Circle layer of `feature_count` features: points (Mercator [0, 1], interleaved) and the feature of each\n * @param {Float64Array} points\n * @param {Uint32Array} feature\n * @param {number} feature_count\n * @returns {number}\n */\n addCircles(points, feature, feature_count) {\n const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addCircles(this.__wbg_ptr, ptr0, len0, ptr1, len1, feature_count);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * A layer drawn by the page: `render()` is called at its place in every frame (`customMatrix` gives the\n * matrices of that frame meanwhile); `depth`: with the depth buffer of the 3D layers (`3d` mode), else over\n * what is drawn before it\n * @param {() => void} render\n * @param {boolean} depth\n * @returns {number}\n */\n addCustomLayer(render, depth) {\n const ret = wasm.engine_addCustomLayer(this.__wbg_ptr, render, depth);\n return ret >>> 0;\n }\n /**\n * An empty extrusion layer: its blocks come in batches (`setExtrusionBatch`)\n * @returns {number}\n */\n addExtrusions() {\n const ret = wasm.engine_addExtrusions(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * Fill layer of `feature_count` features: polygons given by their points (Mercator [0, 1], interleaved), the first\n * point of each ring (`ring_start`, one more entry than rings), the first ring of each polygon (`polygon_start`,\n * one more entry than polygons; the first ring is the outer one, the others holes) and the feature of each polygon\n * @param {Float64Array} points\n * @param {Uint32Array} ring_start\n * @param {Uint32Array} polygon_start\n * @param {Uint32Array} feature\n * @param {number} feature_count\n * @returns {number}\n */\n addFills(points, ring_start, polygon_start, feature, feature_count) {\n const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(ring_start, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArray32ToWasm0(polygon_start, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addFills(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, feature_count);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * Ground layer running `code` (GLSL ES 3.0 defining `vec4 ground(vec2 offset)`, see `render::ground`) over the\n * ground; `anchor`: Mercator point the offsets are taken from; bounds: Mercator box it shows in. Compilation errors\n * come back with the shader's info log (line numbers of `code`)\n * @param {string} code\n * @param {number} anchor_x\n * @param {number} anchor_y\n * @param {number} min_x\n * @param {number} min_y\n * @param {number} max_x\n * @param {number} max_y\n * @returns {number}\n */\n addGround(code, anchor_x, anchor_y, min_x, min_y, max_x, max_y) {\n const ptr0 = passStringToWasm0(code, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addGround(this.__wbg_ptr, ptr0, len0, anchor_x, anchor_y, min_x, min_y, max_x, max_y);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * Line layer of `feature_count` features: polylines given by their points (Mercator [0, 1], interleaved), the\n * first point of each (`start`, one more entry than lines) and the feature each one belongs to\n * @param {Float64Array} points\n * @param {Uint32Array} start\n * @param {Uint32Array} feature\n * @param {number} feature_count\n * @returns {number}\n */\n addLines(points, start, feature, feature_count) {\n const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(start, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addLines(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, feature_count);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * A glTF / GLB model (its URL, a `blob:` one for data of the page) drawn at each instance of `instances`\n * (`INSTANCE_NUMBERS` numbers each: longitude, latitude, altitude, heading, pitch, roll in degrees, scale);\n * `ground`: altitudes above the relief, else above the ellipsoid\n * @param {string} url\n * @param {Float64Array} instances\n * @param {boolean} ground\n * @returns {number}\n */\n addModels(url, instances, ground) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF64ToWasm0(instances, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addModels(this.__wbg_ptr, ptr0, len0, ptr1, len1, ground);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * Network of `mercator.length / 2` nodes (Mercator [0, 1], y towards the south, interleaved: converted by the\n * JavaScript side, where `Math.tan` and `Math.log` are much faster than in WebAssembly) and `edges.length / 2`\n * edges (node index pairs, interleaved). `line_start` and `line_points`: the line of each edge from A to B, points\n * `line_start[e] .. line_start[e + 1]` of `line_points` (Mercator, interleaved; straight if fewer than two). `costs`: per edge, the\n * cost of travelling it from A to B then from B to A; without, values are interpolated along the edges.\n * @param {Float64Array} mercator\n * @param {Uint32Array} edges\n * @param {Uint32Array | null | undefined} line_start\n * @param {Float64Array | null | undefined} line_points\n * @param {Float32Array | null | undefined} costs\n * @param {Float32Array} style\n * @returns {number}\n */\n addNetwork(mercator, edges, line_start, line_points, costs, style) {\n const ptr0 = passArrayF64ToWasm0(mercator, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(edges, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n var ptr2 = isLikeNone(line_start) ? 0 : passArray32ToWasm0(line_start, wasm.__wbindgen_malloc);\n var len2 = WASM_VECTOR_LEN;\n var ptr3 = isLikeNone(line_points) ? 0 : passArrayF64ToWasm0(line_points, wasm.__wbindgen_malloc);\n var len3 = WASM_VECTOR_LEN;\n var ptr4 = isLikeNone(costs) ? 0 : passArrayF32ToWasm0(costs, wasm.__wbindgen_malloc);\n var len4 = WASM_VECTOR_LEN;\n const ptr5 = passArrayF32ToWasm0(style, wasm.__wbindgen_malloc);\n const len5 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addNetwork(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * Raster tiles in Web Mercator; `url` holds {z}, {x} and {y}. `size`: side of the tiles' textures (256 by\n * default); `loader`: draws each tile instead of fetching `url`, `(z, x, y, signal) => Promise<ImageBitmap |\n * null>`, an image of `size` × `size` (null: nothing there)\n * @param {string} url\n * @param {number} min_z\n * @param {number} max_z\n * @param {number} opacity\n * @param {number} saturation\n * @param {number | null | undefined} size\n * @param {((z: number, x: number, y: number, signal: AbortSignal) => Promise<ImageBitmap | null>) | undefined} loader\n * @returns {number}\n */\n addRaster(url, min_z, max_z, opacity, saturation, size, loader) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addRaster(this.__wbg_ptr, ptr0, len0, min_z, max_z, opacity, saturation, isLikeNone(size) ? Number.MAX_SAFE_INTEGER : (size) >> 0, isLikeNone(loader) ? 0 : addToExternrefTable0(loader));\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * An empty symbol layer\n * @returns {number}\n */\n addSymbols() {\n const ret = wasm.engine_addSymbols(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * 3D Tiles (b3dm / glb textured meshes, external tilesets) from the URL of a `tileset.json`. `max_error`:\n * screen-space error (CSS pixels) above which a tile is refined; 16 is the usual value, lower is finer.\n * @param {string} url\n * @param {number} max_error\n * @returns {number}\n */\n addTiles3d(url, max_error) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addTiles3d(this.__wbg_ptr, ptr0, len0, max_error);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * Longitudes and latitudes the view covers on the ground, `[west, south, east, north]` (degrees): the screen's\n * border cast on the ground, or on the far plane where it passes the horizon\n * @returns {Float64Array}\n */\n bounds() {\n const ret = wasm.engine_bounds(this.__wbg_ptr);\n var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);\n return v1;\n }\n /**\n * @returns {Camera}\n */\n camera() {\n const ret = wasm.engine_camera(this.__wbg_ptr);\n return ret;\n }\n clearPreload() {\n wasm.engine_clearPreload(this.__wbg_ptr);\n }\n /**\n * Model-view-projection matrix (16 numbers, column-major, for `uniformMatrix4fv`) of the local frame at a\n * longitude, latitude (degrees) and altitude (metres): x east, y north, z up, in metres. Undefined outside the\n * callback of a custom layer. Static: the engine is borrowed while it draws\n * @param {number} lon\n * @param {number} lat\n * @param {number} altitude\n * @returns {Float32Array | undefined}\n */\n static customMatrix(lon, lat, altitude) {\n const ret = wasm.engine_customMatrix(lon, lat, altitude);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * Position under a screen point (CSS pixels), undefined above the horizon; on the relief itself\n * @param {number} x\n * @param {number} y\n * @returns {[lon: number, lat: number] | undefined}\n */\n ground(x, y) {\n const ret = wasm.engine_ground(this.__wbg_ptr, x, y);\n return ret;\n }\n /**\n * Colors an extrusion layer by the node values of network layer `network` (undefined: by its own values):\n * each block takes min(value(A) + cost from A, value(B) + cost from B) from its anchors (`setExtrusionAnchors`),\n * through the layer's ramp, up to `max` (above: its own color)\n * @param {number} id\n * @param {number | null | undefined} network\n * @param {number} max\n */\n linkExtrusionNetwork(id, network, max) {\n wasm.engine_linkExtrusionNetwork(this.__wbg_ptr, id, isLikeNone(network) ? Number.MAX_SAFE_INTEGER : (network) >>> 0, max);\n }\n /**\n * Moves a layer to a drawing position (0 = bottom)\n * @param {number} id\n * @param {number} index\n */\n moveLayer(id, index) {\n wasm.engine_moveLayer(this.__wbg_ptr, id, index);\n }\n /**\n * Pieces of a network in all and drawn in the last frame (only the squares in view are)\n * @param {number} id\n * @returns {NetworkStats | undefined}\n */\n networkStats(id) {\n const ret = wasm.engine_networkStats(this.__wbg_ptr, id);\n return ret;\n }\n /**\n * `redraw` is called when the engine needs a new frame (a tile arrived)\n * @param {HTMLCanvasElement} canvas\n * @param {() => void} redraw\n */\n constructor(canvas, redraw) {\n const ret = wasm.engine_new(canvas, redraw);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n this.__wbg_ptr = ret[0];\n EngineFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Drags the ground from one screen point to another (CSS pixels); in relief, the ground point grabbed stays\n * under the cursor\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n */\n pan(x0, y0, x1, y1) {\n wasm.engine_pan(this.__wbg_ptr, x0, y0, x1, y1);\n }\n /**\n * Feature under a screen point (CSS pixels), or the nearest one within `radius` CSS pixels: its layer and its\n * index there (the edge of a network, the feature of a line, circle or fill layer), undefined if none. The\n * pickable layers are drawn with each feature colored by its number; then the fills are tested on the ground.\n * `only`: the ids of the layers to look in (all if undefined): the others are not drawn and hide nothing.\n * Reads the pixels back at once (the GPU finishes its work first): for clicks; `requestPick` for the hover\n * @param {number} x\n * @param {number} y\n * @param {number | null} [radius]\n * @param {Uint32Array | null} [only]\n * @returns {PickHit | undefined}\n */\n pick(x, y, radius, only) {\n var ptr0 = isLikeNone(only) ? 0 : passArray32ToWasm0(only, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_pick(this.__wbg_ptr, x, y, !isLikeNone(radius), isLikeNone(radius) ? 0 : radius, ptr0, len0);\n return ret;\n }\n /**\n * The answer to the last `requestPick` once the GPU has delivered it (then forgotten), undefined while it is not\n * there yet (or nothing was asked, or the context was lost)\n * @returns {PickResult | undefined}\n */\n pollPick() {\n const ret = wasm.engine_pollPick(this.__wbg_ptr);\n return ret;\n }\n /**\n * Loads in advance the tiles of a camera flight's destination; `clearPreload` when the flight ends\n * @param {number} lon\n * @param {number} lat\n * @param {number} zoom\n * @param {number} pitch\n * @param {number} bearing\n */\n preload(lon, lat, zoom, pitch, bearing) {\n wasm.engine_preload(this.__wbg_ptr, lon, lat, zoom, pitch, bearing);\n }\n /**\n * Screen point (CSS pixels) of a ground position, undefined behind the camera\n * @param {number} lon\n * @param {number} lat\n * @returns {[x: number, y: number] | undefined}\n */\n project(lon, lat) {\n const ret = wasm.engine_project(this.__wbg_ptr, lon, lat);\n return ret;\n }\n /**\n * @param {number} id\n * @param {number} key\n */\n removeExtrusionBatch(id, key) {\n wasm.engine_removeExtrusionBatch(this.__wbg_ptr, id, key);\n }\n /**\n * @param {number} id\n */\n removeLayer(id) {\n wasm.engine_removeLayer(this.__wbg_ptr, id);\n }\n /**\n * Draws a frame; returns true while tiles are still loading (a new frame will be asked through `redraw`)\n * @returns {boolean}\n */\n render() {\n const ret = wasm.engine_render(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Asks what is under a screen point without waiting for the GPU (as `pick`, with the position there): the\n * picking pass is drawn now and read back into a buffer; `pollPick` gives the answer on a later frame. A new\n * request replaces the one in flight. Returns false if nothing could be asked (no WebGL2 fence)\n * @param {number} x\n * @param {number} y\n * @param {number | null} [radius]\n * @param {Uint32Array | null} [only]\n * @returns {boolean}\n */\n requestPick(x, y, radius, only) {\n var ptr0 = isLikeNone(only) ? 0 : passArray32ToWasm0(only, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_requestPick(this.__wbg_ptr, x, y, !isLikeNone(radius), isLikeNone(radius) ? 0 : radius, ptr0, len0);\n return ret !== 0;\n }\n /**\n * Viewport in CSS pixels and device pixel ratio\n * @param {number} width\n * @param {number} height\n * @param {number} pixel_ratio\n */\n resize(width, height, pixel_ratio) {\n wasm.engine_resize(this.__wbg_ptr, width, height, pixel_ratio);\n }\n /**\n * Turns and tilts around the screen center, in degrees\n * @param {number} bearing\n * @param {number} pitch\n */\n rotate(bearing, pitch) {\n wasm.engine_rotate(this.__wbg_ptr, bearing, pitch);\n }\n /**\n * Sky over the plane (`MapLibre`'s `setSky`): colors of the sky, the horizon and the fog (RGB 0-1, 9 numbers),\n * then the sky-horizon, horizon-fog and fog-ground blends; `undefined` for none (the background color shows)\n * @param {Float32Array | null} [settings]\n */\n setAtmosphere(settings) {\n var ptr0 = isLikeNone(settings) ? 0 : passArrayF32ToWasm0(settings, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.engine_setAtmosphere(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {number} r\n * @param {number} g\n * @param {number} b\n */\n setBackground(r, g, b) {\n wasm.engine_setBackground(this.__wbg_ptr, r, g, b);\n }\n /**\n * The body the map is drawn on: its equatorial radius (metres) and flattening (0 for a sphere), the halo of its\n * atmosphere around the globe (RGB 0-1 and its strength, 4 numbers; `undefined` for an airless body), and the\n * lowest and highest altitudes of its ground (metres: what its relief may raise into view). WGS 84, the Earth's\n * blue halo and the range of its relief worldwide (-450 m to 8900 m) by default; set before the layers and the\n * relief, whose shaders may take its size (`ISARD_CIRCUMFERENCE` of the ground layers)\n * @param {number} radius\n * @param {number} flattening\n * @param {Float32Array | null | undefined} halo\n * @param {number} lowest\n * @param {number} highest\n */\n setBody(radius, flattening, halo, lowest, highest) {\n var ptr0 = isLikeNone(halo) ? 0 : passArrayF32ToWasm0(halo, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.engine_setBody(this.__wbg_ptr, radius, flattening, ptr0, len0, lowest, highest);\n }\n /**\n * @param {number} lon\n * @param {number} lat\n * @param {number} zoom\n * @param {number} pitch\n * @param {number} bearing\n */\n setCamera(lon, lat, zoom, pitch, bearing) {\n wasm.engine_setCamera(this.__wbg_ptr, lon, lat, zoom, pitch, bearing);\n }\n /**\n * Circles lying on the ground (true) or facing the screen\n * @param {number} id\n * @param {boolean} on_ground\n */\n setCircleAlignment(id, on_ground) {\n wasm.engine_setCircleAlignment(this.__wbg_ptr, id, on_ground);\n }\n /**\n * New points for a circle layer (same features)\n * @param {number} id\n * @param {Float64Array} points\n * @param {Uint32Array} feature\n */\n setCircles(id, points, feature) {\n const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n wasm.engine_setCircles(this.__wbg_ptr, id, ptr0, len0, ptr1, len1);\n }\n /**\n * Anchors of batch `key` on the linked network: per feature, node A, node B, cost from A, cost from B\n * @param {number} id\n * @param {number} key\n * @param {Float32Array} anchors\n */\n setExtrusionAnchors(id, key, anchors) {\n const ptr0 = passArrayF32ToWasm0(anchors, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setExtrusionAnchors(this.__wbg_ptr, id, key, ptr0, len0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Adds or replaces batch `key` of an extrusion layer: polygons as for `addFills`, `feature_count` features (the\n * feature style gives each its height and base height as its two sizes, metres)\n * @param {number} id\n * @param {number} key\n * @param {Float64Array} points\n * @param {Uint32Array} ring_start\n * @param {Uint32Array} polygon_start\n * @param {Uint32Array} feature\n * @param {number} feature_count\n */\n setExtrusionBatch(id, key, points, ring_start, polygon_start, feature, feature_count) {\n const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(ring_start, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArray32ToWasm0(polygon_start, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setExtrusionBatch(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, feature_count);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Layer-wide style of a feature layer: opacity as zoom stops (four zooms then four values), the zoom range it\n * shows in (`min_zoom` included, `max_zoom` excluded), whether it shows at all\n * @param {number} id\n * @param {Float32Array} opacity\n * @param {number} min_zoom\n * @param {number} max_zoom\n * @param {boolean} visible\n */\n setFeatureLayer(id, opacity, min_zoom, max_zoom, visible) {\n const ptr0 = passArrayF32ToWasm0(opacity, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setFeatureLayer(this.__wbg_ptr, id, ptr0, len0, min_zoom, max_zoom, visible);\n }\n /**\n * One byte per feature, 0 hiding it (the filter)\n * @param {number} id\n * @param {Uint8Array} mask\n * @param {number | null} [key]\n */\n setFeatureMask(id, mask, key) {\n const ptr0 = passArray8ToWasm0(mask, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setFeatureMask(this.__wbg_ptr, id, ptr0, len0, isLikeNone(key) ? Number.MAX_SAFE_INTEGER : (key) >>> 0);\n }\n /**\n * Colors of the values `min` to `max`, 256 RGBA texels (1024 bytes); undefined: none\n * @param {number} id\n * @param {Uint8Array | null | undefined} rgba\n * @param {number} min\n * @param {number} max\n */\n setFeatureRamp(id, rgba, min, max) {\n var ptr0 = isLikeNone(rgba) ? 0 : passArray8ToWasm0(rgba, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.engine_setFeatureRamp(this.__wbg_ptr, id, ptr0, len0, min, max);\n }\n /**\n * Style of the features of a line, circle, fill or extrusion layer (batch `key` of the latter): 32 floats per\n * feature, its color (RGBA 0-1), its second color (a circle's stroke), then two sizes as zoom stops (four zooms,\n * four values each): a line's width; a circle's radius and stroke width, CSS pixels; a block's height and base\n * height, metres\n * @param {number} id\n * @param {Float32Array} style\n * @param {number | null} [key]\n */\n setFeatureStyle(id, style, key) {\n const ptr0 = passArrayF32ToWasm0(style, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setFeatureStyle(this.__wbg_ptr, id, ptr0, len0, isLikeNone(key) ? Number.MAX_SAFE_INTEGER : (key) >>> 0);\n }\n /**\n * One value per feature, colored through the layer's ramp (`setFeatureRamp`); 1e30 or NaN: its own color\n * @param {number} id\n * @param {Float32Array} values\n * @param {number | null} [key]\n */\n setFeatureValues(id, values, key) {\n const ptr0 = passArrayF32ToWasm0(values, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setFeatureValues(this.__wbg_ptr, id, ptr0, len0, isLikeNone(key) ? Number.MAX_SAFE_INTEGER : (key) >>> 0);\n }\n /**\n * New polygons for a fill layer (same arguments as `addFills`, the same features)\n * @param {number} id\n * @param {Float64Array} points\n * @param {Uint32Array} ring_start\n * @param {Uint32Array} polygon_start\n * @param {Uint32Array} feature\n */\n setFills(id, points, ring_start, polygon_start, feature) {\n const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(ring_start, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArray32ToWasm0(polygon_start, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n wasm.engine_setFills(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);\n }\n /**\n * Color of the globe under the tiles (polar caps)\n * @param {number} r\n * @param {number} g\n * @param {number} b\n */\n setGlobeColor(r, g, b) {\n wasm.engine_setGlobeColor(this.__wbg_ptr, r, g, b);\n }\n /**\n * Globe (true) or Web Mercator (false)\n * @param {boolean} globe\n */\n setGlobe(globe) {\n wasm.engine_setGlobe(this.__wbg_ptr, globe);\n }\n /**\n * The glyph atlas shared by the symbol layers, one page: `width` × `height` bytes of signed distances\n * (allocated again, filled with `data` if given)\n * @param {number} width\n * @param {number} height\n * @param {Uint8Array | null} [data]\n */\n setGlyphAtlas(width, height, data) {\n var ptr0 = isLikeNone(data) ? 0 : passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setGlyphAtlas(this.__wbg_ptr, width, height, ptr0, len0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * The glyph atlas shared by the symbol layers, `pages` pages of `width` × `height` bytes of signed distances,\n * allocated again and empty (`updateGlyphPage` fills them). A glyph on page `p` at row `v` has the atlas\n * coordinate `v + p × height`\n * @param {number} width\n * @param {number} height\n * @param {number} pages\n */\n setGlyphPages(width, height, pages) {\n const ret = wasm.engine_setGlyphPages(this.__wbg_ptr, width, height, pages);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * @param {number} id\n * @param {number} min_x\n * @param {number} min_y\n * @param {number} max_x\n * @param {number} max_y\n */\n setGroundBounds(id, min_x, min_y, max_x, max_y) {\n wasm.engine_setGroundBounds(this.__wbg_ptr, id, min_x, min_y, max_x, max_y);\n }\n /**\n * Creates the texture of sampler `name` (`format`: r8, r8ui, r16ui, r16i, r32ui, r32f, rg16ui, rg32f, rgba8,\n * rgba8ui, rgba16ui, rgba32f; `depth` 0 for 2D, else a 2D array of that many layers; `linear` filtering for the\n * non-integer formats); `data`: its texels as bytes, or undefined for an empty texture\n * @param {number} id\n * @param {string} name\n * @param {string} format\n * @param {number} width\n * @param {number} height\n * @param {number} depth\n * @param {boolean} linear\n * @param {Uint8Array | null} [data]\n */\n setGroundTexture(id, name, format, width, height, depth, linear, data) {\n const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n var ptr2 = isLikeNone(data) ? 0 : passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len2 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setGroundTexture(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, width, height, depth, linear, ptr2, len2);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * A uniform of a ground layer's code, as numbers\n * @param {number} id\n * @param {string} name\n * @param {Float64Array} values\n */\n setGroundUniform(id, name, values) {\n const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF64ToWasm0(values, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setGroundUniform(this.__wbg_ptr, id, ptr0, len0, ptr1, len1);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * @param {number} id\n * @param {boolean} visible\n */\n setGroundVisible(id, visible) {\n wasm.engine_setGroundVisible(this.__wbg_ptr, id, visible);\n }\n /**\n * The icon atlas shared by the symbol layers: `width` × `height` RGBA texels, premultiplied, allocated again\n * and empty (`updateIconAtlas` fills it)\n * @param {number} width\n * @param {number} height\n */\n setIconAtlas(width, height) {\n const ret = wasm.engine_setIconAtlas(this.__wbg_ptr, width, height);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * How tiles load and show: `true`, immediately (everything visible loads, no fade, the default); `false`,\n * smoothly (levels skipped during flights, off-center tiles waiting while the camera moves, fade-in)\n * @param {boolean} immediate\n */\n setImmediateLoading(immediate) {\n wasm.engine_setImmediateLoading(this.__wbg_ptr, immediate);\n }\n /**\n * Dashes of a line layer, in line widths (`MapLibre`'s `line-dasharray`); 0, 0: solid\n * @param {number} id\n * @param {number} dash\n * @param {number} gap\n */\n setLineDash(id, dash, gap) {\n wasm.engine_setLineDash(this.__wbg_ptr, id, dash, gap);\n }\n /**\n * New lines for a line layer (same arguments as `addLines`, the same features)\n * @param {number} id\n * @param {Float64Array} points\n * @param {Uint32Array} start\n * @param {Uint32Array} feature\n */\n setLines(id, points, start, feature) {\n const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(start, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setLines(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Highest pitch the camera accepts, degrees (up to 85)\n * @param {number} max\n */\n setMaxPitch(max) {\n wasm.engine_setMaxPitch(this.__wbg_ptr, max);\n }\n /**\n * Replaces the instances of a model layer (as for `addModels`) and the reference of their altitudes\n * @param {number} id\n * @param {Float64Array} instances\n * @param {boolean} ground\n */\n setModelInstances(id, instances, ground) {\n const ptr0 = passArrayF64ToWasm0(instances, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setModelInstances(this.__wbg_ptr, id, ptr0, len0, ground);\n }\n /**\n * Costs of a network's edges (see `addNetwork`), when the way it is travelled changes; null: interpolated values\n * @param {number} id\n * @param {Float32Array | null} [costs]\n */\n setNetworkCosts(id, costs) {\n var ptr0 = isLikeNone(costs) ? 0 : passArrayF32ToWasm0(costs, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.engine_setNetworkCosts(this.__wbg_ptr, id, ptr0, len0);\n }\n /**\n * Colors of the values from 0 to the maximum, 256 RGBA texels (1024 bytes); undefined: green to red\n * @param {number} id\n * @param {Uint8Array | null} [rgba]\n */\n setNetworkRamp(id, rgba) {\n var ptr0 = isLikeNone(rgba) ? 0 : passArray8ToWasm0(rgba, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.engine_setNetworkRamp(this.__wbg_ptr, id, ptr0, len0);\n }\n /**\n * Width factor of each edge (1 without): rail lines wider than streets\n * @param {number} id\n * @param {Float32Array | null} [scales]\n */\n setNetworkScales(id, scales) {\n var ptr0 = isLikeNone(scales) ? 0 : passArrayF32ToWasm0(scales, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.engine_setNetworkScales(this.__wbg_ptr, id, ptr0, len0);\n }\n /**\n * Style of a network: width (CSS pixels) and halo width as zoom stops (8 numbers each: four zooms, four values),\n * then the maximum, the contour interval, the opacity, the halo opacity, the color of the unreached parts (RGBA\n * 0-1) and the share of the maximum over which the colors fade out: 25 numbers\n * @param {number} id\n * @param {Float32Array} style\n */\n setNetworkStyle(id, style) {\n const ptr0 = passArrayF32ToWasm0(style, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setNetworkStyle(this.__wbg_ptr, id, ptr0, len0);\n }\n /**\n * One value per node; negative = unreached\n * @param {number} id\n * @param {Float32Array} values\n */\n setNetworkValues(id, values) {\n const ptr0 = passArrayF32ToWasm0(values, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setNetworkValues(this.__wbg_ptr, id, ptr0, len0);\n }\n /**\n * @param {number} id\n * @param {number} opacity\n * @param {number} saturation\n */\n setRasterStyle(id, opacity, saturation) {\n wasm.engine_setRasterStyle(this.__wbg_ptr, id, opacity, saturation);\n }\n /**\n * Space behind the globe (stars, atmosphere halo), in the globe projection\n * @param {boolean} enabled\n */\n setSky(enabled) {\n wasm.engine_setSky(this.__wbg_ptr, enabled);\n }\n /**\n * Layer-wide style of a symbol layer: size scale and opacity as zoom stops (four zooms then four values each),\n * zoom range, visibility\n * @param {number} id\n * @param {Float32Array} size\n * @param {Float32Array} opacity\n * @param {number} min_zoom\n * @param {number} max_zoom\n * @param {boolean} visible\n */\n setSymbolLayer(id, size, opacity, min_zoom, max_zoom, visible) {\n const ptr0 = passArrayF32ToWasm0(size, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF32ToWasm0(opacity, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n wasm.engine_setSymbolLayer(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, min_zoom, max_zoom, visible);\n }\n /**\n * Labels of a symbol layer, shaped by the page: anchors (Mercator, interleaved), their texts' boxes (min x, min y,\n * max x, max y, CSS pixels from the anchor), styles (36 floats each, see `LABEL_FLOATS`) and glyph and icon quads\n * (11 floats each, see `QUAD_FLOATS`)\n * @param {number} id\n * @param {Float64Array} anchors\n * @param {Float32Array} boxes\n * @param {Float32Array} styles\n * @param {Float32Array} quads\n */\n setSymbols(id, anchors, boxes, styles, quads) {\n const ptr0 = passArrayF64ToWasm0(anchors, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF32ToWasm0(boxes, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArrayF32ToWasm0(styles, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passArrayF32ToWasm0(quads, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setSymbols(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Relief under the raster layers, from raw altitudes (`image/x-bil;bits=32`, 256 × 256, or the same followed by\n * the validity mask of an `ArcGIS` raw grid): `url` is a template with `{bbox}` (WMS `GetMap` in EPSG:3857, or in\n * the Mercator metres of another body) or `{z}/{x}/{y}`; `undefined` turns it off. `exaggeration` scales the\n * heights (1: true relief); `max_z`: finest level loaded (up to 15, from 6 on the Earth, coarser on bodies of a\n * larger relief for their size: `terrain_levels`); `geoid`: altitudes raised by the RAF20 geoid height (heights\n * above the ellipsoid, those of 3D Tiles; over France, on the Earth only), else left as served (the default);\n * `loader`: gives the\n * altitudes of each tile instead of fetching `url` (an encoding decoded by the page: Terrarium, Terrain-RGB)\n * @param {string | null | undefined} url\n * @param {number} exaggeration\n * @param {number | null | undefined} max_z\n * @param {boolean | null | undefined} geoid\n * @param {((z: number, x: number, y: number, signal: AbortSignal) => Promise<Float32Array | null>) | undefined} loader\n */\n setTerrain(url, exaggeration, max_z, geoid, loader) {\n var ptr0 = isLikeNone(url) ? 0 : passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setTerrain(this.__wbg_ptr, ptr0, len0, exaggeration, isLikeNone(max_z) ? 0xFFFFFF : max_z, isLikeNone(geoid) ? 0xFFFFFF : geoid ? 1 : 0, isLikeNone(loader) ? 0 : addToExternrefTable0(loader));\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Pool of workers that fetch and decode 3D Tiles content off the main thread: an object with\n * `load(id, url, transform, yUp, reload, priority) → Promise<{ anchor, primitives }>` and `abort(id)`. Without\n * it, tiles are decoded on the main thread. Set it before adding 3D Tiles layers.\n * @param {TileLoaderLike | null} loader\n */\n setTileLoader(loader) {\n wasm.engine_setTileLoader(this.__wbg_ptr, loader);\n }\n /**\n * Screen-space error threshold and opacity of a 3D Tiles layer\n * @param {number} id\n * @param {number} max_error\n * @param {number} opacity\n */\n setTiles3dStyle(id, max_error, opacity) {\n wasm.engine_setTiles3dStyle(this.__wbg_ptr, id, max_error, opacity);\n }\n /**\n * @param {number} min\n * @param {number} max\n */\n setZoomRange(min, max) {\n wasm.engine_setZoomRange(this.__wbg_ptr, min, max);\n }\n /**\n * Tile counters of the raster layers, for diagnostics\n * @returns {RasterLayerStats[]}\n */\n stats() {\n const ret = wasm.engine_stats(this.__wbg_ptr);\n return ret;\n }\n /**\n * Compressed texture formats of the GPU (their WebGL extensions get enabled), for the KTX2 transcoding\n * @returns {TextureFormats}\n */\n textureFormats() {\n const ret = wasm.engine_textureFormats(this.__wbg_ptr);\n return ret;\n }\n /**\n * Counters of a 3D Tiles layer, undefined if there is none with this id\n * @param {number} id\n * @returns {Tiles3dStats | undefined}\n */\n tiles3dStats(id) {\n const ret = wasm.engine_tiles3dStats(this.__wbg_ptr, id);\n return ret;\n }\n /**\n * A region of the first page of the glyph atlas: `width` × `height` bytes at (`x`, `y`)\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {Uint8Array} data\n */\n updateGlyphAtlas(x, y, width, height, data) {\n const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_updateGlyphAtlas(this.__wbg_ptr, x, y, width, height, ptr0, len0);\n }\n /**\n * A region of a page of the glyph atlas: `width` × `height` bytes at (`x`, `y`) of the page\n * @param {number} page\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {Uint8Array} data\n */\n updateGlyphPage(page, x, y, width, height, data) {\n const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_updateGlyphPage(this.__wbg_ptr, page, x, y, width, height, ptr0, len0);\n }\n /**\n * Replaces a region of a ground layer's texture (one layer of a 2D array)\n * @param {number} id\n * @param {string} name\n * @param {number} x\n * @param {number} y\n * @param {number} layer\n * @param {number} width\n * @param {number} height\n * @param {Uint8Array} data\n */\n updateGroundTexture(id, name, x, y, layer, width, height, data) {\n const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.engine_updateGroundTexture(this.__wbg_ptr, id, ptr0, len0, x, y, layer, width, height, ptr1, len1);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * A region of the icon atlas: `width` × `height` RGBA texels (premultiplied) at (`x`, `y`)\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {Uint8Array} data\n */\n updateIconAtlas(x, y, width, height, data) {\n const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_updateIconAtlas(this.__wbg_ptr, x, y, width, height, ptr0, len0);\n }\n /**\n * @param {number} delta\n * @param {number} x\n * @param {number} y\n */\n zoomAt(delta, x, y) {\n wasm.engine_zoomAt(this.__wbg_ptr, delta, x, y);\n }\n}\nif (Symbol.dispose) Engine.prototype[Symbol.dispose] = Engine.prototype.free;\n\n/**\n * Decodes a `.b3dm` / `.glb` tile: `{ anchor: Float64Array(3), primitives: [{ vertices: Float32Array (x, y, z, u,\n * v per vertex, relative to the anchor), indices: Uint32Array, image?: Uint8Array, mime?: string, color?:\n * Float32Array (the material's base color, when not white) }] }`.\n * `transform`: the tile's world transform (16 numbers, column-major).\n * `draco`: the decoded geometries of its Draco primitives (`dracoRequests`), if any.\n * @param {Uint8Array} bytes\n * @param {Float64Array} transform\n * @param {boolean} y_up\n * @param {DracoGeometry[] | undefined} draco\n * @returns {EncodedTile}\n */\nexport function decodeTile(bytes, transform, y_up, draco) {\n const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF64ToWasm0(transform, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.decodeTile(ptr0, len0, ptr1, len1, y_up, draco);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n}\n\n/**\n * The Draco-compressed primitives of a tile, to decode before `decodeTile`\n * @param {Uint8Array} bytes\n * @returns {DracoRequest[]}\n */\nexport function dracoRequests(bytes) {\n const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.dracoRequests(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n}\nfunction __wbg_get_imports() {\n const import0 = {\n __proto__: null,\n __wbg___wbindgen_boolean_get_5b446f51afd21013: function(arg0) {\n const v = arg0;\n const ret = typeof(v) === 'boolean' ? v : undefined;\n return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n },\n __wbg___wbindgen_debug_string_4687d8d8c2017d52: function(arg0, arg1) {\n const ret = debugString(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_is_function_1f9d30630b8b1d3d: function(arg0) {\n const ret = typeof(arg0) === 'function';\n return ret;\n },\n __wbg___wbindgen_is_null_e343b7d08827ba72: function(arg0) {\n const ret = arg0 === null;\n return ret;\n },\n __wbg___wbindgen_is_object_3c45d4f2dde4e749: function(arg0) {\n const val = arg0;\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n },\n __wbg___wbindgen_is_undefined_8865fb403f8fe9d8: function(arg0) {\n const ret = arg0 === undefined;\n return ret;\n },\n __wbg___wbindgen_number_get_2e0e7dee9f701a71: function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'number' ? obj : undefined;\n getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n },\n __wbg___wbindgen_string_get_0380ccaa2f57f0d9: function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_throw_41e9ee4f547fc59a: function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n },\n __wbg__wbg_cb_unref_dcc1a90847f04c41: function(arg0) {\n arg0._wbg_cb_unref();\n },\n __wbg_abort_f78b99d80248bacb: function(arg0) {\n arg0.abort();\n },\n __wbg_aborted_5b2b5f06b5e59fde: function(arg0) {\n const ret = arg0.aborted;\n return ret;\n },\n __wbg_activeTexture_11079673eac5c921: function(arg0, arg1) {\n arg0.activeTexture(arg1 >>> 0);\n },\n __wbg_activeTexture_2fad46c01cafe6b1: function(arg0, arg1) {\n arg0.activeTexture(arg1 >>> 0);\n },\n __wbg_apply_a910804df6e1e433: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.apply(arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_arrayBuffer_f07be74819944ea2: function() { return handleError(function (arg0) {\n const ret = arg0.arrayBuffer();\n return ret;\n }, arguments); },\n __wbg_attachShader_8920a5beea54aba7: function(arg0, arg1, arg2) {\n arg0.attachShader(arg1, arg2);\n },\n __wbg_attachShader_9567ae57af6746d5: function(arg0, arg1, arg2) {\n arg0.attachShader(arg1, arg2);\n },\n __wbg_bindBuffer_0324f62b876c4403: function(arg0, arg1, arg2) {\n arg0.bindBuffer(arg1 >>> 0, arg2);\n },\n __wbg_bindBuffer_2195e89b585ce0c3: function(arg0, arg1, arg2) {\n arg0.bindBuffer(arg1 >>> 0, arg2);\n },\n __wbg_bindFramebuffer_22e4b8e6e6d8d0e8: function(arg0, arg1, arg2) {\n arg0.bindFramebuffer(arg1 >>> 0, arg2);\n },\n __wbg_bindFramebuffer_378eb18ef219d37a: function(arg0, arg1, arg2) {\n arg0.bindFramebuffer(arg1 >>> 0, arg2);\n },\n __wbg_bindRenderbuffer_db090531fb28de34: function(arg0, arg1, arg2) {\n arg0.bindRenderbuffer(arg1 >>> 0, arg2);\n },\n __wbg_bindRenderbuffer_e0c5aeef245a913a: function(arg0, arg1, arg2) {\n arg0.bindRenderbuffer(arg1 >>> 0, arg2);\n },\n __wbg_bindTexture_3cf008f256f3ed99: function(arg0, arg1, arg2) {\n arg0.bindTexture(arg1 >>> 0, arg2);\n },\n __wbg_bindTexture_613a47b8917a0ccd: function(arg0, arg1, arg2) {\n arg0.bindTexture(arg1 >>> 0, arg2);\n },\n __wbg_bindVertexArrayOES_3141815cb8234a6e: function(arg0, arg1) {\n arg0.bindVertexArrayOES(arg1);\n },\n __wbg_bindVertexArray_f58af0a346185ec5: function(arg0, arg1) {\n arg0.bindVertexArray(arg1);\n },\n __wbg_blendEquation_5fb8aee6a55cf900: function(arg0, arg1) {\n arg0.blendEquation(arg1 >>> 0);\n },\n __wbg_blendEquation_d21914e937b14896: function(arg0, arg1) {\n arg0.blendEquation(arg1 >>> 0);\n },\n __wbg_blendFuncSeparate_28abe082febb1a26: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0);\n },\n __wbg_blendFuncSeparate_2af9d47f7efc0452: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0);\n },\n __wbg_blendFunc_491ee1105079ce76: function(arg0, arg1, arg2) {\n arg0.blendFunc(arg1 >>> 0, arg2 >>> 0);\n },\n __wbg_blendFunc_589e4252bb396484: function(arg0, arg1, arg2) {\n arg0.blendFunc(arg1 >>> 0, arg2 >>> 0);\n },\n __wbg_blob_232135c7e297b861: function() { return handleError(function (arg0) {\n const ret = arg0.blob();\n return ret;\n }, arguments); },\n __wbg_bufferData_50f5eb06469330e4: function(arg0, arg1, arg2, arg3) {\n arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0);\n },\n __wbg_bufferData_53e0f7a06b58fe81: function(arg0, arg1, arg2, arg3) {\n arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0);\n },\n __wbg_bufferData_5fa44d94fe7a3878: function(arg0, arg1, arg2, arg3) {\n arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0);\n },\n __wbg_bufferData_bad7ce562b6a9eac: function(arg0, arg1, arg2, arg3) {\n arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0);\n },\n __wbg_byteLength_141bda7c7c28aa72: function(arg0) {\n const ret = arg0.byteLength;\n return ret;\n },\n __wbg_byteLength_18a1704c0bf397bb: function(arg0) {\n const ret = arg0.byteLength;\n return ret;\n },\n __wbg_byteLength_27689b065d089962: function(arg0) {\n const ret = arg0.byteLength;\n return ret;\n },\n __wbg_byteLength_9f985b8373f1f3fe: function(arg0) {\n const ret = arg0.byteLength;\n return ret;\n },\n __wbg_call_01721c8c75200a10: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5) {\n const ret = arg0.call(arg1, arg2, arg3, arg4, arg5);\n return ret;\n }, arguments); },\n __wbg_call_187d372bd5fdd4aa: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.call(arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_call_6137034ef55c9d0f: function() { return handleError(function (arg0, arg1) {\n const ret = arg0.call(arg1);\n return ret;\n }, arguments); },\n __wbg_clearColor_3f6aa096dc12e8b7: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.clearColor(arg1, arg2, arg3, arg4);\n },\n __wbg_clearColor_796427e8ac60fe14: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.clearColor(arg1, arg2, arg3, arg4);\n },\n __wbg_clearStencil_1b8b8c727f598eec: function(arg0, arg1) {\n arg0.clearStencil(arg1);\n },\n __wbg_clearStencil_e4383e4a543e7997: function(arg0, arg1) {\n arg0.clearStencil(arg1);\n },\n __wbg_clear_175cf3cb6d98d72b: function(arg0, arg1) {\n arg0.clear(arg1 >>> 0);\n },\n __wbg_clear_cb96796cc568b7c8: function(arg0, arg1) {\n arg0.clear(arg1 >>> 0);\n },\n __wbg_close_355afba6ea5ad1ae: function(arg0) {\n arg0.close();\n },\n __wbg_colorMask_4d6afbbbc3022fbe: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0);\n },\n __wbg_colorMask_8c903995f6f873be: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0);\n },\n __wbg_compileShader_073a75409aaf96d2: function(arg0, arg1) {\n arg0.compileShader(arg1);\n },\n __wbg_compileShader_c2b53ff3a8851f60: function(arg0, arg1) {\n arg0.compileShader(arg1);\n },\n __wbg_compressedTexImage2D_93d2b30687f2cfad: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n arg0.compressedTexImage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6, arg7);\n },\n __wbg_createBuffer_d1dd23bf8704564c: function(arg0) {\n const ret = arg0.createBuffer();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createBuffer_ffe613371d42cfd3: function(arg0) {\n const ret = arg0.createBuffer();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createFramebuffer_2c6b5b0f49c88e5d: function(arg0) {\n const ret = arg0.createFramebuffer();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createFramebuffer_d0969af4e9886297: function(arg0) {\n const ret = arg0.createFramebuffer();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createImageBitmap_1b985e01e4c81baa: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.createImageBitmap(arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_createImageBitmap_69996a36c51d409f: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.createImageBitmap(arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_createProgram_cbf448e6f18a9402: function(arg0) {\n const ret = arg0.createProgram();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createProgram_e0c81b0d2b8d0fd0: function(arg0) {\n const ret = arg0.createProgram();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createRenderbuffer_2b17e9fe2e6fb4be: function(arg0) {\n const ret = arg0.createRenderbuffer();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createRenderbuffer_c864095d6ebd60d0: function(arg0) {\n const ret = arg0.createRenderbuffer();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createShader_6c1a2295587878a5: function(arg0, arg1) {\n const ret = arg0.createShader(arg1 >>> 0);\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createShader_7c9d99a21ecb08c0: function(arg0, arg1) {\n const ret = arg0.createShader(arg1 >>> 0);\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createTexture_01e8e591b64237de: function(arg0) {\n const ret = arg0.createTexture();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createTexture_5f2583508ebe379b: function(arg0) {\n const ret = arg0.createTexture();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createVertexArrayOES_a8dc8498b56df937: function(arg0) {\n const ret = arg0.createVertexArrayOES();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createVertexArray_b223ea69dd08fcab: function(arg0) {\n const ret = arg0.createVertexArray();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_cullFace_12123c1c97f1ba2c: function(arg0, arg1) {\n arg0.cullFace(arg1 >>> 0);\n },\n __wbg_cullFace_1a01f0b6d5aeb687: function(arg0, arg1) {\n arg0.cullFace(arg1 >>> 0);\n },\n __wbg_deleteBuffer_070e58aaaf2a7a8b: function(arg0, arg1) {\n arg0.deleteBuffer(arg1);\n },\n __wbg_deleteBuffer_7775ee9e248c8468: function(arg0, arg1) {\n arg0.deleteBuffer(arg1);\n },\n __wbg_deleteFramebuffer_3f8ab330098bf8e6: function(arg0, arg1) {\n arg0.deleteFramebuffer(arg1);\n },\n __wbg_deleteFramebuffer_570d3b214a509fa2: function(arg0, arg1) {\n arg0.deleteFramebuffer(arg1);\n },\n __wbg_deleteProgram_822906f0368175d0: function(arg0, arg1) {\n arg0.deleteProgram(arg1);\n },\n __wbg_deleteProgram_b524b30ad176cdb4: function(arg0, arg1) {\n arg0.deleteProgram(arg1);\n },\n __wbg_deleteRenderbuffer_826c9b43b7ea68f5: function(arg0, arg1) {\n arg0.deleteRenderbuffer(arg1);\n },\n __wbg_deleteRenderbuffer_f4e121a3ab21c605: function(arg0, arg1) {\n arg0.deleteRenderbuffer(arg1);\n },\n __wbg_deleteShader_a70f6cc1918d67eb: function(arg0, arg1) {\n arg0.deleteShader(arg1);\n },\n __wbg_deleteShader_da18a294158c2d15: function(arg0, arg1) {\n arg0.deleteShader(arg1);\n },\n __wbg_deleteSync_4f0be28b03f50495: function(arg0, arg1) {\n arg0.deleteSync(arg1);\n },\n __wbg_deleteTexture_78c170241204a466: function(arg0, arg1) {\n arg0.deleteTexture(arg1);\n },\n __wbg_deleteTexture_9f42750adb092e4f: function(arg0, arg1) {\n arg0.deleteTexture(arg1);\n },\n __wbg_deleteVertexArrayOES_e01f31634d466176: function(arg0, arg1) {\n arg0.deleteVertexArrayOES(arg1);\n },\n __wbg_deleteVertexArray_ca9768805d051d49: function(arg0, arg1) {\n arg0.deleteVertexArray(arg1);\n },\n __wbg_depthFunc_92e96d8f46a23300: function(arg0, arg1) {\n arg0.depthFunc(arg1 >>> 0);\n },\n __wbg_depthFunc_a41fb5adacb22e09: function(arg0, arg1) {\n arg0.depthFunc(arg1 >>> 0);\n },\n __wbg_depthMask_06ecff4d4514c38f: function(arg0, arg1) {\n arg0.depthMask(arg1 !== 0);\n },\n __wbg_depthMask_0d7c3dec3b8405ee: function(arg0, arg1) {\n arg0.depthMask(arg1 !== 0);\n },\n __wbg_depthRange_24c7969249461e8e: function(arg0, arg1, arg2) {\n arg0.depthRange(arg1, arg2);\n },\n __wbg_depthRange_6a4e169ccf314148: function(arg0, arg1, arg2) {\n arg0.depthRange(arg1, arg2);\n },\n __wbg_detachShader_1ed15fc2d289cf15: function(arg0, arg1, arg2) {\n arg0.detachShader(arg1, arg2);\n },\n __wbg_detachShader_67dabaaad80a795e: function(arg0, arg1, arg2) {\n arg0.detachShader(arg1, arg2);\n },\n __wbg_disable_19fe787eccdf0272: function(arg0, arg1) {\n arg0.disable(arg1 >>> 0);\n },\n __wbg_disable_81b2cb5f8cea15ae: function(arg0, arg1) {\n arg0.disable(arg1 >>> 0);\n },\n __wbg_drawArraysInstancedANGLE_b76512b5abba6668: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.drawArraysInstancedANGLE(arg1 >>> 0, arg2, arg3, arg4);\n },\n __wbg_drawArraysInstanced_9b44aa78a087154d: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.drawArraysInstanced(arg1 >>> 0, arg2, arg3, arg4);\n },\n __wbg_drawArrays_08872e02fb57b847: function(arg0, arg1, arg2, arg3) {\n arg0.drawArrays(arg1 >>> 0, arg2, arg3);\n },\n __wbg_drawArrays_741af5c3f8db636f: function(arg0, arg1, arg2, arg3) {\n arg0.drawArrays(arg1 >>> 0, arg2, arg3);\n },\n __wbg_drawElementsInstancedANGLE_c3fc0cfa9e29a1bc: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.drawElementsInstancedANGLE(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5);\n },\n __wbg_drawElementsInstanced_d7c396aa034159b6: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.drawElementsInstanced(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5);\n },\n __wbg_drawElements_c8988ba71de1101a: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.drawElements(arg1 >>> 0, arg2, arg3 >>> 0, arg4);\n },\n __wbg_drawElements_cc1e6c631e89eddf: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.drawElements(arg1 >>> 0, arg2, arg3 >>> 0, arg4);\n },\n __wbg_enableVertexAttribArray_1496b78a8dbab9fd: function(arg0, arg1) {\n arg0.enableVertexAttribArray(arg1 >>> 0);\n },\n __wbg_enableVertexAttribArray_d52693866bc8b8dd: function(arg0, arg1) {\n arg0.enableVertexAttribArray(arg1 >>> 0);\n },\n __wbg_enable_6eeb9c0e9b483cee: function(arg0, arg1) {\n arg0.enable(arg1 >>> 0);\n },\n __wbg_enable_cb4fc19b51148c37: function(arg0, arg1) {\n arg0.enable(arg1 >>> 0);\n },\n __wbg_error_c9cf3fc2064683a9: function(arg0) {\n console.error(arg0);\n },\n __wbg_fenceSync_330293024adb66bc: function(arg0, arg1, arg2) {\n const ret = arg0.fenceSync(arg1 >>> 0, arg2 >>> 0);\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_fetch_b322877f1ed6457d: function(arg0, arg1, arg2, arg3) {\n const ret = arg0.fetch(getStringFromWasm0(arg1, arg2), arg3);\n return ret;\n },\n __wbg_flush_13b162660ad850d2: function(arg0) {\n arg0.flush();\n },\n __wbg_flush_a5ad38200881ac35: function(arg0) {\n arg0.flush();\n },\n __wbg_framebufferRenderbuffer_1c6337e0030411f3: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4);\n },\n __wbg_framebufferRenderbuffer_f019e9231b142c0d: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4);\n },\n __wbg_framebufferTexture2D_73c52f23ec33aa22: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5);\n },\n __wbg_framebufferTexture2D_caddefa1f767646e: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5);\n },\n __wbg_from_296ca31f8d0f1c52: function(arg0) {\n const ret = Array.from(arg0);\n return ret;\n },\n __wbg_frontFace_6751b4b97f997aeb: function(arg0, arg1) {\n arg0.frontFace(arg1 >>> 0);\n },\n __wbg_frontFace_b064adb15b6f3772: function(arg0, arg1) {\n arg0.frontFace(arg1 >>> 0);\n },\n __wbg_generateMipmap_c63604006bfa52d5: function(arg0, arg1) {\n arg0.generateMipmap(arg1 >>> 0);\n },\n __wbg_generateMipmap_cd49f6eec9558721: function(arg0, arg1) {\n arg0.generateMipmap(arg1 >>> 0);\n },\n __wbg_getActiveUniform_239de631a40c387a: function(arg0, arg1, arg2) {\n const ret = arg0.getActiveUniform(arg1, arg2 >>> 0);\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_getActiveUniform_f2052b3c57679fe2: function(arg0, arg1, arg2) {\n const ret = arg0.getActiveUniform(arg1, arg2 >>> 0);\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_getBufferSubData_dd23246099b166d1: function(arg0, arg1, arg2, arg3) {\n arg0.getBufferSubData(arg1 >>> 0, arg2, arg3);\n },\n __wbg_getContext_051324720aa5b7e8: function() { return handleError(function (arg0, arg1, arg2, arg3) {\n const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3);\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n }, arguments); },\n __wbg_getExtension_abfda2c5db286b07: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.getExtension(getStringFromWasm0(arg1, arg2));\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n }, arguments); },\n __wbg_getParameter_974595a6624c6c10: function() { return handleError(function (arg0, arg1) {\n const ret = arg0.getParameter(arg1 >>> 0);\n return ret;\n }, arguments); },\n __wbg_getParameter_a97f491753b05668: function() { return handleError(function (arg0, arg1) {\n const ret = arg0.getParameter(arg1 >>> 0);\n return ret;\n }, arguments); },\n __wbg_getProgramInfoLog_208fb1ff31006495: function(arg0, arg1, arg2) {\n const ret = arg1.getProgramInfoLog(arg2);\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg_getProgramInfoLog_3276b294d6d42fe2: function(arg0, arg1, arg2) {\n const ret = arg1.getProgramInfoLog(arg2);\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg_getProgramParameter_50bafab01cf88652: function(arg0, arg1, arg2) {\n const ret = arg0.getProgramParameter(arg1, arg2 >>> 0);\n return ret;\n },\n __wbg_getProgramParameter_fc7124bb9fb7c675: function(arg0, arg1, arg2) {\n const ret = arg0.getProgramParameter(arg1, arg2 >>> 0);\n return ret;\n },\n __wbg_getShaderInfoLog_7e0cbba353ca95da: function(arg0, arg1, arg2) {\n const ret = arg1.getShaderInfoLog(arg2);\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg_getShaderInfoLog_bb64c5a52df0b7a3: function(arg0, arg1, arg2) {\n const ret = arg1.getShaderInfoLog(arg2);\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg_getShaderParameter_745acf10b8e45e31: function(arg0, arg1, arg2) {\n const ret = arg0.getShaderParameter(arg1, arg2 >>> 0);\n return ret;\n },\n __wbg_getShaderParameter_e55ea9c456df5484: function(arg0, arg1, arg2) {\n const ret = arg0.getShaderParameter(arg1, arg2 >>> 0);\n return ret;\n },\n __wbg_getSupportedExtensions_1459bad37860c0c3: function(arg0) {\n const ret = arg0.getSupportedExtensions();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_getSyncParameter_bb4be47b67bfa2f8: function(arg0, arg1, arg2) {\n const ret = arg0.getSyncParameter(arg1, arg2 >>> 0);\n return ret;\n },\n __wbg_getUniformLocation_50ba45dade572703: function(arg0, arg1, arg2, arg3) {\n const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3));\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_getUniformLocation_cb4e3e121235f91a: function(arg0, arg1, arg2, arg3) {\n const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3));\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_get_31af05bd4842a84f: function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(arg0, arg1);\n return ret;\n }, arguments); },\n __wbg_get_index_f4750150bb3083b3: function(arg0, arg1) {\n const ret = arg0[arg1 >>> 0];\n return ret;\n },\n __wbg_get_unchecked_288889d017702237: function(arg0, arg1) {\n const ret = arg0[arg1 >>> 0];\n return ret;\n },\n __wbg_height_9dca4d43c3e4b84b: function(arg0) {\n const ret = arg0.height;\n return ret;\n },\n __wbg_instanceof_ArrayBuffer_a99f175873e5d9b8: function(arg0) {\n let result;\n try {\n result = arg0 instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Blob_7c6191a4cd5834d3: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Blob;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Float32Array_595afb0f28b828c9: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Float32Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Float64Array_8a59377f9eec1b8b: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Float64Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_ImageBitmap_74bea45ee48d3d7a: function(arg0) {\n let result;\n try {\n result = arg0 instanceof ImageBitmap;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Promise_e1dc6893aa1ece28: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Promise;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Response_b8758567269c30b2: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Response;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Uint32Array_53a4facaf04b8a8b: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Uint32Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Uint8Array_828cef2aaacafc31: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Uint8Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_WebGl2RenderingContext_64c994c14c0790fb: function(arg0) {\n let result;\n try {\n result = arg0 instanceof WebGL2RenderingContext;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Window_82d71df4eddf88bc: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Window;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_isArray_e15a2ff68ffdbef2: function(arg0) {\n const ret = Array.isArray(arg0);\n return ret;\n },\n __wbg_isContextLost_fbbab8b921e614b7: function(arg0) {\n const ret = arg0.isContextLost();\n return ret;\n },\n __wbg_is_4b278c0bd3caba97: function(arg0, arg1) {\n const ret = Object.is(arg0, arg1);\n return ret;\n },\n __wbg_length_511b1f84719d3462: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_58572db4c38f3c3e: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_7f3c00c40364105e: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_b5f0008bbf60cf59: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_d4bdea10311bd9cf: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_linkProgram_571a9ea00d38ff83: function(arg0, arg1) {\n arg0.linkProgram(arg1);\n },\n __wbg_linkProgram_acdc299c43d734a0: function(arg0, arg1) {\n arg0.linkProgram(arg1);\n },\n __wbg_name_91a697e9ff1634bf: function(arg0, arg1) {\n const ret = arg1.name;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg_new_1dbf7428bba60a42: function(arg0) {\n const ret = new Uint8Array(arg0);\n return ret;\n },\n __wbg_new_2e41357094e99294: function() { return handleError(function () {\n const ret = new AbortController();\n return ret;\n }, arguments); },\n __wbg_new_5502aad30c185fc8: function(arg0, arg1) {\n try {\n var state0 = {a: arg0, b: arg1};\n var cb0 = (arg0, arg1) => {\n const a = state0.a;\n state0.a = 0;\n try {\n return wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined_______true_(a, state0.b, arg0, arg1);\n } finally {\n state0.a = a;\n }\n };\n const ret = new Promise(cb0);\n return ret;\n } finally {\n state0.a = 0;\n }\n },\n __wbg_new_617a8cdb8bb1130e: function() {\n const ret = new Object();\n return ret;\n },\n __wbg_new_ee2291f50781bf1d: function() {\n const ret = new Array();\n return ret;\n },\n __wbg_new_from_slice_37a3c3a194266cb8: function(arg0, arg1) {\n const ret = new Uint32Array(getArrayU32FromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_new_from_slice_9a868026ffa4208a: function(arg0, arg1) {\n const ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_new_from_slice_ca6ad97db1f4779a: function(arg0, arg1) {\n const ret = new Float32Array(getArrayF32FromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_new_from_slice_f545fd22ddc142b8: function(arg0, arg1) {\n const ret = new Float64Array(getArrayF64FromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_new_with_byte_offset_70ba6193352e027b: function(arg0, arg1) {\n const ret = new Uint8Array(arg0, arg1 >>> 0);\n return ret;\n },\n __wbg_new_with_byte_offset_and_length_40c170286adc9005: function(arg0, arg1, arg2) {\n const ret = new Float32Array(arg0, arg1 >>> 0, arg2 >>> 0);\n return ret;\n },\n __wbg_new_with_u8_array_sequence_and_options_fccc08fe93f4b8fd: function() { return handleError(function (arg0, arg1) {\n const ret = new Blob(arg0, arg1);\n return ret;\n }, arguments); },\n __wbg_now_aa4ccb83129e9e55: function() {\n const ret = Date.now();\n return ret;\n },\n __wbg_now_d0b7f4bea9f38490: function(arg0) {\n const ret = arg0.now();\n return ret;\n },\n __wbg_of_20798cb14708764f: function(arg0, arg1) {\n const ret = Array.of(arg0, arg1);\n return ret;\n },\n __wbg_of_d5dbecdc59e02e34: function(arg0) {\n const ret = Array.of(arg0);\n return ret;\n },\n __wbg_of_fea2613674ee0d0f: function(arg0, arg1, arg2, arg3, arg4) {\n const ret = Array.of(arg0, arg1, arg2, arg3, arg4);\n return ret;\n },\n __wbg_ok_125878a7db256ecb: function(arg0) {\n const ret = arg0.ok;\n return ret;\n },\n __wbg_performance_d0d7b03fc649b694: function(arg0) {\n const ret = arg0.performance;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_pixelStorei_af18e636b3e7b725: function(arg0, arg1, arg2) {\n arg0.pixelStorei(arg1 >>> 0, arg2);\n },\n __wbg_pixelStorei_cb4e43466f5b8703: function(arg0, arg1, arg2) {\n arg0.pixelStorei(arg1 >>> 0, arg2);\n },\n __wbg_prototypesetcall_06eb15da165dee8f: function(arg0, arg1, arg2) {\n Uint32Array.prototype.set.call(getArrayU32FromWasm0(arg0, arg1), arg2);\n },\n __wbg_prototypesetcall_8b03c01e2c0f8066: function(arg0, arg1, arg2) {\n Float32Array.prototype.set.call(getArrayF32FromWasm0(arg0, arg1), arg2);\n },\n __wbg_prototypesetcall_bc27214492979395: function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);\n },\n __wbg_push_2baf45db356cf468: function(arg0, arg1) {\n const ret = arg0.push(arg1);\n return ret;\n },\n __wbg_queueMicrotask_9833f9a49df95a49: function(arg0) {\n const ret = arg0.queueMicrotask;\n return ret;\n },\n __wbg_queueMicrotask_a72f977e97f23c5f: function(arg0) {\n queueMicrotask(arg0);\n },\n __wbg_readPixels_31e44e70558ac590: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7);\n }, arguments); },\n __wbg_readPixels_3321086a7818a739: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7);\n }, arguments); },\n __wbg_readPixels_eb030cd9976eeca5: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7);\n }, arguments); },\n __wbg_renderbufferStorage_52b131bbf3112b3a: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4);\n },\n __wbg_renderbufferStorage_bca487b0dea425b8: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4);\n },\n __wbg_resolve_0076e10020304ede: function(arg0) {\n const ret = Promise.resolve(arg0);\n return ret;\n },\n __wbg_scissor_12ddc324094acd50: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.scissor(arg1, arg2, arg3, arg4);\n },\n __wbg_scissor_a9468482697c2bdb: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.scissor(arg1, arg2, arg3, arg4);\n },\n __wbg_setTimeout_db7bbc18a17e152a: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.setTimeout(arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_set_145a351398b48c65: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = Reflect.set(arg0, arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_set_alpha_6dea851a46253adf: function(arg0, arg1) {\n arg0.alpha = arg1 !== 0;\n },\n __wbg_set_antialias_1f699e96763e8a35: function(arg0, arg1) {\n arg0.antialias = arg1 !== 0;\n },\n __wbg_set_cache_7507c4cc5938ccc7: function(arg0, arg1) {\n arg0.cache = __wbindgen_enum_RequestCache[arg1];\n },\n __wbg_set_color_space_conversion_f27e9d866a683b4b: function(arg0, arg1) {\n arg0.colorSpaceConversion = __wbindgen_enum_ColorSpaceConversion[arg1];\n },\n __wbg_set_depth_8b49de49803d4e60: function(arg0, arg1) {\n arg0.depth = arg1 !== 0;\n },\n __wbg_set_power_preference_6ef22d4c8baf517f: function(arg0, arg1) {\n arg0.powerPreference = __wbindgen_enum_WebGlPowerPreference[arg1];\n },\n __wbg_set_premultiply_alpha_45a4cf9a1e87bfbf: function(arg0, arg1) {\n arg0.premultiplyAlpha = __wbindgen_enum_PremultiplyAlpha[arg1];\n },\n __wbg_set_resize_height_274433c2f249624d: function(arg0, arg1) {\n arg0.resizeHeight = arg1 >>> 0;\n },\n __wbg_set_resize_width_6f06543b29d1ca48: function(arg0, arg1) {\n arg0.resizeWidth = arg1 >>> 0;\n },\n __wbg_set_signal_2dbd377604627f26: function(arg0, arg1) {\n arg0.signal = arg1;\n },\n __wbg_set_stencil_edc32d9477c7c107: function(arg0, arg1) {\n arg0.stencil = arg1 !== 0;\n },\n __wbg_set_type_dcf75b2afa60c694: function(arg0, arg1, arg2) {\n arg0.type = getStringFromWasm0(arg1, arg2);\n },\n __wbg_shaderSource_06379dac249994dd: function(arg0, arg1, arg2, arg3) {\n arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3));\n },\n __wbg_shaderSource_c8812639b47d87b9: function(arg0, arg1, arg2, arg3) {\n arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3));\n },\n __wbg_signal_e5a49a2d9c65b7f6: function(arg0) {\n const ret = arg0.signal;\n return ret;\n },\n __wbg_size_74c48d7329291685: function(arg0) {\n const ret = arg0.size;\n return ret;\n },\n __wbg_static_accessor_GLOBAL_266715b9d96ba635: function() {\n const ret = typeof global === 'undefined' ? null : global;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_static_accessor_GLOBAL_THIS_10fb7dc1ae063179: function() {\n const ret = typeof globalThis === 'undefined' ? null : globalThis;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_static_accessor_SELF_0b583911f537483a: function() {\n const ret = typeof self === 'undefined' ? null : self;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_static_accessor_WINDOW_d7f903d1508cbdc4: function() {\n const ret = typeof window === 'undefined' ? null : window;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_status_ce0a98d3c57125f3: function(arg0) {\n const ret = arg0.status;\n return ret;\n },\n __wbg_stencilFunc_aa3cd8856be514c4: function(arg0, arg1, arg2, arg3) {\n arg0.stencilFunc(arg1 >>> 0, arg2, arg3 >>> 0);\n },\n __wbg_stencilFunc_bab7e0b7c443f093: function(arg0, arg1, arg2, arg3) {\n arg0.stencilFunc(arg1 >>> 0, arg2, arg3 >>> 0);\n },\n __wbg_stencilMask_9e18cc018897c747: function(arg0, arg1) {\n arg0.stencilMask(arg1 >>> 0);\n },\n __wbg_stencilMask_a22be64c66abd825: function(arg0, arg1) {\n arg0.stencilMask(arg1 >>> 0);\n },\n __wbg_stencilOpSeparate_7d01185cbdb89d99: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0);\n },\n __wbg_stencilOpSeparate_c5af5f5dbd237bea: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0);\n },\n __wbg_stencilOp_12274af665ab8a00: function(arg0, arg1, arg2, arg3) {\n arg0.stencilOp(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0);\n },\n __wbg_stencilOp_2697194654fee819: function(arg0, arg1, arg2, arg3) {\n arg0.stencilOp(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0);\n },\n __wbg_texImage2D_1b3349107ad0faae: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6) {\n arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4 >>> 0, arg5 >>> 0, arg6);\n }, arguments); },\n __wbg_texImage2D_82bf2b4c8aa9a1db: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {\n arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9);\n }, arguments); },\n __wbg_texImage2D_8fc2f2fcca249b59: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6) {\n arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4 >>> 0, arg5 >>> 0, arg6);\n }, arguments); },\n __wbg_texImage2D_a856af552acdc9d9: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {\n arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9);\n }, arguments); },\n __wbg_texImage2D_ca3d0fe24620ec85: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {\n arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9);\n }, arguments); },\n __wbg_texParameteri_647fdb1426809cb5: function(arg0, arg1, arg2, arg3) {\n arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3);\n },\n __wbg_texParameteri_7864076abcdb03e0: function(arg0, arg1, arg2, arg3) {\n arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3);\n },\n __wbg_texStorage2D_cf2bd991072d9efb: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.texStorage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5);\n },\n __wbg_texStorage3D_74b701c2b176380c: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {\n arg0.texStorage3D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6);\n },\n __wbg_texSubImage2D_31a0c2797aa04f32: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {\n arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9);\n }, arguments); },\n __wbg_texSubImage2D_5e90c7a719d40256: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {\n arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9);\n }, arguments); },\n __wbg_texSubImage2D_bb322aae90f7657f: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {\n arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9);\n }, arguments); },\n __wbg_texSubImage3D_5143d5af7e182ddc: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) {\n arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11);\n }, arguments); },\n __wbg_texSubImage3D_5d773fc7a8cd4d08: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) {\n arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11);\n }, arguments); },\n __wbg_texSubImage3D_e0d113b7047a5130: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) {\n arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11);\n }, arguments); },\n __wbg_then_c949d5a25a4e78f8: function(arg0, arg1, arg2) {\n const ret = arg0.then(arg1, arg2);\n return ret;\n },\n __wbg_then_e71170d78fcf8954: function(arg0, arg1) {\n const ret = arg0.then(arg1);\n return ret;\n },\n __wbg_type_ff6f7b321fe8478b: function(arg0) {\n const ret = arg0.type;\n return ret;\n },\n __wbg_uniform1f_9cfecfaeb8cf43c1: function(arg0, arg1, arg2) {\n arg0.uniform1f(arg1, arg2);\n },\n __wbg_uniform1f_b5856e35a43b65a1: function(arg0, arg1, arg2) {\n arg0.uniform1f(arg1, arg2);\n },\n __wbg_uniform1fv_1bf537fc926ef8b9: function(arg0, arg1, arg2, arg3) {\n arg0.uniform1fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform1fv_1cc1d09bc13b03bf: function(arg0, arg1, arg2, arg3) {\n arg0.uniform1fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform1i_531b98c4a7177366: function(arg0, arg1, arg2) {\n arg0.uniform1i(arg1, arg2);\n },\n __wbg_uniform1i_fc2dc8cadc49d8ec: function(arg0, arg1, arg2) {\n arg0.uniform1i(arg1, arg2);\n },\n __wbg_uniform1iv_4b8cbceccddfaa62: function(arg0, arg1, arg2, arg3) {\n arg0.uniform1iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform1iv_8fc880ae80c77c74: function(arg0, arg1, arg2, arg3) {\n arg0.uniform1iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform1ui_353c67ec681b540c: function(arg0, arg1, arg2) {\n arg0.uniform1ui(arg1, arg2 >>> 0);\n },\n __wbg_uniform1uiv_ad5e946730aacbec: function(arg0, arg1, arg2, arg3) {\n arg0.uniform1uiv(arg1, getArrayU32FromWasm0(arg2, arg3));\n },\n __wbg_uniform2f_131da2d4bf17e4b9: function(arg0, arg1, arg2, arg3) {\n arg0.uniform2f(arg1, arg2, arg3);\n },\n __wbg_uniform2f_a92b5bb95dc5b4d9: function(arg0, arg1, arg2, arg3) {\n arg0.uniform2f(arg1, arg2, arg3);\n },\n __wbg_uniform2fv_319c49f0ce340f26: function(arg0, arg1, arg2, arg3) {\n arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform2fv_a7d3c1830d18c1b2: function(arg0, arg1, arg2, arg3) {\n arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform2iv_65f36fc9777697d7: function(arg0, arg1, arg2, arg3) {\n arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform2iv_ca9cb507409b9ad1: function(arg0, arg1, arg2, arg3) {\n arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform2uiv_c95af5fb653ccb86: function(arg0, arg1, arg2, arg3) {\n arg0.uniform2uiv(arg1, getArrayU32FromWasm0(arg2, arg3));\n },\n __wbg_uniform3f_1211579ff87ccfad: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.uniform3f(arg1, arg2, arg3, arg4);\n },\n __wbg_uniform3f_ee105161897ee48a: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.uniform3f(arg1, arg2, arg3, arg4);\n },\n __wbg_uniform3fv_055ea5ac38af4fce: function(arg0, arg1, arg2, arg3) {\n arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform3fv_58520ffe22a6e27c: function(arg0, arg1, arg2, arg3) {\n arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform3iv_0590e8b7eff2a791: function(arg0, arg1, arg2, arg3) {\n arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform3iv_e91b1410dc299f50: function(arg0, arg1, arg2, arg3) {\n arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform3uiv_9992491000463a52: function(arg0, arg1, arg2, arg3) {\n arg0.uniform3uiv(arg1, getArrayU32FromWasm0(arg2, arg3));\n },\n __wbg_uniform4f_22bfec882308eec2: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.uniform4f(arg1, arg2, arg3, arg4, arg5);\n },\n __wbg_uniform4f_8dd8f311e656ca0d: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.uniform4f(arg1, arg2, arg3, arg4, arg5);\n },\n __wbg_uniform4fv_3ef2f5121fcb78ae: function(arg0, arg1, arg2, arg3) {\n arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform4fv_cf8ff646c36232c8: function(arg0, arg1, arg2, arg3) {\n arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform4iv_6fc5436b4f876039: function(arg0, arg1, arg2, arg3) {\n arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform4iv_99c2b07787d362d6: function(arg0, arg1, arg2, arg3) {\n arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform4uiv_a6fb3237d9df7ed4: function(arg0, arg1, arg2, arg3) {\n arg0.uniform4uiv(arg1, getArrayU32FromWasm0(arg2, arg3));\n },\n __wbg_uniformMatrix3fv_472e7824735acce1: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4));\n },\n __wbg_uniformMatrix3fv_83fdc9c3c0d43204: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4));\n },\n __wbg_uniformMatrix4fv_dff9738d995fd0b1: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4));\n },\n __wbg_uniformMatrix4fv_e691d7f14d3609f7: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4));\n },\n __wbg_useProgram_5bdae58fd9f9826f: function(arg0, arg1) {\n arg0.useProgram(arg1);\n },\n __wbg_useProgram_e075c2902e420761: function(arg0, arg1) {\n arg0.useProgram(arg1);\n },\n __wbg_vertexAttribDivisorANGLE_659fb027198a47c3: function(arg0, arg1, arg2) {\n arg0.vertexAttribDivisorANGLE(arg1 >>> 0, arg2 >>> 0);\n },\n __wbg_vertexAttribDivisor_7575d382215322f7: function(arg0, arg1, arg2) {\n arg0.vertexAttribDivisor(arg1 >>> 0, arg2 >>> 0);\n },\n __wbg_vertexAttribIPointer_fc8057c62cfcc63c: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.vertexAttribIPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5);\n },\n __wbg_vertexAttribPointer_24b495e18df325dc: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {\n arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6);\n },\n __wbg_vertexAttribPointer_54d56b18f71a946d: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {\n arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6);\n },\n __wbg_viewport_16936692526e2ce6: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.viewport(arg1, arg2, arg3, arg4);\n },\n __wbg_viewport_e35d16c542d2ce70: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.viewport(arg1, arg2, arg3, arg4);\n },\n __wbg_warn_13abc63e0d4b3527: function(arg0) {\n console.warn(arg0);\n },\n __wbg_width_8a9cc26363f10d5f: function(arg0) {\n const ret = arg0.width;\n return ret;\n },\n __wbindgen_generic_0000000000000001: function(arg0, arg1) {\n // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 168, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.\n const ret = makeMutClosure(arg0, arg1, wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___wasm_bindgen_2e566c63402fe7fa___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_2e566c63402fe7fa___JsError___true_);\n return ret;\n },\n __wbindgen_generic_0000000000000002: function(arg0) {\n // Cast intrinsic for `F64 -> Externref`.\n const ret = arg0;\n return ret;\n },\n __wbindgen_generic_0000000000000003: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(F32)) -> NamedExternref(\"Float32Array\")`.\n const ret = getArrayF32FromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_generic_0000000000000004: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(I16)) -> NamedExternref(\"Int16Array\")`.\n const ret = getArrayI16FromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_generic_0000000000000005: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(I32)) -> NamedExternref(\"Int32Array\")`.\n const ret = getArrayI32FromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_generic_0000000000000006: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(I8)) -> NamedExternref(\"Int8Array\")`.\n const ret = getArrayI8FromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_generic_0000000000000007: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(U16)) -> NamedExternref(\"Uint16Array\")`.\n const ret = getArrayU16FromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_generic_0000000000000008: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(U32)) -> NamedExternref(\"Uint32Array\")`.\n const ret = getArrayU32FromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_generic_0000000000000009: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref(\"Uint8Array\")`.\n const ret = getArrayU8FromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_generic_000000000000000a: function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_init_externref_table: function() {\n const table = wasm.__wbindgen_externrefs;\n const offset = table.grow(4);\n table.set(0, undefined);\n table.set(offset + 0, undefined);\n table.set(offset + 1, null);\n table.set(offset + 2, true);\n table.set(offset + 3, false);\n },\n };\n return {\n __proto__: null,\n \"./isard_bg.js\": import0,\n };\n}\n\nfunction wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___wasm_bindgen_2e566c63402fe7fa___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_2e566c63402fe7fa___JsError___true_(arg0, arg1, arg2) {\n const ret = wasm.wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___wasm_bindgen_2e566c63402fe7fa___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_2e566c63402fe7fa___JsError___true_(arg0, arg1, arg2);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n}\n\nfunction wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined_______true_(arg0, arg1, arg2, arg3) {\n wasm.wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined_______true_(arg0, arg1, arg2, arg3);\n}\n\n\nconst __wbindgen_enum_ColorSpaceConversion = [\"none\", \"default\"];\n\n\nconst __wbindgen_enum_PremultiplyAlpha = [\"none\", \"premultiply\", \"default\"];\n\n\nconst __wbindgen_enum_RequestCache = [\"default\", \"no-store\", \"reload\", \"no-cache\", \"force-cache\", \"only-if-cached\"];\n\n\nconst __wbindgen_enum_WebGlPowerPreference = [\"default\", \"low-power\", \"high-performance\"];\nconst EngineFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_engine_free(ptr, 1));\n\nfunction addToExternrefTable0(obj) {\n const idx = wasm.__externref_table_alloc();\n wasm.__wbindgen_externrefs.set(idx, obj);\n return idx;\n}\n\nconst CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(state => wasm.__wbindgen_destroy_closure(state.a, state.b));\n\nfunction debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\n\nfunction getArrayF32FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);\n}\n\nfunction getArrayF64FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getFloat64ArrayMemory0().subarray(ptr / 8, ptr / 8 + len);\n}\n\nfunction getArrayI16FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getInt16ArrayMemory0().subarray(ptr / 2, ptr / 2 + len);\n}\n\nfunction getArrayI32FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);\n}\n\nfunction getArrayI8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getInt8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nfunction getArrayU16FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint16ArrayMemory0().subarray(ptr / 2, ptr / 2 + len);\n}\n\nfunction getArrayU32FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nlet cachedDataViewMemory0 = null;\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nlet cachedFloat32ArrayMemory0 = null;\nfunction getFloat32ArrayMemory0() {\n if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) {\n cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer);\n }\n return cachedFloat32ArrayMemory0;\n}\n\nlet cachedFloat64ArrayMemory0 = null;\nfunction getFloat64ArrayMemory0() {\n if (cachedFloat64ArrayMemory0 === null || cachedFloat64ArrayMemory0.byteLength === 0) {\n cachedFloat64ArrayMemory0 = new Float64Array(wasm.memory.buffer);\n }\n return cachedFloat64ArrayMemory0;\n}\n\nlet cachedInt16ArrayMemory0 = null;\nfunction getInt16ArrayMemory0() {\n if (cachedInt16ArrayMemory0 === null || cachedInt16ArrayMemory0.byteLength === 0) {\n cachedInt16ArrayMemory0 = new Int16Array(wasm.memory.buffer);\n }\n return cachedInt16ArrayMemory0;\n}\n\nlet cachedInt32ArrayMemory0 = null;\nfunction getInt32ArrayMemory0() {\n if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) {\n cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachedInt32ArrayMemory0;\n}\n\nlet cachedInt8ArrayMemory0 = null;\nfunction getInt8ArrayMemory0() {\n if (cachedInt8ArrayMemory0 === null || cachedInt8ArrayMemory0.byteLength === 0) {\n cachedInt8ArrayMemory0 = new Int8Array(wasm.memory.buffer);\n }\n return cachedInt8ArrayMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return decodeText(ptr >>> 0, len);\n}\n\nlet cachedUint16ArrayMemory0 = null;\nfunction getUint16ArrayMemory0() {\n if (cachedUint16ArrayMemory0 === null || cachedUint16ArrayMemory0.byteLength === 0) {\n cachedUint16ArrayMemory0 = new Uint16Array(wasm.memory.buffer);\n }\n return cachedUint16ArrayMemory0;\n}\n\nlet cachedUint32ArrayMemory0 = null;\nfunction getUint32ArrayMemory0() {\n if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {\n cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);\n }\n return cachedUint32ArrayMemory0;\n}\n\nlet cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n const idx = addToExternrefTable0(e);\n wasm.__wbindgen_exn_store(idx);\n }\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction makeMutClosure(arg0, arg1, f) {\n const state = { a: arg0, b: arg1, cnt: 1 };\n const real = (...args) => {\n\n // First up with a closure we increment the internal reference\n // count. This ensures that the Rust closure environment won't\n // be deallocated while we're invoking it.\n state.cnt++;\n const a = state.a;\n state.a = 0;\n try {\n return f(a, state.b, ...args);\n } finally {\n state.a = a;\n real._wbg_cb_unref();\n }\n };\n real._wbg_cb_unref = () => {\n if (--state.cnt === 0) {\n wasm.__wbindgen_destroy_closure(state.a, state.b);\n state.a = 0;\n CLOSURE_DTORS.unregister(state);\n }\n };\n CLOSURE_DTORS.register(real, state, state);\n return real;\n}\n\nfunction passArray32ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 4, 4) >>> 0;\n getUint32ArrayMemory0().set(arg, ptr / 4);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArrayF32ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 4, 4) >>> 0;\n getFloat32ArrayMemory0().set(arg, ptr / 4);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArrayF64ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 8, 8) >>> 0;\n getFloat64ArrayMemory0().set(arg, ptr / 8);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = cachedTextEncoder.encodeInto(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nfunction takeFromExternrefTable0(idx) {\n const value = wasm.__wbindgen_externrefs.get(idx);\n wasm.__externref_table_dealloc(idx);\n return value;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\ncachedTextDecoder.decode();\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n numBytesDecoded += len;\n if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n cachedTextDecoder.decode();\n numBytesDecoded = len;\n }\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n cachedTextEncoder.encodeInto = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n };\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nlet wasmModule, wasmInstance, wasm;\nfunction __wbg_finalize_init(instance, module) {\n wasmInstance = instance;\n wasm = instance.exports;\n wasmModule = module;\n cachedDataViewMemory0 = null;\n cachedFloat32ArrayMemory0 = null;\n cachedFloat64ArrayMemory0 = null;\n cachedInt16ArrayMemory0 = null;\n cachedInt32ArrayMemory0 = null;\n cachedInt8ArrayMemory0 = null;\n cachedUint16ArrayMemory0 = null;\n cachedUint32ArrayMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n wasm.__wbindgen_start();\n return wasm;\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (!module.ok) {\n throw new Error(`failed to fetch Wasm: ${module.status} ${module.statusText} fetching '${module.url}'`);\n }\n\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n } catch (e) {\n const validResponse = expectedResponseType(module.type);\n\n if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else { throw e; }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n } else {\n return instance;\n }\n }\n\n function expectedResponseType(type) {\n switch (type) {\n case 'basic': case 'cors': case 'default': return true;\n }\n return false;\n }\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (module !== undefined) {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n const instance = new WebAssembly.Instance(module, imports);\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (module_or_path !== undefined) {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (module_or_path === undefined) {\n module_or_path = new URL('isard_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync, __wbg_init as default };\n",
|
|
7
|
-
"/**\n *
|
|
5
|
+
"/**\n * Optional decoders of the worker, loaded on first use from configurable URLs (the official builds three.js and\n * Cesium use): Draco geometry (`KHR_draco_mesh_compression`) and KTX2 / Basis Universal textures (`KHR_texture_basisu`),\n * transcoded to the best compressed format the GPU supports.\n */\nimport type { CompressedTexture, DracoGeometry, DracoRequest, TextureFormats } from './wasm/isard.js';\n\n/**\n * Base URLs of the decoders (each ending with `/`).\n *\n * The decoders are Emscripten builds published as classic scripts: the worker fetches the script and runs it with\n * `new Function`, so a Content Security Policy must allow `'unsafe-eval'` in `script-src` (or `worker-src`) for 3D\n * Tiles that use Draco or KTX2. They are fetched from the default CDNs; to self-host them (offline, locked-down\n * networks, no third-party requests), copy the four files (`draco_wasm_wrapper_gltf.js`, `draco_decoder_gltf.wasm`\n * from the Draco release, `basis_transcoder.js`, `basis_transcoder.wasm` from three.js's `examples/jsm/libs/basis/`)\n * to your server and give their folders in `GeoMapOptions.decoders`.\n */\nexport interface DecoderUrls {\n /** Folder of `draco_wasm_wrapper_gltf.js` and `draco_decoder_gltf.wasm` (and, for Draco point clouds, of the full\n * decoder `draco_wasm_wrapper.js` and `draco_decoder.wasm`) */\n draco: string;\n /** Folder of `basis_transcoder.js` and `basis_transcoder.wasm` */\n basis: string;\n}\n\nexport const DEFAULT_DECODERS: DecoderUrls = {\n draco: 'https://www.gstatic.com/draco/versioned/decoders/1.5.7/',\n basis: 'https://cdn.jsdelivr.net/npm/three@0.170.0/examples/jsm/libs/basis/',\n};\n\n// ── Draco (the subset of its Emscripten API used here) ──\n\ninterface DracoStatus {\n ok(): boolean;\n error_msg(): string;\n}\ninterface DracoMesh {\n num_points(): number;\n num_faces(): number;\n}\ninterface DracoAttribute {\n num_components(): number;\n}\ninterface DracoDecoder {\n DecodeArrayToMesh(data: Int8Array, size: number, mesh: DracoMesh): DracoStatus;\n DecodeArrayToPointCloud(data: Int8Array, size: number, cloud: DracoMesh): DracoStatus;\n GetAttributeByUniqueId(mesh: DracoMesh, id: number): DracoAttribute;\n GetAttributeDataArrayForAllPoints(\n mesh: DracoMesh,\n attribute: DracoAttribute,\n type: number,\n bytes: number,\n pointer: number,\n ): boolean;\n GetTrianglesUInt32Array(mesh: DracoMesh, bytes: number, pointer: number): boolean;\n}\ninterface DracoModule {\n Decoder: new () => DracoDecoder;\n Mesh: new () => DracoMesh;\n PointCloud: new () => DracoMesh;\n DT_FLOAT32: number;\n HEAPF32: Float32Array;\n HEAPU32: Uint32Array;\n _malloc(bytes: number): number;\n _free(pointer: number): void;\n destroy(object: object): void;\n}\n\n// ── Basis Universal transcoder ──\n\ninterface KTX2File {\n isValid(): boolean;\n getLevels(): number;\n getHasAlpha(): boolean;\n startTranscoding(): boolean;\n getImageLevelInfo(level: number, layer: number, face: number): { origWidth: number; origHeight: number };\n getImageTranscodedSizeInBytes(level: number, layer: number, face: number, format: number): number;\n transcodeImage(\n target: Uint8Array,\n level: number,\n layer: number,\n face: number,\n format: number,\n alphaForOpaque: number,\n channel0: number,\n channel1: number,\n ): boolean;\n close(): void;\n delete(): void;\n}\ninterface BasisModule {\n initializeBasis(): void;\n KTX2File: new (data: Uint8Array) => KTX2File;\n}\n\ntype Factory<T> = (options: { wasmBinary: ArrayBuffer }) => Promise<T>;\n\n/** Loads an Emscripten factory published as a classic script (module workers have no importScripts); needs\n * `'unsafe-eval'` under a Content Security Policy (see `DecoderUrls`) */\nasync function factory<T>(url: string, name: string): Promise<Factory<T>> {\n const source = await (await fetch(url)).text();\n return new Function(`${source}\\nreturn ${name};`)() as Factory<T>;\n}\n\nasync function instantiate<T>(base: string, script: string, wasm: string, name: string): Promise<T> {\n const [create, binary] = await Promise.all([\n factory<T>(`${base}${script}`, name),\n fetch(`${base}${wasm}`).then((r) => r.arrayBuffer()),\n ]);\n return create({ wasmBinary: binary });\n}\n\nlet draco: Promise<DracoModule> | undefined;\n/** The full Draco decoder: the glTF build decodes meshes only, not the point clouds */\nlet dracoPoints: Promise<DracoModule> | undefined;\nlet basis: Promise<BasisModule> | undefined;\n\n/** Decodes the Draco primitives of a tile (their points alone for point clouds) */\nexport async function decodeDraco(urls: DecoderUrls, requests: DracoRequest[]): Promise<DracoGeometry[]> {\n const meshes = requests.some((r) => !r.points);\n if (meshes) {\n draco ??= instantiate<DracoModule>(\n urls.draco,\n 'draco_wasm_wrapper_gltf.js',\n 'draco_decoder_gltf.wasm',\n 'DracoDecoderModule',\n );\n }\n if (requests.some((r) => r.points)) {\n dracoPoints ??= instantiate<DracoModule>(\n urls.draco,\n 'draco_wasm_wrapper.js',\n 'draco_decoder.wasm',\n 'DracoDecoderModule',\n );\n }\n const [forMeshes, forPoints] = await Promise.all([meshes ? draco : undefined, dracoPoints]);\n return requests.map((request) => {\n const module = (request.points ? forPoints : forMeshes) as DracoModule;\n const decoder = new module.Decoder();\n const mesh = request.points ? new module.PointCloud() : new module.Mesh();\n try {\n const data = new Int8Array(request.data.buffer, request.data.byteOffset, request.data.byteLength);\n const status = request.points\n ? decoder.DecodeArrayToPointCloud(data, data.byteLength, mesh)\n : decoder.DecodeArrayToMesh(data, data.byteLength, mesh);\n if (!status.ok()) throw new Error(`Draco: ${status.error_msg()}`);\n const floats = (id: number): Float32Array => {\n const attribute = decoder.GetAttributeByUniqueId(mesh, id);\n const count = mesh.num_points() * attribute.num_components();\n const pointer = module._malloc(count * 4);\n try {\n decoder.GetAttributeDataArrayForAllPoints(mesh, attribute, module.DT_FLOAT32, count * 4, pointer);\n return module.HEAPF32.slice(pointer / 4, pointer / 4 + count);\n } finally {\n module._free(pointer);\n }\n };\n if (request.points) {\n const geometry: DracoGeometry = {\n mesh: request.mesh,\n primitive: request.primitive,\n positions: floats(request.position),\n };\n if (request.color !== undefined) geometry.colors = floats(request.color);\n if (request.normal !== undefined) geometry.normals = floats(request.normal);\n return geometry;\n }\n const count = mesh.num_faces() * 3;\n const pointer = module._malloc(count * 4);\n let indices: Uint32Array;\n try {\n decoder.GetTrianglesUInt32Array(mesh, count * 4, pointer);\n indices = module.HEAPU32.slice(pointer / 4, pointer / 4 + count);\n } finally {\n module._free(pointer);\n }\n const geometry: DracoGeometry = {\n mesh: request.mesh,\n primitive: request.primitive,\n positions: floats(request.position),\n indices,\n };\n if (request.uv !== undefined) geometry.uvs = floats(request.uv);\n return geometry;\n } finally {\n module.destroy(mesh);\n module.destroy(decoder);\n }\n });\n}\n\n/** Basis target format and WebGL internal format, best first */\nfunction target(formats: TextureFormats, alpha: boolean): { basis: number; gl: number } {\n if (formats.astc) return { basis: 10, gl: 0x93b0 }; // ASTC 4×4\n if (formats.bptc) return { basis: 6, gl: 0x8e8c }; // BC7\n if (formats.etc) return alpha ? { basis: 1, gl: 0x9278 } : { basis: 0, gl: 0x9274 }; // ETC2 RGBA / ETC1 as ETC2 RGB\n if (formats.s3tc) return alpha ? { basis: 3, gl: 0x83f3 } : { basis: 2, gl: 0x83f0 }; // BC3 / BC1\n return { basis: 13, gl: 0x8058 }; // RGBA8, uncompressed\n}\n\n/** Transcodes a KTX2 image for the GPU */\nexport async function transcodeKtx2(\n urls: DecoderUrls,\n formats: TextureFormats,\n bytes: Uint8Array,\n): Promise<CompressedTexture> {\n basis ??= instantiate<BasisModule>(urls.basis, 'basis_transcoder.js', 'basis_transcoder.wasm', 'BASIS').then((m) => {\n m.initializeBasis();\n return m;\n });\n const module = await basis;\n const file = new module.KTX2File(bytes);\n try {\n if (!file.isValid() || !file.startTranscoding()) throw new Error('KTX2: invalid file');\n const { basis: format, gl } = target(formats, file.getHasAlpha());\n const levels: CompressedTexture['levels'] = [];\n for (let level = 0; level < file.getLevels(); level++) {\n const { origWidth: width, origHeight: height } = file.getImageLevelInfo(level, 0, 0);\n const data = new Uint8Array(file.getImageTranscodedSizeInBytes(level, 0, 0, format));\n if (!file.transcodeImage(data, level, 0, 0, format, 0, -1, -1)) throw new Error('KTX2: transcoding failed');\n levels.push({ width, height, data });\n }\n return { format: gl, levels };\n } finally {\n file.close();\n file.delete();\n }\n}\n",
|
|
6
|
+
"/* @ts-self-types=\"./isard.d.ts\" */\n\nexport class Engine {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n EngineFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_engine_free(ptr, 0);\n }\n /**\n * Circle layer of `feature_count` features: points (Mercator [0, 1], interleaved) and the feature of each\n * @param {Float64Array} points\n * @param {Uint32Array} feature\n * @param {number} feature_count\n * @returns {number}\n */\n addCircles(points, feature, feature_count) {\n const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addCircles(this.__wbg_ptr, ptr0, len0, ptr1, len1, feature_count);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * A layer drawn by the page: `render()` is called at its place in every frame (`customMatrix` gives the\n * matrices of that frame meanwhile); `depth`: with the depth buffer of the 3D layers (`3d` mode), else over\n * what is drawn before it\n * @param {() => void} render\n * @param {boolean} depth\n * @returns {number}\n */\n addCustomLayer(render, depth) {\n const ret = wasm.engine_addCustomLayer(this.__wbg_ptr, render, depth);\n return ret >>> 0;\n }\n /**\n * An empty extrusion layer: its blocks come in batches (`setExtrusionBatch`)\n * @returns {number}\n */\n addExtrusions() {\n const ret = wasm.engine_addExtrusions(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * Fill layer of `feature_count` features: polygons given by their points (Mercator [0, 1], interleaved), the first\n * point of each ring (`ring_start`, one more entry than rings), the first ring of each polygon (`polygon_start`,\n * one more entry than polygons; the first ring is the outer one, the others holes) and the feature of each polygon\n * @param {Float64Array} points\n * @param {Uint32Array} ring_start\n * @param {Uint32Array} polygon_start\n * @param {Uint32Array} feature\n * @param {number} feature_count\n * @returns {number}\n */\n addFills(points, ring_start, polygon_start, feature, feature_count) {\n const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(ring_start, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArray32ToWasm0(polygon_start, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addFills(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, feature_count);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * Ground layer running `code` (GLSL ES 3.0 defining `vec4 ground(vec2 offset)`, see `render::ground`) over the\n * ground; `anchor`: Mercator point the offsets are taken from; bounds: Mercator box it shows in. Compilation errors\n * come back with the shader's info log (line numbers of `code`)\n * @param {string} code\n * @param {number} anchor_x\n * @param {number} anchor_y\n * @param {number} min_x\n * @param {number} min_y\n * @param {number} max_x\n * @param {number} max_y\n * @returns {number}\n */\n addGround(code, anchor_x, anchor_y, min_x, min_y, max_x, max_y) {\n const ptr0 = passStringToWasm0(code, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addGround(this.__wbg_ptr, ptr0, len0, anchor_x, anchor_y, min_x, min_y, max_x, max_y);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * Line layer of `feature_count` features: polylines given by their points (Mercator [0, 1], interleaved), the\n * first point of each (`start`, one more entry than lines) and the feature each one belongs to\n * @param {Float64Array} points\n * @param {Uint32Array} start\n * @param {Uint32Array} feature\n * @param {number} feature_count\n * @returns {number}\n */\n addLines(points, start, feature, feature_count) {\n const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(start, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addLines(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, feature_count);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * A glTF / GLB model (its URL, a `blob:` one for data of the page) drawn at each instance of `instances`\n * (`INSTANCE_NUMBERS` numbers each: longitude, latitude, altitude, heading, pitch, roll in degrees, scale);\n * `ground`: altitudes above the relief, else above the ellipsoid\n * @param {string} url\n * @param {Float64Array} instances\n * @param {boolean} ground\n * @returns {number}\n */\n addModels(url, instances, ground) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF64ToWasm0(instances, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addModels(this.__wbg_ptr, ptr0, len0, ptr1, len1, ground);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * Network of `mercator.length / 2` nodes (Mercator [0, 1], y towards the south, interleaved: converted by the\n * JavaScript side, where `Math.tan` and `Math.log` are much faster than in WebAssembly) and `edges.length / 2`\n * edges (node index pairs, interleaved). `line_start` and `line_points`: the line of each edge from A to B, points\n * `line_start[e] .. line_start[e + 1]` of `line_points` (Mercator, interleaved; straight if fewer than two). `costs`: per edge, the\n * cost of travelling it from A to B then from B to A; without, values are interpolated along the edges.\n * @param {Float64Array} mercator\n * @param {Uint32Array} edges\n * @param {Uint32Array | null | undefined} line_start\n * @param {Float64Array | null | undefined} line_points\n * @param {Float32Array | null | undefined} costs\n * @param {Float32Array} style\n * @returns {number}\n */\n addNetwork(mercator, edges, line_start, line_points, costs, style) {\n const ptr0 = passArrayF64ToWasm0(mercator, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(edges, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n var ptr2 = isLikeNone(line_start) ? 0 : passArray32ToWasm0(line_start, wasm.__wbindgen_malloc);\n var len2 = WASM_VECTOR_LEN;\n var ptr3 = isLikeNone(line_points) ? 0 : passArrayF64ToWasm0(line_points, wasm.__wbindgen_malloc);\n var len3 = WASM_VECTOR_LEN;\n var ptr4 = isLikeNone(costs) ? 0 : passArrayF32ToWasm0(costs, wasm.__wbindgen_malloc);\n var len4 = WASM_VECTOR_LEN;\n const ptr5 = passArrayF32ToWasm0(style, wasm.__wbindgen_malloc);\n const len5 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addNetwork(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * A COPC point cloud from its URL (HTTP range requests). `resolve(wkt)` gives the CRS of the file from its WKT\n * (undefined if it has none): its inverse projection, whether its altitudes are above the geoid, the metres of\n * a unit of z; it may throw (an unknown CRS), the layer then stays empty\n * @param {string} url\n * @param {(wkt: string | undefined) => PointCloudCrs} resolve\n * @returns {number}\n */\n addPointCloud(url, resolve) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addPointCloud(this.__wbg_ptr, ptr0, len0, resolve);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * Raster tiles in Web Mercator; `url` holds {z}, {x} and {y}. `size`: side of the tiles' textures (256 by\n * default); `loader`: draws each tile instead of fetching `url`, `(z, x, y, signal) => Promise<ImageBitmap |\n * null>`, an image of `size` × `size` (null: nothing there)\n * @param {string} url\n * @param {number} min_z\n * @param {number} max_z\n * @param {number} opacity\n * @param {number} saturation\n * @param {number | null | undefined} size\n * @param {((z: number, x: number, y: number, signal: AbortSignal) => Promise<ImageBitmap | null>) | undefined} loader\n * @returns {number}\n */\n addRaster(url, min_z, max_z, opacity, saturation, size, loader) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addRaster(this.__wbg_ptr, ptr0, len0, min_z, max_z, opacity, saturation, isLikeNone(size) ? Number.MAX_SAFE_INTEGER : (size) >> 0, isLikeNone(loader) ? 0 : addToExternrefTable0(loader));\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * An empty symbol layer\n * @returns {number}\n */\n addSymbols() {\n const ret = wasm.engine_addSymbols(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * 3D Tiles (b3dm / glb textured meshes, external tilesets) from the URL of a `tileset.json`. `max_error`:\n * screen-space error (CSS pixels) above which a tile is refined; 16 is the usual value, lower is finer.\n * @param {string} url\n * @param {number} max_error\n * @returns {number}\n */\n addTiles3d(url, max_error) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addTiles3d(this.__wbg_ptr, ptr0, len0, max_error);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * Longitudes and latitudes the view covers on the ground, `[west, south, east, north]` (degrees): the screen's\n * border cast on the ground, or on the far plane where it passes the horizon\n * @returns {Float64Array}\n */\n bounds() {\n const ret = wasm.engine_bounds(this.__wbg_ptr);\n var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);\n return v1;\n }\n /**\n * @returns {Camera}\n */\n camera() {\n const ret = wasm.engine_camera(this.__wbg_ptr);\n return ret;\n }\n clearPreload() {\n wasm.engine_clearPreload(this.__wbg_ptr);\n }\n /**\n * Model-view-projection matrix (16 numbers, column-major, for `uniformMatrix4fv`) of the local frame at a\n * longitude, latitude (degrees) and altitude (metres): x east, y north, z up, in metres. Undefined outside the\n * callback of a custom layer. Static: the engine is borrowed while it draws\n * @param {number} lon\n * @param {number} lat\n * @param {number} altitude\n * @returns {Float32Array | undefined}\n */\n static customMatrix(lon, lat, altitude) {\n const ret = wasm.engine_customMatrix(lon, lat, altitude);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * Position under a screen point (CSS pixels), undefined above the horizon; on the relief itself\n * @param {number} x\n * @param {number} y\n * @returns {[lon: number, lat: number] | undefined}\n */\n ground(x, y) {\n const ret = wasm.engine_ground(this.__wbg_ptr, x, y);\n return ret;\n }\n /**\n * Colors an extrusion layer by the node values of network layer `network` (undefined: by its own values):\n * each block takes min(value(A) + cost from A, value(B) + cost from B) from its anchors (`setExtrusionAnchors`),\n * through the layer's ramp, up to `max` (above: its own color)\n * @param {number} id\n * @param {number | null | undefined} network\n * @param {number} max\n */\n linkExtrusionNetwork(id, network, max) {\n wasm.engine_linkExtrusionNetwork(this.__wbg_ptr, id, isLikeNone(network) ? Number.MAX_SAFE_INTEGER : (network) >>> 0, max);\n }\n /**\n * Moves a layer to a drawing position (0 = bottom)\n * @param {number} id\n * @param {number} index\n */\n moveLayer(id, index) {\n wasm.engine_moveLayer(this.__wbg_ptr, id, index);\n }\n /**\n * Pieces of a network in all and drawn in the last frame (only the squares in view are)\n * @param {number} id\n * @returns {NetworkStats | undefined}\n */\n networkStats(id) {\n const ret = wasm.engine_networkStats(this.__wbg_ptr, id);\n return ret;\n }\n /**\n * `redraw` is called when the engine needs a new frame (a tile arrived)\n * @param {HTMLCanvasElement} canvas\n * @param {() => void} redraw\n */\n constructor(canvas, redraw) {\n const ret = wasm.engine_new(canvas, redraw);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n this.__wbg_ptr = ret[0];\n EngineFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Drags the ground from one screen point to another (CSS pixels); in relief, the ground point grabbed stays\n * under the cursor\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n */\n pan(x0, y0, x1, y1) {\n wasm.engine_pan(this.__wbg_ptr, x0, y0, x1, y1);\n }\n /**\n * Feature under a screen point (CSS pixels), or the nearest one within `radius` CSS pixels: its layer and its\n * index there (the edge of a network, the feature of a line, circle or fill layer), undefined if none. The\n * pickable layers are drawn with each feature colored by its number; then the fills are tested on the ground.\n * `only`: the ids of the layers to look in (all if undefined): the others are not drawn and hide nothing.\n * Reads the pixels back at once (the GPU finishes its work first): for clicks; `requestPick` for the hover\n * @param {number} x\n * @param {number} y\n * @param {number | null} [radius]\n * @param {Uint32Array | null} [only]\n * @returns {PickHit | undefined}\n */\n pick(x, y, radius, only) {\n var ptr0 = isLikeNone(only) ? 0 : passArray32ToWasm0(only, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_pick(this.__wbg_ptr, x, y, !isLikeNone(radius), isLikeNone(radius) ? 0 : radius, ptr0, len0);\n return ret;\n }\n /**\n * What a point cloud says of itself, undefined before its head is read\n * @param {number} id\n * @returns {PointCloudInfo | undefined}\n */\n pointCloudInfo(id) {\n const ret = wasm.engine_pointCloudInfo(this.__wbg_ptr, id);\n return ret;\n }\n /**\n * The point of a point cloud picked by `pick` or `pollPick` (its index there), read back from the GPU; undefined\n * once it is no longer drawn\n * @param {number} id\n * @param {number} index\n * @returns {PointCloudPoint | undefined}\n */\n pointCloudPoint(id, index) {\n const ret = wasm.engine_pointCloudPoint(this.__wbg_ptr, id, index);\n return ret;\n }\n /**\n * Counters of a point cloud layer, undefined if there is none with this id\n * @param {number} id\n * @returns {PointCloudStats | undefined}\n */\n pointCloudStats(id) {\n const ret = wasm.engine_pointCloudStats(this.__wbg_ptr, id);\n return ret;\n }\n /**\n * The answer to the last `requestPick` once the GPU has delivered it (then forgotten), undefined while it is not\n * there yet (or nothing was asked, or the context was lost)\n * @returns {PickResult | undefined}\n */\n pollPick() {\n const ret = wasm.engine_pollPick(this.__wbg_ptr);\n return ret;\n }\n /**\n * Loads in advance the tiles of a camera flight's destination; `clearPreload` when the flight ends\n * @param {number} lon\n * @param {number} lat\n * @param {number} zoom\n * @param {number} pitch\n * @param {number} bearing\n */\n preload(lon, lat, zoom, pitch, bearing) {\n wasm.engine_preload(this.__wbg_ptr, lon, lat, zoom, pitch, bearing);\n }\n /**\n * Screen point (CSS pixels) of a ground position, undefined behind the camera\n * @param {number} lon\n * @param {number} lat\n * @returns {[x: number, y: number] | undefined}\n */\n project(lon, lat) {\n const ret = wasm.engine_project(this.__wbg_ptr, lon, lat);\n return ret;\n }\n /**\n * @param {number} id\n * @param {number} key\n */\n removeExtrusionBatch(id, key) {\n wasm.engine_removeExtrusionBatch(this.__wbg_ptr, id, key);\n }\n /**\n * @param {number} id\n */\n removeLayer(id) {\n wasm.engine_removeLayer(this.__wbg_ptr, id);\n }\n /**\n * Draws a frame; returns true while tiles are still loading (a new frame will be asked through `redraw`)\n * @returns {boolean}\n */\n render() {\n const ret = wasm.engine_render(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Asks what is under a screen point without waiting for the GPU (as `pick`, with the position there): the\n * picking pass is drawn now and read back into a buffer; `pollPick` gives the answer on a later frame. A new\n * request replaces the one in flight. Returns false if nothing could be asked (no WebGL2 fence)\n * @param {number} x\n * @param {number} y\n * @param {number | null} [radius]\n * @param {Uint32Array | null} [only]\n * @returns {boolean}\n */\n requestPick(x, y, radius, only) {\n var ptr0 = isLikeNone(only) ? 0 : passArray32ToWasm0(only, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_requestPick(this.__wbg_ptr, x, y, !isLikeNone(radius), isLikeNone(radius) ? 0 : radius, ptr0, len0);\n return ret !== 0;\n }\n /**\n * Viewport in CSS pixels and device pixel ratio\n * @param {number} width\n * @param {number} height\n * @param {number} pixel_ratio\n */\n resize(width, height, pixel_ratio) {\n wasm.engine_resize(this.__wbg_ptr, width, height, pixel_ratio);\n }\n /**\n * Turns and tilts around the screen center, in degrees\n * @param {number} bearing\n * @param {number} pitch\n */\n rotate(bearing, pitch) {\n wasm.engine_rotate(this.__wbg_ptr, bearing, pitch);\n }\n /**\n * Sky over the plane (`MapLibre`'s `setSky`): colors of the sky, the horizon and the fog (RGB 0-1, 9 numbers),\n * then the sky-horizon, horizon-fog and fog-ground blends; `undefined` for none (the background color shows)\n * @param {Float32Array | null} [settings]\n */\n setAtmosphere(settings) {\n var ptr0 = isLikeNone(settings) ? 0 : passArrayF32ToWasm0(settings, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.engine_setAtmosphere(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {number} r\n * @param {number} g\n * @param {number} b\n */\n setBackground(r, g, b) {\n wasm.engine_setBackground(this.__wbg_ptr, r, g, b);\n }\n /**\n * The body the map is drawn on: its equatorial radius (metres) and flattening (0 for a sphere), the halo of its\n * atmosphere around the globe (RGB 0-1 and its strength, 4 numbers; `undefined` for an airless body), and the\n * lowest and highest altitudes of its ground (metres: what its relief may raise into view). WGS 84, the Earth's\n * blue halo and the range of its relief worldwide (-450 m to 8900 m) by default; set before the layers and the\n * relief, whose shaders may take its size (`ISARD_CIRCUMFERENCE` of the ground layers)\n * @param {number} radius\n * @param {number} flattening\n * @param {Float32Array | null | undefined} halo\n * @param {number} lowest\n * @param {number} highest\n */\n setBody(radius, flattening, halo, lowest, highest) {\n var ptr0 = isLikeNone(halo) ? 0 : passArrayF32ToWasm0(halo, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.engine_setBody(this.__wbg_ptr, radius, flattening, ptr0, len0, lowest, highest);\n }\n /**\n * @param {number} lon\n * @param {number} lat\n * @param {number} zoom\n * @param {number} pitch\n * @param {number} bearing\n */\n setCamera(lon, lat, zoom, pitch, bearing) {\n wasm.engine_setCamera(this.__wbg_ptr, lon, lat, zoom, pitch, bearing);\n }\n /**\n * Circles lying on the ground (true) or facing the screen\n * @param {number} id\n * @param {boolean} on_ground\n */\n setCircleAlignment(id, on_ground) {\n wasm.engine_setCircleAlignment(this.__wbg_ptr, id, on_ground);\n }\n /**\n * New points for a circle layer (same features)\n * @param {number} id\n * @param {Float64Array} points\n * @param {Uint32Array} feature\n */\n setCircles(id, points, feature) {\n const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n wasm.engine_setCircles(this.__wbg_ptr, id, ptr0, len0, ptr1, len1);\n }\n /**\n * Anchors of batch `key` on the linked network: per feature, node A, node B, cost from A, cost from B\n * @param {number} id\n * @param {number} key\n * @param {Float32Array} anchors\n */\n setExtrusionAnchors(id, key, anchors) {\n const ptr0 = passArrayF32ToWasm0(anchors, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setExtrusionAnchors(this.__wbg_ptr, id, key, ptr0, len0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Adds or replaces batch `key` of an extrusion layer: polygons as for `addFills`, `feature_count` features (the\n * feature style gives each its height and base height as its two sizes, metres)\n * @param {number} id\n * @param {number} key\n * @param {Float64Array} points\n * @param {Uint32Array} ring_start\n * @param {Uint32Array} polygon_start\n * @param {Uint32Array} feature\n * @param {number} feature_count\n */\n setExtrusionBatch(id, key, points, ring_start, polygon_start, feature, feature_count) {\n const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(ring_start, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArray32ToWasm0(polygon_start, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setExtrusionBatch(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, feature_count);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Layer-wide style of a feature layer: opacity as zoom stops (four zooms then four values), the zoom range it\n * shows in (`min_zoom` included, `max_zoom` excluded), whether it shows at all\n * @param {number} id\n * @param {Float32Array} opacity\n * @param {number} min_zoom\n * @param {number} max_zoom\n * @param {boolean} visible\n */\n setFeatureLayer(id, opacity, min_zoom, max_zoom, visible) {\n const ptr0 = passArrayF32ToWasm0(opacity, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setFeatureLayer(this.__wbg_ptr, id, ptr0, len0, min_zoom, max_zoom, visible);\n }\n /**\n * One byte per feature, 0 hiding it (the filter)\n * @param {number} id\n * @param {Uint8Array} mask\n * @param {number | null} [key]\n */\n setFeatureMask(id, mask, key) {\n const ptr0 = passArray8ToWasm0(mask, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setFeatureMask(this.__wbg_ptr, id, ptr0, len0, isLikeNone(key) ? Number.MAX_SAFE_INTEGER : (key) >>> 0);\n }\n /**\n * Colors of the values `min` to `max`, 256 RGBA texels (1024 bytes); undefined: none\n * @param {number} id\n * @param {Uint8Array | null | undefined} rgba\n * @param {number} min\n * @param {number} max\n */\n setFeatureRamp(id, rgba, min, max) {\n var ptr0 = isLikeNone(rgba) ? 0 : passArray8ToWasm0(rgba, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.engine_setFeatureRamp(this.__wbg_ptr, id, ptr0, len0, min, max);\n }\n /**\n * Style of the features of a line, circle, fill or extrusion layer (batch `key` of the latter): 32 floats per\n * feature, its color (RGBA 0-1), its second color (a circle's stroke), then two sizes as zoom stops (four zooms,\n * four values each): a line's width; a circle's radius and stroke width, CSS pixels; a block's height and base\n * height, metres\n * @param {number} id\n * @param {Float32Array} style\n * @param {number | null} [key]\n */\n setFeatureStyle(id, style, key) {\n const ptr0 = passArrayF32ToWasm0(style, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setFeatureStyle(this.__wbg_ptr, id, ptr0, len0, isLikeNone(key) ? Number.MAX_SAFE_INTEGER : (key) >>> 0);\n }\n /**\n * One value per feature, colored through the layer's ramp (`setFeatureRamp`); 1e30 or NaN: its own color\n * @param {number} id\n * @param {Float32Array} values\n * @param {number | null} [key]\n */\n setFeatureValues(id, values, key) {\n const ptr0 = passArrayF32ToWasm0(values, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setFeatureValues(this.__wbg_ptr, id, ptr0, len0, isLikeNone(key) ? Number.MAX_SAFE_INTEGER : (key) >>> 0);\n }\n /**\n * New polygons for a fill layer (same arguments as `addFills`, the same features)\n * @param {number} id\n * @param {Float64Array} points\n * @param {Uint32Array} ring_start\n * @param {Uint32Array} polygon_start\n * @param {Uint32Array} feature\n */\n setFills(id, points, ring_start, polygon_start, feature) {\n const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(ring_start, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArray32ToWasm0(polygon_start, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n wasm.engine_setFills(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);\n }\n /**\n * Color of the globe under the tiles (polar caps)\n * @param {number} r\n * @param {number} g\n * @param {number} b\n */\n setGlobeColor(r, g, b) {\n wasm.engine_setGlobeColor(this.__wbg_ptr, r, g, b);\n }\n /**\n * Globe (true) or Web Mercator (false)\n * @param {boolean} globe\n */\n setGlobe(globe) {\n wasm.engine_setGlobe(this.__wbg_ptr, globe);\n }\n /**\n * The glyph atlas shared by the symbol layers, one page: `width` × `height` bytes of signed distances\n * (allocated again, filled with `data` if given)\n * @param {number} width\n * @param {number} height\n * @param {Uint8Array | null} [data]\n */\n setGlyphAtlas(width, height, data) {\n var ptr0 = isLikeNone(data) ? 0 : passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setGlyphAtlas(this.__wbg_ptr, width, height, ptr0, len0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * The glyph atlas shared by the symbol layers, `pages` pages of `width` × `height` bytes of signed distances,\n * allocated again and empty (`updateGlyphPage` fills them). A glyph on page `p` at row `v` has the atlas\n * coordinate `v + p × height`\n * @param {number} width\n * @param {number} height\n * @param {number} pages\n */\n setGlyphPages(width, height, pages) {\n const ret = wasm.engine_setGlyphPages(this.__wbg_ptr, width, height, pages);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * @param {number} id\n * @param {number} min_x\n * @param {number} min_y\n * @param {number} max_x\n * @param {number} max_y\n */\n setGroundBounds(id, min_x, min_y, max_x, max_y) {\n wasm.engine_setGroundBounds(this.__wbg_ptr, id, min_x, min_y, max_x, max_y);\n }\n /**\n * Creates the texture of sampler `name` (`format`: r8, r8ui, r16ui, r16i, r32ui, r32f, rg16ui, rg32f, rgba8,\n * rgba8ui, rgba16ui, rgba32f; `depth` 0 for 2D, else a 2D array of that many layers; `linear` filtering for the\n * non-integer formats); `data`: its texels as bytes, or undefined for an empty texture\n * @param {number} id\n * @param {string} name\n * @param {string} format\n * @param {number} width\n * @param {number} height\n * @param {number} depth\n * @param {boolean} linear\n * @param {Uint8Array | null} [data]\n */\n setGroundTexture(id, name, format, width, height, depth, linear, data) {\n const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n var ptr2 = isLikeNone(data) ? 0 : passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len2 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setGroundTexture(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, width, height, depth, linear, ptr2, len2);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * A uniform of a ground layer's code, as numbers\n * @param {number} id\n * @param {string} name\n * @param {Float64Array} values\n */\n setGroundUniform(id, name, values) {\n const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF64ToWasm0(values, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setGroundUniform(this.__wbg_ptr, id, ptr0, len0, ptr1, len1);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * @param {number} id\n * @param {boolean} visible\n */\n setGroundVisible(id, visible) {\n wasm.engine_setGroundVisible(this.__wbg_ptr, id, visible);\n }\n /**\n * The icon atlas shared by the symbol layers: `width` × `height` RGBA texels, premultiplied, allocated again\n * and empty (`updateIconAtlas` fills it)\n * @param {number} width\n * @param {number} height\n */\n setIconAtlas(width, height) {\n const ret = wasm.engine_setIconAtlas(this.__wbg_ptr, width, height);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * How tiles load and show: `true`, immediately (everything visible loads, no fade, the default); `false`,\n * smoothly (levels skipped during flights, off-center tiles waiting while the camera moves, fade-in)\n * @param {boolean} immediate\n */\n setImmediateLoading(immediate) {\n wasm.engine_setImmediateLoading(this.__wbg_ptr, immediate);\n }\n /**\n * Dashes of a line layer, in line widths (`MapLibre`'s `line-dasharray`); 0, 0: solid\n * @param {number} id\n * @param {number} dash\n * @param {number} gap\n */\n setLineDash(id, dash, gap) {\n wasm.engine_setLineDash(this.__wbg_ptr, id, dash, gap);\n }\n /**\n * New lines for a line layer (same arguments as `addLines`, the same features)\n * @param {number} id\n * @param {Float64Array} points\n * @param {Uint32Array} start\n * @param {Uint32Array} feature\n */\n setLines(id, points, start, feature) {\n const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(start, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setLines(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Highest pitch the camera accepts, degrees (up to 85)\n * @param {number} max\n */\n setMaxPitch(max) {\n wasm.engine_setMaxPitch(this.__wbg_ptr, max);\n }\n /**\n * Replaces the instances of a model layer (as for `addModels`) and the reference of their altitudes\n * @param {number} id\n * @param {Float64Array} instances\n * @param {boolean} ground\n */\n setModelInstances(id, instances, ground) {\n const ptr0 = passArrayF64ToWasm0(instances, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setModelInstances(this.__wbg_ptr, id, ptr0, len0, ground);\n }\n /**\n * Costs of a network's edges (see `addNetwork`), when the way it is travelled changes; null: interpolated values\n * @param {number} id\n * @param {Float32Array | null} [costs]\n */\n setNetworkCosts(id, costs) {\n var ptr0 = isLikeNone(costs) ? 0 : passArrayF32ToWasm0(costs, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.engine_setNetworkCosts(this.__wbg_ptr, id, ptr0, len0);\n }\n /**\n * Colors of the values from 0 to the maximum, 256 RGBA texels (1024 bytes); undefined: green to red\n * @param {number} id\n * @param {Uint8Array | null} [rgba]\n */\n setNetworkRamp(id, rgba) {\n var ptr0 = isLikeNone(rgba) ? 0 : passArray8ToWasm0(rgba, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.engine_setNetworkRamp(this.__wbg_ptr, id, ptr0, len0);\n }\n /**\n * Width factor of each edge (1 without): rail lines wider than streets\n * @param {number} id\n * @param {Float32Array | null} [scales]\n */\n setNetworkScales(id, scales) {\n var ptr0 = isLikeNone(scales) ? 0 : passArrayF32ToWasm0(scales, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.engine_setNetworkScales(this.__wbg_ptr, id, ptr0, len0);\n }\n /**\n * Style of a network: width (CSS pixels) and halo width as zoom stops (8 numbers each: four zooms, four values),\n * then the maximum, the contour interval, the opacity, the halo opacity, the color of the unreached parts (RGBA\n * 0-1) and the share of the maximum over which the colors fade out: 25 numbers\n * @param {number} id\n * @param {Float32Array} style\n */\n setNetworkStyle(id, style) {\n const ptr0 = passArrayF32ToWasm0(style, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setNetworkStyle(this.__wbg_ptr, id, ptr0, len0);\n }\n /**\n * One value per node; negative = unreached\n * @param {number} id\n * @param {Float32Array} values\n */\n setNetworkValues(id, values) {\n const ptr0 = passArrayF32ToWasm0(values, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setNetworkValues(this.__wbg_ptr, id, ptr0, len0);\n }\n /**\n * The style of a point cloud: 14 numbers (see `Style::parse`), the colors of the 256 classes (RGBA,\n * alpha 0 hides a class) and the ramp of the altitudes (256 RGBA texels)\n * @param {number} id\n * @param {Float64Array} style\n * @param {Uint8Array} palette\n * @param {Uint8Array} ramp\n */\n setPointCloudStyle(id, style, palette, ramp) {\n const ptr0 = passArrayF64ToWasm0(style, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray8ToWasm0(palette, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArray8ToWasm0(ramp, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n wasm.engine_setPointCloudStyle(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2);\n }\n /**\n * @param {number} id\n * @param {number} opacity\n * @param {number} saturation\n */\n setRasterStyle(id, opacity, saturation) {\n wasm.engine_setRasterStyle(this.__wbg_ptr, id, opacity, saturation);\n }\n /**\n * Space behind the globe (stars, atmosphere halo), in the globe projection\n * @param {boolean} enabled\n */\n setSky(enabled) {\n wasm.engine_setSky(this.__wbg_ptr, enabled);\n }\n /**\n * Layer-wide style of a symbol layer: size scale and opacity as zoom stops (four zooms then four values each),\n * zoom range, visibility\n * @param {number} id\n * @param {Float32Array} size\n * @param {Float32Array} opacity\n * @param {number} min_zoom\n * @param {number} max_zoom\n * @param {boolean} visible\n */\n setSymbolLayer(id, size, opacity, min_zoom, max_zoom, visible) {\n const ptr0 = passArrayF32ToWasm0(size, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF32ToWasm0(opacity, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n wasm.engine_setSymbolLayer(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, min_zoom, max_zoom, visible);\n }\n /**\n * Labels of a symbol layer, shaped by the page: anchors (Mercator, interleaved), their texts' boxes (min x, min y,\n * max x, max y, CSS pixels from the anchor), styles (36 floats each, see `LABEL_FLOATS`) and glyph and icon quads\n * (11 floats each, see `QUAD_FLOATS`)\n * @param {number} id\n * @param {Float64Array} anchors\n * @param {Float32Array} boxes\n * @param {Float32Array} styles\n * @param {Float32Array} quads\n */\n setSymbols(id, anchors, boxes, styles, quads) {\n const ptr0 = passArrayF64ToWasm0(anchors, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF32ToWasm0(boxes, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArrayF32ToWasm0(styles, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passArrayF32ToWasm0(quads, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setSymbols(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Relief under the raster layers, from raw altitudes (`image/x-bil;bits=32`, 256 × 256, or the same followed by\n * the validity mask of an `ArcGIS` raw grid): `url` is a template with `{bbox}` (WMS `GetMap` in EPSG:3857, or in\n * the Mercator metres of another body) or `{z}/{x}/{y}`; `undefined` turns it off. `exaggeration` scales the\n * heights (1: true relief); `max_z`: finest level loaded (up to 15, from 6 on the Earth, coarser on bodies of a\n * larger relief for their size: `terrain_levels`); `geoid`: altitudes raised by the RAF20 geoid height (heights\n * above the ellipsoid, those of 3D Tiles; over France, on the Earth only), else left as served (the default);\n * `loader`: gives the\n * altitudes of each tile instead of fetching `url` (an encoding decoded by the page: Terrarium, Terrain-RGB)\n * @param {string | null | undefined} url\n * @param {number} exaggeration\n * @param {number | null | undefined} max_z\n * @param {boolean | null | undefined} geoid\n * @param {((z: number, x: number, y: number, signal: AbortSignal) => Promise<Float32Array | null>) | undefined} loader\n */\n setTerrain(url, exaggeration, max_z, geoid, loader) {\n var ptr0 = isLikeNone(url) ? 0 : passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setTerrain(this.__wbg_ptr, ptr0, len0, exaggeration, isLikeNone(max_z) ? 0xFFFFFF : max_z, isLikeNone(geoid) ? 0xFFFFFF : geoid ? 1 : 0, isLikeNone(loader) ? 0 : addToExternrefTable0(loader));\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Pool of workers that fetch and decode 3D Tiles content off the main thread: an object with\n * `load(id, url, transform, yUp, reload, priority) → Promise<{ anchor, primitives }>` and `abort(id)`. Without\n * it, tiles are decoded on the main thread. Set it before adding 3D Tiles layers.\n * @param {TileLoaderLike | null} loader\n */\n setTileLoader(loader) {\n wasm.engine_setTileLoader(this.__wbg_ptr, loader);\n }\n /**\n * Screen-space error threshold, opacity and size of the points (CSS pixels, 2 if not given) of a 3D Tiles layer\n * @param {number} id\n * @param {number} max_error\n * @param {number} opacity\n * @param {number | null} [point_size]\n */\n setTiles3dStyle(id, max_error, opacity, point_size) {\n wasm.engine_setTiles3dStyle(this.__wbg_ptr, id, max_error, opacity, !isLikeNone(point_size), isLikeNone(point_size) ? 0 : point_size);\n }\n /**\n * @param {number} min\n * @param {number} max\n */\n setZoomRange(min, max) {\n wasm.engine_setZoomRange(this.__wbg_ptr, min, max);\n }\n /**\n * Tile counters of the raster layers, for diagnostics\n * @returns {RasterLayerStats[]}\n */\n stats() {\n const ret = wasm.engine_stats(this.__wbg_ptr);\n return ret;\n }\n /**\n * Compressed texture formats of the GPU (their WebGL extensions get enabled), for the KTX2 transcoding\n * @returns {TextureFormats}\n */\n textureFormats() {\n const ret = wasm.engine_textureFormats(this.__wbg_ptr);\n return ret;\n }\n /**\n * Counters of a 3D Tiles layer, undefined if there is none with this id\n * @param {number} id\n * @returns {Tiles3dStats | undefined}\n */\n tiles3dStats(id) {\n const ret = wasm.engine_tiles3dStats(this.__wbg_ptr, id);\n return ret;\n }\n /**\n * A region of the first page of the glyph atlas: `width` × `height` bytes at (`x`, `y`)\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {Uint8Array} data\n */\n updateGlyphAtlas(x, y, width, height, data) {\n const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_updateGlyphAtlas(this.__wbg_ptr, x, y, width, height, ptr0, len0);\n }\n /**\n * A region of a page of the glyph atlas: `width` × `height` bytes at (`x`, `y`) of the page\n * @param {number} page\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {Uint8Array} data\n */\n updateGlyphPage(page, x, y, width, height, data) {\n const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_updateGlyphPage(this.__wbg_ptr, page, x, y, width, height, ptr0, len0);\n }\n /**\n * Replaces a region of a ground layer's texture (one layer of a 2D array)\n * @param {number} id\n * @param {string} name\n * @param {number} x\n * @param {number} y\n * @param {number} layer\n * @param {number} width\n * @param {number} height\n * @param {Uint8Array} data\n */\n updateGroundTexture(id, name, x, y, layer, width, height, data) {\n const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.engine_updateGroundTexture(this.__wbg_ptr, id, ptr0, len0, x, y, layer, width, height, ptr1, len1);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * A region of the icon atlas: `width` × `height` RGBA texels (premultiplied) at (`x`, `y`)\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {Uint8Array} data\n */\n updateIconAtlas(x, y, width, height, data) {\n const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_updateIconAtlas(this.__wbg_ptr, x, y, width, height, ptr0, len0);\n }\n /**\n * @param {number} delta\n * @param {number} x\n * @param {number} y\n */\n zoomAt(delta, x, y) {\n wasm.engine_zoomAt(this.__wbg_ptr, delta, x, y);\n }\n}\nif (Symbol.dispose) Engine.prototype[Symbol.dispose] = Engine.prototype.free;\n\n/**\n * Decodes a `.b3dm` / `.pnts` / `.glb` tile: `{ anchor: Float64Array(3), primitives: [{ vertices: Float32Array (x,\n * y, z, u, v per vertex, relative to the anchor), indices: Uint32Array, image?: Uint8Array, mime?: string, color?:\n * Float32Array (the material's base color, when not white) }], points: [Uint8Array] (the points' vertices) }`.\n * `transform`: the tile's world transform (16 numbers, column-major).\n * `draco`: the decoded geometries of its Draco primitives (`dracoRequests`), if any.\n * @param {Uint8Array} bytes\n * @param {Float64Array} transform\n * @param {boolean} y_up\n * @param {DracoGeometry[] | undefined} draco\n * @returns {EncodedTile}\n */\nexport function decodeTile(bytes, transform, y_up, draco) {\n const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF64ToWasm0(transform, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.decodeTile(ptr0, len0, ptr1, len1, y_up, draco);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n}\n\n/**\n * The Draco-compressed primitives of a tile, to decode before `decodeTile`\n * @param {Uint8Array} bytes\n * @returns {DracoRequest[]}\n */\nexport function dracoRequests(bytes) {\n const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.dracoRequests(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n}\nfunction __wbg_get_imports() {\n const import0 = {\n __proto__: null,\n __wbg___wbindgen_boolean_get_5b446f51afd21013: function(arg0) {\n const v = arg0;\n const ret = typeof(v) === 'boolean' ? v : undefined;\n return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n },\n __wbg___wbindgen_debug_string_4687d8d8c2017d52: function(arg0, arg1) {\n const ret = debugString(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_is_falsy_16bd49b68658263e: function(arg0) {\n const ret = !arg0;\n return ret;\n },\n __wbg___wbindgen_is_function_1f9d30630b8b1d3d: function(arg0) {\n const ret = typeof(arg0) === 'function';\n return ret;\n },\n __wbg___wbindgen_is_null_e343b7d08827ba72: function(arg0) {\n const ret = arg0 === null;\n return ret;\n },\n __wbg___wbindgen_is_object_3c45d4f2dde4e749: function(arg0) {\n const val = arg0;\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n },\n __wbg___wbindgen_is_undefined_8865fb403f8fe9d8: function(arg0) {\n const ret = arg0 === undefined;\n return ret;\n },\n __wbg___wbindgen_number_get_2e0e7dee9f701a71: function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'number' ? obj : undefined;\n getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n },\n __wbg___wbindgen_string_get_0380ccaa2f57f0d9: function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_throw_41e9ee4f547fc59a: function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n },\n __wbg__wbg_cb_unref_dcc1a90847f04c41: function(arg0) {\n arg0._wbg_cb_unref();\n },\n __wbg_abort_f78b99d80248bacb: function(arg0) {\n arg0.abort();\n },\n __wbg_aborted_5b2b5f06b5e59fde: function(arg0) {\n const ret = arg0.aborted;\n return ret;\n },\n __wbg_activeTexture_11079673eac5c921: function(arg0, arg1) {\n arg0.activeTexture(arg1 >>> 0);\n },\n __wbg_activeTexture_2fad46c01cafe6b1: function(arg0, arg1) {\n arg0.activeTexture(arg1 >>> 0);\n },\n __wbg_apply_a910804df6e1e433: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.apply(arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_arrayBuffer_f07be74819944ea2: function() { return handleError(function (arg0) {\n const ret = arg0.arrayBuffer();\n return ret;\n }, arguments); },\n __wbg_attachShader_8920a5beea54aba7: function(arg0, arg1, arg2) {\n arg0.attachShader(arg1, arg2);\n },\n __wbg_attachShader_9567ae57af6746d5: function(arg0, arg1, arg2) {\n arg0.attachShader(arg1, arg2);\n },\n __wbg_bindBuffer_0324f62b876c4403: function(arg0, arg1, arg2) {\n arg0.bindBuffer(arg1 >>> 0, arg2);\n },\n __wbg_bindBuffer_2195e89b585ce0c3: function(arg0, arg1, arg2) {\n arg0.bindBuffer(arg1 >>> 0, arg2);\n },\n __wbg_bindFramebuffer_22e4b8e6e6d8d0e8: function(arg0, arg1, arg2) {\n arg0.bindFramebuffer(arg1 >>> 0, arg2);\n },\n __wbg_bindFramebuffer_378eb18ef219d37a: function(arg0, arg1, arg2) {\n arg0.bindFramebuffer(arg1 >>> 0, arg2);\n },\n __wbg_bindRenderbuffer_db090531fb28de34: function(arg0, arg1, arg2) {\n arg0.bindRenderbuffer(arg1 >>> 0, arg2);\n },\n __wbg_bindRenderbuffer_e0c5aeef245a913a: function(arg0, arg1, arg2) {\n arg0.bindRenderbuffer(arg1 >>> 0, arg2);\n },\n __wbg_bindTexture_3cf008f256f3ed99: function(arg0, arg1, arg2) {\n arg0.bindTexture(arg1 >>> 0, arg2);\n },\n __wbg_bindTexture_613a47b8917a0ccd: function(arg0, arg1, arg2) {\n arg0.bindTexture(arg1 >>> 0, arg2);\n },\n __wbg_bindVertexArrayOES_3141815cb8234a6e: function(arg0, arg1) {\n arg0.bindVertexArrayOES(arg1);\n },\n __wbg_bindVertexArray_f58af0a346185ec5: function(arg0, arg1) {\n arg0.bindVertexArray(arg1);\n },\n __wbg_blendEquation_5fb8aee6a55cf900: function(arg0, arg1) {\n arg0.blendEquation(arg1 >>> 0);\n },\n __wbg_blendEquation_d21914e937b14896: function(arg0, arg1) {\n arg0.blendEquation(arg1 >>> 0);\n },\n __wbg_blendFuncSeparate_28abe082febb1a26: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0);\n },\n __wbg_blendFuncSeparate_2af9d47f7efc0452: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0);\n },\n __wbg_blendFunc_491ee1105079ce76: function(arg0, arg1, arg2) {\n arg0.blendFunc(arg1 >>> 0, arg2 >>> 0);\n },\n __wbg_blendFunc_589e4252bb396484: function(arg0, arg1, arg2) {\n arg0.blendFunc(arg1 >>> 0, arg2 >>> 0);\n },\n __wbg_blob_232135c7e297b861: function() { return handleError(function (arg0) {\n const ret = arg0.blob();\n return ret;\n }, arguments); },\n __wbg_bufferData_50f5eb06469330e4: function(arg0, arg1, arg2, arg3) {\n arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0);\n },\n __wbg_bufferData_53e0f7a06b58fe81: function(arg0, arg1, arg2, arg3) {\n arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0);\n },\n __wbg_bufferData_5fa44d94fe7a3878: function(arg0, arg1, arg2, arg3) {\n arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0);\n },\n __wbg_bufferData_bad7ce562b6a9eac: function(arg0, arg1, arg2, arg3) {\n arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0);\n },\n __wbg_byteLength_141bda7c7c28aa72: function(arg0) {\n const ret = arg0.byteLength;\n return ret;\n },\n __wbg_byteLength_18a1704c0bf397bb: function(arg0) {\n const ret = arg0.byteLength;\n return ret;\n },\n __wbg_byteLength_27689b065d089962: function(arg0) {\n const ret = arg0.byteLength;\n return ret;\n },\n __wbg_byteLength_9f985b8373f1f3fe: function(arg0) {\n const ret = arg0.byteLength;\n return ret;\n },\n __wbg_call_01721c8c75200a10: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5) {\n const ret = arg0.call(arg1, arg2, arg3, arg4, arg5);\n return ret;\n }, arguments); },\n __wbg_call_187d372bd5fdd4aa: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.call(arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_call_6137034ef55c9d0f: function() { return handleError(function (arg0, arg1) {\n const ret = arg0.call(arg1);\n return ret;\n }, arguments); },\n __wbg_clearColor_3f6aa096dc12e8b7: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.clearColor(arg1, arg2, arg3, arg4);\n },\n __wbg_clearColor_796427e8ac60fe14: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.clearColor(arg1, arg2, arg3, arg4);\n },\n __wbg_clearDepth_4840a5497ae51286: function(arg0, arg1) {\n arg0.clearDepth(arg1);\n },\n __wbg_clearDepth_5a119c24c5d193bc: function(arg0, arg1) {\n arg0.clearDepth(arg1);\n },\n __wbg_clearStencil_1b8b8c727f598eec: function(arg0, arg1) {\n arg0.clearStencil(arg1);\n },\n __wbg_clearStencil_e4383e4a543e7997: function(arg0, arg1) {\n arg0.clearStencil(arg1);\n },\n __wbg_clear_175cf3cb6d98d72b: function(arg0, arg1) {\n arg0.clear(arg1 >>> 0);\n },\n __wbg_clear_cb96796cc568b7c8: function(arg0, arg1) {\n arg0.clear(arg1 >>> 0);\n },\n __wbg_close_355afba6ea5ad1ae: function(arg0) {\n arg0.close();\n },\n __wbg_colorMask_4d6afbbbc3022fbe: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0);\n },\n __wbg_colorMask_8c903995f6f873be: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0);\n },\n __wbg_compileShader_073a75409aaf96d2: function(arg0, arg1) {\n arg0.compileShader(arg1);\n },\n __wbg_compileShader_c2b53ff3a8851f60: function(arg0, arg1) {\n arg0.compileShader(arg1);\n },\n __wbg_compressedTexImage2D_93d2b30687f2cfad: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n arg0.compressedTexImage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6, arg7);\n },\n __wbg_createBuffer_d1dd23bf8704564c: function(arg0) {\n const ret = arg0.createBuffer();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createBuffer_ffe613371d42cfd3: function(arg0) {\n const ret = arg0.createBuffer();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createFramebuffer_2c6b5b0f49c88e5d: function(arg0) {\n const ret = arg0.createFramebuffer();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createFramebuffer_d0969af4e9886297: function(arg0) {\n const ret = arg0.createFramebuffer();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createImageBitmap_1b985e01e4c81baa: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.createImageBitmap(arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_createImageBitmap_69996a36c51d409f: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.createImageBitmap(arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_createProgram_cbf448e6f18a9402: function(arg0) {\n const ret = arg0.createProgram();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createProgram_e0c81b0d2b8d0fd0: function(arg0) {\n const ret = arg0.createProgram();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createRenderbuffer_2b17e9fe2e6fb4be: function(arg0) {\n const ret = arg0.createRenderbuffer();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createRenderbuffer_c864095d6ebd60d0: function(arg0) {\n const ret = arg0.createRenderbuffer();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createShader_6c1a2295587878a5: function(arg0, arg1) {\n const ret = arg0.createShader(arg1 >>> 0);\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createShader_7c9d99a21ecb08c0: function(arg0, arg1) {\n const ret = arg0.createShader(arg1 >>> 0);\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createTexture_01e8e591b64237de: function(arg0) {\n const ret = arg0.createTexture();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createTexture_5f2583508ebe379b: function(arg0) {\n const ret = arg0.createTexture();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createVertexArrayOES_a8dc8498b56df937: function(arg0) {\n const ret = arg0.createVertexArrayOES();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_createVertexArray_b223ea69dd08fcab: function(arg0) {\n const ret = arg0.createVertexArray();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_cullFace_12123c1c97f1ba2c: function(arg0, arg1) {\n arg0.cullFace(arg1 >>> 0);\n },\n __wbg_cullFace_1a01f0b6d5aeb687: function(arg0, arg1) {\n arg0.cullFace(arg1 >>> 0);\n },\n __wbg_deleteBuffer_070e58aaaf2a7a8b: function(arg0, arg1) {\n arg0.deleteBuffer(arg1);\n },\n __wbg_deleteBuffer_7775ee9e248c8468: function(arg0, arg1) {\n arg0.deleteBuffer(arg1);\n },\n __wbg_deleteFramebuffer_3f8ab330098bf8e6: function(arg0, arg1) {\n arg0.deleteFramebuffer(arg1);\n },\n __wbg_deleteFramebuffer_570d3b214a509fa2: function(arg0, arg1) {\n arg0.deleteFramebuffer(arg1);\n },\n __wbg_deleteProgram_822906f0368175d0: function(arg0, arg1) {\n arg0.deleteProgram(arg1);\n },\n __wbg_deleteProgram_b524b30ad176cdb4: function(arg0, arg1) {\n arg0.deleteProgram(arg1);\n },\n __wbg_deleteRenderbuffer_826c9b43b7ea68f5: function(arg0, arg1) {\n arg0.deleteRenderbuffer(arg1);\n },\n __wbg_deleteRenderbuffer_f4e121a3ab21c605: function(arg0, arg1) {\n arg0.deleteRenderbuffer(arg1);\n },\n __wbg_deleteShader_a70f6cc1918d67eb: function(arg0, arg1) {\n arg0.deleteShader(arg1);\n },\n __wbg_deleteShader_da18a294158c2d15: function(arg0, arg1) {\n arg0.deleteShader(arg1);\n },\n __wbg_deleteSync_4f0be28b03f50495: function(arg0, arg1) {\n arg0.deleteSync(arg1);\n },\n __wbg_deleteTexture_78c170241204a466: function(arg0, arg1) {\n arg0.deleteTexture(arg1);\n },\n __wbg_deleteTexture_9f42750adb092e4f: function(arg0, arg1) {\n arg0.deleteTexture(arg1);\n },\n __wbg_deleteVertexArrayOES_e01f31634d466176: function(arg0, arg1) {\n arg0.deleteVertexArrayOES(arg1);\n },\n __wbg_deleteVertexArray_ca9768805d051d49: function(arg0, arg1) {\n arg0.deleteVertexArray(arg1);\n },\n __wbg_depthFunc_92e96d8f46a23300: function(arg0, arg1) {\n arg0.depthFunc(arg1 >>> 0);\n },\n __wbg_depthFunc_a41fb5adacb22e09: function(arg0, arg1) {\n arg0.depthFunc(arg1 >>> 0);\n },\n __wbg_depthMask_06ecff4d4514c38f: function(arg0, arg1) {\n arg0.depthMask(arg1 !== 0);\n },\n __wbg_depthMask_0d7c3dec3b8405ee: function(arg0, arg1) {\n arg0.depthMask(arg1 !== 0);\n },\n __wbg_depthRange_24c7969249461e8e: function(arg0, arg1, arg2) {\n arg0.depthRange(arg1, arg2);\n },\n __wbg_depthRange_6a4e169ccf314148: function(arg0, arg1, arg2) {\n arg0.depthRange(arg1, arg2);\n },\n __wbg_detachShader_1ed15fc2d289cf15: function(arg0, arg1, arg2) {\n arg0.detachShader(arg1, arg2);\n },\n __wbg_detachShader_67dabaaad80a795e: function(arg0, arg1, arg2) {\n arg0.detachShader(arg1, arg2);\n },\n __wbg_disable_19fe787eccdf0272: function(arg0, arg1) {\n arg0.disable(arg1 >>> 0);\n },\n __wbg_disable_81b2cb5f8cea15ae: function(arg0, arg1) {\n arg0.disable(arg1 >>> 0);\n },\n __wbg_drawArraysInstancedANGLE_b76512b5abba6668: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.drawArraysInstancedANGLE(arg1 >>> 0, arg2, arg3, arg4);\n },\n __wbg_drawArraysInstanced_9b44aa78a087154d: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.drawArraysInstanced(arg1 >>> 0, arg2, arg3, arg4);\n },\n __wbg_drawArrays_08872e02fb57b847: function(arg0, arg1, arg2, arg3) {\n arg0.drawArrays(arg1 >>> 0, arg2, arg3);\n },\n __wbg_drawArrays_741af5c3f8db636f: function(arg0, arg1, arg2, arg3) {\n arg0.drawArrays(arg1 >>> 0, arg2, arg3);\n },\n __wbg_drawElementsInstancedANGLE_c3fc0cfa9e29a1bc: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.drawElementsInstancedANGLE(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5);\n },\n __wbg_drawElementsInstanced_d7c396aa034159b6: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.drawElementsInstanced(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5);\n },\n __wbg_drawElements_c8988ba71de1101a: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.drawElements(arg1 >>> 0, arg2, arg3 >>> 0, arg4);\n },\n __wbg_drawElements_cc1e6c631e89eddf: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.drawElements(arg1 >>> 0, arg2, arg3 >>> 0, arg4);\n },\n __wbg_enableVertexAttribArray_1496b78a8dbab9fd: function(arg0, arg1) {\n arg0.enableVertexAttribArray(arg1 >>> 0);\n },\n __wbg_enableVertexAttribArray_d52693866bc8b8dd: function(arg0, arg1) {\n arg0.enableVertexAttribArray(arg1 >>> 0);\n },\n __wbg_enable_6eeb9c0e9b483cee: function(arg0, arg1) {\n arg0.enable(arg1 >>> 0);\n },\n __wbg_enable_cb4fc19b51148c37: function(arg0, arg1) {\n arg0.enable(arg1 >>> 0);\n },\n __wbg_error_c9cf3fc2064683a9: function(arg0) {\n console.error(arg0);\n },\n __wbg_fenceSync_330293024adb66bc: function(arg0, arg1, arg2) {\n const ret = arg0.fenceSync(arg1 >>> 0, arg2 >>> 0);\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_fetch_b322877f1ed6457d: function(arg0, arg1, arg2, arg3) {\n const ret = arg0.fetch(getStringFromWasm0(arg1, arg2), arg3);\n return ret;\n },\n __wbg_flush_13b162660ad850d2: function(arg0) {\n arg0.flush();\n },\n __wbg_flush_a5ad38200881ac35: function(arg0) {\n arg0.flush();\n },\n __wbg_framebufferRenderbuffer_1c6337e0030411f3: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4);\n },\n __wbg_framebufferRenderbuffer_f019e9231b142c0d: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4);\n },\n __wbg_framebufferTexture2D_73c52f23ec33aa22: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5);\n },\n __wbg_framebufferTexture2D_caddefa1f767646e: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5);\n },\n __wbg_from_296ca31f8d0f1c52: function(arg0) {\n const ret = Array.from(arg0);\n return ret;\n },\n __wbg_frontFace_6751b4b97f997aeb: function(arg0, arg1) {\n arg0.frontFace(arg1 >>> 0);\n },\n __wbg_frontFace_b064adb15b6f3772: function(arg0, arg1) {\n arg0.frontFace(arg1 >>> 0);\n },\n __wbg_generateMipmap_c63604006bfa52d5: function(arg0, arg1) {\n arg0.generateMipmap(arg1 >>> 0);\n },\n __wbg_generateMipmap_cd49f6eec9558721: function(arg0, arg1) {\n arg0.generateMipmap(arg1 >>> 0);\n },\n __wbg_getActiveUniform_239de631a40c387a: function(arg0, arg1, arg2) {\n const ret = arg0.getActiveUniform(arg1, arg2 >>> 0);\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_getActiveUniform_f2052b3c57679fe2: function(arg0, arg1, arg2) {\n const ret = arg0.getActiveUniform(arg1, arg2 >>> 0);\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_getBufferSubData_dd23246099b166d1: function(arg0, arg1, arg2, arg3) {\n arg0.getBufferSubData(arg1 >>> 0, arg2, arg3);\n },\n __wbg_getContext_051324720aa5b7e8: function() { return handleError(function (arg0, arg1, arg2, arg3) {\n const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3);\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n }, arguments); },\n __wbg_getExtension_abfda2c5db286b07: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.getExtension(getStringFromWasm0(arg1, arg2));\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n }, arguments); },\n __wbg_getParameter_974595a6624c6c10: function() { return handleError(function (arg0, arg1) {\n const ret = arg0.getParameter(arg1 >>> 0);\n return ret;\n }, arguments); },\n __wbg_getParameter_a97f491753b05668: function() { return handleError(function (arg0, arg1) {\n const ret = arg0.getParameter(arg1 >>> 0);\n return ret;\n }, arguments); },\n __wbg_getProgramInfoLog_208fb1ff31006495: function(arg0, arg1, arg2) {\n const ret = arg1.getProgramInfoLog(arg2);\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg_getProgramInfoLog_3276b294d6d42fe2: function(arg0, arg1, arg2) {\n const ret = arg1.getProgramInfoLog(arg2);\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg_getProgramParameter_50bafab01cf88652: function(arg0, arg1, arg2) {\n const ret = arg0.getProgramParameter(arg1, arg2 >>> 0);\n return ret;\n },\n __wbg_getProgramParameter_fc7124bb9fb7c675: function(arg0, arg1, arg2) {\n const ret = arg0.getProgramParameter(arg1, arg2 >>> 0);\n return ret;\n },\n __wbg_getShaderInfoLog_7e0cbba353ca95da: function(arg0, arg1, arg2) {\n const ret = arg1.getShaderInfoLog(arg2);\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg_getShaderInfoLog_bb64c5a52df0b7a3: function(arg0, arg1, arg2) {\n const ret = arg1.getShaderInfoLog(arg2);\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg_getShaderParameter_745acf10b8e45e31: function(arg0, arg1, arg2) {\n const ret = arg0.getShaderParameter(arg1, arg2 >>> 0);\n return ret;\n },\n __wbg_getShaderParameter_e55ea9c456df5484: function(arg0, arg1, arg2) {\n const ret = arg0.getShaderParameter(arg1, arg2 >>> 0);\n return ret;\n },\n __wbg_getSupportedExtensions_1459bad37860c0c3: function(arg0) {\n const ret = arg0.getSupportedExtensions();\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_getSyncParameter_bb4be47b67bfa2f8: function(arg0, arg1, arg2) {\n const ret = arg0.getSyncParameter(arg1, arg2 >>> 0);\n return ret;\n },\n __wbg_getUniformLocation_50ba45dade572703: function(arg0, arg1, arg2, arg3) {\n const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3));\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_getUniformLocation_cb4e3e121235f91a: function(arg0, arg1, arg2, arg3) {\n const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3));\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_get_31af05bd4842a84f: function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(arg0, arg1);\n return ret;\n }, arguments); },\n __wbg_get_f75619e20cb68514: function() { return handleError(function (arg0, arg1, arg2, arg3) {\n const ret = arg1.get(getStringFromWasm0(arg2, arg3));\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n }, arguments); },\n __wbg_get_index_f4750150bb3083b3: function(arg0, arg1) {\n const ret = arg0[arg1 >>> 0];\n return ret;\n },\n __wbg_get_unchecked_288889d017702237: function(arg0, arg1) {\n const ret = arg0[arg1 >>> 0];\n return ret;\n },\n __wbg_headers_eba93595f8944c2f: function(arg0) {\n const ret = arg0.headers;\n return ret;\n },\n __wbg_height_9dca4d43c3e4b84b: function(arg0) {\n const ret = arg0.height;\n return ret;\n },\n __wbg_instanceof_ArrayBuffer_a99f175873e5d9b8: function(arg0) {\n let result;\n try {\n result = arg0 instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Blob_7c6191a4cd5834d3: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Blob;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Error_80a725f81f2e102d: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Error;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Float32Array_595afb0f28b828c9: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Float32Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Float64Array_8a59377f9eec1b8b: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Float64Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_ImageBitmap_74bea45ee48d3d7a: function(arg0) {\n let result;\n try {\n result = arg0 instanceof ImageBitmap;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Promise_e1dc6893aa1ece28: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Promise;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Response_b8758567269c30b2: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Response;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Uint32Array_53a4facaf04b8a8b: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Uint32Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Uint8Array_828cef2aaacafc31: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Uint8Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_WebGl2RenderingContext_64c994c14c0790fb: function(arg0) {\n let result;\n try {\n result = arg0 instanceof WebGL2RenderingContext;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Window_82d71df4eddf88bc: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Window;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_isArray_e15a2ff68ffdbef2: function(arg0) {\n const ret = Array.isArray(arg0);\n return ret;\n },\n __wbg_isContextLost_fbbab8b921e614b7: function(arg0) {\n const ret = arg0.isContextLost();\n return ret;\n },\n __wbg_is_4b278c0bd3caba97: function(arg0, arg1) {\n const ret = Object.is(arg0, arg1);\n return ret;\n },\n __wbg_length_511b1f84719d3462: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_58572db4c38f3c3e: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_7f3c00c40364105e: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_b5f0008bbf60cf59: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_d4bdea10311bd9cf: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_linkProgram_571a9ea00d38ff83: function(arg0, arg1) {\n arg0.linkProgram(arg1);\n },\n __wbg_linkProgram_acdc299c43d734a0: function(arg0, arg1) {\n arg0.linkProgram(arg1);\n },\n __wbg_message_5f8387f0c32b90a7: function(arg0) {\n const ret = arg0.message;\n return ret;\n },\n __wbg_name_91a697e9ff1634bf: function(arg0, arg1) {\n const ret = arg1.name;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg_new_1dbf7428bba60a42: function(arg0) {\n const ret = new Uint8Array(arg0);\n return ret;\n },\n __wbg_new_2e41357094e99294: function() { return handleError(function () {\n const ret = new AbortController();\n return ret;\n }, arguments); },\n __wbg_new_5502aad30c185fc8: function(arg0, arg1) {\n try {\n var state0 = {a: arg0, b: arg1};\n var cb0 = (arg0, arg1) => {\n const a = state0.a;\n state0.a = 0;\n try {\n return wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined_______true_(a, state0.b, arg0, arg1);\n } finally {\n state0.a = a;\n }\n };\n const ret = new Promise(cb0);\n return ret;\n } finally {\n state0.a = 0;\n }\n },\n __wbg_new_617a8cdb8bb1130e: function() {\n const ret = new Object();\n return ret;\n },\n __wbg_new_83ca405eae412a62: function() { return handleError(function () {\n const ret = new Headers();\n return ret;\n }, arguments); },\n __wbg_new_ee2291f50781bf1d: function() {\n const ret = new Array();\n return ret;\n },\n __wbg_new_from_slice_37a3c3a194266cb8: function(arg0, arg1) {\n const ret = new Uint32Array(getArrayU32FromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_new_from_slice_9a868026ffa4208a: function(arg0, arg1) {\n const ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_new_from_slice_ca6ad97db1f4779a: function(arg0, arg1) {\n const ret = new Float32Array(getArrayF32FromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_new_from_slice_f545fd22ddc142b8: function(arg0, arg1) {\n const ret = new Float64Array(getArrayF64FromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_new_with_byte_offset_70ba6193352e027b: function(arg0, arg1) {\n const ret = new Uint8Array(arg0, arg1 >>> 0);\n return ret;\n },\n __wbg_new_with_byte_offset_and_length_40c170286adc9005: function(arg0, arg1, arg2) {\n const ret = new Float32Array(arg0, arg1 >>> 0, arg2 >>> 0);\n return ret;\n },\n __wbg_new_with_u8_array_sequence_and_options_fccc08fe93f4b8fd: function() { return handleError(function (arg0, arg1) {\n const ret = new Blob(arg0, arg1);\n return ret;\n }, arguments); },\n __wbg_now_aa4ccb83129e9e55: function() {\n const ret = Date.now();\n return ret;\n },\n __wbg_now_d0b7f4bea9f38490: function(arg0) {\n const ret = arg0.now();\n return ret;\n },\n __wbg_of_20798cb14708764f: function(arg0, arg1) {\n const ret = Array.of(arg0, arg1);\n return ret;\n },\n __wbg_of_d5dbecdc59e02e34: function(arg0) {\n const ret = Array.of(arg0);\n return ret;\n },\n __wbg_of_dde0b9d3265685ee: function(arg0, arg1, arg2) {\n const ret = Array.of(arg0, arg1, arg2);\n return ret;\n },\n __wbg_of_fea2613674ee0d0f: function(arg0, arg1, arg2, arg3, arg4) {\n const ret = Array.of(arg0, arg1, arg2, arg3, arg4);\n return ret;\n },\n __wbg_ok_125878a7db256ecb: function(arg0) {\n const ret = arg0.ok;\n return ret;\n },\n __wbg_performance_d0d7b03fc649b694: function(arg0) {\n const ret = arg0.performance;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_pixelStorei_af18e636b3e7b725: function(arg0, arg1, arg2) {\n arg0.pixelStorei(arg1 >>> 0, arg2);\n },\n __wbg_pixelStorei_cb4e43466f5b8703: function(arg0, arg1, arg2) {\n arg0.pixelStorei(arg1 >>> 0, arg2);\n },\n __wbg_prototypesetcall_06eb15da165dee8f: function(arg0, arg1, arg2) {\n Uint32Array.prototype.set.call(getArrayU32FromWasm0(arg0, arg1), arg2);\n },\n __wbg_prototypesetcall_8b03c01e2c0f8066: function(arg0, arg1, arg2) {\n Float32Array.prototype.set.call(getArrayF32FromWasm0(arg0, arg1), arg2);\n },\n __wbg_prototypesetcall_bc27214492979395: function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);\n },\n __wbg_prototypesetcall_d49a4fab5ca427bc: function(arg0, arg1, arg2) {\n Float64Array.prototype.set.call(getArrayF64FromWasm0(arg0, arg1), arg2);\n },\n __wbg_push_2baf45db356cf468: function(arg0, arg1) {\n const ret = arg0.push(arg1);\n return ret;\n },\n __wbg_queueMicrotask_9833f9a49df95a49: function(arg0) {\n const ret = arg0.queueMicrotask;\n return ret;\n },\n __wbg_queueMicrotask_a72f977e97f23c5f: function(arg0) {\n queueMicrotask(arg0);\n },\n __wbg_readPixels_31e44e70558ac590: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7);\n }, arguments); },\n __wbg_readPixels_3321086a7818a739: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7);\n }, arguments); },\n __wbg_readPixels_eb030cd9976eeca5: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7);\n }, arguments); },\n __wbg_renderbufferStorage_52b131bbf3112b3a: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4);\n },\n __wbg_renderbufferStorage_bca487b0dea425b8: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4);\n },\n __wbg_resolve_0076e10020304ede: function(arg0) {\n const ret = Promise.resolve(arg0);\n return ret;\n },\n __wbg_scissor_12ddc324094acd50: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.scissor(arg1, arg2, arg3, arg4);\n },\n __wbg_scissor_a9468482697c2bdb: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.scissor(arg1, arg2, arg3, arg4);\n },\n __wbg_setTimeout_db7bbc18a17e152a: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.setTimeout(arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_set_145a351398b48c65: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = Reflect.set(arg0, arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_set_af5932e3f78b5648: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {\n arg0.set(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));\n }, arguments); },\n __wbg_set_alpha_6dea851a46253adf: function(arg0, arg1) {\n arg0.alpha = arg1 !== 0;\n },\n __wbg_set_antialias_1f699e96763e8a35: function(arg0, arg1) {\n arg0.antialias = arg1 !== 0;\n },\n __wbg_set_cache_7507c4cc5938ccc7: function(arg0, arg1) {\n arg0.cache = __wbindgen_enum_RequestCache[arg1];\n },\n __wbg_set_color_space_conversion_f27e9d866a683b4b: function(arg0, arg1) {\n arg0.colorSpaceConversion = __wbindgen_enum_ColorSpaceConversion[arg1];\n },\n __wbg_set_depth_8b49de49803d4e60: function(arg0, arg1) {\n arg0.depth = arg1 !== 0;\n },\n __wbg_set_headers_40ad33dcf016613f: function(arg0, arg1) {\n arg0.headers = arg1;\n },\n __wbg_set_power_preference_6ef22d4c8baf517f: function(arg0, arg1) {\n arg0.powerPreference = __wbindgen_enum_WebGlPowerPreference[arg1];\n },\n __wbg_set_premultiply_alpha_45a4cf9a1e87bfbf: function(arg0, arg1) {\n arg0.premultiplyAlpha = __wbindgen_enum_PremultiplyAlpha[arg1];\n },\n __wbg_set_resize_height_274433c2f249624d: function(arg0, arg1) {\n arg0.resizeHeight = arg1 >>> 0;\n },\n __wbg_set_resize_width_6f06543b29d1ca48: function(arg0, arg1) {\n arg0.resizeWidth = arg1 >>> 0;\n },\n __wbg_set_signal_2dbd377604627f26: function(arg0, arg1) {\n arg0.signal = arg1;\n },\n __wbg_set_stencil_edc32d9477c7c107: function(arg0, arg1) {\n arg0.stencil = arg1 !== 0;\n },\n __wbg_set_type_dcf75b2afa60c694: function(arg0, arg1, arg2) {\n arg0.type = getStringFromWasm0(arg1, arg2);\n },\n __wbg_shaderSource_06379dac249994dd: function(arg0, arg1, arg2, arg3) {\n arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3));\n },\n __wbg_shaderSource_c8812639b47d87b9: function(arg0, arg1, arg2, arg3) {\n arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3));\n },\n __wbg_signal_e5a49a2d9c65b7f6: function(arg0) {\n const ret = arg0.signal;\n return ret;\n },\n __wbg_size_74c48d7329291685: function(arg0) {\n const ret = arg0.size;\n return ret;\n },\n __wbg_static_accessor_GLOBAL_266715b9d96ba635: function() {\n const ret = typeof global === 'undefined' ? null : global;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_static_accessor_GLOBAL_THIS_10fb7dc1ae063179: function() {\n const ret = typeof globalThis === 'undefined' ? null : globalThis;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_static_accessor_SELF_0b583911f537483a: function() {\n const ret = typeof self === 'undefined' ? null : self;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_static_accessor_WINDOW_d7f903d1508cbdc4: function() {\n const ret = typeof window === 'undefined' ? null : window;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_status_ce0a98d3c57125f3: function(arg0) {\n const ret = arg0.status;\n return ret;\n },\n __wbg_stencilFunc_aa3cd8856be514c4: function(arg0, arg1, arg2, arg3) {\n arg0.stencilFunc(arg1 >>> 0, arg2, arg3 >>> 0);\n },\n __wbg_stencilFunc_bab7e0b7c443f093: function(arg0, arg1, arg2, arg3) {\n arg0.stencilFunc(arg1 >>> 0, arg2, arg3 >>> 0);\n },\n __wbg_stencilMask_9e18cc018897c747: function(arg0, arg1) {\n arg0.stencilMask(arg1 >>> 0);\n },\n __wbg_stencilMask_a22be64c66abd825: function(arg0, arg1) {\n arg0.stencilMask(arg1 >>> 0);\n },\n __wbg_stencilOpSeparate_7d01185cbdb89d99: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0);\n },\n __wbg_stencilOpSeparate_c5af5f5dbd237bea: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0);\n },\n __wbg_stencilOp_12274af665ab8a00: function(arg0, arg1, arg2, arg3) {\n arg0.stencilOp(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0);\n },\n __wbg_stencilOp_2697194654fee819: function(arg0, arg1, arg2, arg3) {\n arg0.stencilOp(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0);\n },\n __wbg_subarray_002b94d5e13d1411: function(arg0, arg1, arg2) {\n const ret = arg0.subarray(arg1 >>> 0, arg2 >>> 0);\n return ret;\n },\n __wbg_texImage2D_1b3349107ad0faae: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6) {\n arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4 >>> 0, arg5 >>> 0, arg6);\n }, arguments); },\n __wbg_texImage2D_82bf2b4c8aa9a1db: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {\n arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9);\n }, arguments); },\n __wbg_texImage2D_8fc2f2fcca249b59: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6) {\n arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4 >>> 0, arg5 >>> 0, arg6);\n }, arguments); },\n __wbg_texImage2D_a856af552acdc9d9: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {\n arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9);\n }, arguments); },\n __wbg_texImage2D_ca3d0fe24620ec85: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {\n arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9);\n }, arguments); },\n __wbg_texParameteri_647fdb1426809cb5: function(arg0, arg1, arg2, arg3) {\n arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3);\n },\n __wbg_texParameteri_7864076abcdb03e0: function(arg0, arg1, arg2, arg3) {\n arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3);\n },\n __wbg_texStorage2D_cf2bd991072d9efb: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.texStorage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5);\n },\n __wbg_texStorage3D_74b701c2b176380c: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {\n arg0.texStorage3D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6);\n },\n __wbg_texSubImage2D_31a0c2797aa04f32: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {\n arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9);\n }, arguments); },\n __wbg_texSubImage2D_5e90c7a719d40256: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {\n arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9);\n }, arguments); },\n __wbg_texSubImage2D_bb322aae90f7657f: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {\n arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9);\n }, arguments); },\n __wbg_texSubImage3D_5143d5af7e182ddc: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) {\n arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11);\n }, arguments); },\n __wbg_texSubImage3D_5d773fc7a8cd4d08: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) {\n arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11);\n }, arguments); },\n __wbg_texSubImage3D_e0d113b7047a5130: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) {\n arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11);\n }, arguments); },\n __wbg_then_c949d5a25a4e78f8: function(arg0, arg1, arg2) {\n const ret = arg0.then(arg1, arg2);\n return ret;\n },\n __wbg_then_e71170d78fcf8954: function(arg0, arg1) {\n const ret = arg0.then(arg1);\n return ret;\n },\n __wbg_type_ff6f7b321fe8478b: function(arg0) {\n const ret = arg0.type;\n return ret;\n },\n __wbg_uniform1f_9cfecfaeb8cf43c1: function(arg0, arg1, arg2) {\n arg0.uniform1f(arg1, arg2);\n },\n __wbg_uniform1f_b5856e35a43b65a1: function(arg0, arg1, arg2) {\n arg0.uniform1f(arg1, arg2);\n },\n __wbg_uniform1fv_1bf537fc926ef8b9: function(arg0, arg1, arg2, arg3) {\n arg0.uniform1fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform1fv_1cc1d09bc13b03bf: function(arg0, arg1, arg2, arg3) {\n arg0.uniform1fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform1i_531b98c4a7177366: function(arg0, arg1, arg2) {\n arg0.uniform1i(arg1, arg2);\n },\n __wbg_uniform1i_fc2dc8cadc49d8ec: function(arg0, arg1, arg2) {\n arg0.uniform1i(arg1, arg2);\n },\n __wbg_uniform1iv_4b8cbceccddfaa62: function(arg0, arg1, arg2, arg3) {\n arg0.uniform1iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform1iv_8fc880ae80c77c74: function(arg0, arg1, arg2, arg3) {\n arg0.uniform1iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform1ui_353c67ec681b540c: function(arg0, arg1, arg2) {\n arg0.uniform1ui(arg1, arg2 >>> 0);\n },\n __wbg_uniform1uiv_ad5e946730aacbec: function(arg0, arg1, arg2, arg3) {\n arg0.uniform1uiv(arg1, getArrayU32FromWasm0(arg2, arg3));\n },\n __wbg_uniform2f_131da2d4bf17e4b9: function(arg0, arg1, arg2, arg3) {\n arg0.uniform2f(arg1, arg2, arg3);\n },\n __wbg_uniform2f_a92b5bb95dc5b4d9: function(arg0, arg1, arg2, arg3) {\n arg0.uniform2f(arg1, arg2, arg3);\n },\n __wbg_uniform2fv_319c49f0ce340f26: function(arg0, arg1, arg2, arg3) {\n arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform2fv_a7d3c1830d18c1b2: function(arg0, arg1, arg2, arg3) {\n arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform2iv_65f36fc9777697d7: function(arg0, arg1, arg2, arg3) {\n arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform2iv_ca9cb507409b9ad1: function(arg0, arg1, arg2, arg3) {\n arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform2uiv_c95af5fb653ccb86: function(arg0, arg1, arg2, arg3) {\n arg0.uniform2uiv(arg1, getArrayU32FromWasm0(arg2, arg3));\n },\n __wbg_uniform3f_1211579ff87ccfad: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.uniform3f(arg1, arg2, arg3, arg4);\n },\n __wbg_uniform3f_ee105161897ee48a: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.uniform3f(arg1, arg2, arg3, arg4);\n },\n __wbg_uniform3fv_055ea5ac38af4fce: function(arg0, arg1, arg2, arg3) {\n arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform3fv_58520ffe22a6e27c: function(arg0, arg1, arg2, arg3) {\n arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform3iv_0590e8b7eff2a791: function(arg0, arg1, arg2, arg3) {\n arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform3iv_e91b1410dc299f50: function(arg0, arg1, arg2, arg3) {\n arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform3uiv_9992491000463a52: function(arg0, arg1, arg2, arg3) {\n arg0.uniform3uiv(arg1, getArrayU32FromWasm0(arg2, arg3));\n },\n __wbg_uniform4f_22bfec882308eec2: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.uniform4f(arg1, arg2, arg3, arg4, arg5);\n },\n __wbg_uniform4f_8dd8f311e656ca0d: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.uniform4f(arg1, arg2, arg3, arg4, arg5);\n },\n __wbg_uniform4fv_3ef2f5121fcb78ae: function(arg0, arg1, arg2, arg3) {\n arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform4fv_cf8ff646c36232c8: function(arg0, arg1, arg2, arg3) {\n arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3));\n },\n __wbg_uniform4iv_6fc5436b4f876039: function(arg0, arg1, arg2, arg3) {\n arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform4iv_99c2b07787d362d6: function(arg0, arg1, arg2, arg3) {\n arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3));\n },\n __wbg_uniform4uiv_a6fb3237d9df7ed4: function(arg0, arg1, arg2, arg3) {\n arg0.uniform4uiv(arg1, getArrayU32FromWasm0(arg2, arg3));\n },\n __wbg_uniformMatrix3fv_472e7824735acce1: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4));\n },\n __wbg_uniformMatrix3fv_83fdc9c3c0d43204: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4));\n },\n __wbg_uniformMatrix4fv_dff9738d995fd0b1: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4));\n },\n __wbg_uniformMatrix4fv_e691d7f14d3609f7: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4));\n },\n __wbg_useProgram_5bdae58fd9f9826f: function(arg0, arg1) {\n arg0.useProgram(arg1);\n },\n __wbg_useProgram_e075c2902e420761: function(arg0, arg1) {\n arg0.useProgram(arg1);\n },\n __wbg_vertexAttribDivisorANGLE_659fb027198a47c3: function(arg0, arg1, arg2) {\n arg0.vertexAttribDivisorANGLE(arg1 >>> 0, arg2 >>> 0);\n },\n __wbg_vertexAttribDivisor_7575d382215322f7: function(arg0, arg1, arg2) {\n arg0.vertexAttribDivisor(arg1 >>> 0, arg2 >>> 0);\n },\n __wbg_vertexAttribIPointer_fc8057c62cfcc63c: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n arg0.vertexAttribIPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5);\n },\n __wbg_vertexAttribPointer_24b495e18df325dc: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {\n arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6);\n },\n __wbg_vertexAttribPointer_54d56b18f71a946d: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {\n arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6);\n },\n __wbg_viewport_16936692526e2ce6: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.viewport(arg1, arg2, arg3, arg4);\n },\n __wbg_viewport_e35d16c542d2ce70: function(arg0, arg1, arg2, arg3, arg4) {\n arg0.viewport(arg1, arg2, arg3, arg4);\n },\n __wbg_warn_13abc63e0d4b3527: function(arg0) {\n console.warn(arg0);\n },\n __wbg_width_8a9cc26363f10d5f: function(arg0) {\n const ret = arg0.width;\n return ret;\n },\n __wbindgen_generic_0000000000000001: function(arg0, arg1) {\n // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 190, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.\n const ret = makeMutClosure(arg0, arg1, wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___wasm_bindgen_2e566c63402fe7fa___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_2e566c63402fe7fa___JsError___true_);\n return ret;\n },\n __wbindgen_generic_0000000000000002: function(arg0) {\n // Cast intrinsic for `F64 -> Externref`.\n const ret = arg0;\n return ret;\n },\n __wbindgen_generic_0000000000000003: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(F32)) -> NamedExternref(\"Float32Array\")`.\n const ret = getArrayF32FromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_generic_0000000000000004: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(I16)) -> NamedExternref(\"Int16Array\")`.\n const ret = getArrayI16FromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_generic_0000000000000005: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(I32)) -> NamedExternref(\"Int32Array\")`.\n const ret = getArrayI32FromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_generic_0000000000000006: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(I8)) -> NamedExternref(\"Int8Array\")`.\n const ret = getArrayI8FromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_generic_0000000000000007: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(U16)) -> NamedExternref(\"Uint16Array\")`.\n const ret = getArrayU16FromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_generic_0000000000000008: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(U32)) -> NamedExternref(\"Uint32Array\")`.\n const ret = getArrayU32FromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_generic_0000000000000009: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref(\"Uint8Array\")`.\n const ret = getArrayU8FromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_generic_000000000000000a: function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_init_externref_table: function() {\n const table = wasm.__wbindgen_externrefs;\n const offset = table.grow(4);\n table.set(0, undefined);\n table.set(offset + 0, undefined);\n table.set(offset + 1, null);\n table.set(offset + 2, true);\n table.set(offset + 3, false);\n },\n };\n return {\n __proto__: null,\n \"./isard_bg.js\": import0,\n };\n}\n\nfunction wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___wasm_bindgen_2e566c63402fe7fa___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_2e566c63402fe7fa___JsError___true_(arg0, arg1, arg2) {\n const ret = wasm.wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___wasm_bindgen_2e566c63402fe7fa___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_2e566c63402fe7fa___JsError___true_(arg0, arg1, arg2);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n}\n\nfunction wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined_______true_(arg0, arg1, arg2, arg3) {\n wasm.wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined_______true_(arg0, arg1, arg2, arg3);\n}\n\n\nconst __wbindgen_enum_ColorSpaceConversion = [\"none\", \"default\"];\n\n\nconst __wbindgen_enum_PremultiplyAlpha = [\"none\", \"premultiply\", \"default\"];\n\n\nconst __wbindgen_enum_RequestCache = [\"default\", \"no-store\", \"reload\", \"no-cache\", \"force-cache\", \"only-if-cached\"];\n\n\nconst __wbindgen_enum_WebGlPowerPreference = [\"default\", \"low-power\", \"high-performance\"];\nconst EngineFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_engine_free(ptr, 1));\n\nfunction addToExternrefTable0(obj) {\n const idx = wasm.__externref_table_alloc();\n wasm.__wbindgen_externrefs.set(idx, obj);\n return idx;\n}\n\nconst CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(state => wasm.__wbindgen_destroy_closure(state.a, state.b));\n\nfunction debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\n\nfunction getArrayF32FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);\n}\n\nfunction getArrayF64FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getFloat64ArrayMemory0().subarray(ptr / 8, ptr / 8 + len);\n}\n\nfunction getArrayI16FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getInt16ArrayMemory0().subarray(ptr / 2, ptr / 2 + len);\n}\n\nfunction getArrayI32FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);\n}\n\nfunction getArrayI8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getInt8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nfunction getArrayU16FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint16ArrayMemory0().subarray(ptr / 2, ptr / 2 + len);\n}\n\nfunction getArrayU32FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nlet cachedDataViewMemory0 = null;\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nlet cachedFloat32ArrayMemory0 = null;\nfunction getFloat32ArrayMemory0() {\n if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) {\n cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer);\n }\n return cachedFloat32ArrayMemory0;\n}\n\nlet cachedFloat64ArrayMemory0 = null;\nfunction getFloat64ArrayMemory0() {\n if (cachedFloat64ArrayMemory0 === null || cachedFloat64ArrayMemory0.byteLength === 0) {\n cachedFloat64ArrayMemory0 = new Float64Array(wasm.memory.buffer);\n }\n return cachedFloat64ArrayMemory0;\n}\n\nlet cachedInt16ArrayMemory0 = null;\nfunction getInt16ArrayMemory0() {\n if (cachedInt16ArrayMemory0 === null || cachedInt16ArrayMemory0.byteLength === 0) {\n cachedInt16ArrayMemory0 = new Int16Array(wasm.memory.buffer);\n }\n return cachedInt16ArrayMemory0;\n}\n\nlet cachedInt32ArrayMemory0 = null;\nfunction getInt32ArrayMemory0() {\n if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) {\n cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachedInt32ArrayMemory0;\n}\n\nlet cachedInt8ArrayMemory0 = null;\nfunction getInt8ArrayMemory0() {\n if (cachedInt8ArrayMemory0 === null || cachedInt8ArrayMemory0.byteLength === 0) {\n cachedInt8ArrayMemory0 = new Int8Array(wasm.memory.buffer);\n }\n return cachedInt8ArrayMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return decodeText(ptr >>> 0, len);\n}\n\nlet cachedUint16ArrayMemory0 = null;\nfunction getUint16ArrayMemory0() {\n if (cachedUint16ArrayMemory0 === null || cachedUint16ArrayMemory0.byteLength === 0) {\n cachedUint16ArrayMemory0 = new Uint16Array(wasm.memory.buffer);\n }\n return cachedUint16ArrayMemory0;\n}\n\nlet cachedUint32ArrayMemory0 = null;\nfunction getUint32ArrayMemory0() {\n if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {\n cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);\n }\n return cachedUint32ArrayMemory0;\n}\n\nlet cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n const idx = addToExternrefTable0(e);\n wasm.__wbindgen_exn_store(idx);\n }\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction makeMutClosure(arg0, arg1, f) {\n const state = { a: arg0, b: arg1, cnt: 1 };\n const real = (...args) => {\n\n // First up with a closure we increment the internal reference\n // count. This ensures that the Rust closure environment won't\n // be deallocated while we're invoking it.\n state.cnt++;\n const a = state.a;\n state.a = 0;\n try {\n return f(a, state.b, ...args);\n } finally {\n state.a = a;\n real._wbg_cb_unref();\n }\n };\n real._wbg_cb_unref = () => {\n if (--state.cnt === 0) {\n wasm.__wbindgen_destroy_closure(state.a, state.b);\n state.a = 0;\n CLOSURE_DTORS.unregister(state);\n }\n };\n CLOSURE_DTORS.register(real, state, state);\n return real;\n}\n\nfunction passArray32ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 4, 4) >>> 0;\n getUint32ArrayMemory0().set(arg, ptr / 4);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArrayF32ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 4, 4) >>> 0;\n getFloat32ArrayMemory0().set(arg, ptr / 4);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArrayF64ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 8, 8) >>> 0;\n getFloat64ArrayMemory0().set(arg, ptr / 8);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = cachedTextEncoder.encodeInto(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nfunction takeFromExternrefTable0(idx) {\n const value = wasm.__wbindgen_externrefs.get(idx);\n wasm.__externref_table_dealloc(idx);\n return value;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\ncachedTextDecoder.decode();\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n numBytesDecoded += len;\n if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n cachedTextDecoder.decode();\n numBytesDecoded = len;\n }\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n cachedTextEncoder.encodeInto = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n };\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nlet wasmModule, wasmInstance, wasm;\nfunction __wbg_finalize_init(instance, module) {\n wasmInstance = instance;\n wasm = instance.exports;\n wasmModule = module;\n cachedDataViewMemory0 = null;\n cachedFloat32ArrayMemory0 = null;\n cachedFloat64ArrayMemory0 = null;\n cachedInt16ArrayMemory0 = null;\n cachedInt32ArrayMemory0 = null;\n cachedInt8ArrayMemory0 = null;\n cachedUint16ArrayMemory0 = null;\n cachedUint32ArrayMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n wasm.__wbindgen_start();\n return wasm;\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (!module.ok) {\n throw new Error(`failed to fetch Wasm: ${module.status} ${module.statusText} fetching '${module.url}'`);\n }\n\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n } catch (e) {\n const validResponse = expectedResponseType(module.type);\n\n if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else { throw e; }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n } else {\n return instance;\n }\n }\n\n function expectedResponseType(type) {\n switch (type) {\n case 'basic': case 'cors': case 'default': return true;\n }\n return false;\n }\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (module !== undefined) {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n const instance = new WebAssembly.Instance(module, imports);\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (module_or_path !== undefined) {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (module_or_path === undefined) {\n module_or_path = new URL('isard_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync, __wbg_init as default };\n",
|
|
7
|
+
"/* @ts-self-types=\"./isard_points.d.ts\" */\n\n/**\n * The vertices (`STRIDE` bytes each, see `points`) of a COPC chunk of `count` points. `laz`: the data of the LAZ\n * VLR; `layout`: format, record length, scale and offset of the header; `grid`: the positions of the node's square\n * (`Grid::numbers`)\n * @param {Uint8Array} chunk\n * @param {Uint8Array} laz\n * @param {Float64Array} layout\n * @param {Float64Array} grid\n * @param {number} count\n * @returns {Uint8Array}\n */\nexport function decodeCopc(chunk, laz, layout, grid, count) {\n const ptr0 = passArray8ToWasm0(chunk, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray8ToWasm0(laz, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArrayF64ToWasm0(layout, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passArrayF64ToWasm0(grid, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n const ret = wasm.decodeCopc(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, count);\n if (ret[3]) {\n throw takeFromExternrefTable0(ret[2]);\n }\n var v5 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v5;\n}\nfunction __wbg_get_imports() {\n const import0 = {\n __proto__: null,\n __wbindgen_generic_0000000000000001: function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_init_externref_table: function() {\n const table = wasm.__wbindgen_externrefs;\n const offset = table.grow(4);\n table.set(0, undefined);\n table.set(offset + 0, undefined);\n table.set(offset + 1, null);\n table.set(offset + 2, true);\n table.set(offset + 3, false);\n },\n };\n return {\n __proto__: null,\n \"./isard_points_bg.js\": import0,\n };\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nlet cachedFloat64ArrayMemory0 = null;\nfunction getFloat64ArrayMemory0() {\n if (cachedFloat64ArrayMemory0 === null || cachedFloat64ArrayMemory0.byteLength === 0) {\n cachedFloat64ArrayMemory0 = new Float64Array(wasm.memory.buffer);\n }\n return cachedFloat64ArrayMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return decodeText(ptr >>> 0, len);\n}\n\nlet cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArrayF64ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 8, 8) >>> 0;\n getFloat64ArrayMemory0().set(arg, ptr / 8);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction takeFromExternrefTable0(idx) {\n const value = wasm.__wbindgen_externrefs.get(idx);\n wasm.__externref_table_dealloc(idx);\n return value;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\ncachedTextDecoder.decode();\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n numBytesDecoded += len;\n if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n cachedTextDecoder.decode();\n numBytesDecoded = len;\n }\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nlet wasmModule, wasmInstance, wasm;\nfunction __wbg_finalize_init(instance, module) {\n wasmInstance = instance;\n wasm = instance.exports;\n wasmModule = module;\n cachedFloat64ArrayMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n wasm.__wbindgen_start();\n return wasm;\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (!module.ok) {\n throw new Error(`failed to fetch Wasm: ${module.status} ${module.statusText} fetching '${module.url}'`);\n }\n\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n } catch (e) {\n const validResponse = expectedResponseType(module.type);\n\n if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else { throw e; }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n } else {\n return instance;\n }\n }\n\n function expectedResponseType(type) {\n switch (type) {\n case 'basic': case 'cors': case 'default': return true;\n }\n return false;\n }\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (module !== undefined) {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n const instance = new WebAssembly.Instance(module, imports);\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (module_or_path !== undefined) {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (module_or_path === undefined) {\n module_or_path = new URL('isard_points_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync, __wbg_init as default };\n",
|
|
8
|
+
"/**\n * Decoding worker: fetches 3D Tiles content, decodes it with the engine's WebAssembly module (compiled once on the\n * main thread and shared), its Draco geometry and KTX2 textures with the optional decoders (loaded on first use), its\n * other images with createImageBitmap, then transfers GPU-ready arrays back. The chunks of COPC point clouds are\n * fetched by range requests and decoded by the point cloud module (the LAZ decoder), loaded with the first one.\n */\nimport { DEFAULT_DECODERS, type DecoderUrls, decodeDraco, transcodeKtx2 } from './decoders.ts';\nimport type { WorkerReply, WorkerRequest } from './protocol.ts';\nimport type { DecodedPrimitive, TextureFormats } from './wasm/isard.js';\nimport init, { decodeTile, dracoRequests } from './wasm/isard.js';\nimport initPoints, { decodeCopc } from './wasm/isard_points.js';\n\nlet ready: Promise<unknown> | undefined;\nlet decoders: DecoderUrls = DEFAULT_DECODERS;\nlet formats: TextureFormats = { astc: false, bptc: false, etc: false, s3tc: false };\n/** The point cloud module: its URL, and its instance once loaded */\nlet pointsUrl = '';\nlet points: Promise<unknown> | undefined;\nconst controllers = new Map<number, AbortController>();\n\nconst reply = (message: WorkerReply, transfer: Transferable[] = []): void => postMessage(message, transfer);\n\naddEventListener('message', (event: MessageEvent<WorkerRequest>) => {\n const message = event.data;\n switch (message.type) {\n case 'init':\n ready = init({ module_or_path: message.module });\n decoders = message.decoders;\n formats = message.formats;\n pointsUrl = message.points;\n break;\n case 'points':\n void loadPoints(message);\n break;\n case 'abort':\n controllers.get(message.id)?.abort();\n break;\n case 'load':\n void load(message.id, message.url, message.transform, message.yUp, message.reload, message.priority);\n break;\n }\n});\n\nasync function load(\n id: number,\n url: string,\n transform: Float64Array,\n yUp: boolean,\n reload: boolean,\n priority: 'high' | 'low' | undefined,\n): Promise<void> {\n const controller = new AbortController();\n controllers.set(id, controller);\n try {\n await ready;\n // A retried tile bypasses the HTTP cache: it may hold the error\n // Fetch priority (tiles in view first): not yet in TypeScript's lib\n const init: RequestInit & { priority?: 'high' | 'low' } = {\n signal: controller.signal,\n cache: reload ? 'reload' : 'default',\n ...(priority ? { priority } : {}),\n };\n const response = await fetch(url, init);\n if (!response.ok) throw new Error(`HTTP ${response.status}`);\n const bytes = new Uint8Array(await response.arrayBuffer());\n // Draco geometry first (its module loads on first use), then the tile itself\n const requests = dracoRequests(bytes);\n const draco = requests.length > 0 ? await decodeDraco(decoders, requests) : undefined;\n const tile = decodeTile(bytes, transform, yUp, draco);\n // An image shared by primitives (instanced meshes) is decoded once: the engine then shares its texture\n type Image = NonNullable<(typeof tile.primitives)[number]['image']>;\n const decoded = new Map<Image, Promise<Pick<DecodedPrimitive, 'bitmap' | 'texture'>>>();\n const decode = (image: Image, mime: string | undefined) => {\n let pending = decoded.get(image);\n if (!pending) {\n pending =\n mime === 'image/ktx2'\n ? transcodeKtx2(decoders, formats, image).then((texture) => ({ bitmap: null, texture }))\n : createImageBitmap(new Blob([image], { type: mime ?? '' }), { premultiplyAlpha: 'none' }).then(\n (bitmap) => ({ bitmap }),\n );\n decoded.set(image, pending);\n }\n return pending;\n };\n const vertices = tile.points ?? [];\n const primitives = await Promise.all(\n tile.primitives.map(\n async ({ vertices, indices, image, mime, color }): Promise<DecodedPrimitive> => ({\n vertices,\n indices,\n ...(color ? { color } : {}),\n ...(image ? await decode(image, mime) : { bitmap: null }),\n }),\n ),\n );\n // Each object once: a buffer or bitmap listed twice makes the transfer throw\n const transfer = new Set<Transferable>();\n for (const p of primitives) {\n transfer.add(p.vertices.buffer);\n transfer.add(p.indices.buffer);\n if (p.color) transfer.add(p.color.buffer);\n if (p.bitmap) transfer.add(p.bitmap);\n for (const level of p.texture?.levels ?? []) transfer.add(level.data.buffer);\n }\n for (const v of vertices) transfer.add(v.buffer);\n const decodedTile = { anchor: tile.anchor, primitives, ...(vertices.length > 0 ? { points: vertices } : {}) };\n reply({ type: 'tile', id, tile: decodedTile }, [...transfer]);\n } catch (error) {\n reply({ type: 'error', id, error: String(error), aborted: controller.signal.aborted });\n } finally {\n controllers.delete(id);\n }\n}\n\n/** Attempts at a chunk the server turned away for too many requests (HTTP 429), and the first pause (ms, doubled) */\nconst BUSY_ATTEMPTS = 4;\nconst BUSY_PAUSE_MS = 1000;\n\nconst sleep = (ms: number, signal: AbortSignal) =>\n new Promise<void>((resolve, reject) => {\n const timer = setTimeout(resolve, ms);\n signal.addEventListener('abort', () => {\n clearTimeout(timer);\n reject(new DOMException('aborted', 'AbortError'));\n });\n });\n\n/** A range of a file; a server that ignores the range (200 for more than asked) is an error, its body not read */\nasync function fetchRange(\n url: string,\n offset: number,\n size: number,\n signal: AbortSignal,\n priority: 'high' | 'low' | undefined,\n): Promise<Uint8Array> {\n for (let attempt = 1; ; attempt += 1) {\n const init: RequestInit & { priority?: 'high' | 'low' } = {\n signal,\n headers: { Range: `bytes=${offset}-${offset + Math.max(size, 1) - 1}` },\n ...(priority ? { priority } : {}),\n };\n const response = await fetch(url, init);\n if (response.status === 429 && attempt < BUSY_ATTEMPTS) {\n const after = Number(response.headers.get('Retry-After'));\n await sleep(after > 0 ? after * 1000 : BUSY_PAUSE_MS * 2 ** (attempt - 1), signal);\n continue;\n }\n if (!response.ok) throw new Error(`HTTP ${response.status}`);\n if (response.status !== 206) {\n const length = Number(response.headers.get('Content-Length'));\n if (!(length <= size)) {\n await response.body?.cancel();\n throw new Error('the server ignores range requests (HTTP 206 expected)');\n }\n return new Uint8Array(await response.arrayBuffer()).subarray(offset, offset + size);\n }\n return new Uint8Array(await response.arrayBuffer());\n }\n}\n\n/** The points of a COPC node: its chunk fetched, decompressed and positioned by the point cloud module */\nasync function loadPoints(message: Extract<WorkerRequest, { type: 'points' }>): Promise<void> {\n const { id, url, offset, size, laz, layout, grid, count, priority } = message;\n const controller = new AbortController();\n controllers.set(id, controller);\n try {\n points ??= initPoints({ module_or_path: pointsUrl }).catch((error: unknown) => {\n // A later chunk tries again\n points = undefined;\n throw error;\n });\n const [bytes] = await Promise.all([fetchRange(url, offset, size, controller.signal, priority), points]);\n const vertices = decodeCopc(bytes, laz, layout, grid, count) as Uint8Array<ArrayBuffer>;\n reply({ type: 'points', id, vertices }, [vertices.buffer]);\n } catch (error) {\n reply({ type: 'error', id, error: String(error), aborted: controller.signal.aborted });\n } finally {\n controllers.delete(id);\n }\n}\n"
|
|
8
9
|
],
|
|
9
|
-
"mappings": "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",
|
|
10
|
-
"debugId": "
|
|
10
|
+
"mappings": "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",
|
|
11
|
+
"debugId": "286CD78B703EC4EA64756E2164756E21",
|
|
11
12
|
"names": []
|
|
12
13
|
}
|