isard 1.10.0 → 1.11.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 +36 -0
- package/README.md +1 -1
- package/dist/basemap/vectortiles.d.ts +13 -8
- package/dist/basemap/vectortiles.js.map +1 -1
- package/dist/bind/layers.js +7 -2
- package/dist/bind/layers.js.map +1 -1
- package/dist/decoder.worker.js +3 -3
- package/dist/decoder.worker.js.map +3 -3
- package/dist/index.d.ts +3 -3
- 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_tess_bg.wasm +0 -0
- package/dist/layers/features.d.ts +7 -0
- package/dist/layers/features.js +21 -5
- package/dist/layers/features.js.map +1 -1
- package/dist/layers/layers.js +2 -0
- package/dist/layers/layers.js.map +1 -1
- package/dist/layers/tiles3d.d.ts +1 -0
- package/dist/layers/tiles3d.js +42 -2
- package/dist/layers/tiles3d.js.map +1 -1
- package/dist/map/events.js +1 -0
- package/dist/map/events.js.map +1 -1
- package/dist/map/quality.d.ts +33 -0
- package/dist/map/quality.js +61 -0
- package/dist/map/quality.js.map +1 -0
- package/dist/map.d.ts +12 -1
- package/dist/map.js +64 -6
- package/dist/map.js.map +1 -1
- package/dist/react/IsardMap.d.ts +1 -0
- package/dist/react/IsardMap.js +2 -0
- package/dist/react/IsardMap.js.map +1 -1
- package/dist/react/VectorTiles.d.ts +5 -1
- package/dist/react/VectorTiles.js +8 -0
- package/dist/react/VectorTiles.js.map +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/types.d.ts +20 -0
- package/dist/types.js.map +1 -1
- package/dist/wasm/isard.d.ts +12 -5
- package/dist/wasm/isard.js +33 -5
- package/dist/wasm/isard_core.d.ts +7 -5
- package/dist/wasm/isard_core.js +21 -5
- package/package.json +1 -1
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
"/** Requests that fail as one: an error saying which URL answered which status */\n\n/** A request's failure: `isard: <url>: HTTP <status>` */\nexport const httpError = (url: string | URL, status: number): Error =>\n new Error(`isard: ${String(url)}: HTTP ${status}`);\n\n/** A response that is ok, else an `httpError` */\nexport const fetchOk = async (url: string | URL, init?: RequestInit): Promise<Response> => {\n const response = await fetch(url, init);\n\n if (!response.ok) throw httpError(url, response.status);\n\n return response;\n};\n",
|
|
8
8
|
"/** Reading a response's body within a limit */\n\n/** A response's body if it holds no more than `limit` bytes, read no further than that; undefined past it (its\n * reading stopped) */\nexport const readAtMost = async (response: Response, limit: number): Promise<Uint8Array | undefined> => {\n const reader = response.body?.getReader();\n\n if (!reader) return new Uint8Array(await response.arrayBuffer());\n\n const chunks: Uint8Array[] = [];\n let length = 0;\n\n for (;;) {\n const { done, value } = await reader.read();\n\n if (done) break;\n length += value.length;\n if (length > limit) {\n await reader.cancel();\n\n return undefined;\n }\n chunks.push(value);\n }\n\n const bytes = new Uint8Array(length);\n\n chunks.reduce((at, chunk) => {\n bytes.set(chunk, at);\n\n return at + chunk.length;\n }, 0);\n\n return bytes;\n};\n",
|
|
9
9
|
"/**\n * Headers added to the requests of the page by URL prefix: an access token for private sources (a Géoplateforme\n * private stream, a server behind single sign-on), on every request isard makes, from the page, its workers (vector\n * tiles, 3D Tiles and point clouds) and its engine (raster tiles, tilesets): `setRequestHeaders(prefix, headers)`,\n * again with a new token when it is renewed. The rules of a URL are merged, the longest prefix last (it wins).\n */\n\n/** Rules: a URL prefix and its headers, the shortest prefix first */\nexport type HeaderRules = [prefix: string, headers: Record<string, string>][];\n\nlet rules: HeaderRules = [];\nconst listeners = new Set<(rules: HeaderRules) => void>();\n\n/**\n * Adds `headers` to every request isard makes to a URL starting with `prefix` (in the page and its workers), or with\n * no headers, stops: `setRequestHeaders('https://data.geopf.fr/private/', { Authorization: 'Bearer …' })`. The\n * server must allow these headers (CORS). For the whole page: every map, the ones to come too\n */\nexport const setRequestHeaders = (prefix: string, headers?: Record<string, string>): void => {\n const kept = rules.filter(([p]) => p !== prefix);\n\n if (headers && Object.keys(headers).length > 0) kept.push([prefix, { ...headers }]);\n kept.sort(([p], [q]) => p.length - q.length);\n setHeaderRules(kept);\n listeners.forEach((listener) => {\n listener(rules);\n });\n};\n\n/** @internal The rules now */\nexport const headerRules = (): HeaderRules => {\n return rules;\n};\n\n/** @internal The rules, from the page (a worker's copy) */\nexport const setHeaderRules = (next: HeaderRules): void => {\n rules = next;\n};\n\n/** @internal Follows the rules (the workers and engines of a map); returns the function that stops */\nexport const onHeaderRules = (listener: (rules: HeaderRules) => void): (() => void) => {\n listeners.add(listener);\n\n return () => listeners.delete(listener);\n};\n\n/** @internal `init` with the headers of the rules matching `url` (unchanged when none does) */\nexport const withHeaders = (url: string | URL, init: RequestInit = {}): RequestInit => {\n const href = String(url);\n const matching = rules.filter(([prefix]) => href.startsWith(prefix));\n\n if (matching.length === 0) return init;\n\n const headers = new Headers(init.headers);\n\n matching.forEach(([, set]) => {\n Object.entries(set).forEach(([name, value]) => {\n headers.set(name, value);\n });\n });\n\n return { ...init, headers };\n};\n",
|
|
10
|
-
"/* @ts-self-types=\"./isard.d.ts\" */\n\n/**\n * A map on one canvas: its WebGL2 context, camera, ground (raster layers over the relief) and the layers over it.\n * Draws only when `render` is called (the JavaScript side calls it after `redraw` asks for a frame)\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 *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or a shader fails to compile (the error carries its\n * info log), or when `feature_count` features need a table texture past the GPU's `MAX_TEXTURE_SIZE`\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 *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or a shader fails to compile (the error carries its\n * info log)\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 *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or a shader fails to compile (the error carries its\n * info log), or when `feature_count` features need a table texture past the GPU's `MAX_TEXTURE_SIZE`\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 * A flow layer of `particles` particles (rounded up to a multiple of 4096) with trails of `trail` positions; its\n * field comes with `setFlowField`\n *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created, a shader fails to compile or the trails need a\n * table texture past the GPU's `MAX_TEXTURE_SIZE`\n * @param {number} particles\n * @param {number} trail\n * @returns {number}\n */\n addFlow(particles, trail) {\n const ret = wasm.engine_addFlow(this.__wbg_ptr, particles, trail);\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 *\n * # Errors\n *\n * Throws (to JavaScript) when `code` does not compile or link, with the shader's info log\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 *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or a shader fails to compile (the error carries its\n * info log), or when the features or the lines need a table texture past the GPU's `MAX_TEXTURE_SIZE`\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 *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or a shader fails to compile (the error carries its\n * info log). A model that fails to load or decode does not throw: the layer stays empty\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 *\n * # Errors\n *\n * Throws (to JavaScript) when `style` is not 25 numbers, `edges` is not node pairs or names a node past\n * those of `mercator`, the nodes or edges need a table texture past the GPU's `MAX_TEXTURE_SIZE`, or when\n * a WebGL object cannot be created or a shader fails to compile (the error carries its info log)\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 *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or a shader fails to compile (the error carries its\n * info log). The file itself is read later: a bad file, or a `resolve` that throws, leaves the layer 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 *\n * # Errors\n *\n * Throws (to JavaScript) when the texture holding the layer's tiles cannot be created\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 *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or a shader fails to compile (the error carries its\n * info log)\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 * `geoid`: its heights are altitudes (NGF-IGN69), each tile raised by the RAF20 geoid onto the relief.\n *\n * # Errors\n *\n * Throws (to JavaScript) when one of the layer's programs fails to compile or link (the error carries\n * its info log). The tileset itself is read later: a bad one leaves the layer empty, it does not throw\n * @param {string} url\n * @param {number} max_error\n * @param {boolean | null} [geoid]\n * @returns {number}\n */\n addTiles3d(url, max_error, geoid) {\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, isLikeNone(geoid) ? 0xFFFFFF : geoid ? 1 : 0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * An empty layer of vector tiles drawn as geometry: its style layers come with `setVectorSublayers`, its tiles\n * with `setVectorTile`\n *\n * # Errors\n *\n * Throws (to JavaScript) when a shader fails to compile (the error carries its info log)\n * @returns {number}\n */\n addVectorTiles() {\n const ret = wasm.engine_addVectorTiles(this.__wbg_ptr);\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 * The camera as set or moved: center (degrees), zoom, pitch and bearing (degrees)\n * @returns {Camera}\n */\n camera() {\n const ret = wasm.engine_camera(this.__wbg_ptr);\n return ret;\n }\n /**\n * Removes the panorama\n */\n clearPanorama() {\n wasm.engine_clearPanorama(this.__wbg_ptr);\n }\n /**\n * The turns go around the screen center again\n */\n clearPivot() {\n wasm.engine_clearPivot(this.__wbg_ptr);\n }\n /**\n * Stops loading the tiles of the flight's destination (`preload`)\n */\n clearPreload() {\n wasm.engine_clearPreload(this.__wbg_ptr);\n }\n /**\n * Removes the viewshed\n */\n clearViewshed() {\n wasm.engine_clearViewshed(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 * Altitude of the relief at a position (metres, exaggeration included), from the copy of its tiles kept on the\n * CPU (as coarse as the tiles loaded there); undefined without relief or where none is loaded\n * @param {number} lon\n * @param {number} lat\n * @returns {number | undefined}\n */\n elevationAt(lon, lat) {\n const ret = wasm.engine_elevationAt(this.__wbg_ptr, lon, lat);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * Height of the RAF20 geoid above the ellipsoid at a position (metres; 0 away from mainland France): what raises\n * the altitudes (NGF-IGN69) of a source onto the IGN relief\n * @param {number} lon\n * @param {number} lat\n * @returns {number}\n */\n static geoidHeight(lon, lat) {\n const ret = wasm.engine_geoidHeight(lon, lat);\n return ret;\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 * Model-view-projection matrix (16 numbers, column-major) of the local frame at a longitude, latitude (degrees)\n * and altitude (metres), x east, y north, z up, in metres, for the last frame drawn (else the camera): the 3D\n * overlays of the page (`Panel`) placed with it after each frame\n * @param {number} lon\n * @param {number} lat\n * @param {number} altitude\n * @returns {Float32Array}\n */\n localMatrix(lon, lat, altitude) {\n const ret = wasm.engine_localMatrix(this.__wbg_ptr, lon, lat, altitude);\n var v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\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 *\n * # Errors\n *\n * Throws (to JavaScript) when the canvas gives no WebGL2 context (\"WebGL2 is not available\"), or when a WebGL\n * object of the globe, the sky or the raster pass cannot be created or one of their shaders fails to compile\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, or `height` metres above it, undefined behind the camera\n * @param {number} lon\n * @param {number} lat\n * @param {number | null} [height]\n * @returns {[x: number, y: number] | undefined}\n */\n project(lon, lat, height) {\n const ret = wasm.engine_project(this.__wbg_ptr, lon, lat, !isLikeNone(height), isLikeNone(height) ? 0 : height);\n return ret;\n }\n /**\n * A flow layer's second field becomes its field (the model's next hour reached): only the hour after it is then\n * sent (`setFlowNext`)\n * @param {number} id\n */\n promoteFlowNext(id) {\n wasm.engine_promoteFlowNext(this.__wbg_ptr, id);\n }\n /**\n * Removes batch `key` of an extrusion layer (nothing if there is none)\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 * Removes a layer and frees its GPU objects; the other layers forget it (a layer that referred to it)\n * @param {number} id\n */\n removeLayer(id) {\n wasm.engine_removeLayer(this.__wbg_ptr, id);\n }\n /**\n * Removes tile `key` of a vector tile layer (nothing if there is none)\n * @param {number} id\n * @param {number} key\n */\n removeVectorTile(id, key) {\n wasm.engine_removeVectorTile(this.__wbg_ptr, id, key);\n }\n /**\n * Draws a frame: the backdrop, the ground and the layers over it bottom to top, then the panorama and the\n * viewshed; 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, in degrees: around the pivot if one is set (`setPivot`), else around the screen center\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 * Color the canvas is cleared to (RGB 0-1), where neither ground nor sky is drawn\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 * Sets the camera (degrees, the conventions of `MapLibre`): leaves a street-level view, and the camera keeps this\n * center as the relief comes in\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 *\n * # Errors\n *\n * Throws (to JavaScript) when the batch's features need an anchor texture past the GPU's\n * `MAX_TEXTURE_SIZE`, or when it cannot be created\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), each polygon's roof (`Roofs`)\n *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL buffer or vertex array of the batch cannot be created, or when\n * `feature_count` features need a table texture past the GPU's `MAX_TEXTURE_SIZE`\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 * @param {Uint8Array} roofs\n * @param {Float32Array} roof_heights\n * @param {number} metres\n */\n setExtrusionBatch(id, key, points, ring_start, polygon_start, feature, feature_count, roofs, roof_heights, metres) {\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 ptr4 = passArray8ToWasm0(roofs, wasm.__wbindgen_malloc);\n const len4 = WASM_VECTOR_LEN;\n const ptr5 = passArrayF32ToWasm0(roof_heights, wasm.__wbindgen_malloc);\n const len5 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setExtrusionBatch(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, feature_count, ptr4, len4, ptr5, len5, metres);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Whether the buildings of an extrusion layer, or of a vector tiles layer, show their windows on their walls\n * @param {number} id\n * @param {boolean} on\n */\n setFacades(id, on) {\n wasm.engine_setFacades(this.__wbg_ptr, id, on);\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, extrusion or vector tile layer (batch or tile `key` of the last\n * two): 32 floats per feature, its color (RGBA 0-1), its second color (a circle's stroke), then two sizes as zoom\n * stops (four zooms, four values each): a line's width; a circle's radius and stroke width, CSS pixels; a block's\n * height and base 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 * A street-level view: the eye `height` metres above the ground at `lon`, `lat` (degrees), looking `bearing`\n * (degrees clockwise from north) and `pitch` (0 straight down, 90 level, 180 straight up), with a vertical field\n * of view of `fov` degrees. A camera set with `setCamera` turns around a point again\n * @param {number} lon\n * @param {number} lat\n * @param {number} height\n * @param {number} bearing\n * @param {number} pitch\n * @param {number} fov\n */\n setFirstPerson(lon, lat, height, bearing, pitch, fov) {\n wasm.engine_setFirstPerson(this.__wbg_ptr, lon, lat, height, bearing, pitch, fov);\n }\n /**\n * How far a flow layer's field has gone towards its next one, 0 to 1 (the time between the model's two hours)\n * @param {number} id\n * @param {number} blend\n */\n setFlowBlend(id, blend) {\n wasm.engine_setFlowBlend(this.__wbg_ptr, id, blend);\n }\n /**\n * The field of a flow layer: `width` × `height` points over `bounds` (west, south, east, north, degrees: the\n * longitudes and latitudes of the corner points; a last column one step short of 360° round the world), their\n * east and north components (m/s, row after row from the north; not a number: none there). On the grid of the\n * field before, the particles go on (its next field and blend kept); on another one, they start again\n * @param {number} id\n * @param {number} width\n * @param {number} height\n * @param {Float32Array} u\n * @param {Float32Array} v\n * @param {Float64Array} bounds\n */\n setFlowField(id, width, height, u, v, bounds) {\n const ptr0 = passArrayF32ToWasm0(u, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF32ToWasm0(v, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArrayF64ToWasm0(bounds, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n wasm.engine_setFlowField(this.__wbg_ptr, id, width, height, ptr0, len0, ptr1, len1, ptr2, len2);\n }\n /**\n * A flow layer's second field, on its grid (the model's next hour, or the flow of a wind towards the north: east\n * and north components, row after row; empty: none), mixed in by `setFlowBlend` or `setFlowWeights`\n * @param {number} id\n * @param {Float32Array} u\n * @param {Float32Array} v\n */\n setFlowNext(id, u, v) {\n const ptr0 = passArrayF32ToWasm0(u, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF32ToWasm0(v, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n wasm.engine_setFlowNext(this.__wbg_ptr, id, ptr0, len0, ptr1, len1);\n }\n /**\n * The look of a flow layer's trails: speeds (m/s) and their colors (RGBA 0-1, four numbers each), up to 8;\n * width (CSS pixels), opacity, height over the ground (metres), speed on screen (pixels a second for 10 m/s),\n * particles moving for each 100 × 100 CSS pixels of the view (at most the layer's)\n * @param {number} id\n * @param {Float32Array} speeds\n * @param {Float32Array} colors\n * @param {number} width\n * @param {number} opacity\n * @param {number} height\n * @param {number} speed\n * @param {number} density\n */\n setFlowStyle(id, speeds, colors, width, opacity, height, speed, density) {\n const ptr0 = passArrayF32ToWasm0(speeds, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF32ToWasm0(colors, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n wasm.engine_setFlowStyle(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, width, opacity, height, speed, density);\n }\n /**\n * A flow layer's velocity as `a` times its field plus `b` times its second one (a wind of `a` m/s towards the east\n * and `b` towards the north, from the flows of 1 m/s each way): nothing sent again but two numbers\n * @param {number} id\n * @param {number} a\n * @param {number} b\n */\n setFlowWeights(id, a, b) {\n wasm.engine_setFlowWeights(this.__wbg_ptr, id, a, b);\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 *\n * # Errors\n *\n * Throws (to JavaScript) as `setGlyphPages` does: a size that is not positive, or the texture not created\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 *\n * # Errors\n *\n * Throws (to JavaScript) when `width` or `height` is not positive (or their product overflows), `pages`\n * is not 1 to 256, or the atlas texture cannot be created\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 * Moves the Mercator box (0-1) a ground layer shows in\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 *\n * # Errors\n *\n * Throws (to JavaScript) on an unknown `format`, a size not positive (or overflowing), `data` shorter\n * than the texels, more textures than the layer takes, or a texture WebGL cannot create\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 *\n * # Errors\n *\n * Throws (to JavaScript) when the shader has no uniform `name` (one its code does not use is removed\n * by the compiler)\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 * Shows or hides a ground layer (kept, with its uniforms and textures)\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 *\n * # Errors\n *\n * Throws (to JavaScript) when `width` or `height` is not positive (or their product overflows), or the\n * atlas texture cannot be created\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 *\n * # Errors\n *\n * Throws (to JavaScript) when the lines need a table texture past the GPU's `MAX_TEXTURE_SIZE`, or\n * when it cannot be created; the layer then keeps its lines\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 * Lights at night the part of a model layer's model from `from` metres up (a street lamp's head) in `r, g, b`;\n * `from` not a number: none\n * @param {number} id\n * @param {number} from\n * @param {number} r\n * @param {number} g\n * @param {number} b\n */\n setModelGlow(id, from, r, g, b) {\n wasm.engine_setModelGlow(this.__wbg_ptr, id, from, r, g, b);\n }\n /**\n * Highlights the feature `feature` of a model layer's model (an IFC model's element) in `r, g, b`; `feature` not a\n * number: none\n * @param {number} id\n * @param {number} feature\n * @param {number} r\n * @param {number} g\n * @param {number} b\n */\n setModelHighlight(id, feature, r, g, b) {\n wasm.engine_setModelHighlight(this.__wbg_ptr, id, feature, r, g, b);\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 image of camera `index` of the panorama (the images sharing the size of the first)\n *\n * # Errors\n *\n * Throws (to JavaScript) when WebGL refuses the upload of `image` into the panorama's texture\n * @param {number} index\n * @param {ImageBitmap} image\n */\n setPanoramaImage(index, image) {\n const ret = wasm.engine_setPanoramaImage(this.__wbg_ptr, index, image);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Shows a panorama: at `lon`, `lat` (degrees) and `height` (metres above the ellipsoid), turned by `rotation`\n * (9 numbers, row-major: its frame to east, north, up), its `cameras` (25 numbers each: rotation from the panorama\n * frame, row-major, 9; position in it, 3; focal x, y; center x, y; skew; image width, height; principal point of\n * the distortion x, y; its coefficients r³, r⁵, r⁷; its limit, pixels), a backdrop sphere of `radius` metres, at\n * `opacity`. Its images come after (`setPanoramaImage`)\n *\n * # Errors\n *\n * Throws (to JavaScript) when `rotation` holds fewer than 9 numbers, or when a WebGL object cannot be created or a\n * shader fails to compile (the error carries its info log)\n * @param {number} lon\n * @param {number} lat\n * @param {number} height\n * @param {Float64Array} rotation\n * @param {Float64Array} cameras\n * @param {number} radius\n * @param {number} opacity\n */\n setPanorama(lon, lat, height, rotation, cameras, radius, opacity) {\n const ptr0 = passArrayF64ToWasm0(rotation, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF64ToWasm0(cameras, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setPanorama(this.__wbg_ptr, lon, lat, height, ptr0, len0, ptr1, len1, radius, opacity);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Sets the point the next turns and tilts go around (`rotate`): what is drawn under a screen point (CSS\n * pixels), a roof or a mesh as the relief. Read back from the last frame (a stall): once, where a drag starts.\n * Returns whether something was drawn there; over nothing, the turns go around the center\n * @param {number} x\n * @param {number} y\n * @returns {boolean}\n */\n setPivot(x, y) {\n const ret = wasm.engine_setPivot(this.__wbg_ptr, x, y);\n return ret !== 0;\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 * Opacity and saturation (0-1) of a raster layer; nothing for another id\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 * The headers added to the engine's requests by URL prefix (`setRequestHeaders`, the same for every map of the\n * page): `prefixes[i]` with `counts[i]` name and value pairs, in order, flattened into `pairs`\n * @param {string[]} prefixes\n * @param {Uint32Array} counts\n * @param {string[]} pairs\n */\n setRequestHeaders(prefixes, counts, pairs) {\n const ptr0 = passArrayJsValueToWasm0(prefixes, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(counts, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArrayJsValueToWasm0(pairs, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n wasm.engine_setRequestHeaders(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);\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 * The sun casting shadows and the night: its azimuth (degrees clockwise from north) and altitude (degrees above\n * the horizon), the shadows' opacity (0 to 1; none under the horizon or not a number), how dark the night is (0 to\n * 1: the frame tinted, the lights of the layers on). Neither shadows nor night: nothing drawn\n *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or the pass fails to compile\n * @param {number} azimuth\n * @param {number} altitude\n * @param {number} opacity\n * @param {number} night\n */\n setSun(azimuth, altitude, opacity, night) {\n const ret = wasm.engine_setSun(this.__wbg_ptr, azimuth, altitude, opacity, night);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Shows `layers` on one side of a vertical line only, the others beneath on the other side (comparing two states\n * of a place): left of `x` (CSS pixels from the left of the canvas), or right of it; `others` on the other side\n * only (two meshes of the same place, each on its side, never drawn over each other); a non-finite `x` stops\n * @param {number} x\n * @param {boolean} right\n * @param {Uint32Array} layers\n * @param {Uint32Array} others\n */\n setSwipe(x, right, layers, others) {\n const ptr0 = passArray32ToWasm0(layers, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(others, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n wasm.engine_setSwipe(this.__wbg_ptr, x, right, ptr0, len0, ptr1, len1);\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, hidden by the buildings\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 * @param {boolean} occluded\n */\n setSymbolLayer(id, size, opacity, min_zoom, max_zoom, visible, occluded) {\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, occluded);\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 (37 floats each, see `LABEL_FLOATS`), glyph and icon quads\n * (11 floats each, see `QUAD_FLOATS`) and the lines their curved texts follow (`paths`: for each label, its number\n * of points, the index of its anchor among them, then the points, Mercator; 0, 0 and none for the others)\n *\n * # Errors\n *\n * Throws (to JavaScript) when the labels need a table texture past the GPU's `MAX_TEXTURE_SIZE`, or\n * when it cannot be created; the layer then keeps its labels\n * @param {number} id\n * @param {Float64Array} anchors\n * @param {Float32Array} boxes\n * @param {Float32Array} styles\n * @param {Float32Array} quads\n * @param {Float64Array} paths\n */\n setSymbols(id, anchors, boxes, styles, quads, paths) {\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 ptr4 = passArrayF64ToWasm0(paths, wasm.__wbindgen_malloc);\n const len4 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setSymbols(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4);\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 *\n * # Errors\n *\n * Throws (to JavaScript) when the texture holding the relief's tiles cannot be created\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 * Whether the walls of a 3D Tiles layer's untextured meshes show their windows: glass by day, some lit at night\n * @param {number} id\n * @param {boolean} facades\n */\n setTiles3dFacades(id, facades) {\n wasm.engine_setTiles3dFacades(this.__wbg_ptr, id, facades);\n }\n /**\n * Screen-space error threshold, opacity, size of the points (CSS pixels, 2 if not given) and color (RGB 0-1, empty\n * for none: it tints the textures and colors the untextured meshes) of a 3D Tiles layer\n * @param {number} id\n * @param {number} max_error\n * @param {number} opacity\n * @param {number | null | undefined} point_size\n * @param {Float32Array} color\n */\n setTiles3dStyle(id, max_error, opacity, point_size, color) {\n const ptr0 = passArrayF32ToWasm0(color, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setTiles3dStyle(this.__wbg_ptr, id, max_error, opacity, !isLikeNone(point_size), isLikeNone(point_size) ? 0 : point_size, ptr0, len0);\n }\n /**\n * The style layers of a vector tile layer, in drawing order: per layer, its kind (0 fill, 1 line, 2 extrusion, 3\n * circle), its zoom range\n * (two numbers: shown from the first, included, to the second, excluded), whether it shows (0 or 1), its dashes\n * (four numbers: dash, gap, dash, gap, in line widths; 0: solid), its opacity as zoom stops (four zooms then four\n * values; missing: opaque), the caps of its lines' ends (0 butt, 1 round, 2 square; missing: round), whether its\n * lines glow at night (streets; 0 or 1), the joins of its lines (two numbers: 0 round, 1 miter, 2 bevel, then the\n * miter limit in line widths; missing: round), the translation of its fills or lines (three numbers: x and y in CSS\n * pixels, x right and y down, then 0 if it turns with the map, 1 if it stays on the screen; missing: none), whether its\n * fills have patterns (0 or 1)\n * @param {number} id\n * @param {Uint8Array} kinds\n * @param {Float64Array} zooms\n * @param {Uint8Array} visible\n * @param {Float32Array} dashes\n * @param {Float32Array} opacities\n * @param {Uint8Array} caps\n * @param {Uint8Array} lit\n * @param {Float32Array} joins\n * @param {Float32Array} translates\n * @param {Uint8Array} patterned\n */\n setVectorSublayers(id, kinds, zooms, visible, dashes, opacities, caps, lit, joins, translates, patterned) {\n const ptr0 = passArray8ToWasm0(kinds, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF64ToWasm0(zooms, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArray8ToWasm0(visible, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passArrayF32ToWasm0(dashes, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n const ptr4 = passArrayF32ToWasm0(opacities, wasm.__wbindgen_malloc);\n const len4 = WASM_VECTOR_LEN;\n const ptr5 = passArray8ToWasm0(caps, wasm.__wbindgen_malloc);\n const len5 = WASM_VECTOR_LEN;\n const ptr6 = passArray8ToWasm0(lit, wasm.__wbindgen_malloc);\n const len6 = WASM_VECTOR_LEN;\n const ptr7 = passArrayF32ToWasm0(joins, wasm.__wbindgen_malloc);\n const len7 = WASM_VECTOR_LEN;\n const ptr8 = passArrayF32ToWasm0(translates, wasm.__wbindgen_malloc);\n const len8 = WASM_VECTOR_LEN;\n const ptr9 = passArray8ToWasm0(patterned, wasm.__wbindgen_malloc);\n const len9 = WASM_VECTOR_LEN;\n wasm.engine_setVectorSublayers(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8, ptr9, len9);\n }\n /**\n * Adds or replaces tile `key` of a vector tile layer ready for the GPU, as the basemap workers make it (the\n * tessellation module): its polygons as for `setVectorTile` (picked here; their prisms built here if drawn in\n * relief while `prism` is false), the vertices of its fills (`shapes::Vertex` as bytes, each with its feature),\n * their triangles, per sublayer its top cap and the rest of its prism (`fill_ranges`: four numbers, first and\n * end of each), its line pieces (`pieces::Piece` as bytes), the line table (feature and length of each line),\n * per sublayer its pieces (`line_ranges`: first, end), the blocks of its extrusion sublayers (`shapes::Block` as\n * bytes), their triangles, per sublayer its blocks' triangles (`block_ranges`: first, end), the extent of its\n * points (`bounds`: min x, min y, max x, max y), `feature_count` features\n *\n * # Errors\n *\n * Throws (to JavaScript) when the vertices, pieces or blocks are cut short, when a WebGL object of the tile cannot be\n * created, or when its features or lines need a table texture past the GPU's `MAX_TEXTURE_SIZE`\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} polygon_feature\n * @param {Uint32Array} fill_start\n * @param {Uint8Array} vertices\n * @param {Uint32Array} indices\n * @param {Uint32Array} fill_ranges\n * @param {boolean} prism\n * @param {Uint8Array} pieces\n * @param {Float32Array} line_table\n * @param {Uint32Array} line_ranges\n * @param {Uint8Array} blocks\n * @param {Uint32Array} block_indices\n * @param {Uint32Array} block_ranges\n * @param {Float64Array} bounds\n * @param {number} feature_count\n */\n setVectorTileMesh(id, key, points, ring_start, polygon_start, polygon_feature, fill_start, vertices, indices, fill_ranges, prism, pieces, line_table, line_ranges, blocks, block_indices, block_ranges, bounds, 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(polygon_feature, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n const ptr4 = passArray32ToWasm0(fill_start, wasm.__wbindgen_malloc);\n const len4 = WASM_VECTOR_LEN;\n const ptr5 = passArray8ToWasm0(vertices, wasm.__wbindgen_malloc);\n const len5 = WASM_VECTOR_LEN;\n const ptr6 = passArray32ToWasm0(indices, wasm.__wbindgen_malloc);\n const len6 = WASM_VECTOR_LEN;\n const ptr7 = passArray32ToWasm0(fill_ranges, wasm.__wbindgen_malloc);\n const len7 = WASM_VECTOR_LEN;\n const ptr8 = passArray8ToWasm0(pieces, wasm.__wbindgen_malloc);\n const len8 = WASM_VECTOR_LEN;\n const ptr9 = passArrayF32ToWasm0(line_table, wasm.__wbindgen_malloc);\n const len9 = WASM_VECTOR_LEN;\n const ptr10 = passArray32ToWasm0(line_ranges, wasm.__wbindgen_malloc);\n const len10 = WASM_VECTOR_LEN;\n const ptr11 = passArray8ToWasm0(blocks, wasm.__wbindgen_malloc);\n const len11 = WASM_VECTOR_LEN;\n const ptr12 = passArray32ToWasm0(block_indices, wasm.__wbindgen_malloc);\n const len12 = WASM_VECTOR_LEN;\n const ptr13 = passArray32ToWasm0(block_ranges, wasm.__wbindgen_malloc);\n const len13 = WASM_VECTOR_LEN;\n const ptr14 = passArrayF64ToWasm0(bounds, wasm.__wbindgen_malloc);\n const len14 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setVectorTileMesh(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, prism, ptr8, len8, ptr9, len9, ptr10, len10, ptr11, len11, ptr12, len12, ptr13, len13, ptr14, len14, feature_count);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * The points of tile `key` of a vector tile layer, after the tile itself (`setVectorTile`, `setVectorTileMesh`):\n * Mercator, interleaved, each with its feature (styled as a circle's: a color, a radius and a stroke width, then the\n * stroke's color), `start` the first point of each sublayer and the end; the circle sublayers draw theirs\n * @param {number} id\n * @param {number} key\n * @param {Float64Array} points\n * @param {Uint32Array} feature\n * @param {Uint32Array} start\n */\n setVectorTilePoints(id, key, points, feature, start) {\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 ptr2 = passArray32ToWasm0(start, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n wasm.engine_setVectorTilePoints(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2);\n }\n /**\n * Adds or replaces tile `key` of a vector tile layer: its polygons as for `addFills` (`fill_start`: the first\n * polygon of each sublayer, and the end; those of an extrusion sublayer raised into blocks), its lines as for\n * `addLines` (`line_start`: the first line of each sublayer, and the end), `feature_count` features, styled as an\n * extrusion layer's (`setFeatureStyle` with the key: a color, then a line's width or a block's height and base);\n * `tile`: the corners of the tile they are cut to (west, north, east, south; empty: none), along whose edges no\n * wall of a block rises; `roofs` and `roof_heights`: per polygon, the shape and height of its block's roof\n * (`shapes::Roofs`: 0 flat, 1 to 5 `RoofShape::number`, 255 generated from its outline; metres, not a number: as\n * its slopes make it; empty: flat), the whole outlines of the buildings the tile cuts (`roof_outlines`, interleaved\n * Mercator points, `roof_outline_start`: where each polygon's starts, and the end), `roof_metres` the metres per\n * Mercator unit at the tile\n *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object of the tile cannot be created, or when its features or lines need a\n * table texture past the GPU's `MAX_TEXTURE_SIZE`\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} polygon_feature\n * @param {Uint32Array} fill_start\n * @param {Float64Array} line_points\n * @param {Uint32Array} line_first\n * @param {Uint32Array} line_feature\n * @param {Uint32Array} line_start\n * @param {number} feature_count\n * @param {Float64Array} tile\n * @param {Uint8Array} roofs\n * @param {Float32Array} roof_heights\n * @param {Float64Array} roof_outlines\n * @param {Uint32Array} roof_outline_start\n * @param {number} roof_metres\n */\n setVectorTile(id, key, points, ring_start, polygon_start, polygon_feature, fill_start, line_points, line_first, line_feature, line_start, feature_count, tile, roofs, roof_heights, roof_outlines, roof_outline_start, roof_metres) {\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(polygon_feature, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n const ptr4 = passArray32ToWasm0(fill_start, wasm.__wbindgen_malloc);\n const len4 = WASM_VECTOR_LEN;\n const ptr5 = passArrayF64ToWasm0(line_points, wasm.__wbindgen_malloc);\n const len5 = WASM_VECTOR_LEN;\n const ptr6 = passArray32ToWasm0(line_first, wasm.__wbindgen_malloc);\n const len6 = WASM_VECTOR_LEN;\n const ptr7 = passArray32ToWasm0(line_feature, wasm.__wbindgen_malloc);\n const len7 = WASM_VECTOR_LEN;\n const ptr8 = passArray32ToWasm0(line_start, wasm.__wbindgen_malloc);\n const len8 = WASM_VECTOR_LEN;\n const ptr9 = passArrayF64ToWasm0(tile, wasm.__wbindgen_malloc);\n const len9 = WASM_VECTOR_LEN;\n const ptr10 = passArray8ToWasm0(roofs, wasm.__wbindgen_malloc);\n const len10 = WASM_VECTOR_LEN;\n const ptr11 = passArrayF32ToWasm0(roof_heights, wasm.__wbindgen_malloc);\n const len11 = WASM_VECTOR_LEN;\n const ptr12 = passArrayF64ToWasm0(roof_outlines, wasm.__wbindgen_malloc);\n const len12 = WASM_VECTOR_LEN;\n const ptr13 = passArray32ToWasm0(roof_outline_start, wasm.__wbindgen_malloc);\n const len13 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setVectorTile(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8, feature_count, ptr9, len9, ptr10, len10, ptr11, len11, ptr12, len12, ptr13, len13, roof_metres);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Shows what can be seen from points, each within its range: `observers` holds 8 numbers per observer\n * (16 at most): longitude, latitude (degrees), metres above the ground, range (metres), then to look one way\n * only heading, tilt, angles of view across and up (degrees), the heading NaN to look all around. What some\n * observer sees is tinted with `visible`, what is hidden from all those that reach it with `hidden` (RGB 0-1),\n * at `opacity`; `outline` (RGB 0-1, or empty) the color of the cones' edges drawn in 3D\n *\n * # Errors\n *\n * Throws (to JavaScript) when, on the first call, a WebGL object cannot be created or a shader fails to compile\n * (the error carries its info log)\n * @param {Float64Array} observers\n * @param {Float32Array} visible\n * @param {Float32Array} hidden\n * @param {number} opacity\n * @param {Float32Array} outline\n */\n setViewshed(observers, visible, hidden, opacity, outline) {\n const ptr0 = passArrayF64ToWasm0(observers, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF32ToWasm0(visible, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArrayF32ToWasm0(hidden, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passArrayF32ToWasm0(outline, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setViewshed(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, opacity, ptr3, len3);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Lowest and highest zoom levels the camera accepts\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 * Moves a flow layer's particles by `seconds` of the page's time (one animation frame), in the current view;\n * whether they moved (none in view, or no field: the map need not be drawn again)\n * @param {number} id\n * @param {number} seconds\n * @returns {boolean}\n */\n stepFlow(id, seconds) {\n const ret = wasm.engine_stepFlow(this.__wbg_ptr, id, seconds);\n return ret !== 0;\n }\n /**\n * The height above the relief (metres) of the top of what stands at a position (degrees): a roof, a mesh, 0 on\n * the bare ground; undefined where nothing of the last frame is there. The scene is drawn from above into a single\n * pixel and read back (a stall, cheap: one pixel to fill)\n * @param {number} lon\n * @param {number} lat\n * @returns {any}\n */\n surfaceAt(lon, lat) {\n const ret = wasm.engine_surfaceAt(this.__wbg_ptr, lon, lat);\n return ret;\n }\n /**\n * What is drawn under a screen point (CSS pixels): longitude, latitude and its height above the relief (metres),\n * on a roof, a wall or a mesh as on the ground; undefined where nothing was drawn. The scene is drawn again and\n * read back (a stall): for clicks and drags\n * @param {number} x\n * @param {number} y\n * @returns {[lon: number, lat: number, height: number] | undefined}\n */\n surface(x, y) {\n const ret = wasm.engine_surface(this.__wbg_ptr, x, y);\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 * The feature of a picked handle (`pick`'s index on a 3D Tiles layer): `[properties, feature]`, its properties\n * (undefined when its tile has none) and its index in its tile; undefined if the handle is not of the last picking\n * pass\n * @param {number} id\n * @param {number} index\n * @returns {[properties: Record<string, unknown> | undefined, feature: number] | undefined}\n */\n tiles3dFeature(id, index) {\n const ret = wasm.engine_tiles3dFeature(this.__wbg_ptr, id, index);\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 *\n * # Errors\n *\n * Throws (to JavaScript) when there is no texture `name`, or when the region is out of its bounds or\n * `data` holds too few bytes\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 * Uploads a part more of the blocks of tile `key` of a vector tile layer (a large tile's, a part at a time over\n * several frames); whether some are left. Its blocks are drawn once they are all there\n * @param {number} id\n * @param {number} key\n * @returns {boolean}\n */\n uploadVectorTile(id, key) {\n const ret = wasm.engine_uploadVectorTile(this.__wbg_ptr, id, key);\n return ret !== 0;\n }\n /**\n * Vector tiles (512 CSS pixels across at their level, as `MapLibre`'s) for the view of the last frame (else the\n * camera's), levels `min_z` to `max_z`, three numbers per tile (z, x, y), the nearest to the eye first: what a\n * vector tile layer draws (`addVectorTiles`), coarser far away in a tilted view as the raster layers\n * @param {number} min_z\n * @param {number} max_z\n * @returns {Uint32Array}\n */\n vectorTilesInView(min_z, max_z) {\n const ret = wasm.engine_vectorTilesInView(this.__wbg_ptr, min_z, max_z);\n var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Tiles a raster layer wants for the view of the last frame, three numbers per tile (z, x, y), the nearest to\n * the eye first: the level each area of the ground is drawn at, for the labels of a vector style to follow it\n * @param {number} id\n * @returns {Uint32Array}\n */\n wantedTiles(id) {\n const ret = wasm.engine_wantedTiles(this.__wbg_ptr, id);\n var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Zooms by `delta` levels around a screen point (CSS pixels), which keeps the same ground point under it\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_bufferSubData_22c4c420e0f67cda: function(arg0, arg1, arg2, arg3) {\n arg0.bufferSubData(arg1 >>> 0, arg2, arg3);\n },\n __wbg_bufferSubData_8609cd8a2c013181: function(arg0, arg1, arg2, arg3) {\n arg0.bufferSubData(arg1 >>> 0, arg2, arg3);\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_806853698d9fc227: function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(arg0, arg1 >>> 0);\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_polygonOffset_81dc8ca84e29572b: function(arg0, arg1, arg2) {\n arg0.polygonOffset(arg1, arg2);\n },\n __wbg_polygonOffset_8f922d9173d8849d: function(arg0, arg1, arg2) {\n arg0.polygonOffset(arg1, 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_vertexAttrib1f_37ce0547e8fa5f36: function(arg0, arg1, arg2) {\n arg0.vertexAttrib1f(arg1 >>> 0, arg2);\n },\n __wbg_vertexAttrib1f_470b2556c148483a: function(arg0, arg1, arg2) {\n arg0.vertexAttrib1f(arg1 >>> 0, arg2);\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: 229, 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 passArrayJsValueToWasm0(array, malloc) {\n const ptr = malloc(array.length * 4, 4) >>> 0;\n for (let i = 0; i < array.length; i++) {\n const add = addToExternrefTable0(array[i]);\n getDataViewMemory0().setUint32(ptr + 4 * i, add, true);\n }\n WASM_VECTOR_LEN = array.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",
|
|
10
|
+
"/* @ts-self-types=\"./isard.d.ts\" */\n\n/**\n * A map on one canvas: its WebGL2 context, camera, ground (raster layers over the relief) and the layers over it.\n * Draws only when `render` is called (the JavaScript side calls it after `redraw` asks for a frame)\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 *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or a shader fails to compile (the error carries its\n * info log), or when `feature_count` features need a table texture past the GPU's `MAX_TEXTURE_SIZE`\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 *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or a shader fails to compile (the error carries its\n * info log)\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 *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or a shader fails to compile (the error carries its\n * info log), or when `feature_count` features need a table texture past the GPU's `MAX_TEXTURE_SIZE`\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 * A flow layer of `particles` particles (rounded up to a multiple of 4096) with trails of `trail` positions; its\n * field comes with `setFlowField`\n *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created, a shader fails to compile or the trails need a\n * table texture past the GPU's `MAX_TEXTURE_SIZE`\n * @param {number} particles\n * @param {number} trail\n * @returns {number}\n */\n addFlow(particles, trail) {\n const ret = wasm.engine_addFlow(this.__wbg_ptr, particles, trail);\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 *\n * # Errors\n *\n * Throws (to JavaScript) when `code` does not compile or link, with the shader's info log\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 *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or a shader fails to compile (the error carries its\n * info log), or when the features or the lines need a table texture past the GPU's `MAX_TEXTURE_SIZE`\n * @param {Float64Array} points\n * @param {Uint32Array} start\n * @param {Uint32Array} feature\n * @param {number} feature_count\n * @param {Float64Array | null} [heights]\n * @param {boolean | null} [sea]\n * @returns {number}\n */\n addLines(points, start, feature, feature_count, heights, sea) {\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 var ptr3 = isLikeNone(heights) ? 0 : passArrayF64ToWasm0(heights, wasm.__wbindgen_malloc);\n var len3 = WASM_VECTOR_LEN;\n const ret = wasm.engine_addLines(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, feature_count, ptr3, len3, isLikeNone(sea) ? 0xFFFFFF : sea ? 1 : 0);\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 *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or a shader fails to compile (the error carries its\n * info log). A model that fails to load or decode does not throw: the layer stays empty\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 *\n * # Errors\n *\n * Throws (to JavaScript) when `style` is not 25 numbers, `edges` is not node pairs or names a node past\n * those of `mercator`, the nodes or edges need a table texture past the GPU's `MAX_TEXTURE_SIZE`, or when\n * a WebGL object cannot be created or a shader fails to compile (the error carries its info log)\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 *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or a shader fails to compile (the error carries its\n * info log). The file itself is read later: a bad file, or a `resolve` that throws, leaves the layer 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 *\n * # Errors\n *\n * Throws (to JavaScript) when the texture holding the layer's tiles cannot be created\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 *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or a shader fails to compile (the error carries its\n * info log)\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 * `geoid`: its heights are altitudes (NGF-IGN69), each tile raised by the RAF20 geoid onto the relief.\n *\n * # Errors\n *\n * Throws (to JavaScript) when one of the layer's programs fails to compile or link (the error carries\n * its info log). The tileset itself is read later: a bad one leaves the layer empty, it does not throw\n * @param {string} url\n * @param {number} max_error\n * @param {boolean | null} [geoid]\n * @returns {number}\n */\n addTiles3d(url, max_error, geoid) {\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, isLikeNone(geoid) ? 0xFFFFFF : geoid ? 1 : 0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * An empty layer of vector tiles drawn as geometry: its style layers come with `setVectorSublayers`, its tiles\n * with `setVectorTile`\n *\n * # Errors\n *\n * Throws (to JavaScript) when a shader fails to compile (the error carries its info log)\n * @returns {number}\n */\n addVectorTiles() {\n const ret = wasm.engine_addVectorTiles(this.__wbg_ptr);\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 * The camera as set or moved: center (degrees), zoom, pitch and bearing (degrees)\n * @returns {Camera}\n */\n camera() {\n const ret = wasm.engine_camera(this.__wbg_ptr);\n return ret;\n }\n /**\n * Removes the panorama\n */\n clearPanorama() {\n wasm.engine_clearPanorama(this.__wbg_ptr);\n }\n /**\n * The turns go around the screen center again\n */\n clearPivot() {\n wasm.engine_clearPivot(this.__wbg_ptr);\n }\n /**\n * Stops loading the tiles of the flight's destination (`preload`)\n */\n clearPreload() {\n wasm.engine_clearPreload(this.__wbg_ptr);\n }\n /**\n * Removes the viewshed\n */\n clearViewshed() {\n wasm.engine_clearViewshed(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 * Altitude of the relief at a position (metres, exaggeration included), from the copy of its tiles kept on the\n * CPU (as coarse as the tiles loaded there); undefined without relief or where none is loaded\n * @param {number} lon\n * @param {number} lat\n * @returns {number | undefined}\n */\n elevationAt(lon, lat) {\n const ret = wasm.engine_elevationAt(this.__wbg_ptr, lon, lat);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * Height of the RAF20 geoid above the ellipsoid at a position (metres; 0 away from mainland France): what raises\n * the altitudes (NGF-IGN69) of a source onto the IGN relief\n * @param {number} lon\n * @param {number} lat\n * @returns {number}\n */\n static geoidHeight(lon, lat) {\n const ret = wasm.engine_geoidHeight(lon, lat);\n return ret;\n }\n /**\n * Position under a screen point (CSS pixels), undefined above the horizon; on the relief itself: from the copy of\n * its tiles kept on the CPU, the drawn ground read back from the GPU only where none is there (a read back waits\n * for the frame: called during a move, it stalls it)\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 * Model-view-projection matrix (16 numbers, column-major) of the local frame at a longitude, latitude (degrees)\n * and altitude (metres), x east, y north, z up, in metres, for the last frame drawn (else the camera): the 3D\n * overlays of the page (`Panel`) placed with it after each frame\n * @param {number} lon\n * @param {number} lat\n * @param {number} altitude\n * @returns {Float32Array}\n */\n localMatrix(lon, lat, altitude) {\n const ret = wasm.engine_localMatrix(this.__wbg_ptr, lon, lat, altitude);\n var v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\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 *\n * # Errors\n *\n * Throws (to JavaScript) when the canvas gives no WebGL2 context (\"WebGL2 is not available\"), or when a WebGL\n * object of the globe, the sky or the raster pass cannot be created or one of their shaders fails to compile\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, or `height` metres above it, undefined behind the camera\n * @param {number} lon\n * @param {number} lat\n * @param {number | null} [height]\n * @returns {[x: number, y: number] | undefined}\n */\n project(lon, lat, height) {\n const ret = wasm.engine_project(this.__wbg_ptr, lon, lat, !isLikeNone(height), isLikeNone(height) ? 0 : height);\n return ret;\n }\n /**\n * A flow layer's second field becomes its field (the model's next hour reached): only the hour after it is then\n * sent (`setFlowNext`)\n * @param {number} id\n */\n promoteFlowNext(id) {\n wasm.engine_promoteFlowNext(this.__wbg_ptr, id);\n }\n /**\n * Removes batch `key` of an extrusion layer (nothing if there is none)\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 * Removes a layer and frees its GPU objects; the other layers forget it (a layer that referred to it)\n * @param {number} id\n */\n removeLayer(id) {\n wasm.engine_removeLayer(this.__wbg_ptr, id);\n }\n /**\n * Removes tile `key` of a vector tile layer (nothing if there is none)\n * @param {number} id\n * @param {number} key\n */\n removeVectorTile(id, key) {\n wasm.engine_removeVectorTile(this.__wbg_ptr, id, key);\n }\n /**\n * Draws a frame: the backdrop, the ground and the layers over it bottom to top, then the panorama and the\n * viewshed; 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, in degrees: around the pivot if one is set (`setPivot`), else around the screen center\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 * Color the canvas is cleared to (RGB 0-1), where neither ground nor sky is drawn\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 * Sets the camera (degrees, the conventions of `MapLibre`): leaves a street-level view, and the camera keeps this\n * center as the relief comes in\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 *\n * # Errors\n *\n * Throws (to JavaScript) when the batch's features need an anchor texture past the GPU's\n * `MAX_TEXTURE_SIZE`, or when it cannot be created\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), each polygon's roof (`Roofs`)\n *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL buffer or vertex array of the batch cannot be created, or when\n * `feature_count` features need a table texture past the GPU's `MAX_TEXTURE_SIZE`\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 * @param {Uint8Array} roofs\n * @param {Float32Array} roof_heights\n * @param {number} metres\n */\n setExtrusionBatch(id, key, points, ring_start, polygon_start, feature, feature_count, roofs, roof_heights, metres) {\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 ptr4 = passArray8ToWasm0(roofs, wasm.__wbindgen_malloc);\n const len4 = WASM_VECTOR_LEN;\n const ptr5 = passArrayF32ToWasm0(roof_heights, wasm.__wbindgen_malloc);\n const len5 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setExtrusionBatch(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, feature_count, ptr4, len4, ptr5, len5, metres);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Whether the buildings of an extrusion layer, or of a vector tiles layer, show their windows on their walls\n * @param {number} id\n * @param {boolean} on\n */\n setFacades(id, on) {\n wasm.engine_setFacades(this.__wbg_ptr, id, on);\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, extrusion or vector tile layer (batch or tile `key` of the last\n * two): 32 floats per feature, its color (RGBA 0-1), its second color (a circle's stroke), then two sizes as zoom\n * stops (four zooms, four values each): a line's width; a circle's radius and stroke width, CSS pixels; a block's\n * height and base 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 * A street-level view: the eye `height` metres above the ground at `lon`, `lat` (degrees), looking `bearing`\n * (degrees clockwise from north) and `pitch` (0 straight down, 90 level, 180 straight up), with a vertical field\n * of view of `fov` degrees. A camera set with `setCamera` turns around a point again\n * @param {number} lon\n * @param {number} lat\n * @param {number} height\n * @param {number} bearing\n * @param {number} pitch\n * @param {number} fov\n */\n setFirstPerson(lon, lat, height, bearing, pitch, fov) {\n wasm.engine_setFirstPerson(this.__wbg_ptr, lon, lat, height, bearing, pitch, fov);\n }\n /**\n * How far a flow layer's field has gone towards its next one, 0 to 1 (the time between the model's two hours)\n * @param {number} id\n * @param {number} blend\n */\n setFlowBlend(id, blend) {\n wasm.engine_setFlowBlend(this.__wbg_ptr, id, blend);\n }\n /**\n * The field of a flow layer: `width` × `height` points over `bounds` (west, south, east, north, degrees: the\n * longitudes and latitudes of the corner points; a last column one step short of 360° round the world), their\n * east and north components (m/s, row after row from the north; not a number: none there). On the grid of the\n * field before, the particles go on (its next field and blend kept); on another one, they start again\n * @param {number} id\n * @param {number} width\n * @param {number} height\n * @param {Float32Array} u\n * @param {Float32Array} v\n * @param {Float64Array} bounds\n */\n setFlowField(id, width, height, u, v, bounds) {\n const ptr0 = passArrayF32ToWasm0(u, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF32ToWasm0(v, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArrayF64ToWasm0(bounds, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n wasm.engine_setFlowField(this.__wbg_ptr, id, width, height, ptr0, len0, ptr1, len1, ptr2, len2);\n }\n /**\n * A flow layer's second field, on its grid (the model's next hour, or the flow of a wind towards the north: east\n * and north components, row after row; empty: none), mixed in by `setFlowBlend` or `setFlowWeights`\n * @param {number} id\n * @param {Float32Array} u\n * @param {Float32Array} v\n */\n setFlowNext(id, u, v) {\n const ptr0 = passArrayF32ToWasm0(u, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF32ToWasm0(v, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n wasm.engine_setFlowNext(this.__wbg_ptr, id, ptr0, len0, ptr1, len1);\n }\n /**\n * The look of a flow layer's trails: speeds (m/s) and their colors (RGBA 0-1, four numbers each), up to 8;\n * width (CSS pixels), opacity, height over the ground (metres), speed on screen (pixels a second for 10 m/s),\n * particles moving for each 100 × 100 CSS pixels of the view (at most the layer's)\n * @param {number} id\n * @param {Float32Array} speeds\n * @param {Float32Array} colors\n * @param {number} width\n * @param {number} opacity\n * @param {number} height\n * @param {number} speed\n * @param {number} density\n */\n setFlowStyle(id, speeds, colors, width, opacity, height, speed, density) {\n const ptr0 = passArrayF32ToWasm0(speeds, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF32ToWasm0(colors, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n wasm.engine_setFlowStyle(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, width, opacity, height, speed, density);\n }\n /**\n * A flow layer's velocity as `a` times its field plus `b` times its second one (a wind of `a` m/s towards the east\n * and `b` towards the north, from the flows of 1 m/s each way): nothing sent again but two numbers\n * @param {number} id\n * @param {number} a\n * @param {number} b\n */\n setFlowWeights(id, a, b) {\n wasm.engine_setFlowWeights(this.__wbg_ptr, id, a, b);\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 *\n * # Errors\n *\n * Throws (to JavaScript) as `setGlyphPages` does: a size that is not positive, or the texture not created\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 *\n * # Errors\n *\n * Throws (to JavaScript) when `width` or `height` is not positive (or their product overflows), `pages`\n * is not 1 to 256, or the atlas texture cannot be created\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 * Moves the Mercator box (0-1) a ground layer shows in\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 *\n * # Errors\n *\n * Throws (to JavaScript) on an unknown `format`, a size not positive (or overflowing), `data` shorter\n * than the texels, more textures than the layer takes, or a texture WebGL cannot create\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 *\n * # Errors\n *\n * Throws (to JavaScript) when the shader has no uniform `name` (one its code does not use is removed\n * by the compiler)\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 * Shows or hides a ground layer (kept, with its uniforms and textures)\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 *\n * # Errors\n *\n * Throws (to JavaScript) when `width` or `height` is not positive (or their product overflows), or the\n * atlas texture cannot be created\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 *\n * # Errors\n *\n * Throws (to JavaScript) when the lines need a table texture past the GPU's `MAX_TEXTURE_SIZE`, or\n * when it cannot be created; the layer then keeps its lines\n * @param {number} id\n * @param {Float64Array} points\n * @param {Uint32Array} start\n * @param {Uint32Array} feature\n * @param {Float64Array | null} [heights]\n * @param {boolean | null} [sea]\n */\n setLines(id, points, start, feature, heights, sea) {\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 var ptr3 = isLikeNone(heights) ? 0 : passArrayF64ToWasm0(heights, wasm.__wbindgen_malloc);\n var len3 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setLines(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, isLikeNone(sea) ? 0xFFFFFF : sea ? 1 : 0);\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 * Lights at night the part of a model layer's model from `from` metres up (a street lamp's head) in `r, g, b`;\n * `from` not a number: none\n * @param {number} id\n * @param {number} from\n * @param {number} r\n * @param {number} g\n * @param {number} b\n */\n setModelGlow(id, from, r, g, b) {\n wasm.engine_setModelGlow(this.__wbg_ptr, id, from, r, g, b);\n }\n /**\n * Highlights the feature `feature` of a model layer's model (an IFC model's element) in `r, g, b`; `feature` not a\n * number: none\n * @param {number} id\n * @param {number} feature\n * @param {number} r\n * @param {number} g\n * @param {number} b\n */\n setModelHighlight(id, feature, r, g, b) {\n wasm.engine_setModelHighlight(this.__wbg_ptr, id, feature, r, g, b);\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 image of camera `index` of the panorama (the images sharing the size of the first)\n *\n * # Errors\n *\n * Throws (to JavaScript) when WebGL refuses the upload of `image` into the panorama's texture\n * @param {number} index\n * @param {ImageBitmap} image\n */\n setPanoramaImage(index, image) {\n const ret = wasm.engine_setPanoramaImage(this.__wbg_ptr, index, image);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Shows a panorama: at `lon`, `lat` (degrees) and `height` (metres above the ellipsoid), turned by `rotation`\n * (9 numbers, row-major: its frame to east, north, up), its `cameras` (25 numbers each: rotation from the panorama\n * frame, row-major, 9; position in it, 3; focal x, y; center x, y; skew; image width, height; principal point of\n * the distortion x, y; its coefficients r³, r⁵, r⁷; its limit, pixels), a backdrop sphere of `radius` metres, at\n * `opacity`. Its images come after (`setPanoramaImage`)\n *\n * # Errors\n *\n * Throws (to JavaScript) when `rotation` holds fewer than 9 numbers, or when a WebGL object cannot be created or a\n * shader fails to compile (the error carries its info log)\n * @param {number} lon\n * @param {number} lat\n * @param {number} height\n * @param {Float64Array} rotation\n * @param {Float64Array} cameras\n * @param {number} radius\n * @param {number} opacity\n */\n setPanorama(lon, lat, height, rotation, cameras, radius, opacity) {\n const ptr0 = passArrayF64ToWasm0(rotation, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF64ToWasm0(cameras, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setPanorama(this.__wbg_ptr, lon, lat, height, ptr0, len0, ptr1, len1, radius, opacity);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Sets the point the next turns and tilts go around (`rotate`): what is drawn under a screen point (CSS\n * pixels), a roof or a mesh as the relief. Read back from the last frame (a stall): once, where a drag starts.\n * Returns whether something was drawn there; over nothing, the turns go around the center\n * @param {number} x\n * @param {number} y\n * @returns {boolean}\n */\n setPivot(x, y) {\n const ret = wasm.engine_setPivot(this.__wbg_ptr, x, y);\n return ret !== 0;\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 * Opacity and saturation (0-1) of a raster layer; nothing for another id\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 * The headers added to the engine's requests by URL prefix (`setRequestHeaders`, the same for every map of the\n * page): `prefixes[i]` with `counts[i]` name and value pairs, in order, flattened into `pairs`\n * @param {string[]} prefixes\n * @param {Uint32Array} counts\n * @param {string[]} pairs\n */\n setRequestHeaders(prefixes, counts, pairs) {\n const ptr0 = passArrayJsValueToWasm0(prefixes, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(counts, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArrayJsValueToWasm0(pairs, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n wasm.engine_setRequestHeaders(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);\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 * The sun casting shadows and the night: its azimuth (degrees clockwise from north) and altitude (degrees above\n * the horizon), the shadows' opacity (0 to 1; none under the horizon or not a number), how dark the night is (0 to\n * 1: the frame tinted, the lights of the layers on). Neither shadows nor night: nothing drawn\n *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object cannot be created or the pass fails to compile\n * @param {number} azimuth\n * @param {number} altitude\n * @param {number} opacity\n * @param {number} night\n */\n setSun(azimuth, altitude, opacity, night) {\n const ret = wasm.engine_setSun(this.__wbg_ptr, azimuth, altitude, opacity, night);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Shows `layers` on one side of a vertical line only, the others beneath on the other side (comparing two states\n * of a place): left of `x` (CSS pixels from the left of the canvas), or right of it; `others` on the other side\n * only (two meshes of the same place, each on its side, never drawn over each other); a non-finite `x` stops\n * @param {number} x\n * @param {boolean} right\n * @param {Uint32Array} layers\n * @param {Uint32Array} others\n */\n setSwipe(x, right, layers, others) {\n const ptr0 = passArray32ToWasm0(layers, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(others, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n wasm.engine_setSwipe(this.__wbg_ptr, x, right, ptr0, len0, ptr1, len1);\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, hidden by the buildings\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 * @param {boolean} occluded\n */\n setSymbolLayer(id, size, opacity, min_zoom, max_zoom, visible, occluded) {\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, occluded);\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 (37 floats each, see `LABEL_FLOATS`), glyph and icon quads\n * (11 floats each, see `QUAD_FLOATS`) and the lines their curved texts follow (`paths`: for each label, its number\n * of points, the index of its anchor among them, then the points, Mercator; 0, 0 and none for the others)\n *\n * # Errors\n *\n * Throws (to JavaScript) when the labels need a table texture past the GPU's `MAX_TEXTURE_SIZE`, or\n * when it cannot be created; the layer then keeps its labels\n * @param {number} id\n * @param {Float64Array} anchors\n * @param {Float32Array} boxes\n * @param {Float32Array} styles\n * @param {Float32Array} quads\n * @param {Float64Array} paths\n */\n setSymbols(id, anchors, boxes, styles, quads, paths) {\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 ptr4 = passArrayF64ToWasm0(paths, wasm.__wbindgen_malloc);\n const len4 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setSymbols(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4);\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 *\n * # Errors\n *\n * Throws (to JavaScript) when the texture holding the relief's tiles cannot be created\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 * Whether the walls of a 3D Tiles layer's untextured meshes show their windows: glass by day, some lit at night\n * @param {number} id\n * @param {boolean} facades\n */\n setTiles3dFacades(id, facades) {\n wasm.engine_setTiles3dFacades(this.__wbg_ptr, id, facades);\n }\n /**\n * Each feature of a 3D Tiles layer its color (null: the layer's)\n * @param {number} id\n * @param {((properties: Record<string, unknown>[] | undefined, count: number) => Uint8Array) | null} colors\n */\n setTiles3dFeatureColors(id, colors) {\n wasm.engine_setTiles3dFeatureColors(this.__wbg_ptr, id, colors);\n }\n /**\n * Screen-space error threshold, opacity, size of the points (CSS pixels, 2 if not given) and color (RGB 0-1, empty\n * for none: it tints the textures and colors the untextured meshes) of a 3D Tiles layer\n * @param {number} id\n * @param {number} max_error\n * @param {number} opacity\n * @param {number | null | undefined} point_size\n * @param {Float32Array} color\n */\n setTiles3dStyle(id, max_error, opacity, point_size, color) {\n const ptr0 = passArrayF32ToWasm0(color, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.engine_setTiles3dStyle(this.__wbg_ptr, id, max_error, opacity, !isLikeNone(point_size), isLikeNone(point_size) ? 0 : point_size, ptr0, len0);\n }\n /**\n * The style layers of a vector tile layer, in drawing order: per layer, its kind (0 fill, 1 line, 2 extrusion, 3\n * circle), its zoom range\n * (two numbers: shown from the first, included, to the second, excluded), whether it shows (0 or 1), its dashes\n * (four numbers: dash, gap, dash, gap, in line widths; 0: solid), its opacity as zoom stops (four zooms then four\n * values; missing: opaque), the caps of its lines' ends (0 butt, 1 round, 2 square; missing: round), whether its\n * lines glow at night (streets; 0 or 1), the joins of its lines (two numbers: 0 round, 1 miter, 2 bevel, then the\n * miter limit in line widths; missing: round), the translation of its fills or lines (three numbers: x and y in CSS\n * pixels, x right and y down, then 0 if it turns with the map, 1 if it stays on the screen; missing: none), whether its\n * fills have patterns (0 or 1)\n * @param {number} id\n * @param {Uint8Array} kinds\n * @param {Float64Array} zooms\n * @param {Uint8Array} visible\n * @param {Float32Array} dashes\n * @param {Float32Array} opacities\n * @param {Uint8Array} caps\n * @param {Uint8Array} lit\n * @param {Float32Array} joins\n * @param {Float32Array} translates\n * @param {Uint8Array} patterned\n */\n setVectorSublayers(id, kinds, zooms, visible, dashes, opacities, caps, lit, joins, translates, patterned) {\n const ptr0 = passArray8ToWasm0(kinds, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF64ToWasm0(zooms, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArray8ToWasm0(visible, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passArrayF32ToWasm0(dashes, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n const ptr4 = passArrayF32ToWasm0(opacities, wasm.__wbindgen_malloc);\n const len4 = WASM_VECTOR_LEN;\n const ptr5 = passArray8ToWasm0(caps, wasm.__wbindgen_malloc);\n const len5 = WASM_VECTOR_LEN;\n const ptr6 = passArray8ToWasm0(lit, wasm.__wbindgen_malloc);\n const len6 = WASM_VECTOR_LEN;\n const ptr7 = passArrayF32ToWasm0(joins, wasm.__wbindgen_malloc);\n const len7 = WASM_VECTOR_LEN;\n const ptr8 = passArrayF32ToWasm0(translates, wasm.__wbindgen_malloc);\n const len8 = WASM_VECTOR_LEN;\n const ptr9 = passArray8ToWasm0(patterned, wasm.__wbindgen_malloc);\n const len9 = WASM_VECTOR_LEN;\n wasm.engine_setVectorSublayers(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8, ptr9, len9);\n }\n /**\n * Adds or replaces tile `key` of a vector tile layer ready for the GPU, as the basemap workers make it (the\n * tessellation module): its polygons as for `setVectorTile` (picked here; their prisms built here if drawn in\n * relief while `prism` is false), the vertices of its fills (`shapes::Vertex` as bytes, each with its feature),\n * their triangles, per sublayer its top cap and the rest of its prism (`fill_ranges`: four numbers, first and\n * end of each), its line pieces (`pieces::Piece` as bytes), the line table (feature and length of each line),\n * per sublayer its pieces (`line_ranges`: first, end), the blocks of its extrusion sublayers (`shapes::Block` as\n * bytes), their triangles, per sublayer its blocks' triangles (`block_ranges`: first, end), the extent of its\n * points (`bounds`: min x, min y, max x, max y), `feature_count` features\n *\n * # Errors\n *\n * Throws (to JavaScript) when the vertices, pieces or blocks are cut short, when a WebGL object of the tile cannot be\n * created, or when its features or lines need a table texture past the GPU's `MAX_TEXTURE_SIZE`\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} polygon_feature\n * @param {Uint32Array} fill_start\n * @param {Uint8Array} vertices\n * @param {Uint32Array} indices\n * @param {Uint32Array} fill_ranges\n * @param {boolean} prism\n * @param {Uint8Array} pieces\n * @param {Float32Array} line_table\n * @param {Uint32Array} line_ranges\n * @param {Uint8Array} blocks\n * @param {Uint32Array} block_indices\n * @param {Uint32Array} block_ranges\n * @param {Float64Array} bounds\n * @param {number} feature_count\n */\n setVectorTileMesh(id, key, points, ring_start, polygon_start, polygon_feature, fill_start, vertices, indices, fill_ranges, prism, pieces, line_table, line_ranges, blocks, block_indices, block_ranges, bounds, 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(polygon_feature, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n const ptr4 = passArray32ToWasm0(fill_start, wasm.__wbindgen_malloc);\n const len4 = WASM_VECTOR_LEN;\n const ptr5 = passArray8ToWasm0(vertices, wasm.__wbindgen_malloc);\n const len5 = WASM_VECTOR_LEN;\n const ptr6 = passArray32ToWasm0(indices, wasm.__wbindgen_malloc);\n const len6 = WASM_VECTOR_LEN;\n const ptr7 = passArray32ToWasm0(fill_ranges, wasm.__wbindgen_malloc);\n const len7 = WASM_VECTOR_LEN;\n const ptr8 = passArray8ToWasm0(pieces, wasm.__wbindgen_malloc);\n const len8 = WASM_VECTOR_LEN;\n const ptr9 = passArrayF32ToWasm0(line_table, wasm.__wbindgen_malloc);\n const len9 = WASM_VECTOR_LEN;\n const ptr10 = passArray32ToWasm0(line_ranges, wasm.__wbindgen_malloc);\n const len10 = WASM_VECTOR_LEN;\n const ptr11 = passArray8ToWasm0(blocks, wasm.__wbindgen_malloc);\n const len11 = WASM_VECTOR_LEN;\n const ptr12 = passArray32ToWasm0(block_indices, wasm.__wbindgen_malloc);\n const len12 = WASM_VECTOR_LEN;\n const ptr13 = passArray32ToWasm0(block_ranges, wasm.__wbindgen_malloc);\n const len13 = WASM_VECTOR_LEN;\n const ptr14 = passArrayF64ToWasm0(bounds, wasm.__wbindgen_malloc);\n const len14 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setVectorTileMesh(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, prism, ptr8, len8, ptr9, len9, ptr10, len10, ptr11, len11, ptr12, len12, ptr13, len13, ptr14, len14, feature_count);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * The points of tile `key` of a vector tile layer, after the tile itself (`setVectorTile`, `setVectorTileMesh`):\n * Mercator, interleaved, each with its feature (styled as a circle's: a color, a radius and a stroke width, then the\n * stroke's color), `start` the first point of each sublayer and the end; the circle sublayers draw theirs\n * @param {number} id\n * @param {number} key\n * @param {Float64Array} points\n * @param {Uint32Array} feature\n * @param {Uint32Array} start\n */\n setVectorTilePoints(id, key, points, feature, start) {\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 ptr2 = passArray32ToWasm0(start, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n wasm.engine_setVectorTilePoints(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2);\n }\n /**\n * Adds or replaces tile `key` of a vector tile layer: its polygons as for `addFills` (`fill_start`: the first\n * polygon of each sublayer, and the end; those of an extrusion sublayer raised into blocks), its lines as for\n * `addLines` (`line_start`: the first line of each sublayer, and the end), `feature_count` features, styled as an\n * extrusion layer's (`setFeatureStyle` with the key: a color, then a line's width or a block's height and base);\n * `tile`: the corners of the tile they are cut to (west, north, east, south; empty: none), along whose edges no\n * wall of a block rises; `roofs` and `roof_heights`: per polygon, the shape and height of its block's roof\n * (`shapes::Roofs`: 0 flat, 1 to 5 `RoofShape::number`, 255 generated from its outline; metres, not a number: as\n * its slopes make it; empty: flat), the whole outlines of the buildings the tile cuts (`roof_outlines`, interleaved\n * Mercator points, `roof_outline_start`: where each polygon's starts, and the end), `roof_metres` the metres per\n * Mercator unit at the tile\n *\n * # Errors\n *\n * Throws (to JavaScript) when a WebGL object of the tile cannot be created, or when its features or lines need a\n * table texture past the GPU's `MAX_TEXTURE_SIZE`\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} polygon_feature\n * @param {Uint32Array} fill_start\n * @param {Float64Array} line_points\n * @param {Uint32Array} line_first\n * @param {Uint32Array} line_feature\n * @param {Uint32Array} line_start\n * @param {number} feature_count\n * @param {Float64Array} tile\n * @param {Uint8Array} roofs\n * @param {Float32Array} roof_heights\n * @param {Float64Array} roof_outlines\n * @param {Uint32Array} roof_outline_start\n * @param {number} roof_metres\n */\n setVectorTile(id, key, points, ring_start, polygon_start, polygon_feature, fill_start, line_points, line_first, line_feature, line_start, feature_count, tile, roofs, roof_heights, roof_outlines, roof_outline_start, roof_metres) {\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(polygon_feature, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n const ptr4 = passArray32ToWasm0(fill_start, wasm.__wbindgen_malloc);\n const len4 = WASM_VECTOR_LEN;\n const ptr5 = passArrayF64ToWasm0(line_points, wasm.__wbindgen_malloc);\n const len5 = WASM_VECTOR_LEN;\n const ptr6 = passArray32ToWasm0(line_first, wasm.__wbindgen_malloc);\n const len6 = WASM_VECTOR_LEN;\n const ptr7 = passArray32ToWasm0(line_feature, wasm.__wbindgen_malloc);\n const len7 = WASM_VECTOR_LEN;\n const ptr8 = passArray32ToWasm0(line_start, wasm.__wbindgen_malloc);\n const len8 = WASM_VECTOR_LEN;\n const ptr9 = passArrayF64ToWasm0(tile, wasm.__wbindgen_malloc);\n const len9 = WASM_VECTOR_LEN;\n const ptr10 = passArray8ToWasm0(roofs, wasm.__wbindgen_malloc);\n const len10 = WASM_VECTOR_LEN;\n const ptr11 = passArrayF32ToWasm0(roof_heights, wasm.__wbindgen_malloc);\n const len11 = WASM_VECTOR_LEN;\n const ptr12 = passArrayF64ToWasm0(roof_outlines, wasm.__wbindgen_malloc);\n const len12 = WASM_VECTOR_LEN;\n const ptr13 = passArray32ToWasm0(roof_outline_start, wasm.__wbindgen_malloc);\n const len13 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setVectorTile(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8, feature_count, ptr9, len9, ptr10, len10, ptr11, len11, ptr12, len12, ptr13, len13, roof_metres);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Shows what can be seen from points, each within its range: `observers` holds 8 numbers per observer\n * (16 at most): longitude, latitude (degrees), metres above the ground, range (metres), then to look one way\n * only heading, tilt, angles of view across and up (degrees), the heading NaN to look all around. What some\n * observer sees is tinted with `visible`, what is hidden from all those that reach it with `hidden` (RGB 0-1),\n * at `opacity`; `outline` (RGB 0-1, or empty) the color of the cones' edges drawn in 3D\n *\n * # Errors\n *\n * Throws (to JavaScript) when, on the first call, a WebGL object cannot be created or a shader fails to compile\n * (the error carries its info log)\n * @param {Float64Array} observers\n * @param {Float32Array} visible\n * @param {Float32Array} hidden\n * @param {number} opacity\n * @param {Float32Array} outline\n */\n setViewshed(observers, visible, hidden, opacity, outline) {\n const ptr0 = passArrayF64ToWasm0(observers, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayF32ToWasm0(visible, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArrayF32ToWasm0(hidden, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passArrayF32ToWasm0(outline, wasm.__wbindgen_malloc);\n const len3 = WASM_VECTOR_LEN;\n const ret = wasm.engine_setViewshed(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, opacity, ptr3, len3);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Lowest and highest zoom levels the camera accepts\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 * Moves a flow layer's particles by `seconds` of the page's time (one animation frame), in the current view;\n * whether they moved (none in view, or no field: the map need not be drawn again)\n * @param {number} id\n * @param {number} seconds\n * @returns {boolean}\n */\n stepFlow(id, seconds) {\n const ret = wasm.engine_stepFlow(this.__wbg_ptr, id, seconds);\n return ret !== 0;\n }\n /**\n * The height above the relief (metres) of the top of what stands at a position (degrees): a roof, a mesh, 0 on\n * the bare ground; undefined where nothing of the last frame is there. The scene is drawn from above into a single\n * pixel and read back (a stall, cheap: one pixel to fill)\n * @param {number} lon\n * @param {number} lat\n * @returns {any}\n */\n surfaceAt(lon, lat) {\n const ret = wasm.engine_surfaceAt(this.__wbg_ptr, lon, lat);\n return ret;\n }\n /**\n * What is drawn under a screen point (CSS pixels): longitude, latitude and its height above the relief (metres),\n * on a roof, a wall or a mesh as on the ground; undefined where nothing was drawn. The scene is drawn again and\n * read back (a stall): for clicks and drags\n * @param {number} x\n * @param {number} y\n * @returns {[lon: number, lat: number, height: number] | undefined}\n */\n surface(x, y) {\n const ret = wasm.engine_surface(this.__wbg_ptr, x, y);\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 * The feature of a picked handle (`pick`'s index on a 3D Tiles layer): `[properties, feature]`, its properties\n * (undefined when its tile has none) and its index in its tile; undefined if the handle is not of the last picking\n * pass\n * @param {number} id\n * @param {number} index\n * @returns {[properties: Record<string, unknown> | undefined, feature: number] | undefined}\n */\n tiles3dFeature(id, index) {\n const ret = wasm.engine_tiles3dFeature(this.__wbg_ptr, id, index);\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 *\n * # Errors\n *\n * Throws (to JavaScript) when there is no texture `name`, or when the region is out of its bounds or\n * `data` holds too few bytes\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 * Uploads a part more of the blocks of tile `key` of a vector tile layer (a large tile's, a part at a time over\n * several frames); whether some are left. Its blocks are drawn once they are all there\n * @param {number} id\n * @param {number} key\n * @returns {boolean}\n */\n uploadVectorTile(id, key) {\n const ret = wasm.engine_uploadVectorTile(this.__wbg_ptr, id, key);\n return ret !== 0;\n }\n /**\n * Vector tiles (512 CSS pixels across at their level, as `MapLibre`'s) for the view of the last frame (else the\n * camera's), levels `min_z` to `max_z`, three numbers per tile (z, x, y), the nearest to the eye first: what a\n * vector tile layer draws (`addVectorTiles`), coarser far away in a tilted view as the raster layers\n * @param {number} min_z\n * @param {number} max_z\n * @returns {Uint32Array}\n */\n vectorTilesInView(min_z, max_z) {\n const ret = wasm.engine_vectorTilesInView(this.__wbg_ptr, min_z, max_z);\n var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Tiles a raster layer wants for the view of the last frame, three numbers per tile (z, x, y), the nearest to\n * the eye first: the level each area of the ground is drawn at, for the labels of a vector style to follow it\n * @param {number} id\n * @returns {Uint32Array}\n */\n wantedTiles(id) {\n const ret = wasm.engine_wantedTiles(this.__wbg_ptr, id);\n var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Zooms by `delta` levels around a screen point (CSS pixels), which keeps the same ground point under it\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_bufferSubData_22c4c420e0f67cda: function(arg0, arg1, arg2, arg3) {\n arg0.bufferSubData(arg1 >>> 0, arg2, arg3);\n },\n __wbg_bufferSubData_8609cd8a2c013181: function(arg0, arg1, arg2, arg3) {\n arg0.bufferSubData(arg1 >>> 0, arg2, arg3);\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_1875a20c43a36133: function() { return handleError(function (arg0, arg1, arg2, arg3) {\n const ret = arg0.call(arg1, arg2, arg3);\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_disableVertexAttribArray_11c9f11bee30c9d8: function(arg0, arg1) {\n arg0.disableVertexAttribArray(arg1 >>> 0);\n },\n __wbg_disableVertexAttribArray_c4c8af1f9e4120d4: function(arg0, arg1) {\n arg0.disableVertexAttribArray(arg1 >>> 0);\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_806853698d9fc227: function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(arg0, arg1 >>> 0);\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_polygonOffset_81dc8ca84e29572b: function(arg0, arg1, arg2) {\n arg0.polygonOffset(arg1, arg2);\n },\n __wbg_polygonOffset_8f922d9173d8849d: function(arg0, arg1, arg2) {\n arg0.polygonOffset(arg1, 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_vertexAttrib1f_37ce0547e8fa5f36: function(arg0, arg1, arg2) {\n arg0.vertexAttrib1f(arg1 >>> 0, arg2);\n },\n __wbg_vertexAttrib1f_470b2556c148483a: function(arg0, arg1, arg2) {\n arg0.vertexAttrib1f(arg1 >>> 0, arg2);\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: 229, 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 passArrayJsValueToWasm0(array, malloc) {\n const ptr = malloc(array.length * 4, 4) >>> 0;\n for (let i = 0; i < array.length; i++) {\n const add = addToExternrefTable0(array[i]);\n getDataViewMemory0().setUint32(ptr + 4 * i, add, true);\n }\n WASM_VECTOR_LEN = array.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",
|
|
11
11
|
"/* @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",
|
|
12
12
|
"/**\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 '../decoding/decoders.ts';\nimport type { WorkerReply, WorkerRequest } from '../decoding/protocol.ts';\nimport { fetchOk, httpError } from '../util/fetch.ts';\nimport { readAtMost } from '../util/read.ts';\nimport { setHeaderRules, withHeaders } from '../util/requests.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\n switch (message.type) {\n case 'headers':\n setHeaderRules(message.rules);\n break;\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\nconst load = async (\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\n controllers.set(id, controller);\n try {\n await ready;\n\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 fetchOk(url, withHeaders(url, init));\n\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\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\n const decoded = new Map<Image, Promise<Pick<DecodedPrimitive, 'bitmap' | 'texture'>>>();\n const decode = (image: Image, mime: string | undefined) => {\n const cached = decoded.get(image);\n\n if (cached) return cached;\n\n const 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((bitmap) => ({\n bitmap,\n }));\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, features }): Promise<DecodedPrimitive> => ({\n vertices,\n indices,\n ...(color ? { color } : {}),\n ...(features ? { features } : {}),\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\n primitives.forEach((p) => {\n transfer.add(p.vertices.buffer);\n transfer.add(p.indices.buffer);\n if (p.color) transfer.add(p.color.buffer);\n if (p.features) transfer.add(p.features.buffer);\n if (p.bitmap) transfer.add(p.bitmap);\n p.texture?.levels.forEach((level) => {\n transfer.add(level.data.buffer);\n });\n });\n vertices.forEach((v) => {\n transfer.add(v.buffer);\n });\n\n const decodedTile = {\n anchor: tile.anchor,\n primitives,\n ...(vertices.length > 0 ? { points: vertices } : {}),\n ...(tile.properties ? { properties: tile.properties } : {}),\n };\n\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\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 */\nconst fetchRange = async (\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, withHeaders(url, init));\n\n if (response.status === 429 && attempt < BUSY_ATTEMPTS) {\n const after = Number(response.headers.get('Retry-After'));\n\n await sleep(after > 0 ? after * 1000 : BUSY_PAUSE_MS * 2 ** (attempt - 1), signal);\n continue;\n }\n if (!response.ok) throw httpError(url, response.status);\n if (response.status !== 206) {\n // The whole file: taken only if it is no bigger than the range asked for (a small file), its length told or,\n // without one, read no further than that; a bigger one means the server ignores ranges (each node would read\n // the whole file)\n const told = response.headers.get('Content-Length');\n const tooBig = told !== null && !(Number(told) <= size);\n const whole = tooBig ? undefined : await readAtMost(response, size);\n\n if (!whole) {\n if (tooBig) await response.body?.cancel();\n throw new Error('the server ignores range requests (HTTP 206 expected)');\n }\n\n return whole.subarray(offset, offset + size);\n }\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 */\nconst loadPoints = async (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\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\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\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"
|
|
13
13
|
],
|
|
14
|
-
"mappings": "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",
|
|
15
|
-
"debugId": "
|
|
14
|
+
"mappings": "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",
|
|
15
|
+
"debugId": "56F4BD70AF9E20E364756E2164756E21",
|
|
16
16
|
"names": []
|
|
17
17
|
}
|