isard 0.0.0-stage → 0.2.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.
Files changed (84) hide show
  1. package/CHANGELOG.md +114 -0
  2. package/LICENSE +21 -0
  3. package/README.md +150 -2
  4. package/dist/basemap.worker.d.ts +66 -0
  5. package/dist/basemap.worker.js +4 -0
  6. package/dist/basemap.worker.js.map +13 -0
  7. package/dist/basemaps.d.ts +46 -0
  8. package/dist/basemaps.js +95 -0
  9. package/dist/basemaps.js.map +1 -0
  10. package/dist/color.d.ts +8 -0
  11. package/dist/color.js +98 -0
  12. package/dist/color.js.map +1 -0
  13. package/dist/controls.d.ts +43 -0
  14. package/dist/controls.js +115 -0
  15. package/dist/controls.js.map +1 -0
  16. package/dist/decoder.worker.js +6 -0
  17. package/dist/decoder.worker.js.map +12 -0
  18. package/dist/decoders.d.ts +27 -0
  19. package/dist/decoders.js +109 -0
  20. package/dist/decoders.js.map +1 -0
  21. package/dist/equirectangular.d.ts +35 -0
  22. package/dist/equirectangular.js +113 -0
  23. package/dist/equirectangular.js.map +1 -0
  24. package/dist/extrusions.d.ts +79 -0
  25. package/dist/extrusions.js +215 -0
  26. package/dist/extrusions.js.map +1 -0
  27. package/dist/features.d.ts +159 -0
  28. package/dist/features.js +387 -0
  29. package/dist/features.js.map +1 -0
  30. package/dist/geoplateforme.d.ts +35 -0
  31. package/dist/geoplateforme.js +56 -0
  32. package/dist/geoplateforme.js.map +1 -0
  33. package/dist/glyphs.d.ts +104 -0
  34. package/dist/glyphs.js +383 -0
  35. package/dist/glyphs.js.map +1 -0
  36. package/dist/index.d.ts +34 -0
  37. package/dist/index.js +25 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/interaction.d.ts +50 -0
  40. package/dist/interaction.js +243 -0
  41. package/dist/interaction.js.map +1 -0
  42. package/dist/isard_bg.wasm +0 -0
  43. package/dist/isard_core_bg.wasm +0 -0
  44. package/dist/layers.d.ts +100 -0
  45. package/dist/layers.js +281 -0
  46. package/dist/layers.js.map +1 -0
  47. package/dist/loader.d.ts +30 -0
  48. package/dist/loader.js +102 -0
  49. package/dist/loader.js.map +1 -0
  50. package/dist/map.d.ts +203 -0
  51. package/dist/map.js +1083 -0
  52. package/dist/map.js.map +1 -0
  53. package/dist/mvt.d.ts +19 -0
  54. package/dist/mvt.js +231 -0
  55. package/dist/mvt.js.map +1 -0
  56. package/dist/overlay.d.ts +118 -0
  57. package/dist/overlay.js +334 -0
  58. package/dist/overlay.js.map +1 -0
  59. package/dist/protocol.d.ts +30 -0
  60. package/dist/protocol.js +2 -0
  61. package/dist/protocol.js.map +1 -0
  62. package/dist/style.d.ts +7 -0
  63. package/dist/style.js +130 -0
  64. package/dist/style.js.map +1 -0
  65. package/dist/symbols.d.ts +61 -0
  66. package/dist/symbols.js +238 -0
  67. package/dist/symbols.js.map +1 -0
  68. package/dist/terrain.d.ts +14 -0
  69. package/dist/terrain.js +44 -0
  70. package/dist/terrain.js.map +1 -0
  71. package/dist/types.d.ts +304 -0
  72. package/dist/types.js +2 -0
  73. package/dist/types.js.map +1 -0
  74. package/dist/vectorstyle.d.ts +83 -0
  75. package/dist/vectorstyle.js +518 -0
  76. package/dist/vectorstyle.js.map +1 -0
  77. package/dist/vectortiles.d.ts +121 -0
  78. package/dist/vectortiles.js +507 -0
  79. package/dist/vectortiles.js.map +1 -0
  80. package/dist/wasm/isard.d.ts +611 -0
  81. package/dist/wasm/isard.js +2606 -0
  82. package/dist/wasm/isard_core.d.ts +468 -0
  83. package/dist/wasm/isard_core.js +2360 -0
  84. package/package.json +49 -4
@@ -0,0 +1,468 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ /** Camera, with the conventions of MapLibre */
5
+ export interface Camera {
6
+ center: [lon: number, lat: number];
7
+ zoom: number;
8
+ /** Degrees from the vertical, 0 to 70 */
9
+ pitch: number;
10
+ /** Degrees clockwise from the north */
11
+ bearing: number;
12
+ }
13
+
14
+ /** The feature under a screen point */
15
+ export interface PickHit {
16
+ /** Id of the layer */
17
+ layer: number;
18
+ /** Index of the feature in the layer (the edge of a network) */
19
+ index: number;
20
+ }
21
+
22
+ /** Tile counters of a raster layer */
23
+ export interface RasterLayerStats {
24
+ id: number;
25
+ /** Tiles drawn in the last frame (stand-ins included) */
26
+ drawn: number;
27
+ /** Tiles held on the GPU */
28
+ loaded: number;
29
+ /** Requests in flight */
30
+ inFlight: number;
31
+ /** Arrived tiles waiting for their upload */
32
+ queued: number;
33
+ /** Drawn with an ancestor's texture: the tile itself is not loaded yet */
34
+ standIns: number;
35
+ /** Waiting before a new attempt after errors */
36
+ cooling: number;
37
+ /** Not served (404), covered by an ancestor */
38
+ missing: number;
39
+ }
40
+
41
+
42
+
43
+ /** Pieces of a network layer: its edges cut along their lines, sorted by square; only the squares in view are drawn */
44
+ export interface NetworkStats {
45
+ pieces: number;
46
+ /** Drawn in the last frame */
47
+ drawn: number;
48
+ }
49
+
50
+
51
+
52
+ /** The answer to `requestPick`, from `pollPick` */
53
+ export interface PickResult {
54
+ /** The screen point asked about (CSS pixels) */
55
+ x: number;
56
+ y: number;
57
+ /** The feature there, if any */
58
+ hit?: PickHit;
59
+ /** The position there, on the relief; undefined above the horizon */
60
+ lonLat?: [lon: number, lat: number];
61
+ }
62
+
63
+
64
+
65
+ export class Engine {
66
+ free(): void;
67
+ /**
68
+ * Circle layer of `feature_count` features: points (Mercator [0, 1], interleaved) and the feature of each
69
+ */
70
+ addCircles(points: Float64Array, feature: Uint32Array, feature_count: number): number;
71
+ /**
72
+ * An empty extrusion layer: its blocks come in batches (`setExtrusionBatch`)
73
+ */
74
+ addExtrusions(): number;
75
+ /**
76
+ * Fill layer of `feature_count` features: polygons given by their points (Mercator [0, 1], interleaved), the first
77
+ * point of each ring (`ring_start`, one more entry than rings), the first ring of each polygon (`polygon_start`,
78
+ * one more entry than polygons; the first ring is the outer one, the others holes) and the feature of each polygon
79
+ */
80
+ addFills(points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, feature: Uint32Array, feature_count: number): number;
81
+ /**
82
+ * Ground layer running `code` (GLSL ES 3.0 defining `vec4 ground(vec2 offset)`, see `render::ground`) over the
83
+ * ground; `anchor`: Mercator point the offsets are taken from; bounds: Mercator box it shows in. Compilation errors
84
+ * come back with the shader's info log (line numbers of `code`)
85
+ */
86
+ addGround(code: string, anchor_x: number, anchor_y: number, min_x: number, min_y: number, max_x: number, max_y: number): number;
87
+ /**
88
+ * Line layer of `feature_count` features: polylines given by their points (Mercator [0, 1], interleaved), the
89
+ * first point of each (`start`, one more entry than lines) and the feature each one belongs to
90
+ */
91
+ addLines(points: Float64Array, start: Uint32Array, feature: Uint32Array, feature_count: number): number;
92
+ /**
93
+ * Network of `mercator.length / 2` nodes (Mercator [0, 1], y towards the south, interleaved: converted by the
94
+ * JavaScript side, where `Math.tan` and `Math.log` are much faster than in WebAssembly) and `edges.length / 2`
95
+ * edges (node index pairs, interleaved). `line_start` and `line_points`: the line of each edge from A to B, points
96
+ * `line_start[e] .. line_start[e + 1]` of `line_points` (Mercator, interleaved; straight if fewer than two). `costs`: per edge, the
97
+ * cost of travelling it from A to B then from B to A; without, values are interpolated along the edges.
98
+ */
99
+ addNetwork(mercator: Float64Array, edges: Uint32Array, line_start: Uint32Array | null | undefined, line_points: Float64Array | null | undefined, costs: Float32Array | null | undefined, style: Float32Array): number;
100
+ /**
101
+ * Raster tiles in Web Mercator; `url` holds {z}, {x} and {y}. `size`: side of the tiles' textures (256 by
102
+ * default); `loader`: draws each tile instead of fetching `url`, `(z, x, y, signal) => Promise<ImageBitmap |
103
+ * null>`, an image of `size` × `size` (null: nothing there)
104
+ */
105
+ addRaster(url: string, min_z: number, max_z: number, opacity: number, saturation: number, size: number | null | undefined, loader: ((z: number, x: number, y: number, signal: AbortSignal) => Promise<ImageBitmap | null>) | undefined): number;
106
+ /**
107
+ * An empty symbol layer
108
+ */
109
+ addSymbols(): number;
110
+ /**
111
+ * Longitudes and latitudes the view covers on the ground, `[west, south, east, north]` (degrees): the screen's
112
+ * border cast on the ground, or on the far plane where it passes the horizon
113
+ */
114
+ bounds(): Float64Array;
115
+ camera(): Camera;
116
+ clearPreload(): void;
117
+ /**
118
+ * Position under a screen point (CSS pixels), undefined above the horizon; on the relief itself
119
+ */
120
+ ground(x: number, y: number): [lon: number, lat: number] | undefined;
121
+ /**
122
+ * Colors an extrusion layer by the node values of network layer `network` (undefined: by its own values):
123
+ * each block takes min(value(A) + cost from A, value(B) + cost from B) from its anchors (`setExtrusionAnchors`),
124
+ * through the layer's ramp, up to `max` (above: its own color)
125
+ */
126
+ linkExtrusionNetwork(id: number, network: number | null | undefined, max: number): void;
127
+ /**
128
+ * Moves a layer to a drawing position (0 = bottom)
129
+ */
130
+ moveLayer(id: number, index: number): void;
131
+ /**
132
+ * Pieces of a network in all and drawn in the last frame (only the squares in view are)
133
+ */
134
+ networkStats(id: number): NetworkStats | undefined;
135
+ /**
136
+ * `redraw` is called when the engine needs a new frame (a tile arrived)
137
+ */
138
+ constructor(canvas: HTMLCanvasElement, redraw: () => void);
139
+ /**
140
+ * Drags the ground from one screen point to another (CSS pixels); in relief, the ground point grabbed stays
141
+ * under the cursor
142
+ */
143
+ pan(x0: number, y0: number, x1: number, y1: number): void;
144
+ /**
145
+ * Feature under a screen point (CSS pixels), or the nearest one within `radius` CSS pixels: its layer and its
146
+ * index there (the edge of a network, the feature of a line, circle or fill layer), undefined if none. The
147
+ * pickable layers are drawn with each feature colored by its number; then the fills are tested on the ground.
148
+ * `only`: the ids of the layers to look in (all if undefined): the others are not drawn and hide nothing.
149
+ * Reads the pixels back at once (the GPU finishes its work first): for clicks; `requestPick` for the hover
150
+ */
151
+ pick(x: number, y: number, radius?: number | null, only?: Uint32Array | null): PickHit | undefined;
152
+ /**
153
+ * The answer to the last `requestPick` once the GPU has delivered it (then forgotten), undefined while it is not
154
+ * there yet (or nothing was asked, or the context was lost)
155
+ */
156
+ pollPick(): PickResult | undefined;
157
+ /**
158
+ * Loads in advance the tiles of a camera flight's destination; `clearPreload` when the flight ends
159
+ */
160
+ preload(lon: number, lat: number, zoom: number, pitch: number, bearing: number): void;
161
+ /**
162
+ * Screen point (CSS pixels) of a ground position, undefined behind the camera
163
+ */
164
+ project(lon: number, lat: number): [x: number, y: number] | undefined;
165
+ removeExtrusionBatch(id: number, key: number): void;
166
+ removeLayer(id: number): void;
167
+ /**
168
+ * Draws a frame; returns true while tiles are still loading (a new frame will be asked through `redraw`)
169
+ */
170
+ render(): boolean;
171
+ /**
172
+ * Asks what is under a screen point without waiting for the GPU (as `pick`, with the position there): the
173
+ * picking pass is drawn now and read back into a buffer; `pollPick` gives the answer on a later frame. A new
174
+ * request replaces the one in flight. Returns false if nothing could be asked (no WebGL2 fence)
175
+ */
176
+ requestPick(x: number, y: number, radius?: number | null, only?: Uint32Array | null): boolean;
177
+ /**
178
+ * Viewport in CSS pixels and device pixel ratio
179
+ */
180
+ resize(width: number, height: number, pixel_ratio: number): void;
181
+ /**
182
+ * Turns and tilts around the screen center, in degrees
183
+ */
184
+ rotate(bearing: number, pitch: number): void;
185
+ /**
186
+ * Sky over the plane (`MapLibre`'s `setSky`): colors of the sky, the horizon and the fog (RGB 0-1, 9 numbers),
187
+ * then the sky-horizon, horizon-fog and fog-ground blends; `undefined` for none (the background color shows)
188
+ */
189
+ setAtmosphere(settings?: Float32Array | null): void;
190
+ setBackground(r: number, g: number, b: number): void;
191
+ /**
192
+ * The body the map is drawn on: its equatorial radius (metres) and flattening (0 for a sphere), the halo of its
193
+ * atmosphere around the globe (RGB 0-1 and its strength, 4 numbers; `undefined` for an airless body), and the
194
+ * lowest and highest altitudes of its ground (metres: what its relief may raise into view). WGS 84, the Earth's
195
+ * blue halo and the relief of France by default; set before the layers and the relief, whose shaders may take its
196
+ * size (`ISARD_EARTH` of the ground layers)
197
+ */
198
+ setBody(radius: number, flattening: number, halo: Float32Array | null | undefined, lowest: number, highest: number): void;
199
+ setCamera(lon: number, lat: number, zoom: number, pitch: number, bearing: number): void;
200
+ /**
201
+ * Circles lying on the ground (true) or facing the screen
202
+ */
203
+ setCircleAlignment(id: number, on_ground: boolean): void;
204
+ /**
205
+ * New points for a circle layer (same features)
206
+ */
207
+ setCircles(id: number, points: Float64Array, feature: Uint32Array): void;
208
+ /**
209
+ * Anchors of batch `key` on the linked network: per feature, node A, node B, cost from A, cost from B
210
+ */
211
+ setExtrusionAnchors(id: number, key: number, anchors: Float32Array): void;
212
+ /**
213
+ * Adds or replaces batch `key` of an extrusion layer: polygons as for `addFills`, `feature_count` features (the
214
+ * feature style gives each its height and base height as its two sizes, metres)
215
+ */
216
+ setExtrusionBatch(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, feature: Uint32Array, feature_count: number): void;
217
+ /**
218
+ * Layer-wide style of a feature layer: opacity as zoom stops (four zooms then four values), the zoom range it
219
+ * shows in (`min_zoom` included, `max_zoom` excluded), whether it shows at all
220
+ */
221
+ setFeatureLayer(id: number, opacity: Float32Array, min_zoom: number, max_zoom: number, visible: boolean): void;
222
+ /**
223
+ * One byte per feature, 0 hiding it (the filter)
224
+ */
225
+ setFeatureMask(id: number, mask: Uint8Array, key?: number | null): void;
226
+ /**
227
+ * Colors of the values `min` to `max`, 256 RGBA texels (1024 bytes); undefined: none
228
+ */
229
+ setFeatureRamp(id: number, rgba: Uint8Array | null | undefined, min: number, max: number): void;
230
+ /**
231
+ * Style of the features of a line, circle, fill or extrusion layer (batch `key` of the latter): 32 floats per
232
+ * feature, its color (RGBA 0-1), its second color (a circle's stroke), then two sizes as zoom stops (four zooms,
233
+ * four values each): a line's width; a circle's radius and stroke width, CSS pixels; a block's height and base
234
+ * height, metres
235
+ */
236
+ setFeatureStyle(id: number, style: Float32Array, key?: number | null): void;
237
+ /**
238
+ * One value per feature, colored through the layer's ramp (`setFeatureRamp`); 1e30 or NaN: its own color
239
+ */
240
+ setFeatureValues(id: number, values: Float32Array, key?: number | null): void;
241
+ /**
242
+ * New polygons for a fill layer (same arguments as `addFills`, the same features)
243
+ */
244
+ setFills(id: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, feature: Uint32Array): void;
245
+ /**
246
+ * Color of the globe under the tiles (polar caps)
247
+ */
248
+ setGlobeColor(r: number, g: number, b: number): void;
249
+ /**
250
+ * Globe (true) or Web Mercator (false)
251
+ */
252
+ setGlobe(globe: boolean): void;
253
+ /**
254
+ * The glyph atlas shared by the symbol layers, one page: `width` × `height` bytes of signed distances
255
+ * (allocated again, filled with `data` if given)
256
+ */
257
+ setGlyphAtlas(width: number, height: number, data?: Uint8Array | null): void;
258
+ /**
259
+ * The glyph atlas shared by the symbol layers, `pages` pages of `width` × `height` bytes of signed distances,
260
+ * allocated again and empty (`updateGlyphPage` fills them). A glyph on page `p` at row `v` has the atlas
261
+ * coordinate `v + p × height`
262
+ */
263
+ setGlyphPages(width: number, height: number, pages: number): void;
264
+ setGroundBounds(id: number, min_x: number, min_y: number, max_x: number, max_y: number): void;
265
+ /**
266
+ * Creates the texture of sampler `name` (`format`: r8, r8ui, r16ui, r16i, r32ui, r32f, rg16ui, rg32f, rgba8,
267
+ * rgba8ui, rgba16ui, rgba32f; `depth` 0 for 2D, else a 2D array of that many layers; `linear` filtering for the
268
+ * non-integer formats); `data`: its texels as bytes, or undefined for an empty texture
269
+ */
270
+ setGroundTexture(id: number, name: string, format: string, width: number, height: number, depth: number, linear: boolean, data?: Uint8Array | null): void;
271
+ /**
272
+ * A uniform of a ground layer's code, as numbers
273
+ */
274
+ setGroundUniform(id: number, name: string, values: Float64Array): void;
275
+ setGroundVisible(id: number, visible: boolean): void;
276
+ /**
277
+ * How tiles load and show: `true`, immediately (everything visible loads, no fade, the default); `false`,
278
+ * smoothly (levels skipped during flights, off-center tiles waiting while the camera moves, fade-in)
279
+ */
280
+ setImmediateLoading(immediate: boolean): void;
281
+ /**
282
+ * Dashes of a line layer, in line widths (`MapLibre`'s `line-dasharray`); 0, 0: solid
283
+ */
284
+ setLineDash(id: number, dash: number, gap: number): void;
285
+ /**
286
+ * New lines for a line layer (same arguments as `addLines`, the same features)
287
+ */
288
+ setLines(id: number, points: Float64Array, start: Uint32Array, feature: Uint32Array): void;
289
+ /**
290
+ * Highest pitch the camera accepts, degrees (up to 85)
291
+ */
292
+ setMaxPitch(max: number): void;
293
+ /**
294
+ * Costs of a network's edges (see `addNetwork`), when the way it is travelled changes; null: interpolated values
295
+ */
296
+ setNetworkCosts(id: number, costs?: Float32Array | null): void;
297
+ /**
298
+ * Colors of the values from 0 to the maximum, 256 RGBA texels (1024 bytes); undefined: green to red
299
+ */
300
+ setNetworkRamp(id: number, rgba?: Uint8Array | null): void;
301
+ /**
302
+ * Width factor of each edge (1 without): rail lines wider than streets
303
+ */
304
+ setNetworkScales(id: number, scales?: Float32Array | null): void;
305
+ /**
306
+ * Style of a network: width (CSS pixels) and halo width as zoom stops (8 numbers each: four zooms, four values),
307
+ * then the maximum, the contour interval, the opacity, the halo opacity, the color of the unreached parts (RGBA
308
+ * 0-1) and the share of the maximum over which the colors fade out: 25 numbers
309
+ */
310
+ setNetworkStyle(id: number, style: Float32Array): void;
311
+ /**
312
+ * One value per node; negative = unreached
313
+ */
314
+ setNetworkValues(id: number, values: Float32Array): void;
315
+ setRasterStyle(id: number, opacity: number, saturation: number): void;
316
+ /**
317
+ * Space behind the globe (stars, atmosphere halo), in the globe projection
318
+ */
319
+ setSky(enabled: boolean): void;
320
+ /**
321
+ * Layer-wide style of a symbol layer: size scale and opacity as zoom stops (four zooms then four values each),
322
+ * zoom range, visibility
323
+ */
324
+ setSymbolLayer(id: number, size: Float32Array, opacity: Float32Array, min_zoom: number, max_zoom: number, visible: boolean): void;
325
+ /**
326
+ * Labels of a symbol layer, shaped by the page: anchors (Mercator, interleaved), boxes (min x, min y, max x, max y,
327
+ * CSS pixels from the anchor), styles (20 floats each, see `LABEL_FLOATS`) and glyph quads (10 floats each: label, x, y, width, height from the anchor, atlas u0, v0, u1, v1 in
328
+ * texels, font scale)
329
+ */
330
+ setSymbols(id: number, anchors: Float64Array, boxes: Float32Array, styles: Float32Array, quads: Float32Array): void;
331
+ /**
332
+ * Relief under the raster layers, from raw altitudes (`image/x-bil;bits=32`, 256 × 256, or the same followed by
333
+ * the validity mask of an `ArcGIS` raw grid): `url` is a template with `{bbox}` (WMS `GetMap` in EPSG:3857, or in
334
+ * the Mercator metres of another body) or `{z}/{x}/{y}`; `undefined` turns it off. `exaggeration` scales the
335
+ * heights (1: true relief); `max_z`: finest level loaded (up to 15, from 6 on the Earth, coarser on bodies of a
336
+ * larger relief for their size: `terrain_levels`); `geoid`: altitudes raised by the RAF20 geoid height (heights
337
+ * above the ellipsoid, those of 3D Tiles), else left as served (NGF-IGN69 over France); `loader`: gives the
338
+ * altitudes of each tile instead of fetching `url` (an encoding decoded by the page: Terrarium, Terrain-RGB)
339
+ */
340
+ setTerrain(url: string | null | undefined, exaggeration: number, max_z: number | null | undefined, geoid: boolean | null | undefined, loader: ((z: number, x: number, y: number, signal: AbortSignal) => Promise<Float32Array | null>) | undefined): void;
341
+ setZoomRange(min: number, max: number): void;
342
+ /**
343
+ * Tile counters of the raster layers, for diagnostics
344
+ */
345
+ stats(): RasterLayerStats[];
346
+ /**
347
+ * A region of the first page of the glyph atlas: `width` × `height` bytes at (`x`, `y`)
348
+ */
349
+ updateGlyphAtlas(x: number, y: number, width: number, height: number, data: Uint8Array): void;
350
+ /**
351
+ * A region of a page of the glyph atlas: `width` × `height` bytes at (`x`, `y`) of the page
352
+ */
353
+ updateGlyphPage(page: number, x: number, y: number, width: number, height: number, data: Uint8Array): void;
354
+ /**
355
+ * Replaces a region of a ground layer's texture (one layer of a 2D array)
356
+ */
357
+ updateGroundTexture(id: number, name: string, x: number, y: number, layer: number, width: number, height: number, data: Uint8Array): void;
358
+ zoomAt(delta: number, x: number, y: number): void;
359
+ }
360
+
361
+ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
362
+
363
+ export interface InitOutput {
364
+ readonly memory: WebAssembly.Memory;
365
+ readonly __wbg_engine_free: (a: number, b: number) => void;
366
+ readonly engine_addCircles: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
367
+ readonly engine_addExtrusions: (a: number) => [number, number, number];
368
+ readonly engine_addFills: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number, number];
369
+ readonly engine_addGround: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number];
370
+ readonly engine_addLines: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number];
371
+ readonly engine_addNetwork: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => [number, number, number];
372
+ readonly engine_addRaster: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number];
373
+ readonly engine_addSymbols: (a: number) => [number, number, number];
374
+ readonly engine_bounds: (a: number) => [number, number];
375
+ readonly engine_camera: (a: number) => any;
376
+ readonly engine_clearPreload: (a: number) => void;
377
+ readonly engine_ground: (a: number, b: number, c: number) => any;
378
+ readonly engine_linkExtrusionNetwork: (a: number, b: number, c: number, d: number) => void;
379
+ readonly engine_moveLayer: (a: number, b: number, c: number) => void;
380
+ readonly engine_networkStats: (a: number, b: number) => any;
381
+ readonly engine_new: (a: any, b: any) => [number, number, number];
382
+ readonly engine_pan: (a: number, b: number, c: number, d: number, e: number) => void;
383
+ readonly engine_pick: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => any;
384
+ readonly engine_pollPick: (a: number) => any;
385
+ readonly engine_preload: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
386
+ readonly engine_project: (a: number, b: number, c: number) => any;
387
+ readonly engine_removeExtrusionBatch: (a: number, b: number, c: number) => void;
388
+ readonly engine_removeLayer: (a: number, b: number) => void;
389
+ readonly engine_render: (a: number) => number;
390
+ readonly engine_requestPick: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
391
+ readonly engine_resize: (a: number, b: number, c: number, d: number) => void;
392
+ readonly engine_rotate: (a: number, b: number, c: number) => void;
393
+ readonly engine_setAtmosphere: (a: number, b: number, c: number) => void;
394
+ readonly engine_setBackground: (a: number, b: number, c: number, d: number) => void;
395
+ readonly engine_setBody: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
396
+ readonly engine_setCamera: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
397
+ readonly engine_setCircleAlignment: (a: number, b: number, c: number) => void;
398
+ readonly engine_setCircles: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
399
+ readonly engine_setExtrusionAnchors: (a: number, b: number, c: number, d: number, e: number) => [number, number];
400
+ readonly engine_setExtrusionBatch: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => [number, number];
401
+ readonly engine_setFeatureLayer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
402
+ readonly engine_setFeatureMask: (a: number, b: number, c: number, d: number, e: number) => void;
403
+ readonly engine_setFeatureRamp: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
404
+ readonly engine_setFeatureStyle: (a: number, b: number, c: number, d: number, e: number) => void;
405
+ readonly engine_setFeatureValues: (a: number, b: number, c: number, d: number, e: number) => void;
406
+ readonly engine_setFills: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
407
+ readonly engine_setGlobe: (a: number, b: number) => void;
408
+ readonly engine_setGlobeColor: (a: number, b: number, c: number, d: number) => void;
409
+ readonly engine_setGlyphAtlas: (a: number, b: number, c: number, d: number, e: number) => [number, number];
410
+ readonly engine_setGlyphPages: (a: number, b: number, c: number, d: number) => [number, number];
411
+ readonly engine_setGroundBounds: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
412
+ readonly engine_setGroundTexture: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => [number, number];
413
+ readonly engine_setGroundUniform: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
414
+ readonly engine_setGroundVisible: (a: number, b: number, c: number) => void;
415
+ readonly engine_setImmediateLoading: (a: number, b: number) => void;
416
+ readonly engine_setLineDash: (a: number, b: number, c: number, d: number) => void;
417
+ readonly engine_setLines: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
418
+ readonly engine_setMaxPitch: (a: number, b: number) => void;
419
+ readonly engine_setNetworkCosts: (a: number, b: number, c: number, d: number) => void;
420
+ readonly engine_setNetworkRamp: (a: number, b: number, c: number, d: number) => void;
421
+ readonly engine_setNetworkScales: (a: number, b: number, c: number, d: number) => void;
422
+ readonly engine_setNetworkStyle: (a: number, b: number, c: number, d: number) => void;
423
+ readonly engine_setNetworkValues: (a: number, b: number, c: number, d: number) => void;
424
+ readonly engine_setRasterStyle: (a: number, b: number, c: number, d: number) => void;
425
+ readonly engine_setSky: (a: number, b: number) => void;
426
+ readonly engine_setSymbolLayer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
427
+ readonly engine_setSymbols: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
428
+ readonly engine_setTerrain: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
429
+ readonly engine_setZoomRange: (a: number, b: number, c: number) => void;
430
+ readonly engine_stats: (a: number) => any;
431
+ readonly engine_updateGlyphAtlas: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
432
+ readonly engine_updateGlyphPage: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
433
+ readonly engine_updateGroundTexture: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => [number, number];
434
+ readonly engine_zoomAt: (a: number, b: number, c: number, d: number) => void;
435
+ readonly wasm_bindgen_3785b71bf6f54dd0___convert__closures_____invoke___js_sys_9aebc20340329cea___Function_fn_wasm_bindgen_3785b71bf6f54dd0___JsValue_____wasm_bindgen_3785b71bf6f54dd0___sys__Undefined___js_sys_9aebc20340329cea___Function_fn_wasm_bindgen_3785b71bf6f54dd0___JsValue_____wasm_bindgen_3785b71bf6f54dd0___sys__Undefined_______true_: (a: number, b: number, c: any, d: any) => void;
436
+ readonly wasm_bindgen_3785b71bf6f54dd0___convert__closures_____invoke___wasm_bindgen_3785b71bf6f54dd0___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_3785b71bf6f54dd0___JsError___true_: (a: number, b: number, c: any) => [number, number];
437
+ readonly __wbindgen_malloc: (a: number, b: number) => number;
438
+ readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
439
+ readonly __wbindgen_exn_store: (a: number) => void;
440
+ readonly __externref_table_alloc: () => number;
441
+ readonly __wbindgen_externrefs: WebAssembly.Table;
442
+ readonly __wbindgen_destroy_closure: (a: number, b: number) => void;
443
+ readonly __externref_table_dealloc: (a: number) => void;
444
+ readonly __wbindgen_free: (a: number, b: number, c: number) => void;
445
+ readonly __wbindgen_start: () => void;
446
+ }
447
+
448
+ export type SyncInitInput = BufferSource | WebAssembly.Module;
449
+
450
+ /**
451
+ * Instantiates the given `module`, which can either be bytes or
452
+ * a precompiled `WebAssembly.Module`.
453
+ *
454
+ * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
455
+ *
456
+ * @returns {InitOutput}
457
+ */
458
+ export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
459
+
460
+ /**
461
+ * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
462
+ * for everything else, calls `WebAssembly.instantiate` directly.
463
+ *
464
+ * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
465
+ *
466
+ * @returns {Promise<InitOutput>}
467
+ */
468
+ export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;