@navaramap/engine 0.2.1 → 0.3.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/navara_wasm.js CHANGED
@@ -163,10 +163,25 @@ export class BillboardMaterial {
163
163
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
164
164
  }
165
165
  /**
166
- * Whether faces seen from behind are culled. Default is false, so a
167
- * quad frozen in its anchor's frame (`rotateWithCamera: false`) stays
168
- * visible from behind. Turn it on to hide a flat quad's parts that wrap
169
- * over the horizon, which face away from the camera.
166
+ * Part of the quad placed at the anchor point: `"center"` (default),
167
+ * `"left"`, `"right"`, `"top"`, `"bottom"`, `"top-left"`, `"top-right"`,
168
+ * `"bottom-left"` or `"bottom-right"`, as MapLibre's `icon-anchor`.
169
+ * @returns {string | undefined}
170
+ */
171
+ get anchor() {
172
+ const ret = wasm.__wbg_get_billboardmaterial_anchor(this.__wbg_ptr);
173
+ let v1;
174
+ if (ret[0] !== 0) {
175
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
176
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
177
+ }
178
+ return v1;
179
+ }
180
+ /**
181
+ * Whether faces seen from behind are culled. Default is false. Only a
182
+ * flat quad has a back the camera can see: turn it on to hide the parts
183
+ * of a large one that wrap over the horizon, which face away from the
184
+ * camera.
170
185
  * @returns {boolean | undefined}
171
186
  */
172
187
  get backfaceCulling() {
@@ -174,9 +189,12 @@ export class BillboardMaterial {
174
189
  return ret === 0xFFFFFF ? undefined : ret !== 0;
175
190
  }
176
191
  /**
177
- * Whether the sprite stands up (`"upright"`, the default) or lies on the
178
- * globe surface around its anchor (`"flat"`). Pair with
179
- * `rotateWithCamera`.
192
+ * Plane the sprite lies in: the screen (`"upright"`, never foreshortened)
193
+ * or the globe surface around its anchor (`"flat"`), as MapLibre's
194
+ * `icon-pitch-alignment` `viewport` and `map`. Pair with
195
+ * `rotateWithCamera`. Left unset, it is `"flat"` when `rotateWithCamera`
196
+ * resolves to `false` and `"upright"` otherwise, as MapLibre resolves
197
+ * `auto`.
180
198
  * @returns {string | undefined}
181
199
  */
182
200
  get billboardFacing() {
@@ -188,15 +206,6 @@ export class BillboardMaterial {
188
206
  }
189
207
  return v1;
190
208
  }
191
- /**
192
- * anchor point of the sprite, range is (-0.5, -0.5) to (0.5, 0.5).
193
- * Default is (0.0, 0.0) which means the center of the sprite.
194
- * @returns {Vec2 | undefined}
195
- */
196
- get center() {
197
- const ret = wasm.__wbg_get_billboardmaterial_center(this.__wbg_ptr);
198
- return ret === 0 ? undefined : Vec2.__wrap(ret);
199
- }
200
209
  /**
201
210
  * @returns {boolean | undefined}
202
211
  */
@@ -211,6 +220,21 @@ export class BillboardMaterial {
211
220
  const ret = wasm.__wbg_get_billboardmaterial_color(this.__wbg_ptr);
212
221
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
213
222
  }
223
+ /**
224
+ * Extra space around the collision box, in screen pixels: one to four
225
+ * values, expanded like CSS padding (top, right, bottom, left). Only
226
+ * meaningful when `declutter` is enabled. Defaults to `[2]`.
227
+ * @returns {Float32Array | undefined}
228
+ */
229
+ get declutterPadding() {
230
+ const ret = wasm.__wbg_get_billboardmaterial_declutterPadding(this.__wbg_ptr);
231
+ let v1;
232
+ if (ret[0] !== 0) {
233
+ v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();
234
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
235
+ }
236
+ return v1;
237
+ }
214
238
  /**
215
239
  * Placement priority for decluttering; higher wins. Only meaningful when
216
240
  * `declutter` is enabled. Defaults to `0.0`.
@@ -220,6 +244,17 @@ export class BillboardMaterial {
220
244
  const ret = wasm.__wbg_get_billboardmaterial_declutterPriority(this.__wbg_ptr);
221
245
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
222
246
  }
247
+ /**
248
+ * Coarse placement order for decluttering, compared before
249
+ * `declutterPriority`: every label with a higher rank is placed before any
250
+ * label with a lower one, whatever their priorities. Only meaningful when
251
+ * `declutter` is enabled. Defaults to `0.0`.
252
+ * @returns {number | undefined}
253
+ */
254
+ get declutterRank() {
255
+ const ret = wasm.__wbg_get_billboardmaterial_declutterRank(this.__wbg_ptr);
256
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
257
+ }
223
258
  /**
224
259
  * Participate in screen-space decluttering: when labels/sprites overlap
225
260
  * on screen, lower-priority ones are hidden. Defaults to `true`; set to
@@ -268,8 +303,9 @@ export class BillboardMaterial {
268
303
  }
269
304
  /**
270
305
  * Source geometry types this appearance consumes: `"point"`, `"line"`,
271
- * `"polygon"`. Defaults to `["point"]`; adding `"line"`/`"polygon"` also
272
- * emits a billboard per line-string / polygon-ring vertex.
306
+ * `"polygon"`. Defaults to `["point"]`; adding `"line"` also emits a
307
+ * billboard per line string, at its first vertex, and `"polygon"` one per
308
+ * polygon.
273
309
  * @returns {string[] | undefined}
274
310
  */
275
311
  get geometryTypes() {
@@ -288,6 +324,16 @@ export class BillboardMaterial {
288
324
  const ret = wasm.__wbg_get_billboardmaterial_height(this.__wbg_ptr);
289
325
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
290
326
  }
327
+ /**
328
+ * Leave this label's box out of the collision grid, so symbols placed
329
+ * after it may overlap it. Only meaningful when `declutter` is enabled.
330
+ * Defaults to `false`.
331
+ * @returns {boolean | undefined}
332
+ */
333
+ get ignorePlacement() {
334
+ const ret = wasm.__wbg_get_billboardmaterial_ignorePlacement(this.__wbg_ptr);
335
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
336
+ }
291
337
  /**
292
338
  * Avoid overlapping with the globe surface.
293
339
  * @returns {boolean | undefined}
@@ -296,6 +342,16 @@ export class BillboardMaterial {
296
342
  const ret = wasm.__wbg_get_billboardmaterial_offsetDepth(this.__wbg_ptr);
297
343
  return ret === 0xFFFFFF ? undefined : ret !== 0;
298
344
  }
345
+ /**
346
+ * Shift from the anchor point, x right and y down, in the unit of `size`
347
+ * (meters when `sizeInMeters`, pixels otherwise). Lies in the quad's own
348
+ * plane, so it turns with `rotation`. Defaults to `(0, 0)`.
349
+ * @returns {Vec2 | undefined}
350
+ */
351
+ get offset() {
352
+ const ret = wasm.__wbg_get_billboardmaterial_offset(this.__wbg_ptr);
353
+ return ret === 0 ? undefined : Vec2.__wrap(ret);
354
+ }
299
355
  /**
300
356
  * @returns {number | undefined}
301
357
  */
@@ -304,9 +360,56 @@ export class BillboardMaterial {
304
360
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
305
361
  }
306
362
  /**
307
- * Whether the sprite turns to follow the camera. `true` (the default)
308
- * keeps it facing the viewer. `false` freezes it in the anchor's local
309
- * east-north-up frame, so moving the camera never reorients it.
363
+ * Whether the label may be drawn over symbols placed before it:
364
+ * `"never"` (the default) hides it on any collision, `"always"` never
365
+ * does, `"cooperative"` hides it only when it collides with a `"never"`
366
+ * symbol. Only meaningful when `declutter` is enabled.
367
+ * @returns {string | undefined}
368
+ */
369
+ get overlap() {
370
+ const ret = wasm.__wbg_get_billboardmaterial_overlap(this.__wbg_ptr);
371
+ let v1;
372
+ if (ret[0] !== 0) {
373
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
374
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
375
+ }
376
+ return v1;
377
+ }
378
+ /**
379
+ * How anchors are derived from line and polygon geometry: `"point"` (the
380
+ * default) puts one per line string, at its first vertex, and one per
381
+ * polygon, `"line"` repeats them along the line every `spacing`,
382
+ * `"line-center"` places a single one at the line's midpoint. Polygon
383
+ * rings are walked like lines. Requires `geometryTypes` to include
384
+ * `"line"` or `"polygon"`.
385
+ * @returns {string | undefined}
386
+ */
387
+ get placement() {
388
+ const ret = wasm.__wbg_get_billboardmaterial_placement(this.__wbg_ptr);
389
+ let v1;
390
+ if (ret[0] !== 0) {
391
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
392
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
393
+ }
394
+ return v1;
395
+ }
396
+ /**
397
+ * Add the line's tangent bearing at the anchor to `rotation`, so the
398
+ * sprite turns with the line it sits on. Defaults to `true`.
399
+ * @returns {boolean | undefined}
400
+ */
401
+ get rotateToLine() {
402
+ const ret = wasm.__wbg_get_billboardmaterial_rotateToLine(this.__wbg_ptr);
403
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
404
+ }
405
+ /**
406
+ * Whether the sprite turns with the camera or with the map, as MapLibre's
407
+ * `icon-rotation-alignment` `viewport` and `map`. `true` keeps it reading left to right
408
+ * (a screen-aligned billboard, or a flat quad yawed to the camera).
409
+ * `false` aligns it with the map: upright, it stays on screen but turns
410
+ * with the camera heading so its x-axis points east; flat, it lies
411
+ * north-up. Left unset, it is `true` for `placement: "point"` and `false`
412
+ * along a line, as MapLibre resolves `auto`.
310
413
  * @returns {boolean | undefined}
311
414
  */
312
415
  get rotateWithCamera() {
@@ -315,7 +418,7 @@ export class BillboardMaterial {
315
418
  }
316
419
  /**
317
420
  * Rotation of the sprite within its own plane, about its anchor point,
318
- * in degrees, clockwise seen from the front. `center` decides where
421
+ * in degrees, clockwise seen from the front. `anchor` decides where
319
422
  * inside the sprite the pivot sits. Defaults to `0.0`.
320
423
  * @returns {number | undefined}
321
424
  */
@@ -338,6 +441,17 @@ export class BillboardMaterial {
338
441
  const ret = wasm.__wbg_get_billboardmaterial_sizeInMeters(this.__wbg_ptr);
339
442
  return ret === 0xFFFFFF ? undefined : ret !== 0;
340
443
  }
444
+ /**
445
+ * Whether `size` scales the image's own pixel height instead of being the
446
+ * quad's height, like MapLibre's `icon-size`: `1` draws the image at its
447
+ * natural size. `offset` keeps the unit `sizeInMeters` gives it. Default
448
+ * is false.
449
+ * @returns {boolean | undefined}
450
+ */
451
+ get sizeRelativeToImage() {
452
+ const ret = wasm.__wbg_get_billboardmaterial_sizeRelativeToImage(this.__wbg_ptr);
453
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
454
+ }
341
455
  /**
342
456
  * size in pixels/meters (units are determined by `sizeInMeters`).
343
457
  * @returns {number | undefined}
@@ -346,6 +460,59 @@ export class BillboardMaterial {
346
460
  const ret = wasm.__wbg_get_billboardmaterial_size(this.__wbg_ptr);
347
461
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
348
462
  }
463
+ /**
464
+ * Distance between repeated anchors along a line, in screen pixels, for
465
+ * `vector-tile` and `geojson` sources alike. Resolved per anchor as the
466
+ * camera moves: anchors thin out as it pulls back and fill in as it
467
+ * closes, never moving, so the gap on screen stays between one and two
468
+ * times `spacing` across a pitched view. As MapLibre does with
469
+ * `symbol-spacing`, a sprite wider than three quarters of the spacing
470
+ * spreads its repeats to its width plus a quarter of the spacing, and a
471
+ * vector tile places anchors only inside its own bounds. Only used by
472
+ * `placement: "line"`. Defaults to `250.0`.
473
+ * @returns {number | undefined}
474
+ */
475
+ get spacing() {
476
+ const ret = wasm.__wbg_get_billboardmaterial_spacing(this.__wbg_ptr);
477
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
478
+ }
479
+ /**
480
+ * Whether this may show while its partner at the same anchor (the
481
+ * layer's label for a billboard, its billboard for a label) is hidden.
482
+ * With `false` on both, the two are placed together: both show or
483
+ * neither does. Only meaningful when `declutter` is enabled. Defaults to
484
+ * `true`.
485
+ * @returns {boolean | undefined}
486
+ */
487
+ get standalone() {
488
+ const ret = wasm.__wbg_get_billboardmaterial_standalone(this.__wbg_ptr);
489
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
490
+ }
491
+ /**
492
+ * Frame `translate` is measured in: `"map"` (default) turns it with the
493
+ * camera heading so +x points east and +y south; `"viewport"` keeps it on
494
+ * the screen axes. MapLibre's `icon-translate-anchor`.
495
+ * @returns {string | undefined}
496
+ */
497
+ get translateAnchor() {
498
+ const ret = wasm.__wbg_get_billboardmaterial_translateAnchor(this.__wbg_ptr);
499
+ let v1;
500
+ if (ret[0] !== 0) {
501
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
502
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
503
+ }
504
+ return v1;
505
+ }
506
+ /**
507
+ * Screen-pixel shift of the drawn quad, x right and y down, applied after
508
+ * projection so it stays the same number of pixels at any distance, as
509
+ * MapLibre's `icon-translate`. Defaults to `(0, 0)`.
510
+ * @returns {Vec2 | undefined}
511
+ */
512
+ get translate() {
513
+ const ret = wasm.__wbg_get_billboardmaterial_translate(this.__wbg_ptr);
514
+ return ret === 0 ? undefined : Vec2.__wrap(ret);
515
+ }
349
516
  /**
350
517
  * @returns {boolean | undefined}
351
518
  */
@@ -372,19 +539,33 @@ export class BillboardMaterial {
372
539
  wasm.__wbg_set_billboardmaterial_alphaTest(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
373
540
  }
374
541
  /**
375
- * Whether faces seen from behind are culled. Default is false, so a
376
- * quad frozen in its anchor's frame (`rotateWithCamera: false`) stays
377
- * visible from behind. Turn it on to hide a flat quad's parts that wrap
378
- * over the horizon, which face away from the camera.
542
+ * Part of the quad placed at the anchor point: `"center"` (default),
543
+ * `"left"`, `"right"`, `"top"`, `"bottom"`, `"top-left"`, `"top-right"`,
544
+ * `"bottom-left"` or `"bottom-right"`, as MapLibre's `icon-anchor`.
545
+ * @param {string | null} [arg0]
546
+ */
547
+ set anchor(arg0) {
548
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
549
+ var len0 = WASM_VECTOR_LEN;
550
+ wasm.__wbg_set_billboardmaterial_anchor(this.__wbg_ptr, ptr0, len0);
551
+ }
552
+ /**
553
+ * Whether faces seen from behind are culled. Default is false. Only a
554
+ * flat quad has a back the camera can see: turn it on to hide the parts
555
+ * of a large one that wrap over the horizon, which face away from the
556
+ * camera.
379
557
  * @param {boolean | null} [arg0]
380
558
  */
381
559
  set backfaceCulling(arg0) {
382
560
  wasm.__wbg_set_billboardmaterial_backfaceCulling(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
383
561
  }
384
562
  /**
385
- * Whether the sprite stands up (`"upright"`, the default) or lies on the
386
- * globe surface around its anchor (`"flat"`). Pair with
387
- * `rotateWithCamera`.
563
+ * Plane the sprite lies in: the screen (`"upright"`, never foreshortened)
564
+ * or the globe surface around its anchor (`"flat"`), as MapLibre's
565
+ * `icon-pitch-alignment` `viewport` and `map`. Pair with
566
+ * `rotateWithCamera`. Left unset, it is `"flat"` when `rotateWithCamera`
567
+ * resolves to `false` and `"upright"` otherwise, as MapLibre resolves
568
+ * `auto`.
388
569
  * @param {string | null} [arg0]
389
570
  */
390
571
  set billboardFacing(arg0) {
@@ -392,19 +573,6 @@ export class BillboardMaterial {
392
573
  var len0 = WASM_VECTOR_LEN;
393
574
  wasm.__wbg_set_billboardmaterial_billboardFacing(this.__wbg_ptr, ptr0, len0);
394
575
  }
395
- /**
396
- * anchor point of the sprite, range is (-0.5, -0.5) to (0.5, 0.5).
397
- * Default is (0.0, 0.0) which means the center of the sprite.
398
- * @param {Vec2 | null} [arg0]
399
- */
400
- set center(arg0) {
401
- let ptr0 = 0;
402
- if (!isLikeNone(arg0)) {
403
- _assertClass(arg0, Vec2);
404
- ptr0 = arg0.__destroy_into_raw();
405
- }
406
- wasm.__wbg_set_billboardmaterial_center(this.__wbg_ptr, ptr0);
407
- }
408
576
  /**
409
577
  * @param {boolean | null} [arg0]
410
578
  */
@@ -417,6 +585,17 @@ export class BillboardMaterial {
417
585
  set color(arg0) {
418
586
  wasm.__wbg_set_billboardmaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);
419
587
  }
588
+ /**
589
+ * Extra space around the collision box, in screen pixels: one to four
590
+ * values, expanded like CSS padding (top, right, bottom, left). Only
591
+ * meaningful when `declutter` is enabled. Defaults to `[2]`.
592
+ * @param {Float32Array | null} [arg0]
593
+ */
594
+ set declutterPadding(arg0) {
595
+ var ptr0 = isLikeNone(arg0) ? 0 : passArrayF32ToWasm0(arg0, wasm.__wbindgen_malloc);
596
+ var len0 = WASM_VECTOR_LEN;
597
+ wasm.__wbg_set_billboardmaterial_declutterPadding(this.__wbg_ptr, ptr0, len0);
598
+ }
420
599
  /**
421
600
  * Placement priority for decluttering; higher wins. Only meaningful when
422
601
  * `declutter` is enabled. Defaults to `0.0`.
@@ -425,6 +604,16 @@ export class BillboardMaterial {
425
604
  set declutterPriority(arg0) {
426
605
  wasm.__wbg_set_billboardmaterial_declutterPriority(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
427
606
  }
607
+ /**
608
+ * Coarse placement order for decluttering, compared before
609
+ * `declutterPriority`: every label with a higher rank is placed before any
610
+ * label with a lower one, whatever their priorities. Only meaningful when
611
+ * `declutter` is enabled. Defaults to `0.0`.
612
+ * @param {number | null} [arg0]
613
+ */
614
+ set declutterRank(arg0) {
615
+ wasm.__wbg_set_billboardmaterial_declutterRank(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
616
+ }
428
617
  /**
429
618
  * Participate in screen-space decluttering: when labels/sprites overlap
430
619
  * on screen, lower-priority ones are hidden. Defaults to `true`; set to
@@ -465,8 +654,9 @@ export class BillboardMaterial {
465
654
  }
466
655
  /**
467
656
  * Source geometry types this appearance consumes: `"point"`, `"line"`,
468
- * `"polygon"`. Defaults to `["point"]`; adding `"line"`/`"polygon"` also
469
- * emits a billboard per line-string / polygon-ring vertex.
657
+ * `"polygon"`. Defaults to `["point"]`; adding `"line"` also emits a
658
+ * billboard per line string, at its first vertex, and `"polygon"` one per
659
+ * polygon.
470
660
  * @param {string[] | null} [arg0]
471
661
  */
472
662
  set geometryTypes(arg0) {
@@ -480,6 +670,15 @@ export class BillboardMaterial {
480
670
  set height(arg0) {
481
671
  wasm.__wbg_set_billboardmaterial_height(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
482
672
  }
673
+ /**
674
+ * Leave this label's box out of the collision grid, so symbols placed
675
+ * after it may overlap it. Only meaningful when `declutter` is enabled.
676
+ * Defaults to `false`.
677
+ * @param {boolean | null} [arg0]
678
+ */
679
+ set ignorePlacement(arg0) {
680
+ wasm.__wbg_set_billboardmaterial_ignorePlacement(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
681
+ }
483
682
  /**
484
683
  * Avoid overlapping with the globe surface.
485
684
  * @param {boolean | null} [arg0]
@@ -487,6 +686,20 @@ export class BillboardMaterial {
487
686
  set offsetDepth(arg0) {
488
687
  wasm.__wbg_set_billboardmaterial_offsetDepth(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
489
688
  }
689
+ /**
690
+ * Shift from the anchor point, x right and y down, in the unit of `size`
691
+ * (meters when `sizeInMeters`, pixels otherwise). Lies in the quad's own
692
+ * plane, so it turns with `rotation`. Defaults to `(0, 0)`.
693
+ * @param {Vec2 | null} [arg0]
694
+ */
695
+ set offset(arg0) {
696
+ let ptr0 = 0;
697
+ if (!isLikeNone(arg0)) {
698
+ _assertClass(arg0, Vec2);
699
+ ptr0 = arg0.__destroy_into_raw();
700
+ }
701
+ wasm.__wbg_set_billboardmaterial_offset(this.__wbg_ptr, ptr0);
702
+ }
490
703
  /**
491
704
  * @param {number | null} [arg0]
492
705
  */
@@ -494,9 +707,47 @@ export class BillboardMaterial {
494
707
  wasm.__wbg_set_billboardmaterial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
495
708
  }
496
709
  /**
497
- * Whether the sprite turns to follow the camera. `true` (the default)
498
- * keeps it facing the viewer. `false` freezes it in the anchor's local
499
- * east-north-up frame, so moving the camera never reorients it.
710
+ * Whether the label may be drawn over symbols placed before it:
711
+ * `"never"` (the default) hides it on any collision, `"always"` never
712
+ * does, `"cooperative"` hides it only when it collides with a `"never"`
713
+ * symbol. Only meaningful when `declutter` is enabled.
714
+ * @param {string | null} [arg0]
715
+ */
716
+ set overlap(arg0) {
717
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
718
+ var len0 = WASM_VECTOR_LEN;
719
+ wasm.__wbg_set_billboardmaterial_overlap(this.__wbg_ptr, ptr0, len0);
720
+ }
721
+ /**
722
+ * How anchors are derived from line and polygon geometry: `"point"` (the
723
+ * default) puts one per line string, at its first vertex, and one per
724
+ * polygon, `"line"` repeats them along the line every `spacing`,
725
+ * `"line-center"` places a single one at the line's midpoint. Polygon
726
+ * rings are walked like lines. Requires `geometryTypes` to include
727
+ * `"line"` or `"polygon"`.
728
+ * @param {string | null} [arg0]
729
+ */
730
+ set placement(arg0) {
731
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
732
+ var len0 = WASM_VECTOR_LEN;
733
+ wasm.__wbg_set_billboardmaterial_placement(this.__wbg_ptr, ptr0, len0);
734
+ }
735
+ /**
736
+ * Add the line's tangent bearing at the anchor to `rotation`, so the
737
+ * sprite turns with the line it sits on. Defaults to `true`.
738
+ * @param {boolean | null} [arg0]
739
+ */
740
+ set rotateToLine(arg0) {
741
+ wasm.__wbg_set_billboardmaterial_rotateToLine(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
742
+ }
743
+ /**
744
+ * Whether the sprite turns with the camera or with the map, as MapLibre's
745
+ * `icon-rotation-alignment` `viewport` and `map`. `true` keeps it reading left to right
746
+ * (a screen-aligned billboard, or a flat quad yawed to the camera).
747
+ * `false` aligns it with the map: upright, it stays on screen but turns
748
+ * with the camera heading so its x-axis points east; flat, it lies
749
+ * north-up. Left unset, it is `true` for `placement: "point"` and `false`
750
+ * along a line, as MapLibre resolves `auto`.
500
751
  * @param {boolean | null} [arg0]
501
752
  */
502
753
  set rotateWithCamera(arg0) {
@@ -504,7 +755,7 @@ export class BillboardMaterial {
504
755
  }
505
756
  /**
506
757
  * Rotation of the sprite within its own plane, about its anchor point,
507
- * in degrees, clockwise seen from the front. `center` decides where
758
+ * in degrees, clockwise seen from the front. `anchor` decides where
508
759
  * inside the sprite the pivot sits. Defaults to `0.0`.
509
760
  * @param {number | null} [arg0]
510
761
  */
@@ -524,6 +775,16 @@ export class BillboardMaterial {
524
775
  set sizeInMeters(arg0) {
525
776
  wasm.__wbg_set_billboardmaterial_sizeInMeters(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
526
777
  }
778
+ /**
779
+ * Whether `size` scales the image's own pixel height instead of being the
780
+ * quad's height, like MapLibre's `icon-size`: `1` draws the image at its
781
+ * natural size. `offset` keeps the unit `sizeInMeters` gives it. Default
782
+ * is false.
783
+ * @param {boolean | null} [arg0]
784
+ */
785
+ set sizeRelativeToImage(arg0) {
786
+ wasm.__wbg_set_billboardmaterial_sizeRelativeToImage(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
787
+ }
527
788
  /**
528
789
  * size in pixels/meters (units are determined by `sizeInMeters`).
529
790
  * @param {number | null} [arg0]
@@ -531,6 +792,57 @@ export class BillboardMaterial {
531
792
  set size(arg0) {
532
793
  wasm.__wbg_set_billboardmaterial_size(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
533
794
  }
795
+ /**
796
+ * Distance between repeated anchors along a line, in screen pixels, for
797
+ * `vector-tile` and `geojson` sources alike. Resolved per anchor as the
798
+ * camera moves: anchors thin out as it pulls back and fill in as it
799
+ * closes, never moving, so the gap on screen stays between one and two
800
+ * times `spacing` across a pitched view. As MapLibre does with
801
+ * `symbol-spacing`, a sprite wider than three quarters of the spacing
802
+ * spreads its repeats to its width plus a quarter of the spacing, and a
803
+ * vector tile places anchors only inside its own bounds. Only used by
804
+ * `placement: "line"`. Defaults to `250.0`.
805
+ * @param {number | null} [arg0]
806
+ */
807
+ set spacing(arg0) {
808
+ wasm.__wbg_set_billboardmaterial_spacing(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
809
+ }
810
+ /**
811
+ * Whether this may show while its partner at the same anchor (the
812
+ * layer's label for a billboard, its billboard for a label) is hidden.
813
+ * With `false` on both, the two are placed together: both show or
814
+ * neither does. Only meaningful when `declutter` is enabled. Defaults to
815
+ * `true`.
816
+ * @param {boolean | null} [arg0]
817
+ */
818
+ set standalone(arg0) {
819
+ wasm.__wbg_set_billboardmaterial_standalone(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
820
+ }
821
+ /**
822
+ * Frame `translate` is measured in: `"map"` (default) turns it with the
823
+ * camera heading so +x points east and +y south; `"viewport"` keeps it on
824
+ * the screen axes. MapLibre's `icon-translate-anchor`.
825
+ * @param {string | null} [arg0]
826
+ */
827
+ set translateAnchor(arg0) {
828
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
829
+ var len0 = WASM_VECTOR_LEN;
830
+ wasm.__wbg_set_billboardmaterial_translateAnchor(this.__wbg_ptr, ptr0, len0);
831
+ }
832
+ /**
833
+ * Screen-pixel shift of the drawn quad, x right and y down, applied after
834
+ * projection so it stays the same number of pixels at any distance, as
835
+ * MapLibre's `icon-translate`. Defaults to `(0, 0)`.
836
+ * @param {Vec2 | null} [arg0]
837
+ */
838
+ set translate(arg0) {
839
+ let ptr0 = 0;
840
+ if (!isLikeNone(arg0)) {
841
+ _assertClass(arg0, Vec2);
842
+ ptr0 = arg0.__destroy_into_raw();
843
+ }
844
+ wasm.__wbg_set_billboardmaterial_translate(this.__wbg_ptr, ptr0);
845
+ }
534
846
  /**
535
847
  * @param {boolean | null} [arg0]
536
848
  */
@@ -1365,6 +1677,7 @@ export class CompiledExpression {
1365
1677
  * * `properties_json` - Feature properties as JSON object
1366
1678
  * * `zoom` - Current zoom level
1367
1679
  * * `geometry_type` - Optional geometry type string (e.g., "Point", "Polygon")
1680
+ * * `elevation` - Optional terrain elevation in meters for `["elevation"]`
1368
1681
  *
1369
1682
  * # Returns
1370
1683
  * Evaluated value as JsValue. Supported types:
@@ -1377,12 +1690,13 @@ export class CompiledExpression {
1377
1690
  * @param {any} properties_json
1378
1691
  * @param {number} zoom
1379
1692
  * @param {string | null} [geometry_type]
1693
+ * @param {number | null} [elevation]
1380
1694
  * @returns {any}
1381
1695
  */
1382
- evaluate(properties_json, zoom, geometry_type) {
1696
+ evaluate(properties_json, zoom, geometry_type, elevation) {
1383
1697
  var ptr0 = isLikeNone(geometry_type) ? 0 : passStringToWasm0(geometry_type, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
1384
1698
  var len0 = WASM_VECTOR_LEN;
1385
- const ret = wasm.compiledexpression_evaluate(this.__wbg_ptr, properties_json, zoom, ptr0, len0);
1699
+ const ret = wasm.compiledexpression_evaluate(this.__wbg_ptr, properties_json, zoom, ptr0, len0, !isLikeNone(elevation), isLikeNone(elevation) ? 0 : elevation);
1386
1700
  if (ret[2]) {
1387
1701
  throw takeFromExternrefTable0(ret[1]);
1388
1702
  }
@@ -2387,15 +2701,15 @@ export class ConstructedPolylineGeometry {
2387
2701
  /**
2388
2702
  * @returns {Float32Array | undefined}
2389
2703
  */
2390
- end_normal_and_texture_coordinate_normalization_x() {
2391
- const ret = wasm.constructedpolylinegeometry_end_normal_and_texture_coordinate_normalization_x(this.__wbg_ptr);
2704
+ end_normal_and_segment_length() {
2705
+ const ret = wasm.constructedpolylinegeometry_end_normal_and_segment_length(this.__wbg_ptr);
2392
2706
  return ret;
2393
2707
  }
2394
2708
  /**
2395
2709
  * @returns {number | undefined}
2396
2710
  */
2397
- end_normal_and_texture_coordinate_normalization_x_size() {
2398
- const ret = wasm.constructedpolylinegeometry_end_normal_and_texture_coordinate_normalization_x_size(this.__wbg_ptr);
2711
+ end_normal_and_segment_length_size() {
2712
+ const ret = wasm.constructedpolylinegeometry_end_normal_and_segment_length_size(this.__wbg_ptr);
2399
2713
  return ret === 0xFFFFFF ? undefined : ret;
2400
2714
  }
2401
2715
  /**
@@ -2426,6 +2740,20 @@ export class ConstructedPolylineGeometry {
2426
2740
  const ret = wasm.constructedpolylinegeometry_indices(this.__wbg_ptr);
2427
2741
  return ret;
2428
2742
  }
2743
+ /**
2744
+ * @returns {Float32Array | undefined}
2745
+ */
2746
+ line_distance_and_ends() {
2747
+ const ret = wasm.constructedpolylinegeometry_line_distance_and_ends(this.__wbg_ptr);
2748
+ return ret;
2749
+ }
2750
+ /**
2751
+ * @returns {Float32Array | undefined}
2752
+ */
2753
+ line_segments() {
2754
+ const ret = wasm.constructedpolylinegeometry_line_segments(this.__wbg_ptr);
2755
+ return ret;
2756
+ }
2429
2757
  /**
2430
2758
  * @returns {Float32Array}
2431
2759
  */
@@ -2471,15 +2799,15 @@ export class ConstructedPolylineGeometry {
2471
2799
  /**
2472
2800
  * @returns {Float32Array}
2473
2801
  */
2474
- right_normal_and_texture_coordinate_normalization_y() {
2475
- const ret = wasm.constructedpolylinegeometry_right_normal_and_texture_coordinate_normalization_y(this.__wbg_ptr);
2802
+ right_normal_and_line_length() {
2803
+ const ret = wasm.constructedpolylinegeometry_right_normal_and_line_length(this.__wbg_ptr);
2476
2804
  return ret;
2477
2805
  }
2478
2806
  /**
2479
2807
  * @returns {number}
2480
2808
  */
2481
- right_normal_and_texture_coordinate_normalization_y_size() {
2482
- const ret = wasm.constructedpolylinegeometry_right_normal_and_texture_coordinate_normalization_y_size(this.__wbg_ptr);
2809
+ right_normal_and_line_length_size() {
2810
+ const ret = wasm.constructedpolylinegeometry_right_normal_and_line_length_size(this.__wbg_ptr);
2483
2811
  return ret;
2484
2812
  }
2485
2813
  /**
@@ -2520,15 +2848,15 @@ export class ConstructedPolylineGeometry {
2520
2848
  /**
2521
2849
  * @returns {Float32Array | undefined}
2522
2850
  */
2523
- start_normals() {
2524
- const ret = wasm.constructedpolylinegeometry_start_normals(this.__wbg_ptr);
2851
+ start_normal_and_length_high() {
2852
+ const ret = wasm.constructedpolylinegeometry_start_normal_and_length_high(this.__wbg_ptr);
2525
2853
  return ret;
2526
2854
  }
2527
2855
  /**
2528
2856
  * @returns {number | undefined}
2529
2857
  */
2530
- start_normals_size() {
2531
- const ret = wasm.constructedpolylinegeometry_start_normals_size(this.__wbg_ptr);
2858
+ start_normal_and_length_high_size() {
2859
+ const ret = wasm.constructedpolylinegeometry_start_normal_and_length_high_size(this.__wbg_ptr);
2532
2860
  return ret === 0xFFFFFF ? undefined : ret;
2533
2861
  }
2534
2862
  /**
@@ -2787,18 +3115,6 @@ export class Core {
2787
3115
  const ret = wasm.core_getGlobeColor(this.__wbg_ptr);
2788
3116
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
2789
3117
  }
2790
- /**
2791
- * @returns {Float32Array | undefined}
2792
- */
2793
- getGlobeElevationColormap() {
2794
- const ret = wasm.core_getGlobeElevationColormap(this.__wbg_ptr);
2795
- let v1;
2796
- if (ret[0] !== 0) {
2797
- v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();
2798
- wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
2799
- }
2800
- return v1;
2801
- }
2802
3118
  /**
2803
3119
  * @returns {boolean | undefined}
2804
3120
  */
@@ -2913,6 +3229,21 @@ export class Core {
2913
3229
  const ret = wasm.core_getTerrainDemBytes(this.__wbg_ptr, handle);
2914
3230
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
2915
3231
  }
3232
+ /**
3233
+ * `[scale, relativeHeight]` of the surface rendered from `source_id`,
3234
+ * `[1, 0]` when the exaggerated terrain layer does not render it.
3235
+ * Used by `view.sampleTerrainMostDetailed` to return rendered heights.
3236
+ * @param {string} source_id
3237
+ * @returns {Float64Array}
3238
+ */
3239
+ getTerrainExaggerationForSource(source_id) {
3240
+ const ptr0 = passStringToWasm0(source_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3241
+ const len0 = WASM_VECTOR_LEN;
3242
+ const ret = wasm.core_getTerrainExaggerationForSource(this.__wbg_ptr, ptr0, len0);
3243
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
3244
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
3245
+ return v2;
3246
+ }
2916
3247
  /**
2917
3248
  * @param {bigint} handle
2918
3249
  * @returns {TransferableTile | undefined}
@@ -2956,10 +3287,16 @@ export class Core {
2956
3287
  return v1;
2957
3288
  }
2958
3289
  /**
3290
+ * Get the current zoom level of the camera.
3291
+ *
3292
+ * # Arguments
3293
+ * * `tile_size_px` - Optional tile size for zoom calculation. Defaults to 256.
3294
+ * Use 512 for MapLibre-compatible zoom values.
3295
+ * @param {number | null} [tile_size_px]
2959
3296
  * @returns {number | undefined}
2960
3297
  */
2961
- getZoomLevel() {
2962
- const ret = wasm.core_getZoomLevel(this.__wbg_ptr);
3298
+ getZoomLevel(tile_size_px) {
3299
+ const ret = wasm.core_getZoomLevel(this.__wbg_ptr, !isLikeNone(tile_size_px), isLikeNone(tile_size_px) ? 0 : tile_size_px);
2963
3300
  return ret[0] === 0 ? undefined : ret[1];
2964
3301
  }
2965
3302
  /**
@@ -3346,14 +3683,6 @@ export class Core {
3346
3683
  setGlobeColor(value) {
3347
3684
  wasm.core_setGlobeColor(this.__wbg_ptr, value);
3348
3685
  }
3349
- /**
3350
- * @param {Float32Array} value
3351
- */
3352
- setGlobeElevationColormap(value) {
3353
- const ptr0 = passArrayF32ToWasm0(value, wasm.__wbindgen_malloc);
3354
- const len0 = WASM_VECTOR_LEN;
3355
- wasm.core_setGlobeElevationColormap(this.__wbg_ptr, ptr0, len0);
3356
- }
3357
3686
  /**
3358
3687
  * @param {boolean} value
3359
3688
  */
@@ -3415,6 +3744,14 @@ export class Core {
3415
3744
  setMaxPendingRequests(value) {
3416
3745
  wasm.core_setMaxPendingRequests(this.__wbg_ptr, value);
3417
3746
  }
3747
+ /**
3748
+ * Caps the number of delegated worker tasks in flight across all task
3749
+ * kinds (terrain mesh, MVT parse, polygon / polyline build, ...).
3750
+ * @param {number} value
3751
+ */
3752
+ setMaxWorkerTasks(value) {
3753
+ wasm.core_setMaxWorkerTasks(this.__wbg_ptr, value);
3754
+ }
3418
3755
  /**
3419
3756
  * Overrides GPU cost estimates that only the JS side knows precisely
3420
3757
  * (the composite atlas size depends on device options).
@@ -3440,14 +3777,33 @@ export class Core {
3440
3777
  setTileMeshPrepared(handle) {
3441
3778
  wasm.core_setTileMeshPrepared(this.__wbg_ptr, handle);
3442
3779
  }
3780
+ /**
3781
+ * Reports the worker-pool tasks in flight outside delegated tasks (image
3782
+ * decodes, Draco, descriptor / plugin tasks, tasks cancelled mid-run);
3783
+ * they take from the `setMaxWorkerTasks` cap.
3784
+ * @param {number} value
3785
+ */
3786
+ setWorkerExternalLoad(value) {
3787
+ wasm.core_setWorkerExternalLoad(this.__wbg_ptr, value);
3788
+ }
3789
+ /**
3790
+ * Pauses or resumes worker intake: while paused, nothing that runs on
3791
+ * the worker pool is handed out, model feature adds and image fetches
3792
+ * included.
3793
+ * @param {boolean} paused
3794
+ */
3795
+ setWorkerIntakePaused(paused) {
3796
+ wasm.core_setWorkerIntakePaused(this.__wbg_ptr, paused);
3797
+ }
3443
3798
  start() {
3444
3799
  wasm.core_start(this.__wbg_ptr);
3445
3800
  }
3446
3801
  /**
3447
3802
  * @param {bigint} bits
3803
+ * @param {number} handle
3448
3804
  */
3449
- triggerDataRequesterFailed(bits) {
3450
- wasm.core_triggerDataRequesterFailed(this.__wbg_ptr, bits);
3805
+ triggerDataRequesterFailed(bits, handle) {
3806
+ wasm.core_triggerDataRequesterFailed(this.__wbg_ptr, bits, handle);
3451
3807
  }
3452
3808
  /**
3453
3809
  * @param {bigint} bits
@@ -3521,14 +3877,31 @@ export class Core {
3521
3877
  wasm.core_updateSource(this.__wbg_ptr, ptr0, len0, source);
3522
3878
  }
3523
3879
  /**
3524
- * Monotonic revision that changes only when the vector-tile resolution could have
3525
- * changed. The web renderer reads it once per frame and skips the per-terrain-tile
3526
- * `getVectorTileStates` calls while it is unchanged.
3527
- * @returns {number}
3880
+ * Compute camera viewing distance required to achieve a target zoom level.
3881
+ *
3882
+ * This is the inverse of `getZoomLevel`. Given a Web Mercator zoom level
3883
+ * and latitude, returns the camera-to-target viewing distance in meters
3884
+ * that would produce that zoom level.
3885
+ *
3886
+ * Uses the current viewport height and camera FOV from the engine state.
3887
+ *
3888
+ * # Arguments
3889
+ * * `zoom_level` - Target Web Mercator zoom level
3890
+ * * `lat_deg` - Latitude in degrees (affects scale due to Web Mercator projection)
3891
+ * * `tile_size_px` - Tile size for zoom calculation (defaults to 256)
3892
+ * * `fov_rad` - Optional FOV override in radians
3893
+ *
3894
+ * # Returns
3895
+ * Camera viewing distance to target in meters, or `undefined` if inputs are invalid
3896
+ * @param {number} zoom_level
3897
+ * @param {number} lat_deg
3898
+ * @param {number | null} [tile_size_px]
3899
+ * @param {number | null} [fov_rad]
3900
+ * @returns {number | undefined}
3528
3901
  */
3529
- vectorRevision() {
3530
- const ret = wasm.core_vectorRevision(this.__wbg_ptr);
3531
- return ret >>> 0;
3902
+ zoomLevelToCameraDistance(zoom_level, lat_deg, tile_size_px, fov_rad) {
3903
+ const ret = wasm.core_zoomLevelToCameraDistance(this.__wbg_ptr, zoom_level, lat_deg, !isLikeNone(tile_size_px), isLikeNone(tile_size_px) ? 0 : tile_size_px, !isLikeNone(fov_rad), isLikeNone(fov_rad) ? 0 : fov_rad);
3904
+ return ret[0] === 0 ? undefined : ret[1];
3532
3905
  }
3533
3906
  /**
3534
3907
  * @returns {string}
@@ -3634,10 +4007,10 @@ export class DataRequestEvent {
3634
4007
  }
3635
4008
  /**
3636
4009
  * Fetch urgency: 0 is the most urgent (see `Priority::rank`). The web
3637
- * side keeps its pending fetch queue sorted by this. Requests without an
3638
- * ECS `Priority` (tileset / PMTiles bootstrap reads, 3D Tiles content)
3639
- * rank as `Extreme`, matching the engine sender that dispatches them
3640
- * ahead of the prioritized ones.
4010
+ * side starts every fetch right away and passes this on as the browser's
4011
+ * fetch priority hint. Requests without an ECS `Priority` (tileset /
4012
+ * PMTiles bootstrap reads, 3D Tiles content) rank as `Extreme`, matching
4013
+ * the engine sender that dispatches them ahead of the prioritized ones.
3641
4014
  * @returns {number}
3642
4015
  */
3643
4016
  get priority() {
@@ -3737,10 +4110,10 @@ export class DataRequestEvent {
3737
4110
  }
3738
4111
  /**
3739
4112
  * Fetch urgency: 0 is the most urgent (see `Priority::rank`). The web
3740
- * side keeps its pending fetch queue sorted by this. Requests without an
3741
- * ECS `Priority` (tileset / PMTiles bootstrap reads, 3D Tiles content)
3742
- * rank as `Extreme`, matching the engine sender that dispatches them
3743
- * ahead of the prioritized ones.
4113
+ * side starts every fetch right away and passes this on as the browser's
4114
+ * fetch priority hint. Requests without an ECS `Priority` (tileset /
4115
+ * PMTiles bootstrap reads, 3D Tiles content) rank as `Extreme`, matching
4116
+ * the engine sender that dispatches them ahead of the prioritized ones.
3744
4117
  * @param {number} arg0
3745
4118
  */
3746
4119
  set priority(arg0) {
@@ -4561,18 +4934,64 @@ export class ElevationHeatmapMaterial {
4561
4934
  wasm.__wbg_elevationheatmapmaterial_free(ptr, 0);
4562
4935
  }
4563
4936
  /**
4564
- * @returns {number | undefined}
4937
+ * Color map lookup table for this layer's elevation heatmap rendering.
4938
+ * Flattened RGBA array: [r0,g0,b0,a0, r1,g1,b1,a1, ...], evenly spaced over
4939
+ * [minHeight, maxHeight]. When None, the elevation renders as grayscale.
4940
+ * Managed on the web side (ColorMapAtlas); Rust only hashes it to detect
4941
+ * changes.
4942
+ * @returns {Float32Array | undefined}
4565
4943
  */
4566
- get logBoundary() {
4567
- const ret = wasm.__wbg_get_elevationheatmapmaterial_logBoundary(this.__wbg_ptr);
4568
- return ret[0] === 0 ? undefined : ret[1];
4944
+ get colorMap() {
4945
+ const ret = wasm.__wbg_get_elevationheatmapmaterial_colorMap(this.__wbg_ptr);
4946
+ let v1;
4947
+ if (ret[0] !== 0) {
4948
+ v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();
4949
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
4950
+ }
4951
+ return v1;
4569
4952
  }
4570
4953
  /**
4571
- * @returns {boolean | undefined}
4954
+ * Optional ascending stop elevations in meters, one per colorMap entry.
4955
+ * When set, colorMap entry i is placed at elevation colorStops[i] instead
4956
+ * of being evenly spaced over [minHeight, maxHeight].
4957
+ * Managed on the web side (ColorMapAtlas); Rust only hashes it to detect
4958
+ * changes.
4959
+ * @returns {Float32Array | undefined}
4572
4960
  */
4573
- get logarithmic() {
4574
- const ret = wasm.__wbg_get_elevationheatmapmaterial_logarithmic(this.__wbg_ptr);
4575
- return ret === 0xFFFFFF ? undefined : ret !== 0;
4961
+ get colorStops() {
4962
+ const ret = wasm.__wbg_get_elevationheatmapmaterial_colorStops(this.__wbg_ptr);
4963
+ let v1;
4964
+ if (ret[0] !== 0) {
4965
+ v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();
4966
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
4967
+ }
4968
+ return v1;
4969
+ }
4970
+ /**
4971
+ * @returns {string | undefined}
4972
+ */
4973
+ get filter() {
4974
+ const ret = wasm.__wbg_get_elevationheatmapmaterial_filter(this.__wbg_ptr);
4975
+ let v1;
4976
+ if (ret[0] !== 0) {
4977
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
4978
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
4979
+ }
4980
+ return v1;
4981
+ }
4982
+ /**
4983
+ * @returns {number | undefined}
4984
+ */
4985
+ get logBoundary() {
4986
+ const ret = wasm.__wbg_get_elevationheatmapmaterial_logBoundary(this.__wbg_ptr);
4987
+ return ret[0] === 0 ? undefined : ret[1];
4988
+ }
4989
+ /**
4990
+ * @returns {boolean | undefined}
4991
+ */
4992
+ get logarithmic() {
4993
+ const ret = wasm.__wbg_get_elevationheatmapmaterial_logarithmic(this.__wbg_ptr);
4994
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
4576
4995
  }
4577
4996
  /**
4578
4997
  * @returns {number | undefined}
@@ -4588,6 +5007,40 @@ export class ElevationHeatmapMaterial {
4588
5007
  const ret = wasm.__wbg_get_elevationheatmapmaterial_minHeight(this.__wbg_ptr);
4589
5008
  return ret[0] === 0 ? undefined : ret[1];
4590
5009
  }
5010
+ /**
5011
+ * Color map lookup table for this layer's elevation heatmap rendering.
5012
+ * Flattened RGBA array: [r0,g0,b0,a0, r1,g1,b1,a1, ...], evenly spaced over
5013
+ * [minHeight, maxHeight]. When None, the elevation renders as grayscale.
5014
+ * Managed on the web side (ColorMapAtlas); Rust only hashes it to detect
5015
+ * changes.
5016
+ * @param {Float32Array | null} [arg0]
5017
+ */
5018
+ set colorMap(arg0) {
5019
+ var ptr0 = isLikeNone(arg0) ? 0 : passArrayF32ToWasm0(arg0, wasm.__wbindgen_malloc);
5020
+ var len0 = WASM_VECTOR_LEN;
5021
+ wasm.__wbg_set_elevationheatmapmaterial_colorMap(this.__wbg_ptr, ptr0, len0);
5022
+ }
5023
+ /**
5024
+ * Optional ascending stop elevations in meters, one per colorMap entry.
5025
+ * When set, colorMap entry i is placed at elevation colorStops[i] instead
5026
+ * of being evenly spaced over [minHeight, maxHeight].
5027
+ * Managed on the web side (ColorMapAtlas); Rust only hashes it to detect
5028
+ * changes.
5029
+ * @param {Float32Array | null} [arg0]
5030
+ */
5031
+ set colorStops(arg0) {
5032
+ var ptr0 = isLikeNone(arg0) ? 0 : passArrayF32ToWasm0(arg0, wasm.__wbindgen_malloc);
5033
+ var len0 = WASM_VECTOR_LEN;
5034
+ wasm.__wbg_set_elevationheatmapmaterial_colorStops(this.__wbg_ptr, ptr0, len0);
5035
+ }
5036
+ /**
5037
+ * @param {string | null} [arg0]
5038
+ */
5039
+ set filter(arg0) {
5040
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
5041
+ var len0 = WASM_VECTOR_LEN;
5042
+ wasm.__wbg_set_elevationheatmapmaterial_filter(this.__wbg_ptr, ptr0, len0);
5043
+ }
4591
5044
  /**
4592
5045
  * @param {number | null} [arg0]
4593
5046
  */
@@ -5003,6 +5456,13 @@ export class Events {
5003
5456
  wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
5004
5457
  return v1;
5005
5458
  }
5459
+ /**
5460
+ * @returns {TerrainExaggerationUpdatedEvent | undefined}
5461
+ */
5462
+ take_terrain_exaggeration_updated() {
5463
+ const ret = wasm.events_take_terrain_exaggeration_updated(this.__wbg_ptr);
5464
+ return ret === 0 ? undefined : TerrainExaggerationUpdatedEvent.__wrap(ret);
5465
+ }
5006
5466
  /**
5007
5467
  * @returns {EntityEvent[]}
5008
5468
  */
@@ -5039,6 +5499,15 @@ export class Events {
5039
5499
  wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
5040
5500
  return v1;
5041
5501
  }
5502
+ /**
5503
+ * @returns {BigUint64Array}
5504
+ */
5505
+ take_vector_drape_changed() {
5506
+ const ret = wasm.events_take_vector_drape_changed(this.__wbg_ptr);
5507
+ var v1 = getArrayU64FromWasm0(ret[0], ret[1]).slice();
5508
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
5509
+ return v1;
5510
+ }
5042
5511
  /**
5043
5512
  * @returns {WorkerTaskDelegatedEvent[]}
5044
5513
  */
@@ -5356,6 +5825,13 @@ export class Geometry {
5356
5825
  const ret = wasm.geometry_transferNormals(this.__wbg_ptr);
5357
5826
  return ret;
5358
5827
  }
5828
+ /**
5829
+ * @returns {Float32Array | undefined}
5830
+ */
5831
+ transferSkirtHeights() {
5832
+ const ret = wasm.geometry_transferSkirtHeights(this.__wbg_ptr);
5833
+ return ret;
5834
+ }
5359
5835
  /**
5360
5836
  * @returns {Uint32Array | undefined}
5361
5837
  */
@@ -5432,17 +5908,6 @@ export class Globe {
5432
5908
  const ret = wasm.__wbg_get_globe_color(this.__wbg_ptr);
5433
5909
  return ret >>> 0;
5434
5910
  }
5435
- /**
5436
- * Color map lookup table for elevation heatmap rendering.
5437
- * Flattened RGB array: [r0,g0,b0, r1,g1,b1, ...].
5438
- * @returns {Float32Array}
5439
- */
5440
- get elevationColormap() {
5441
- const ret = wasm.__wbg_get_globe_elevationColormap(this.__wbg_ptr);
5442
- var v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();
5443
- wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
5444
- return v1;
5445
- }
5446
5911
  /**
5447
5912
  * Whether to hide underground geometry. Disabling this value might cause unexpected behavior when using effect.
5448
5913
  * @returns {boolean}
@@ -5521,12 +5986,9 @@ export class Globe {
5521
5986
  * @param {boolean} transparent
5522
5987
  * @param {number} opacity
5523
5988
  * @param {boolean} wireframe
5524
- * @param {Float32Array} elevation_colormap
5525
5989
  */
5526
- constructor(max_sse, segments, color, hide_underground, use_normal, transparent, opacity, wireframe, elevation_colormap) {
5527
- const ptr0 = passArrayF32ToWasm0(elevation_colormap, wasm.__wbindgen_malloc);
5528
- const len0 = WASM_VECTOR_LEN;
5529
- const ret = wasm.globe_new(max_sse, segments, color, hide_underground, use_normal, transparent, opacity, wireframe, ptr0, len0);
5990
+ constructor(max_sse, segments, color, hide_underground, use_normal, transparent, opacity, wireframe) {
5991
+ const ret = wasm.globe_new(max_sse, segments, color, hide_underground, use_normal, transparent, opacity, wireframe);
5530
5992
  this.__wbg_ptr = ret;
5531
5993
  GlobeFinalization.register(this, this.__wbg_ptr, this);
5532
5994
  return this;
@@ -5538,16 +6000,6 @@ export class Globe {
5538
6000
  set color(arg0) {
5539
6001
  wasm.__wbg_set_globe_color(this.__wbg_ptr, arg0);
5540
6002
  }
5541
- /**
5542
- * Color map lookup table for elevation heatmap rendering.
5543
- * Flattened RGB array: [r0,g0,b0, r1,g1,b1, ...].
5544
- * @param {Float32Array} arg0
5545
- */
5546
- set elevationColormap(arg0) {
5547
- const ptr0 = passArrayF32ToWasm0(arg0, wasm.__wbindgen_malloc);
5548
- const len0 = WASM_VECTOR_LEN;
5549
- wasm.__wbg_set_globe_elevationColormap(this.__wbg_ptr, ptr0, len0);
5550
- }
5551
6003
  /**
5552
6004
  * Whether to hide underground geometry. Disabling this value might cause unexpected behavior when using effect.
5553
6005
  * @param {boolean} arg0
@@ -6020,6 +6472,15 @@ export class Mesh {
6020
6472
  const ret = wasm.__wbg_get_mesh_fill_quadrants(this.__wbg_ptr);
6021
6473
  return ret;
6022
6474
  }
6475
+ /**
6476
+ * Per-vertex terrain height handle (meters, unexaggerated). `None` for a
6477
+ * flat tile, whose vertices all sit at height 0.
6478
+ * @returns {number | undefined}
6479
+ */
6480
+ get heights() {
6481
+ const ret = wasm.__wbg_get_mesh_heights(this.__wbg_ptr);
6482
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
6483
+ }
6023
6484
  /**
6024
6485
  * @returns {number}
6025
6486
  */
@@ -6027,6 +6488,21 @@ export class Mesh {
6027
6488
  const ret = wasm.__wbg_get_mesh_indices(this.__wbg_ptr);
6028
6489
  return ret;
6029
6490
  }
6491
+ /**
6492
+ * @returns {number}
6493
+ */
6494
+ get max_height() {
6495
+ const ret = wasm.__wbg_get_mesh_max_height(this.__wbg_ptr);
6496
+ return ret;
6497
+ }
6498
+ /**
6499
+ * Range of `heights` (both 0 for a flat tile).
6500
+ * @returns {number}
6501
+ */
6502
+ get min_height() {
6503
+ const ret = wasm.__wbg_get_mesh_min_height(this.__wbg_ptr);
6504
+ return ret;
6505
+ }
6030
6506
  /**
6031
6507
  * Per-vertex normals handle (terrain only).
6032
6508
  * @returns {number | undefined}
@@ -6042,6 +6518,14 @@ export class Mesh {
6042
6518
  const ret = wasm.__wbg_get_mesh_render_order(this.__wbg_ptr);
6043
6519
  return ret;
6044
6520
  }
6521
+ /**
6522
+ * Skirt per-vertex terrain height handle; set whenever `skirt_vertices` is.
6523
+ * @returns {number | undefined}
6524
+ */
6525
+ get skirt_heights() {
6526
+ const ret = wasm.__wbg_get_mesh_skirt_heights(this.__wbg_ptr);
6527
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
6528
+ }
6045
6529
  /**
6046
6530
  * Skirt indices handle.
6047
6531
  * @returns {number | undefined}
@@ -6117,12 +6601,33 @@ export class Mesh {
6117
6601
  set fill_quadrants(arg0) {
6118
6602
  wasm.__wbg_set_mesh_fill_quadrants(this.__wbg_ptr, arg0);
6119
6603
  }
6604
+ /**
6605
+ * Per-vertex terrain height handle (meters, unexaggerated). `None` for a
6606
+ * flat tile, whose vertices all sit at height 0.
6607
+ * @param {number | null} [arg0]
6608
+ */
6609
+ set heights(arg0) {
6610
+ wasm.__wbg_set_mesh_heights(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >> 0);
6611
+ }
6120
6612
  /**
6121
6613
  * @param {number} arg0
6122
6614
  */
6123
6615
  set indices(arg0) {
6124
6616
  wasm.__wbg_set_mesh_indices(this.__wbg_ptr, arg0);
6125
6617
  }
6618
+ /**
6619
+ * @param {number} arg0
6620
+ */
6621
+ set max_height(arg0) {
6622
+ wasm.__wbg_set_mesh_max_height(this.__wbg_ptr, arg0);
6623
+ }
6624
+ /**
6625
+ * Range of `heights` (both 0 for a flat tile).
6626
+ * @param {number} arg0
6627
+ */
6628
+ set min_height(arg0) {
6629
+ wasm.__wbg_set_mesh_min_height(this.__wbg_ptr, arg0);
6630
+ }
6126
6631
  /**
6127
6632
  * Per-vertex normals handle (terrain only).
6128
6633
  * @param {number | null} [arg0]
@@ -6136,6 +6641,13 @@ export class Mesh {
6136
6641
  set render_order(arg0) {
6137
6642
  wasm.__wbg_set_mesh_render_order(this.__wbg_ptr, arg0);
6138
6643
  }
6644
+ /**
6645
+ * Skirt per-vertex terrain height handle; set whenever `skirt_vertices` is.
6646
+ * @param {number | null} [arg0]
6647
+ */
6648
+ set skirt_heights(arg0) {
6649
+ wasm.__wbg_set_mesh_skirt_heights(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >> 0);
6650
+ }
6139
6651
  /**
6140
6652
  * Skirt indices handle.
6141
6653
  * @param {number | null} [arg0]
@@ -6598,13 +7110,6 @@ export class ModelMaterial {
6598
7110
  const ret = wasm.__wbg_get_modelmaterial_animationSpeed(this.__wbg_ptr);
6599
7111
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
6600
7112
  }
6601
- /**
6602
- * @returns {boolean | undefined}
6603
- */
6604
- get applyWaterNormal() {
6605
- const ret = wasm.__wbg_get_modelmaterial_applyWaterNormal(this.__wbg_ptr);
6606
- return ret === 0xFFFFFF ? undefined : ret !== 0;
6607
- }
6608
7113
  /**
6609
7114
  * @returns {boolean | undefined}
6610
7115
  */
@@ -6665,6 +7170,15 @@ export class ModelMaterial {
6665
7170
  const ret = wasm.__wbg_get_modelmaterial_emissiveIntensity(this.__wbg_ptr);
6666
7171
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
6667
7172
  }
7173
+ /**
7174
+ * Speed in m/s of the current carrying the water's waves
7175
+ * along `waveDirection`. Default: 0.
7176
+ * @returns {number | undefined}
7177
+ */
7178
+ get flowSpeed() {
7179
+ const ret = wasm.__wbg_get_modelmaterial_flowSpeed(this.__wbg_ptr);
7180
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
7181
+ }
6668
7182
  /**
6669
7183
  * @returns {number | undefined}
6670
7184
  */
@@ -6752,6 +7266,7 @@ export class ModelMaterial {
6752
7266
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
6753
7267
  }
6754
7268
  /**
7269
+ * Phong shininess of the non-water `specular` highlight.
6755
7270
  * @returns {number | undefined}
6756
7271
  */
6757
7272
  get shininess() {
@@ -6795,6 +7310,7 @@ export class ModelMaterial {
6795
7310
  }
6796
7311
  /**
6797
7312
  * Enabling this value allows using `shininess` and `specular_strength`.
7313
+ * Has no effect on water.
6798
7314
  * @returns {boolean | undefined}
6799
7315
  */
6800
7316
  get specular() {
@@ -6822,28 +7338,54 @@ export class ModelMaterial {
6822
7338
  return v1;
6823
7339
  }
6824
7340
  /**
6825
- * Scale water normal. Decreasing this value will make the water surface rough.
7341
+ * Extent of the water body, which bounds how far the wind blows over it
7342
+ * and so how large its waves grow: `"ocean"` (the default; open sea),
7343
+ * `"large"` (a bay or a large lake, about 20 km), `"medium"` (a lake or a
7344
+ * wide river, about 2 km) or `"small"` (a river or a pond, about 200 m).
7345
+ * @returns {string | undefined}
7346
+ */
7347
+ get waterScale() {
7348
+ const ret = wasm.__wbg_get_modelmaterial_waterScale(this.__wbg_ptr);
7349
+ let v1;
7350
+ if (ret[0] !== 0) {
7351
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
7352
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
7353
+ }
7354
+ return v1;
7355
+ }
7356
+ /**
7357
+ * Apply a water material on the polygon. It might slow down the loading of the mesh.
7358
+ * @returns {boolean | undefined}
7359
+ */
7360
+ get water() {
7361
+ const ret = wasm.__wbg_get_modelmaterial_water(this.__wbg_ptr);
7362
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
7363
+ }
7364
+ /**
7365
+ * Where the water's waves travel, in degrees clockwise from north.
7366
+ * Default: 0.
6826
7367
  * @returns {number | undefined}
6827
7368
  */
6828
- get waterScaleNormal() {
6829
- const ret = wasm.__wbg_get_modelmaterial_waterScaleNormal(this.__wbg_ptr);
7369
+ get waveDirection() {
7370
+ const ret = wasm.__wbg_get_modelmaterial_waveDirection(this.__wbg_ptr);
6830
7371
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
6831
7372
  }
6832
7373
  /**
6833
- * Water wave speed.
7374
+ * Scales the water's wave slopes; 0 is a flat mirror.
6834
7375
  * @returns {number | undefined}
6835
7376
  */
6836
- get waterSpeed() {
6837
- const ret = wasm.__wbg_get_modelmaterial_waterSpeed(this.__wbg_ptr);
7377
+ get waveExaggeration() {
7378
+ const ret = wasm.__wbg_get_modelmaterial_waveExaggeration(this.__wbg_ptr);
6838
7379
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
6839
7380
  }
6840
7381
  /**
6841
- * Apply a water material on the polygon. It might slow down the loading of the mesh.
6842
- * @returns {boolean | undefined}
7382
+ * Sets the size, steepness and speed of the water's waves: about 1 is a
7383
+ * calm ripple, 5 moderate and 20 a storm. Default: 5.
7384
+ * @returns {number | undefined}
6843
7385
  */
6844
- get water() {
6845
- const ret = wasm.__wbg_get_modelmaterial_water(this.__wbg_ptr);
6846
- return ret === 0xFFFFFF ? undefined : ret !== 0;
7386
+ get waveStrength() {
7387
+ const ret = wasm.__wbg_get_modelmaterial_waveStrength(this.__wbg_ptr);
7388
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
6847
7389
  }
6848
7390
  /**
6849
7391
  * @param {ModelInternalMaterial | null} [arg0]
@@ -6870,12 +7412,6 @@ export class ModelMaterial {
6870
7412
  set animationSpeed(arg0) {
6871
7413
  wasm.__wbg_set_modelmaterial_animationSpeed(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
6872
7414
  }
6873
- /**
6874
- * @param {boolean | null} [arg0]
6875
- */
6876
- set applyWaterNormal(arg0) {
6877
- wasm.__wbg_set_modelmaterial_applyWaterNormal(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
6878
- }
6879
7415
  /**
6880
7416
  * @param {boolean | null} [arg0]
6881
7417
  */
@@ -6926,6 +7462,14 @@ export class ModelMaterial {
6926
7462
  set emissiveIntensity(arg0) {
6927
7463
  wasm.__wbg_set_modelmaterial_emissiveIntensity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
6928
7464
  }
7465
+ /**
7466
+ * Speed in m/s of the current carrying the water's waves
7467
+ * along `waveDirection`. Default: 0.
7468
+ * @param {number | null} [arg0]
7469
+ */
7470
+ set flowSpeed(arg0) {
7471
+ wasm.__wbg_set_modelmaterial_flowSpeed(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
7472
+ }
6929
7473
  /**
6930
7474
  * @param {number | null} [arg0]
6931
7475
  */
@@ -7002,6 +7546,7 @@ export class ModelMaterial {
7002
7546
  wasm.__wbg_set_modelmaterial_roughness(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
7003
7547
  }
7004
7548
  /**
7549
+ * Phong shininess of the non-water `specular` highlight.
7005
7550
  * @param {number | null} [arg0]
7006
7551
  */
7007
7552
  set shininess(arg0) {
@@ -7039,6 +7584,7 @@ export class ModelMaterial {
7039
7584
  }
7040
7585
  /**
7041
7586
  * Enabling this value allows using `shininess` and `specular_strength`.
7587
+ * Has no effect on water.
7042
7588
  * @param {boolean | null} [arg0]
7043
7589
  */
7044
7590
  set specular(arg0) {
@@ -7060,25 +7606,46 @@ export class ModelMaterial {
7060
7606
  wasm.__wbg_set_modelmaterial_url(this.__wbg_ptr, ptr0, len0);
7061
7607
  }
7062
7608
  /**
7063
- * Scale water normal. Decreasing this value will make the water surface rough.
7609
+ * Extent of the water body, which bounds how far the wind blows over it
7610
+ * and so how large its waves grow: `"ocean"` (the default; open sea),
7611
+ * `"large"` (a bay or a large lake, about 20 km), `"medium"` (a lake or a
7612
+ * wide river, about 2 km) or `"small"` (a river or a pond, about 200 m).
7613
+ * @param {string | null} [arg0]
7614
+ */
7615
+ set waterScale(arg0) {
7616
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
7617
+ var len0 = WASM_VECTOR_LEN;
7618
+ wasm.__wbg_set_modelmaterial_waterScale(this.__wbg_ptr, ptr0, len0);
7619
+ }
7620
+ /**
7621
+ * Apply a water material on the polygon. It might slow down the loading of the mesh.
7622
+ * @param {boolean | null} [arg0]
7623
+ */
7624
+ set water(arg0) {
7625
+ wasm.__wbg_set_modelmaterial_water(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
7626
+ }
7627
+ /**
7628
+ * Where the water's waves travel, in degrees clockwise from north.
7629
+ * Default: 0.
7064
7630
  * @param {number | null} [arg0]
7065
7631
  */
7066
- set waterScaleNormal(arg0) {
7067
- wasm.__wbg_set_modelmaterial_waterScaleNormal(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
7632
+ set waveDirection(arg0) {
7633
+ wasm.__wbg_set_modelmaterial_waveDirection(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
7068
7634
  }
7069
7635
  /**
7070
- * Water wave speed.
7636
+ * Scales the water's wave slopes; 0 is a flat mirror.
7071
7637
  * @param {number | null} [arg0]
7072
7638
  */
7073
- set waterSpeed(arg0) {
7074
- wasm.__wbg_set_modelmaterial_waterSpeed(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
7639
+ set waveExaggeration(arg0) {
7640
+ wasm.__wbg_set_modelmaterial_waveExaggeration(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
7075
7641
  }
7076
7642
  /**
7077
- * Apply a water material on the polygon. It might slow down the loading of the mesh.
7078
- * @param {boolean | null} [arg0]
7643
+ * Sets the size, steepness and speed of the water's waves: about 1 is a
7644
+ * calm ripple, 5 moderate and 20 a storm. Default: 5.
7645
+ * @param {number | null} [arg0]
7079
7646
  */
7080
- set water(arg0) {
7081
- wasm.__wbg_set_modelmaterial_water(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
7647
+ set waveStrength(arg0) {
7648
+ wasm.__wbg_set_modelmaterial_waveStrength(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
7082
7649
  }
7083
7650
  }
7084
7651
  if (Symbol.dispose) ModelMaterial.prototype[Symbol.dispose] = ModelMaterial.prototype.free;
@@ -7674,25 +8241,31 @@ export class PointMaterial {
7674
8241
  wasm.__wbg_pointmaterial_free(ptr, 0);
7675
8242
  }
7676
8243
  /**
7677
- * Whether faces seen from behind are culled. Default is false, so a
7678
- * quad frozen in its anchor's frame (`rotateWithCamera: false`) stays
7679
- * visible from behind. Turn it on to hide a flat quad's parts that wrap
7680
- * over the horizon, which face away from the camera.
8244
+ * Part of the quad placed at the anchor point: `"center"` (default),
8245
+ * `"left"`, `"right"`, `"top"`, `"bottom"`, `"top-left"`, `"top-right"`,
8246
+ * `"bottom-left"` or `"bottom-right"`, as MapLibre's `icon-anchor`.
8247
+ * @returns {string | undefined}
8248
+ */
8249
+ get anchor() {
8250
+ const ret = wasm.__wbg_get_pointmaterial_anchor(this.__wbg_ptr);
8251
+ let v1;
8252
+ if (ret[0] !== 0) {
8253
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
8254
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
8255
+ }
8256
+ return v1;
8257
+ }
8258
+ /**
8259
+ * Whether faces seen from behind are culled. Default is false. Only a
8260
+ * flat quad has a back the camera can see: turn it on to hide the parts
8261
+ * of a large one that wrap over the horizon, which face away from the
8262
+ * camera.
7681
8263
  * @returns {boolean | undefined}
7682
8264
  */
7683
8265
  get backfaceCulling() {
7684
8266
  const ret = wasm.__wbg_get_pointmaterial_backfaceCulling(this.__wbg_ptr);
7685
8267
  return ret === 0xFFFFFF ? undefined : ret !== 0;
7686
8268
  }
7687
- /**
7688
- * anchor point of the sprite, range is (-0.5, -0.5) to (0.5, 0.5).
7689
- * Default is (0.0, 0.0) which means the center of the sprite.
7690
- * @returns {Vec2 | undefined}
7691
- */
7692
- get center() {
7693
- const ret = wasm.__wbg_get_pointmaterial_center(this.__wbg_ptr);
7694
- return ret === 0 ? undefined : Vec2.__wrap(ret);
7695
- }
7696
8269
  /**
7697
8270
  * @returns {boolean | undefined}
7698
8271
  */
@@ -7707,6 +8280,21 @@ export class PointMaterial {
7707
8280
  const ret = wasm.__wbg_get_pointmaterial_color(this.__wbg_ptr);
7708
8281
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
7709
8282
  }
8283
+ /**
8284
+ * Extra space around the collision box, in screen pixels: one to four
8285
+ * values, expanded like CSS padding (top, right, bottom, left). Only
8286
+ * meaningful when `declutter` is enabled. Defaults to `[2]`.
8287
+ * @returns {Float32Array | undefined}
8288
+ */
8289
+ get declutterPadding() {
8290
+ const ret = wasm.__wbg_get_pointmaterial_declutterPadding(this.__wbg_ptr);
8291
+ let v1;
8292
+ if (ret[0] !== 0) {
8293
+ v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();
8294
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
8295
+ }
8296
+ return v1;
8297
+ }
7710
8298
  /**
7711
8299
  * Placement priority for decluttering; higher wins. Only meaningful when
7712
8300
  * `declutter` is enabled. Defaults to `0.0`.
@@ -7716,6 +8304,17 @@ export class PointMaterial {
7716
8304
  const ret = wasm.__wbg_get_pointmaterial_declutterPriority(this.__wbg_ptr);
7717
8305
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
7718
8306
  }
8307
+ /**
8308
+ * Coarse placement order for decluttering, compared before
8309
+ * `declutterPriority`: every label with a higher rank is placed before any
8310
+ * label with a lower one, whatever their priorities. Only meaningful when
8311
+ * `declutter` is enabled. Defaults to `0.0`.
8312
+ * @returns {number | undefined}
8313
+ */
8314
+ get declutterRank() {
8315
+ const ret = wasm.__wbg_get_pointmaterial_declutterRank(this.__wbg_ptr);
8316
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
8317
+ }
7719
8318
  /**
7720
8319
  * Participate in screen-space decluttering: when labels/sprites overlap
7721
8320
  * on screen, lower-priority ones are hidden. Defaults to `true`; set to
@@ -7784,6 +8383,16 @@ export class PointMaterial {
7784
8383
  const ret = wasm.__wbg_get_pointmaterial_height(this.__wbg_ptr);
7785
8384
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
7786
8385
  }
8386
+ /**
8387
+ * Leave this label's box out of the collision grid, so symbols placed
8388
+ * after it may overlap it. Only meaningful when `declutter` is enabled.
8389
+ * Defaults to `false`.
8390
+ * @returns {boolean | undefined}
8391
+ */
8392
+ get ignorePlacement() {
8393
+ const ret = wasm.__wbg_get_pointmaterial_ignorePlacement(this.__wbg_ptr);
8394
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
8395
+ }
7787
8396
  /**
7788
8397
  * Avoid overlapping with the globe surface.
7789
8398
  * @returns {boolean | undefined}
@@ -7792,6 +8401,16 @@ export class PointMaterial {
7792
8401
  const ret = wasm.__wbg_get_pointmaterial_offsetDepth(this.__wbg_ptr);
7793
8402
  return ret === 0xFFFFFF ? undefined : ret !== 0;
7794
8403
  }
8404
+ /**
8405
+ * Shift from the anchor point, x right and y down, in the unit of `size`
8406
+ * (meters when `sizeInMeters`, pixels otherwise). Lies in the quad's own
8407
+ * plane, so it turns with `rotation`. Defaults to `(0, 0)`.
8408
+ * @returns {Vec2 | undefined}
8409
+ */
8410
+ get offset() {
8411
+ const ret = wasm.__wbg_get_pointmaterial_offset(this.__wbg_ptr);
8412
+ return ret === 0 ? undefined : Vec2.__wrap(ret);
8413
+ }
7795
8414
  /**
7796
8415
  * @returns {number | undefined}
7797
8416
  */
@@ -7800,9 +8419,45 @@ export class PointMaterial {
7800
8419
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
7801
8420
  }
7802
8421
  /**
7803
- * Whether the point stands up (`"upright"`, the default) or lies on the
7804
- * globe surface around its anchor (`"flat"`). Pair with
7805
- * `rotateWithCamera`.
8422
+ * Whether the label may be drawn over symbols placed before it:
8423
+ * `"never"` (the default) hides it on any collision, `"always"` never
8424
+ * does, `"cooperative"` hides it only when it collides with a `"never"`
8425
+ * symbol. Only meaningful when `declutter` is enabled.
8426
+ * @returns {string | undefined}
8427
+ */
8428
+ get overlap() {
8429
+ const ret = wasm.__wbg_get_pointmaterial_overlap(this.__wbg_ptr);
8430
+ let v1;
8431
+ if (ret[0] !== 0) {
8432
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
8433
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
8434
+ }
8435
+ return v1;
8436
+ }
8437
+ /**
8438
+ * How anchors are derived from line and polygon geometry: `"point"` (the
8439
+ * default) puts one at every line and polygon-ring vertex, `"line"`
8440
+ * repeats them along the line every `spacing`, `"line-center"` places a
8441
+ * single one at the line's midpoint. Polygon rings are walked like lines. Requires `geometryTypes`
8442
+ * to include `"line"` or `"polygon"`.
8443
+ * @returns {string | undefined}
8444
+ */
8445
+ get placement() {
8446
+ const ret = wasm.__wbg_get_pointmaterial_placement(this.__wbg_ptr);
8447
+ let v1;
8448
+ if (ret[0] !== 0) {
8449
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
8450
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
8451
+ }
8452
+ return v1;
8453
+ }
8454
+ /**
8455
+ * Plane the point lies in: the screen (`"upright"`, never foreshortened)
8456
+ * or the globe surface around its anchor (`"flat"`), as MapLibre's
8457
+ * `icon-pitch-alignment` `viewport` and `map`. Pair with
8458
+ * `rotateWithCamera`. Left unset, it is `"flat"` when `rotateWithCamera`
8459
+ * resolves to `false` and `"upright"` otherwise, as MapLibre resolves
8460
+ * `auto`.
7806
8461
  * @returns {string | undefined}
7807
8462
  */
7808
8463
  get pointFacing() {
@@ -7815,9 +8470,22 @@ export class PointMaterial {
7815
8470
  return v1;
7816
8471
  }
7817
8472
  /**
7818
- * Whether the point turns to follow the camera. `true` (the default)
7819
- * keeps it facing the viewer. `false` freezes it in the anchor's local
7820
- * east-north-up frame, so moving the camera never reorients it.
8473
+ * Add the line's tangent bearing at the anchor to `rotation`, so the
8474
+ * sprite turns with the line it sits on. Defaults to `true`.
8475
+ * @returns {boolean | undefined}
8476
+ */
8477
+ get rotateToLine() {
8478
+ const ret = wasm.__wbg_get_pointmaterial_rotateToLine(this.__wbg_ptr);
8479
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
8480
+ }
8481
+ /**
8482
+ * Whether the point turns with the camera or with the map, as MapLibre's
8483
+ * `icon-rotation-alignment` `viewport` and `map`. `true` keeps it reading left to right
8484
+ * (a screen-aligned billboard, or a flat quad yawed to the camera).
8485
+ * `false` aligns it with the map: upright, it stays on screen but turns
8486
+ * with the camera heading so its x-axis points east; flat, it lies
8487
+ * north-up. Left unset, it is `true` for `placement: "point"` and `false`
8488
+ * along a line, as MapLibre resolves `auto`.
7821
8489
  * @returns {boolean | undefined}
7822
8490
  */
7823
8491
  get rotateWithCamera() {
@@ -7826,7 +8494,7 @@ export class PointMaterial {
7826
8494
  }
7827
8495
  /**
7828
8496
  * Rotation of the point within its own plane, about its anchor point, in
7829
- * degrees, clockwise seen from the front. `center` decides where inside
8497
+ * degrees, clockwise seen from the front. `anchor` decides where inside
7830
8498
  * the quad the pivot sits. Defaults to `0.0`.
7831
8499
  * @returns {number | undefined}
7832
8500
  */
@@ -7858,34 +8526,73 @@ export class PointMaterial {
7858
8526
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
7859
8527
  }
7860
8528
  /**
7861
- * @returns {boolean | undefined}
7862
- */
7863
- get transparent() {
7864
- const ret = wasm.__wbg_get_pointmaterial_transparent(this.__wbg_ptr);
7865
- return ret === 0xFFFFFF ? undefined : ret !== 0;
7866
- }
7867
- /**
7868
- * Whether faces seen from behind are culled. Default is false, so a
7869
- * quad frozen in its anchor's frame (`rotateWithCamera: false`) stays
7870
- * visible from behind. Turn it on to hide a flat quad's parts that wrap
7871
- * over the horizon, which face away from the camera.
7872
- * @param {boolean | null} [arg0]
8529
+ * Distance between repeated anchors along a line, in screen pixels, for
8530
+ * `vector-tile` and `geojson` sources alike. Resolved per anchor as the
8531
+ * camera moves: anchors thin out as it pulls back and fill in as it
8532
+ * closes, never moving, so the gap on screen stays between one and two
8533
+ * times `spacing` across a pitched view. As MapLibre does with
8534
+ * `symbol-spacing`, a sprite wider than three quarters of the spacing
8535
+ * spreads its repeats to its width plus a quarter of the spacing, and a
8536
+ * vector tile places anchors only inside its own bounds. Only used by
8537
+ * `placement: "line"`. Defaults to `250.0`.
8538
+ * @returns {number | undefined}
7873
8539
  */
7874
- set backfaceCulling(arg0) {
7875
- wasm.__wbg_set_pointmaterial_backfaceCulling(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
8540
+ get spacing() {
8541
+ const ret = wasm.__wbg_get_pointmaterial_spacing(this.__wbg_ptr);
8542
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
7876
8543
  }
7877
8544
  /**
7878
- * anchor point of the sprite, range is (-0.5, -0.5) to (0.5, 0.5).
7879
- * Default is (0.0, 0.0) which means the center of the sprite.
7880
- * @param {Vec2 | null} [arg0]
8545
+ * Frame `translate` is measured in: `"map"` (default) turns it with the
8546
+ * camera heading so +x points east and +y south; `"viewport"` keeps it on
8547
+ * the screen axes. MapLibre's `icon-translate-anchor`.
8548
+ * @returns {string | undefined}
7881
8549
  */
7882
- set center(arg0) {
7883
- let ptr0 = 0;
7884
- if (!isLikeNone(arg0)) {
7885
- _assertClass(arg0, Vec2);
7886
- ptr0 = arg0.__destroy_into_raw();
8550
+ get translateAnchor() {
8551
+ const ret = wasm.__wbg_get_pointmaterial_translateAnchor(this.__wbg_ptr);
8552
+ let v1;
8553
+ if (ret[0] !== 0) {
8554
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
8555
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
7887
8556
  }
7888
- wasm.__wbg_set_pointmaterial_center(this.__wbg_ptr, ptr0);
8557
+ return v1;
8558
+ }
8559
+ /**
8560
+ * Screen-pixel shift of the drawn quad, x right and y down, applied after
8561
+ * projection so it stays the same number of pixels at any distance, as
8562
+ * MapLibre's `icon-translate`. Defaults to `(0, 0)`.
8563
+ * @returns {Vec2 | undefined}
8564
+ */
8565
+ get translate() {
8566
+ const ret = wasm.__wbg_get_pointmaterial_translate(this.__wbg_ptr);
8567
+ return ret === 0 ? undefined : Vec2.__wrap(ret);
8568
+ }
8569
+ /**
8570
+ * @returns {boolean | undefined}
8571
+ */
8572
+ get transparent() {
8573
+ const ret = wasm.__wbg_get_pointmaterial_transparent(this.__wbg_ptr);
8574
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
8575
+ }
8576
+ /**
8577
+ * Part of the quad placed at the anchor point: `"center"` (default),
8578
+ * `"left"`, `"right"`, `"top"`, `"bottom"`, `"top-left"`, `"top-right"`,
8579
+ * `"bottom-left"` or `"bottom-right"`, as MapLibre's `icon-anchor`.
8580
+ * @param {string | null} [arg0]
8581
+ */
8582
+ set anchor(arg0) {
8583
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
8584
+ var len0 = WASM_VECTOR_LEN;
8585
+ wasm.__wbg_set_pointmaterial_anchor(this.__wbg_ptr, ptr0, len0);
8586
+ }
8587
+ /**
8588
+ * Whether faces seen from behind are culled. Default is false. Only a
8589
+ * flat quad has a back the camera can see: turn it on to hide the parts
8590
+ * of a large one that wrap over the horizon, which face away from the
8591
+ * camera.
8592
+ * @param {boolean | null} [arg0]
8593
+ */
8594
+ set backfaceCulling(arg0) {
8595
+ wasm.__wbg_set_pointmaterial_backfaceCulling(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
7889
8596
  }
7890
8597
  /**
7891
8598
  * @param {boolean | null} [arg0]
@@ -7899,6 +8606,17 @@ export class PointMaterial {
7899
8606
  set color(arg0) {
7900
8607
  wasm.__wbg_set_pointmaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);
7901
8608
  }
8609
+ /**
8610
+ * Extra space around the collision box, in screen pixels: one to four
8611
+ * values, expanded like CSS padding (top, right, bottom, left). Only
8612
+ * meaningful when `declutter` is enabled. Defaults to `[2]`.
8613
+ * @param {Float32Array | null} [arg0]
8614
+ */
8615
+ set declutterPadding(arg0) {
8616
+ var ptr0 = isLikeNone(arg0) ? 0 : passArrayF32ToWasm0(arg0, wasm.__wbindgen_malloc);
8617
+ var len0 = WASM_VECTOR_LEN;
8618
+ wasm.__wbg_set_pointmaterial_declutterPadding(this.__wbg_ptr, ptr0, len0);
8619
+ }
7902
8620
  /**
7903
8621
  * Placement priority for decluttering; higher wins. Only meaningful when
7904
8622
  * `declutter` is enabled. Defaults to `0.0`.
@@ -7907,6 +8625,16 @@ export class PointMaterial {
7907
8625
  set declutterPriority(arg0) {
7908
8626
  wasm.__wbg_set_pointmaterial_declutterPriority(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
7909
8627
  }
8628
+ /**
8629
+ * Coarse placement order for decluttering, compared before
8630
+ * `declutterPriority`: every label with a higher rank is placed before any
8631
+ * label with a lower one, whatever their priorities. Only meaningful when
8632
+ * `declutter` is enabled. Defaults to `0.0`.
8633
+ * @param {number | null} [arg0]
8634
+ */
8635
+ set declutterRank(arg0) {
8636
+ wasm.__wbg_set_pointmaterial_declutterRank(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
8637
+ }
7910
8638
  /**
7911
8639
  * Participate in screen-space decluttering: when labels/sprites overlap
7912
8640
  * on screen, lower-priority ones are hidden. Defaults to `true`; set to
@@ -7962,6 +8690,15 @@ export class PointMaterial {
7962
8690
  set height(arg0) {
7963
8691
  wasm.__wbg_set_pointmaterial_height(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
7964
8692
  }
8693
+ /**
8694
+ * Leave this label's box out of the collision grid, so symbols placed
8695
+ * after it may overlap it. Only meaningful when `declutter` is enabled.
8696
+ * Defaults to `false`.
8697
+ * @param {boolean | null} [arg0]
8698
+ */
8699
+ set ignorePlacement(arg0) {
8700
+ wasm.__wbg_set_pointmaterial_ignorePlacement(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
8701
+ }
7965
8702
  /**
7966
8703
  * Avoid overlapping with the globe surface.
7967
8704
  * @param {boolean | null} [arg0]
@@ -7969,6 +8706,20 @@ export class PointMaterial {
7969
8706
  set offsetDepth(arg0) {
7970
8707
  wasm.__wbg_set_pointmaterial_offsetDepth(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
7971
8708
  }
8709
+ /**
8710
+ * Shift from the anchor point, x right and y down, in the unit of `size`
8711
+ * (meters when `sizeInMeters`, pixels otherwise). Lies in the quad's own
8712
+ * plane, so it turns with `rotation`. Defaults to `(0, 0)`.
8713
+ * @param {Vec2 | null} [arg0]
8714
+ */
8715
+ set offset(arg0) {
8716
+ let ptr0 = 0;
8717
+ if (!isLikeNone(arg0)) {
8718
+ _assertClass(arg0, Vec2);
8719
+ ptr0 = arg0.__destroy_into_raw();
8720
+ }
8721
+ wasm.__wbg_set_pointmaterial_offset(this.__wbg_ptr, ptr0);
8722
+ }
7972
8723
  /**
7973
8724
  * @param {number | null} [arg0]
7974
8725
  */
@@ -7976,9 +8727,37 @@ export class PointMaterial {
7976
8727
  wasm.__wbg_set_pointmaterial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
7977
8728
  }
7978
8729
  /**
7979
- * Whether the point stands up (`"upright"`, the default) or lies on the
7980
- * globe surface around its anchor (`"flat"`). Pair with
7981
- * `rotateWithCamera`.
8730
+ * Whether the label may be drawn over symbols placed before it:
8731
+ * `"never"` (the default) hides it on any collision, `"always"` never
8732
+ * does, `"cooperative"` hides it only when it collides with a `"never"`
8733
+ * symbol. Only meaningful when `declutter` is enabled.
8734
+ * @param {string | null} [arg0]
8735
+ */
8736
+ set overlap(arg0) {
8737
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
8738
+ var len0 = WASM_VECTOR_LEN;
8739
+ wasm.__wbg_set_pointmaterial_overlap(this.__wbg_ptr, ptr0, len0);
8740
+ }
8741
+ /**
8742
+ * How anchors are derived from line and polygon geometry: `"point"` (the
8743
+ * default) puts one at every line and polygon-ring vertex, `"line"`
8744
+ * repeats them along the line every `spacing`, `"line-center"` places a
8745
+ * single one at the line's midpoint. Polygon rings are walked like lines. Requires `geometryTypes`
8746
+ * to include `"line"` or `"polygon"`.
8747
+ * @param {string | null} [arg0]
8748
+ */
8749
+ set placement(arg0) {
8750
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
8751
+ var len0 = WASM_VECTOR_LEN;
8752
+ wasm.__wbg_set_pointmaterial_placement(this.__wbg_ptr, ptr0, len0);
8753
+ }
8754
+ /**
8755
+ * Plane the point lies in: the screen (`"upright"`, never foreshortened)
8756
+ * or the globe surface around its anchor (`"flat"`), as MapLibre's
8757
+ * `icon-pitch-alignment` `viewport` and `map`. Pair with
8758
+ * `rotateWithCamera`. Left unset, it is `"flat"` when `rotateWithCamera`
8759
+ * resolves to `false` and `"upright"` otherwise, as MapLibre resolves
8760
+ * `auto`.
7982
8761
  * @param {string | null} [arg0]
7983
8762
  */
7984
8763
  set pointFacing(arg0) {
@@ -7987,9 +8766,21 @@ export class PointMaterial {
7987
8766
  wasm.__wbg_set_pointmaterial_pointFacing(this.__wbg_ptr, ptr0, len0);
7988
8767
  }
7989
8768
  /**
7990
- * Whether the point turns to follow the camera. `true` (the default)
7991
- * keeps it facing the viewer. `false` freezes it in the anchor's local
7992
- * east-north-up frame, so moving the camera never reorients it.
8769
+ * Add the line's tangent bearing at the anchor to `rotation`, so the
8770
+ * sprite turns with the line it sits on. Defaults to `true`.
8771
+ * @param {boolean | null} [arg0]
8772
+ */
8773
+ set rotateToLine(arg0) {
8774
+ wasm.__wbg_set_pointmaterial_rotateToLine(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
8775
+ }
8776
+ /**
8777
+ * Whether the point turns with the camera or with the map, as MapLibre's
8778
+ * `icon-rotation-alignment` `viewport` and `map`. `true` keeps it reading left to right
8779
+ * (a screen-aligned billboard, or a flat quad yawed to the camera).
8780
+ * `false` aligns it with the map: upright, it stays on screen but turns
8781
+ * with the camera heading so its x-axis points east; flat, it lies
8782
+ * north-up. Left unset, it is `true` for `placement: "point"` and `false`
8783
+ * along a line, as MapLibre resolves `auto`.
7993
8784
  * @param {boolean | null} [arg0]
7994
8785
  */
7995
8786
  set rotateWithCamera(arg0) {
@@ -7997,7 +8788,7 @@ export class PointMaterial {
7997
8788
  }
7998
8789
  /**
7999
8790
  * Rotation of the point within its own plane, about its anchor point, in
8000
- * degrees, clockwise seen from the front. `center` decides where inside
8791
+ * degrees, clockwise seen from the front. `anchor` decides where inside
8001
8792
  * the quad the pivot sits. Defaults to `0.0`.
8002
8793
  * @param {number | null} [arg0]
8003
8794
  */
@@ -8024,6 +8815,46 @@ export class PointMaterial {
8024
8815
  set size(arg0) {
8025
8816
  wasm.__wbg_set_pointmaterial_size(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
8026
8817
  }
8818
+ /**
8819
+ * Distance between repeated anchors along a line, in screen pixels, for
8820
+ * `vector-tile` and `geojson` sources alike. Resolved per anchor as the
8821
+ * camera moves: anchors thin out as it pulls back and fill in as it
8822
+ * closes, never moving, so the gap on screen stays between one and two
8823
+ * times `spacing` across a pitched view. As MapLibre does with
8824
+ * `symbol-spacing`, a sprite wider than three quarters of the spacing
8825
+ * spreads its repeats to its width plus a quarter of the spacing, and a
8826
+ * vector tile places anchors only inside its own bounds. Only used by
8827
+ * `placement: "line"`. Defaults to `250.0`.
8828
+ * @param {number | null} [arg0]
8829
+ */
8830
+ set spacing(arg0) {
8831
+ wasm.__wbg_set_pointmaterial_spacing(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
8832
+ }
8833
+ /**
8834
+ * Frame `translate` is measured in: `"map"` (default) turns it with the
8835
+ * camera heading so +x points east and +y south; `"viewport"` keeps it on
8836
+ * the screen axes. MapLibre's `icon-translate-anchor`.
8837
+ * @param {string | null} [arg0]
8838
+ */
8839
+ set translateAnchor(arg0) {
8840
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
8841
+ var len0 = WASM_VECTOR_LEN;
8842
+ wasm.__wbg_set_pointmaterial_translateAnchor(this.__wbg_ptr, ptr0, len0);
8843
+ }
8844
+ /**
8845
+ * Screen-pixel shift of the drawn quad, x right and y down, applied after
8846
+ * projection so it stays the same number of pixels at any distance, as
8847
+ * MapLibre's `icon-translate`. Defaults to `(0, 0)`.
8848
+ * @param {Vec2 | null} [arg0]
8849
+ */
8850
+ set translate(arg0) {
8851
+ let ptr0 = 0;
8852
+ if (!isLikeNone(arg0)) {
8853
+ _assertClass(arg0, Vec2);
8854
+ ptr0 = arg0.__destroy_into_raw();
8855
+ }
8856
+ wasm.__wbg_set_pointmaterial_translate(this.__wbg_ptr, ptr0);
8857
+ }
8027
8858
  /**
8028
8859
  * @param {boolean | null} [arg0]
8029
8860
  */
@@ -8416,13 +9247,6 @@ export class PolygonMaterial {
8416
9247
  const ret = wasm.__wbg_get_polygonmaterial___internal__(this.__wbg_ptr);
8417
9248
  return ret === 0 ? undefined : PolygonInternalMaterial.__wrap(ret);
8418
9249
  }
8419
- /**
8420
- * @returns {boolean | undefined}
8421
- */
8422
- get applyWaterNormal() {
8423
- const ret = wasm.__wbg_get_polygonmaterial_applyWaterNormal(this.__wbg_ptr);
8424
- return ret === 0xFFFFFF ? undefined : ret !== 0;
8425
- }
8426
9250
  /**
8427
9251
  * @returns {boolean | undefined}
8428
9252
  */
@@ -8444,6 +9268,14 @@ export class PolygonMaterial {
8444
9268
  const ret = wasm.__wbg_get_polygonmaterial_color(this.__wbg_ptr);
8445
9269
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
8446
9270
  }
9271
+ /**
9272
+ * Write depth before blending so a transparent layer blends only its nearest surface.
9273
+ * @returns {boolean | undefined}
9274
+ */
9275
+ get depthPrePass() {
9276
+ const ret = wasm.__wbg_get_polygonmaterial_depthPrePass(this.__wbg_ptr);
9277
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
9278
+ }
8447
9279
  /**
8448
9280
  * IDs of selective effects to apply (e.g., "bloom", "outline")
8449
9281
  * @returns {string[] | undefined}
@@ -8480,6 +9312,15 @@ export class PolygonMaterial {
8480
9312
  const ret = wasm.__wbg_get_polygonmaterial_extrudedHeight(this.__wbg_ptr);
8481
9313
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
8482
9314
  }
9315
+ /**
9316
+ * Speed in m/s of the current carrying the water's waves
9317
+ * along `waveDirection`. Default: 0.
9318
+ * @returns {number | undefined}
9319
+ */
9320
+ get flowSpeed() {
9321
+ const ret = wasm.__wbg_get_polygonmaterial_flowSpeed(this.__wbg_ptr);
9322
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
9323
+ }
8483
9324
  /**
8484
9325
  * @returns {number | undefined}
8485
9326
  */
@@ -8577,6 +9418,15 @@ export class PolygonMaterial {
8577
9418
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
8578
9419
  }
8579
9420
  /**
9421
+ * Shade the extruded sides with the surface normal instead of their own.
9422
+ * @returns {boolean | undefined}
9423
+ */
9424
+ get shadeSidesAsSurface() {
9425
+ const ret = wasm.__wbg_get_polygonmaterial_shadeSidesAsSurface(this.__wbg_ptr);
9426
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
9427
+ }
9428
+ /**
9429
+ * Phong shininess of the non-water `specular` highlight.
8580
9430
  * @returns {number | undefined}
8581
9431
  */
8582
9432
  get shininess() {
@@ -8599,6 +9449,7 @@ export class PolygonMaterial {
8599
9449
  }
8600
9450
  /**
8601
9451
  * Enabling this value allows using `shininess` and `specular_strength`.
9452
+ * Has no effect on water.
8602
9453
  * @returns {boolean | undefined}
8603
9454
  */
8604
9455
  get specular() {
@@ -8635,28 +9486,54 @@ export class PolygonMaterial {
8635
9486
  return ret === 0xFFFFFF ? undefined : ret !== 0;
8636
9487
  }
8637
9488
  /**
8638
- * Scale water normal. Decreasing this value will make the water surface rough.
9489
+ * Extent of the water body, which bounds how far the wind blows over it
9490
+ * and so how large its waves grow: `"ocean"` (the default; open sea),
9491
+ * `"large"` (a bay or a large lake, about 20 km), `"medium"` (a lake or a
9492
+ * wide river, about 2 km) or `"small"` (a river or a pond, about 200 m).
9493
+ * @returns {string | undefined}
9494
+ */
9495
+ get waterScale() {
9496
+ const ret = wasm.__wbg_get_polygonmaterial_waterScale(this.__wbg_ptr);
9497
+ let v1;
9498
+ if (ret[0] !== 0) {
9499
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
9500
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
9501
+ }
9502
+ return v1;
9503
+ }
9504
+ /**
9505
+ * Apply a water material on the polygon. It might slow down the loading of the mesh.
9506
+ * @returns {boolean | undefined}
9507
+ */
9508
+ get water() {
9509
+ const ret = wasm.__wbg_get_polygonmaterial_water(this.__wbg_ptr);
9510
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
9511
+ }
9512
+ /**
9513
+ * Where the water's waves travel, in degrees clockwise from north.
9514
+ * Default: 0.
8639
9515
  * @returns {number | undefined}
8640
9516
  */
8641
- get waterScaleNormal() {
8642
- const ret = wasm.__wbg_get_polygonmaterial_waterScaleNormal(this.__wbg_ptr);
9517
+ get waveDirection() {
9518
+ const ret = wasm.__wbg_get_polygonmaterial_waveDirection(this.__wbg_ptr);
8643
9519
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
8644
9520
  }
8645
9521
  /**
8646
- * Water wave speed.
9522
+ * Scales the water's wave slopes; 0 is a flat mirror.
8647
9523
  * @returns {number | undefined}
8648
9524
  */
8649
- get waterSpeed() {
8650
- const ret = wasm.__wbg_get_polygonmaterial_waterSpeed(this.__wbg_ptr);
9525
+ get waveExaggeration() {
9526
+ const ret = wasm.__wbg_get_polygonmaterial_waveExaggeration(this.__wbg_ptr);
8651
9527
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
8652
9528
  }
8653
9529
  /**
8654
- * Apply a water material on the polygon. It might slow down the loading of the mesh.
8655
- * @returns {boolean | undefined}
9530
+ * Sets the size, steepness and speed of the water's waves: about 1 is a
9531
+ * calm ripple, 5 moderate and 20 a storm. Default: 5.
9532
+ * @returns {number | undefined}
8656
9533
  */
8657
- get water() {
8658
- const ret = wasm.__wbg_get_polygonmaterial_water(this.__wbg_ptr);
8659
- return ret === 0xFFFFFF ? undefined : ret !== 0;
9534
+ get waveStrength() {
9535
+ const ret = wasm.__wbg_get_polygonmaterial_waveStrength(this.__wbg_ptr);
9536
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
8660
9537
  }
8661
9538
  /**
8662
9539
  * @returns {boolean | undefined}
@@ -8701,12 +9578,6 @@ export class PolygonMaterial {
8701
9578
  }
8702
9579
  wasm.__wbg_set_polygonmaterial___internal__(this.__wbg_ptr, ptr0);
8703
9580
  }
8704
- /**
8705
- * @param {boolean | null} [arg0]
8706
- */
8707
- set applyWaterNormal(arg0) {
8708
- wasm.__wbg_set_polygonmaterial_applyWaterNormal(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
8709
- }
8710
9581
  /**
8711
9582
  * @param {boolean | null} [arg0]
8712
9583
  */
@@ -8725,6 +9596,13 @@ export class PolygonMaterial {
8725
9596
  set color(arg0) {
8726
9597
  wasm.__wbg_set_polygonmaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);
8727
9598
  }
9599
+ /**
9600
+ * Write depth before blending so a transparent layer blends only its nearest surface.
9601
+ * @param {boolean | null} [arg0]
9602
+ */
9603
+ set depthPrePass(arg0) {
9604
+ wasm.__wbg_set_polygonmaterial_depthPrePass(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
9605
+ }
8728
9606
  /**
8729
9607
  * IDs of selective effects to apply (e.g., "bloom", "outline")
8730
9608
  * @param {string[] | null} [arg0]
@@ -8754,6 +9632,14 @@ export class PolygonMaterial {
8754
9632
  set extrudedHeight(arg0) {
8755
9633
  wasm.__wbg_set_polygonmaterial_extrudedHeight(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
8756
9634
  }
9635
+ /**
9636
+ * Speed in m/s of the current carrying the water's waves
9637
+ * along `waveDirection`. Default: 0.
9638
+ * @param {number | null} [arg0]
9639
+ */
9640
+ set flowSpeed(arg0) {
9641
+ wasm.__wbg_set_polygonmaterial_flowSpeed(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
9642
+ }
8757
9643
  /**
8758
9644
  * @param {number | null} [arg0]
8759
9645
  */
@@ -8839,6 +9725,14 @@ export class PolygonMaterial {
8839
9725
  wasm.__wbg_set_polygonmaterial_roughness(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
8840
9726
  }
8841
9727
  /**
9728
+ * Shade the extruded sides with the surface normal instead of their own.
9729
+ * @param {boolean | null} [arg0]
9730
+ */
9731
+ set shadeSidesAsSurface(arg0) {
9732
+ wasm.__wbg_set_polygonmaterial_shadeSidesAsSurface(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
9733
+ }
9734
+ /**
9735
+ * Phong shininess of the non-water `specular` highlight.
8842
9736
  * @param {number | null} [arg0]
8843
9737
  */
8844
9738
  set shininess(arg0) {
@@ -8858,6 +9752,7 @@ export class PolygonMaterial {
8858
9752
  }
8859
9753
  /**
8860
9754
  * Enabling this value allows using `shininess` and `specular_strength`.
9755
+ * Has no effect on water.
8861
9756
  * @param {boolean | null} [arg0]
8862
9757
  */
8863
9758
  set specular(arg0) {
@@ -8890,25 +9785,46 @@ export class PolygonMaterial {
8890
9785
  wasm.__wbg_set_polygonmaterial_transparent(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
8891
9786
  }
8892
9787
  /**
8893
- * Scale water normal. Decreasing this value will make the water surface rough.
9788
+ * Extent of the water body, which bounds how far the wind blows over it
9789
+ * and so how large its waves grow: `"ocean"` (the default; open sea),
9790
+ * `"large"` (a bay or a large lake, about 20 km), `"medium"` (a lake or a
9791
+ * wide river, about 2 km) or `"small"` (a river or a pond, about 200 m).
9792
+ * @param {string | null} [arg0]
9793
+ */
9794
+ set waterScale(arg0) {
9795
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
9796
+ var len0 = WASM_VECTOR_LEN;
9797
+ wasm.__wbg_set_polygonmaterial_waterScale(this.__wbg_ptr, ptr0, len0);
9798
+ }
9799
+ /**
9800
+ * Apply a water material on the polygon. It might slow down the loading of the mesh.
9801
+ * @param {boolean | null} [arg0]
9802
+ */
9803
+ set water(arg0) {
9804
+ wasm.__wbg_set_polygonmaterial_water(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
9805
+ }
9806
+ /**
9807
+ * Where the water's waves travel, in degrees clockwise from north.
9808
+ * Default: 0.
8894
9809
  * @param {number | null} [arg0]
8895
9810
  */
8896
- set waterScaleNormal(arg0) {
8897
- wasm.__wbg_set_polygonmaterial_waterScaleNormal(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
9811
+ set waveDirection(arg0) {
9812
+ wasm.__wbg_set_polygonmaterial_waveDirection(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
8898
9813
  }
8899
9814
  /**
8900
- * Water wave speed.
9815
+ * Scales the water's wave slopes; 0 is a flat mirror.
8901
9816
  * @param {number | null} [arg0]
8902
9817
  */
8903
- set waterSpeed(arg0) {
8904
- wasm.__wbg_set_polygonmaterial_waterSpeed(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
9818
+ set waveExaggeration(arg0) {
9819
+ wasm.__wbg_set_polygonmaterial_waveExaggeration(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
8905
9820
  }
8906
9821
  /**
8907
- * Apply a water material on the polygon. It might slow down the loading of the mesh.
8908
- * @param {boolean | null} [arg0]
9822
+ * Sets the size, steepness and speed of the water's waves: about 1 is a
9823
+ * calm ripple, 5 moderate and 20 a storm. Default: 5.
9824
+ * @param {number | null} [arg0]
8909
9825
  */
8910
- set water(arg0) {
8911
- wasm.__wbg_set_polygonmaterial_water(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
9826
+ set waveStrength(arg0) {
9827
+ wasm.__wbg_set_polygonmaterial_waveStrength(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
8912
9828
  }
8913
9829
  /**
8914
9830
  * @param {boolean | null} [arg0]
@@ -8978,6 +9894,14 @@ export class PolygonMesh {
8978
9894
  const ret = wasm.__wbg_get_polygonmesh_outline_geometry(this.__wbg_ptr);
8979
9895
  return ret === 0 ? undefined : TransferablePolygonOutlineGeometry.__wrap(ret);
8980
9896
  }
9897
+ /**
9898
+ * Whether the polygon should be rendered as a texturized draped feature
9899
+ * @returns {boolean}
9900
+ */
9901
+ get should_be_texturized() {
9902
+ const ret = wasm.__wbg_get_polygonmesh_should_be_texturized(this.__wbg_ptr);
9903
+ return ret !== 0;
9904
+ }
8981
9905
  /**
8982
9906
  * @returns {Transform}
8983
9907
  */
@@ -9035,6 +9959,13 @@ export class PolygonMesh {
9035
9959
  }
9036
9960
  wasm.__wbg_set_polygonmesh_outline_geometry(this.__wbg_ptr, ptr0);
9037
9961
  }
9962
+ /**
9963
+ * Whether the polygon should be rendered as a texturized draped feature
9964
+ * @param {boolean} arg0
9965
+ */
9966
+ set should_be_texturized(arg0) {
9967
+ wasm.__wbg_set_polygonmesh_should_be_texturized(this.__wbg_ptr, arg0);
9968
+ }
9038
9969
  /**
9039
9970
  * @param {Transform} arg0
9040
9971
  */
@@ -9116,15 +10047,15 @@ export class PolylineGeometry {
9116
10047
  /**
9117
10048
  * @returns {Float32Array | undefined}
9118
10049
  */
9119
- end_normal_and_texture_coordinate_normalization_x() {
9120
- const ret = wasm.polylinegeometry_end_normal_and_texture_coordinate_normalization_x(this.__wbg_ptr);
10050
+ end_normal_and_segment_length() {
10051
+ const ret = wasm.polylinegeometry_end_normal_and_segment_length(this.__wbg_ptr);
9121
10052
  return ret;
9122
10053
  }
9123
10054
  /**
9124
10055
  * @returns {number | undefined}
9125
10056
  */
9126
- end_normal_and_texture_coordinate_normalization_x_size() {
9127
- const ret = wasm.polylinegeometry_end_normal_and_texture_coordinate_normalization_x_size(this.__wbg_ptr);
10057
+ end_normal_and_segment_length_size() {
10058
+ const ret = wasm.polylinegeometry_end_normal_and_segment_length_size(this.__wbg_ptr);
9128
10059
  return ret === 0xFFFFFF ? undefined : ret;
9129
10060
  }
9130
10061
  /**
@@ -9148,6 +10079,20 @@ export class PolylineGeometry {
9148
10079
  const ret = wasm.polylinegeometry_indices(this.__wbg_ptr);
9149
10080
  return ret;
9150
10081
  }
10082
+ /**
10083
+ * @returns {Float32Array | undefined}
10084
+ */
10085
+ line_distance_and_ends() {
10086
+ const ret = wasm.polylinegeometry_line_distance_and_ends(this.__wbg_ptr);
10087
+ return ret;
10088
+ }
10089
+ /**
10090
+ * @returns {Float32Array | undefined}
10091
+ */
10092
+ line_segments() {
10093
+ const ret = wasm.polylinegeometry_line_segments(this.__wbg_ptr);
10094
+ return ret;
10095
+ }
9151
10096
  /**
9152
10097
  * @returns {Float32Array}
9153
10098
  */
@@ -9193,15 +10138,15 @@ export class PolylineGeometry {
9193
10138
  /**
9194
10139
  * @returns {Float32Array}
9195
10140
  */
9196
- right_normal_and_texture_coordinate_normalization_y() {
9197
- const ret = wasm.polylinegeometry_right_normal_and_texture_coordinate_normalization_y(this.__wbg_ptr);
10141
+ right_normal_and_line_length() {
10142
+ const ret = wasm.polylinegeometry_right_normal_and_line_length(this.__wbg_ptr);
9198
10143
  return ret;
9199
10144
  }
9200
10145
  /**
9201
10146
  * @returns {number}
9202
10147
  */
9203
- right_normal_and_texture_coordinate_normalization_y_size() {
9204
- const ret = wasm.polylinegeometry_right_normal_and_texture_coordinate_normalization_y_size(this.__wbg_ptr);
10148
+ right_normal_and_line_length_size() {
10149
+ const ret = wasm.polylinegeometry_right_normal_and_line_length_size(this.__wbg_ptr);
9205
10150
  return ret;
9206
10151
  }
9207
10152
  /**
@@ -9242,15 +10187,15 @@ export class PolylineGeometry {
9242
10187
  /**
9243
10188
  * @returns {Float32Array | undefined}
9244
10189
  */
9245
- start_normals() {
9246
- const ret = wasm.polylinegeometry_start_normals(this.__wbg_ptr);
10190
+ start_normal_and_length_high() {
10191
+ const ret = wasm.polylinegeometry_start_normal_and_length_high(this.__wbg_ptr);
9247
10192
  return ret;
9248
10193
  }
9249
10194
  /**
9250
10195
  * @returns {number | undefined}
9251
10196
  */
9252
- start_normals_size() {
9253
- const ret = wasm.polylinegeometry_start_normals_size(this.__wbg_ptr);
10197
+ start_normal_and_length_high_size() {
10198
+ const ret = wasm.polylinegeometry_start_normal_and_length_high_size(this.__wbg_ptr);
9254
10199
  return ret === 0xFFFFFF ? undefined : ret;
9255
10200
  }
9256
10201
  /**
@@ -9333,15 +10278,15 @@ export class PolylineGeometryAttributes {
9333
10278
  /**
9334
10279
  * @returns {Float32Array | undefined}
9335
10280
  */
9336
- transfer_end_normal_and_texture_coordinate_normalization_x() {
9337
- const ret = wasm.polylinegeometryattributes_transfer_end_normal_and_texture_coordinate_normalization_x(this.__wbg_ptr);
10281
+ transfer_end_normal_and_segment_length() {
10282
+ const ret = wasm.polylinegeometryattributes_transfer_end_normal_and_segment_length(this.__wbg_ptr);
9338
10283
  return ret;
9339
10284
  }
9340
10285
  /**
9341
10286
  * @returns {number | undefined}
9342
10287
  */
9343
- transfer_end_normal_and_texture_coordinate_normalization_x_size() {
9344
- const ret = wasm.polylinegeometryattributes_transfer_end_normal_and_texture_coordinate_normalization_x_size(this.__wbg_ptr);
10288
+ transfer_end_normal_and_segment_length_size() {
10289
+ const ret = wasm.polylinegeometryattributes_transfer_end_normal_and_segment_length_size(this.__wbg_ptr);
9345
10290
  return ret === 0xFFFFFF ? undefined : ret;
9346
10291
  }
9347
10292
  /**
@@ -9358,6 +10303,20 @@ export class PolylineGeometryAttributes {
9358
10303
  const ret = wasm.polylinegeometryattributes_transfer_forward_offset_size(this.__wbg_ptr);
9359
10304
  return ret === 0xFFFFFF ? undefined : ret;
9360
10305
  }
10306
+ /**
10307
+ * @returns {Float32Array | undefined}
10308
+ */
10309
+ transfer_line_distance_and_ends() {
10310
+ const ret = wasm.polylinegeometryattributes_transfer_line_distance_and_ends(this.__wbg_ptr);
10311
+ return ret;
10312
+ }
10313
+ /**
10314
+ * @returns {Float32Array | undefined}
10315
+ */
10316
+ transfer_line_segments() {
10317
+ const ret = wasm.polylinegeometryattributes_transfer_line_segments(this.__wbg_ptr);
10318
+ return ret;
10319
+ }
9361
10320
  /**
9362
10321
  * @returns {Float32Array}
9363
10322
  */
@@ -9403,15 +10362,15 @@ export class PolylineGeometryAttributes {
9403
10362
  /**
9404
10363
  * @returns {Float32Array}
9405
10364
  */
9406
- transfer_right_normal_and_texture_coordinate_normalization_y() {
9407
- const ret = wasm.polylinegeometryattributes_transfer_right_normal_and_texture_coordinate_normalization_y(this.__wbg_ptr);
10365
+ transfer_right_normal_and_line_length() {
10366
+ const ret = wasm.polylinegeometryattributes_transfer_right_normal_and_line_length(this.__wbg_ptr);
9408
10367
  return ret;
9409
10368
  }
9410
10369
  /**
9411
10370
  * @returns {number}
9412
10371
  */
9413
- transfer_right_normal_and_texture_coordinate_normalization_y_size() {
9414
- const ret = wasm.polylinegeometryattributes_transfer_right_normal_and_texture_coordinate_normalization_y_size(this.__wbg_ptr);
10372
+ transfer_right_normal_and_line_length_size() {
10373
+ const ret = wasm.polylinegeometryattributes_transfer_right_normal_and_line_length_size(this.__wbg_ptr);
9415
10374
  return ret;
9416
10375
  }
9417
10376
  /**
@@ -9452,15 +10411,15 @@ export class PolylineGeometryAttributes {
9452
10411
  /**
9453
10412
  * @returns {Float32Array | undefined}
9454
10413
  */
9455
- transfer_start_normals() {
9456
- const ret = wasm.polylinegeometryattributes_transfer_start_normals(this.__wbg_ptr);
10414
+ transfer_start_normal_and_length_high() {
10415
+ const ret = wasm.polylinegeometryattributes_transfer_start_normal_and_length_high(this.__wbg_ptr);
9457
10416
  return ret;
9458
10417
  }
9459
10418
  /**
9460
10419
  * @returns {number | undefined}
9461
10420
  */
9462
- transfer_start_normals_size() {
9463
- const ret = wasm.polylinegeometryattributes_transfer_start_normals_size(this.__wbg_ptr);
10421
+ transfer_start_normal_and_length_high_size() {
10422
+ const ret = wasm.polylinegeometryattributes_transfer_start_normal_and_length_high_size(this.__wbg_ptr);
9464
10423
  return ret === 0xFFFFFF ? undefined : ret;
9465
10424
  }
9466
10425
  /**
@@ -9534,6 +10493,23 @@ export class PolylineMaterial {
9534
10493
  const ret = wasm.__wbg_get_polylinematerial___internal__(this.__wbg_ptr);
9535
10494
  return ret === 0 ? undefined : PolylineInternalMaterial.__wrap(ret);
9536
10495
  }
10496
+ /**
10497
+ * Shape of the ends of the line and of its dashes: `"butt"` (the
10498
+ * default), `"round"` or `"square"`. `"round"` adds a half circle one
10499
+ * half line width in radius beyond both ends of the line and of every
10500
+ * dash, so a zero-length dash becomes a dot. `"square"` extends the ends
10501
+ * of the line by half a line width and leaves the dashes' ends square.
10502
+ * @returns {string | undefined}
10503
+ */
10504
+ get cap() {
10505
+ const ret = wasm.__wbg_get_polylinematerial_cap(this.__wbg_ptr);
10506
+ let v1;
10507
+ if (ret[0] !== 0) {
10508
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
10509
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
10510
+ }
10511
+ return v1;
10512
+ }
9537
10513
  /**
9538
10514
  * @returns {boolean | undefined}
9539
10515
  */
@@ -9555,6 +10531,22 @@ export class PolylineMaterial {
9555
10531
  const ret = wasm.__wbg_get_polylinematerial_color(this.__wbg_ptr);
9556
10532
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
9557
10533
  }
10534
+ /**
10535
+ * Alternating dash and gap lengths, in multiples of the line width,
10536
+ * repeated along the line. The pattern's period is the sum of the
10537
+ * entries, so an odd-length array ends in a dash that runs into the first
10538
+ * one. An empty array draws a solid line, which is the default.
10539
+ * @returns {Float32Array | undefined}
10540
+ */
10541
+ get dashArray() {
10542
+ const ret = wasm.__wbg_get_polylinematerial_dashArray(this.__wbg_ptr);
10543
+ let v1;
10544
+ if (ret[0] !== 0) {
10545
+ v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();
10546
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
10547
+ }
10548
+ return v1;
10549
+ }
9558
10550
  /**
9559
10551
  * Enable writing to depth buffer
9560
10552
  * @returns {boolean | undefined}
@@ -9718,6 +10710,19 @@ export class PolylineMaterial {
9718
10710
  }
9719
10711
  wasm.__wbg_set_polylinematerial___internal__(this.__wbg_ptr, ptr0);
9720
10712
  }
10713
+ /**
10714
+ * Shape of the ends of the line and of its dashes: `"butt"` (the
10715
+ * default), `"round"` or `"square"`. `"round"` adds a half circle one
10716
+ * half line width in radius beyond both ends of the line and of every
10717
+ * dash, so a zero-length dash becomes a dot. `"square"` extends the ends
10718
+ * of the line by half a line width and leaves the dashes' ends square.
10719
+ * @param {string | null} [arg0]
10720
+ */
10721
+ set cap(arg0) {
10722
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
10723
+ var len0 = WASM_VECTOR_LEN;
10724
+ wasm.__wbg_set_polylinematerial_cap(this.__wbg_ptr, ptr0, len0);
10725
+ }
9721
10726
  /**
9722
10727
  * @param {boolean | null} [arg0]
9723
10728
  */
@@ -9736,6 +10741,18 @@ export class PolylineMaterial {
9736
10741
  set color(arg0) {
9737
10742
  wasm.__wbg_set_polylinematerial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);
9738
10743
  }
10744
+ /**
10745
+ * Alternating dash and gap lengths, in multiples of the line width,
10746
+ * repeated along the line. The pattern's period is the sum of the
10747
+ * entries, so an odd-length array ends in a dash that runs into the first
10748
+ * one. An empty array draws a solid line, which is the default.
10749
+ * @param {Float32Array | null} [arg0]
10750
+ */
10751
+ set dashArray(arg0) {
10752
+ var ptr0 = isLikeNone(arg0) ? 0 : passArrayF32ToWasm0(arg0, wasm.__wbindgen_malloc);
10753
+ var len0 = WASM_VECTOR_LEN;
10754
+ wasm.__wbg_set_polylinematerial_dashArray(this.__wbg_ptr, ptr0, len0);
10755
+ }
9739
10756
  /**
9740
10757
  * Enable writing to depth buffer
9741
10758
  * @param {boolean | null} [arg0]
@@ -10476,6 +11493,17 @@ export class RasterTileInternalMaterial {
10476
11493
  const ret = wasm.__wbg_get_rastertileinternalmaterial_castShadow(this.__wbg_ptr);
10477
11494
  return ret === 0xFFFFFF ? undefined : ret !== 0;
10478
11495
  }
11496
+ /**
11497
+ * Per-slot layer IDs used to look up each layer's colorMap atlas row; an
11498
+ * empty string for slots without an elevation heatmap.
11499
+ * @returns {string[]}
11500
+ */
11501
+ get colorMapLayerIds() {
11502
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_colorMapLayerIds(this.__wbg_ptr);
11503
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
11504
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
11505
+ return v1;
11506
+ }
10479
11507
  /**
10480
11508
  * @returns {Uint32Array}
10481
11509
  */
@@ -10486,73 +11514,115 @@ export class RasterTileInternalMaterial {
10486
11514
  return v1;
10487
11515
  }
10488
11516
  /**
10489
- * @returns {number}
11517
+ * @returns {Float64Array}
10490
11518
  */
10491
- get elevationBScaler() {
10492
- const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationBScaler(this.__wbg_ptr);
10493
- return ret;
11519
+ get elevationBScalers() {
11520
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationBScalers(this.__wbg_ptr);
11521
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
11522
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
11523
+ return v1;
10494
11524
  }
10495
11525
  /**
10496
- * @returns {number}
11526
+ * @returns {Float64Array}
10497
11527
  */
10498
- get elevationBoundary() {
10499
- const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationBoundary(this.__wbg_ptr);
10500
- return ret;
11528
+ get elevationBoundaries() {
11529
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationBoundaries(this.__wbg_ptr);
11530
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
11531
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
11532
+ return v1;
10501
11533
  }
10502
11534
  /**
10503
- * @returns {number}
11535
+ * @returns {Float64Array}
10504
11536
  */
10505
- get elevationEpsilon() {
10506
- const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationEpsilon(this.__wbg_ptr);
10507
- return ret;
11537
+ get elevationEpsilons() {
11538
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationEpsilons(this.__wbg_ptr);
11539
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
11540
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
11541
+ return v1;
10508
11542
  }
10509
11543
  /**
10510
- * @returns {number}
11544
+ * @returns {Float64Array}
10511
11545
  */
10512
- get elevationGScaler() {
10513
- const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationGScaler(this.__wbg_ptr);
10514
- return ret;
11546
+ get elevationGScalers() {
11547
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationGScalers(this.__wbg_ptr);
11548
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
11549
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
11550
+ return v1;
10515
11551
  }
10516
11552
  /**
10517
- * @returns {number}
11553
+ * Per-layer filter modes: "linear" or "nearest"
11554
+ * @returns {string[]}
10518
11555
  */
10519
- get elevationMaxHeight() {
10520
- const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMaxHeight(this.__wbg_ptr);
10521
- return ret;
11556
+ get elevationHeatmapFilters() {
11557
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationHeatmapFilters(this.__wbg_ptr);
11558
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
11559
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
11560
+ return v1;
10522
11561
  }
10523
11562
  /**
10524
- * @returns {number}
11563
+ * Per-layer maximum heights for elevation normalization
11564
+ * @returns {Float64Array}
10525
11565
  */
10526
- get elevationMaxOffset() {
10527
- const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMaxOffset(this.__wbg_ptr);
10528
- return ret;
11566
+ get elevationMaxHeights() {
11567
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMaxHeights(this.__wbg_ptr);
11568
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
11569
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
11570
+ return v1;
10529
11571
  }
10530
11572
  /**
10531
- * @returns {number}
11573
+ * @returns {Float64Array}
10532
11574
  */
10533
- get elevationMinHeight() {
10534
- const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMinHeight(this.__wbg_ptr);
10535
- return ret;
11575
+ get elevationMaxOffsets() {
11576
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMaxOffsets(this.__wbg_ptr);
11577
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
11578
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
11579
+ return v1;
10536
11580
  }
10537
11581
  /**
10538
- * @returns {number}
11582
+ * Per-layer minimum heights for elevation normalization
11583
+ * @returns {Float64Array}
10539
11584
  */
10540
- get elevationMinOffset() {
10541
- const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMinOffset(this.__wbg_ptr);
10542
- return ret;
11585
+ get elevationMinHeights() {
11586
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMinHeights(this.__wbg_ptr);
11587
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
11588
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
11589
+ return v1;
10543
11590
  }
10544
11591
  /**
10545
- * @returns {number}
11592
+ * @returns {Float64Array}
10546
11593
  */
10547
- get elevationOffset() {
10548
- const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationOffset(this.__wbg_ptr);
10549
- return ret;
11594
+ get elevationMinOffsets() {
11595
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMinOffsets(this.__wbg_ptr);
11596
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
11597
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
11598
+ return v1;
11599
+ }
11600
+ /**
11601
+ * @returns {Float64Array}
11602
+ */
11603
+ get elevationOffsets() {
11604
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationOffsets(this.__wbg_ptr);
11605
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
11606
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
11607
+ return v1;
10550
11608
  }
10551
11609
  /**
11610
+ * Per-layer DEM decoder parameters
11611
+ * @returns {Float64Array}
11612
+ */
11613
+ get elevationRScalers() {
11614
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationRScalers(this.__wbg_ptr);
11615
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
11616
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
11617
+ return v1;
11618
+ }
11619
+ /**
11620
+ * Speed in m/s of the current carrying the waves on the watermask's water
11621
+ * along `waveDirection`.
10552
11622
  * @returns {number}
10553
11623
  */
10554
- get elevationRScaler() {
10555
- const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationRScaler(this.__wbg_ptr);
11624
+ get flowSpeed() {
11625
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_flowSpeed(this.__wbg_ptr);
10556
11626
  return ret;
10557
11627
  }
10558
11628
  /**
@@ -10656,18 +11726,24 @@ export class RasterTileInternalMaterial {
10656
11726
  return ret === 0xFFFFFF ? undefined : ret !== 0;
10657
11727
  }
10658
11728
  /**
10659
- * @returns {number}
11729
+ * Per-layer logarithmic boundaries
11730
+ * @returns {Float64Array}
10660
11731
  */
10661
- get logBoundary() {
10662
- const ret = wasm.__wbg_get_rastertileinternalmaterial_logBoundary(this.__wbg_ptr);
10663
- return ret;
11732
+ get logBoundaries() {
11733
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_logBoundaries(this.__wbg_ptr);
11734
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
11735
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
11736
+ return v1;
10664
11737
  }
10665
11738
  /**
10666
- * @returns {boolean}
11739
+ * Per-layer logarithmic scaling flags
11740
+ * @returns {Uint8Array}
10667
11741
  */
10668
- get logarithmic() {
10669
- const ret = wasm.__wbg_get_rastertileinternalmaterial_logarithmic(this.__wbg_ptr);
10670
- return ret !== 0;
11742
+ get logarithmics() {
11743
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_logarithmics(this.__wbg_ptr);
11744
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
11745
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
11746
+ return v1;
10671
11747
  }
10672
11748
  /**
10673
11749
  * @returns {Float32Array}
@@ -10710,6 +11786,41 @@ export class RasterTileInternalMaterial {
10710
11786
  wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
10711
11787
  return v1;
10712
11788
  }
11789
+ /**
11790
+ * Body color of the watermask's water from the terrain layer; `None`
11791
+ * keeps the imagery or globe color.
11792
+ * @returns {number | undefined}
11793
+ */
11794
+ get waterMaskColor() {
11795
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_waterMaskColor(this.__wbg_ptr);
11796
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
11797
+ }
11798
+ /**
11799
+ * Where the waves on the watermask's water travel, in degrees clockwise
11800
+ * from north.
11801
+ * @returns {number}
11802
+ */
11803
+ get waveDirection() {
11804
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_waveDirection(this.__wbg_ptr);
11805
+ return ret;
11806
+ }
11807
+ /**
11808
+ * Scales the wave slopes on the watermask's water; 0 is a flat mirror.
11809
+ * @returns {number}
11810
+ */
11811
+ get waveExaggeration() {
11812
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_waveExaggeration(this.__wbg_ptr);
11813
+ return ret;
11814
+ }
11815
+ /**
11816
+ * Sets the size, slope and speed of the waves on the watermask's water, in
11817
+ * m/s.
11818
+ * @returns {number}
11819
+ */
11820
+ get waveStrength() {
11821
+ const ret = wasm.__wbg_get_rastertileinternalmaterial_waveStrength(this.__wbg_ptr);
11822
+ return ret;
11823
+ }
10713
11824
  /**
10714
11825
  * @returns {any[]}
10715
11826
  */
@@ -10737,6 +11848,16 @@ export class RasterTileInternalMaterial {
10737
11848
  set castShadow(arg0) {
10738
11849
  wasm.__wbg_set_rastertileinternalmaterial_castShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
10739
11850
  }
11851
+ /**
11852
+ * Per-slot layer IDs used to look up each layer's colorMap atlas row; an
11853
+ * empty string for slots without an elevation heatmap.
11854
+ * @param {string[]} arg0
11855
+ */
11856
+ set colorMapLayerIds(arg0) {
11857
+ const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);
11858
+ const len0 = WASM_VECTOR_LEN;
11859
+ wasm.__wbg_set_rastertileinternalmaterial_colorMapLayerIds(this.__wbg_ptr, ptr0, len0);
11860
+ }
10740
11861
  /**
10741
11862
  * @param {Uint32Array} arg0
10742
11863
  */
@@ -10746,64 +11867,104 @@ export class RasterTileInternalMaterial {
10746
11867
  wasm.__wbg_set_rastertileinternalmaterial_colors(this.__wbg_ptr, ptr0, len0);
10747
11868
  }
10748
11869
  /**
10749
- * @param {number} arg0
11870
+ * @param {Float64Array} arg0
10750
11871
  */
10751
- set elevationBScaler(arg0) {
10752
- wasm.__wbg_set_rastertileinternalmaterial_elevationBScaler(this.__wbg_ptr, arg0);
11872
+ set elevationBScalers(arg0) {
11873
+ const ptr0 = passArrayF64ToWasm0(arg0, wasm.__wbindgen_malloc);
11874
+ const len0 = WASM_VECTOR_LEN;
11875
+ wasm.__wbg_set_rastertileinternalmaterial_elevationBScalers(this.__wbg_ptr, ptr0, len0);
10753
11876
  }
10754
11877
  /**
10755
- * @param {number} arg0
11878
+ * @param {Float64Array} arg0
10756
11879
  */
10757
- set elevationBoundary(arg0) {
10758
- wasm.__wbg_set_rastertileinternalmaterial_elevationBoundary(this.__wbg_ptr, arg0);
11880
+ set elevationBoundaries(arg0) {
11881
+ const ptr0 = passArrayF64ToWasm0(arg0, wasm.__wbindgen_malloc);
11882
+ const len0 = WASM_VECTOR_LEN;
11883
+ wasm.__wbg_set_rastertileinternalmaterial_elevationBoundaries(this.__wbg_ptr, ptr0, len0);
10759
11884
  }
10760
11885
  /**
10761
- * @param {number} arg0
11886
+ * @param {Float64Array} arg0
10762
11887
  */
10763
- set elevationEpsilon(arg0) {
10764
- wasm.__wbg_set_rastertileinternalmaterial_elevationEpsilon(this.__wbg_ptr, arg0);
11888
+ set elevationEpsilons(arg0) {
11889
+ const ptr0 = passArrayF64ToWasm0(arg0, wasm.__wbindgen_malloc);
11890
+ const len0 = WASM_VECTOR_LEN;
11891
+ wasm.__wbg_set_rastertileinternalmaterial_elevationEpsilons(this.__wbg_ptr, ptr0, len0);
10765
11892
  }
10766
11893
  /**
10767
- * @param {number} arg0
11894
+ * @param {Float64Array} arg0
10768
11895
  */
10769
- set elevationGScaler(arg0) {
10770
- wasm.__wbg_set_rastertileinternalmaterial_elevationGScaler(this.__wbg_ptr, arg0);
11896
+ set elevationGScalers(arg0) {
11897
+ const ptr0 = passArrayF64ToWasm0(arg0, wasm.__wbindgen_malloc);
11898
+ const len0 = WASM_VECTOR_LEN;
11899
+ wasm.__wbg_set_rastertileinternalmaterial_elevationGScalers(this.__wbg_ptr, ptr0, len0);
10771
11900
  }
10772
11901
  /**
10773
- * @param {number} arg0
11902
+ * Per-layer filter modes: "linear" or "nearest"
11903
+ * @param {string[]} arg0
10774
11904
  */
10775
- set elevationMaxHeight(arg0) {
10776
- wasm.__wbg_set_rastertileinternalmaterial_elevationMaxHeight(this.__wbg_ptr, arg0);
11905
+ set elevationHeatmapFilters(arg0) {
11906
+ const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);
11907
+ const len0 = WASM_VECTOR_LEN;
11908
+ wasm.__wbg_set_rastertileinternalmaterial_elevationHeatmapFilters(this.__wbg_ptr, ptr0, len0);
10777
11909
  }
10778
11910
  /**
10779
- * @param {number} arg0
11911
+ * Per-layer maximum heights for elevation normalization
11912
+ * @param {Float64Array} arg0
10780
11913
  */
10781
- set elevationMaxOffset(arg0) {
10782
- wasm.__wbg_set_rastertileinternalmaterial_elevationMaxOffset(this.__wbg_ptr, arg0);
11914
+ set elevationMaxHeights(arg0) {
11915
+ const ptr0 = passArrayF64ToWasm0(arg0, wasm.__wbindgen_malloc);
11916
+ const len0 = WASM_VECTOR_LEN;
11917
+ wasm.__wbg_set_rastertileinternalmaterial_elevationMaxHeights(this.__wbg_ptr, ptr0, len0);
10783
11918
  }
10784
11919
  /**
10785
- * @param {number} arg0
11920
+ * @param {Float64Array} arg0
10786
11921
  */
10787
- set elevationMinHeight(arg0) {
10788
- wasm.__wbg_set_rastertileinternalmaterial_elevationMinHeight(this.__wbg_ptr, arg0);
11922
+ set elevationMaxOffsets(arg0) {
11923
+ const ptr0 = passArrayF64ToWasm0(arg0, wasm.__wbindgen_malloc);
11924
+ const len0 = WASM_VECTOR_LEN;
11925
+ wasm.__wbg_set_rastertileinternalmaterial_elevationMaxOffsets(this.__wbg_ptr, ptr0, len0);
10789
11926
  }
10790
11927
  /**
10791
- * @param {number} arg0
11928
+ * Per-layer minimum heights for elevation normalization
11929
+ * @param {Float64Array} arg0
10792
11930
  */
10793
- set elevationMinOffset(arg0) {
10794
- wasm.__wbg_set_rastertileinternalmaterial_elevationMinOffset(this.__wbg_ptr, arg0);
11931
+ set elevationMinHeights(arg0) {
11932
+ const ptr0 = passArrayF64ToWasm0(arg0, wasm.__wbindgen_malloc);
11933
+ const len0 = WASM_VECTOR_LEN;
11934
+ wasm.__wbg_set_rastertileinternalmaterial_elevationMinHeights(this.__wbg_ptr, ptr0, len0);
10795
11935
  }
10796
11936
  /**
10797
- * @param {number} arg0
11937
+ * @param {Float64Array} arg0
10798
11938
  */
10799
- set elevationOffset(arg0) {
10800
- wasm.__wbg_set_rastertileinternalmaterial_elevationOffset(this.__wbg_ptr, arg0);
11939
+ set elevationMinOffsets(arg0) {
11940
+ const ptr0 = passArrayF64ToWasm0(arg0, wasm.__wbindgen_malloc);
11941
+ const len0 = WASM_VECTOR_LEN;
11942
+ wasm.__wbg_set_rastertileinternalmaterial_elevationMinOffsets(this.__wbg_ptr, ptr0, len0);
10801
11943
  }
10802
11944
  /**
11945
+ * @param {Float64Array} arg0
11946
+ */
11947
+ set elevationOffsets(arg0) {
11948
+ const ptr0 = passArrayF64ToWasm0(arg0, wasm.__wbindgen_malloc);
11949
+ const len0 = WASM_VECTOR_LEN;
11950
+ wasm.__wbg_set_rastertileinternalmaterial_elevationOffsets(this.__wbg_ptr, ptr0, len0);
11951
+ }
11952
+ /**
11953
+ * Per-layer DEM decoder parameters
11954
+ * @param {Float64Array} arg0
11955
+ */
11956
+ set elevationRScalers(arg0) {
11957
+ const ptr0 = passArrayF64ToWasm0(arg0, wasm.__wbindgen_malloc);
11958
+ const len0 = WASM_VECTOR_LEN;
11959
+ wasm.__wbg_set_rastertileinternalmaterial_elevationRScalers(this.__wbg_ptr, ptr0, len0);
11960
+ }
11961
+ /**
11962
+ * Speed in m/s of the current carrying the waves on the watermask's water
11963
+ * along `waveDirection`.
10803
11964
  * @param {number} arg0
10804
11965
  */
10805
- set elevationRScaler(arg0) {
10806
- wasm.__wbg_set_rastertileinternalmaterial_elevationRScaler(this.__wbg_ptr, arg0);
11966
+ set flowSpeed(arg0) {
11967
+ wasm.__wbg_set_rastertileinternalmaterial_flowSpeed(this.__wbg_ptr, arg0);
10807
11968
  }
10808
11969
  /**
10809
11970
  * @param {number} arg0
@@ -10893,16 +12054,22 @@ export class RasterTileInternalMaterial {
10893
12054
  wasm.__wbg_set_rastertileinternalmaterial_lit(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
10894
12055
  }
10895
12056
  /**
10896
- * @param {number} arg0
12057
+ * Per-layer logarithmic boundaries
12058
+ * @param {Float64Array} arg0
10897
12059
  */
10898
- set logBoundary(arg0) {
10899
- wasm.__wbg_set_rastertileinternalmaterial_logBoundary(this.__wbg_ptr, arg0);
12060
+ set logBoundaries(arg0) {
12061
+ const ptr0 = passArrayF64ToWasm0(arg0, wasm.__wbindgen_malloc);
12062
+ const len0 = WASM_VECTOR_LEN;
12063
+ wasm.__wbg_set_rastertileinternalmaterial_logBoundaries(this.__wbg_ptr, ptr0, len0);
10900
12064
  }
10901
12065
  /**
10902
- * @param {boolean} arg0
12066
+ * Per-layer logarithmic scaling flags
12067
+ * @param {Uint8Array} arg0
10903
12068
  */
10904
- set logarithmic(arg0) {
10905
- wasm.__wbg_set_rastertileinternalmaterial_logarithmic(this.__wbg_ptr, arg0);
12069
+ set logarithmics(arg0) {
12070
+ const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);
12071
+ const len0 = WASM_VECTOR_LEN;
12072
+ wasm.__wbg_set_rastertileinternalmaterial_logarithmics(this.__wbg_ptr, ptr0, len0);
10906
12073
  }
10907
12074
  /**
10908
12075
  * @param {Float32Array} arg0
@@ -10940,6 +12107,37 @@ export class RasterTileInternalMaterial {
10940
12107
  const len0 = WASM_VECTOR_LEN;
10941
12108
  wasm.__wbg_set_rastertileinternalmaterial_terrainLatRange(this.__wbg_ptr, ptr0, len0);
10942
12109
  }
12110
+ /**
12111
+ * Body color of the watermask's water from the terrain layer; `None`
12112
+ * keeps the imagery or globe color.
12113
+ * @param {number | null} [arg0]
12114
+ */
12115
+ set waterMaskColor(arg0) {
12116
+ wasm.__wbg_set_rastertileinternalmaterial_waterMaskColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);
12117
+ }
12118
+ /**
12119
+ * Where the waves on the watermask's water travel, in degrees clockwise
12120
+ * from north.
12121
+ * @param {number} arg0
12122
+ */
12123
+ set waveDirection(arg0) {
12124
+ wasm.__wbg_set_rastertileinternalmaterial_waveDirection(this.__wbg_ptr, arg0);
12125
+ }
12126
+ /**
12127
+ * Scales the wave slopes on the watermask's water; 0 is a flat mirror.
12128
+ * @param {number} arg0
12129
+ */
12130
+ set waveExaggeration(arg0) {
12131
+ wasm.__wbg_set_rastertileinternalmaterial_waveExaggeration(this.__wbg_ptr, arg0);
12132
+ }
12133
+ /**
12134
+ * Sets the size, slope and speed of the waves on the watermask's water, in
12135
+ * m/s.
12136
+ * @param {number} arg0
12137
+ */
12138
+ set waveStrength(arg0) {
12139
+ wasm.__wbg_set_rastertileinternalmaterial_waveStrength(this.__wbg_ptr, arg0);
12140
+ }
10943
12141
  }
10944
12142
  if (Symbol.dispose) RasterTileInternalMaterial.prototype[Symbol.dispose] = RasterTileInternalMaterial.prototype.free;
10945
12143
 
@@ -11807,6 +13005,13 @@ export class ReturnedConstructedTerrainMesh {
11807
13005
  const ret = wasm.returnedconstructedterrainmesh_transferNormals(this.__wbg_ptr);
11808
13006
  return ret;
11809
13007
  }
13008
+ /**
13009
+ * @returns {Float32Array | undefined}
13010
+ */
13011
+ transferSkirtHeights() {
13012
+ const ret = wasm.returnedconstructedterrainmesh_transferSkirtHeights(this.__wbg_ptr);
13013
+ return ret;
13014
+ }
11810
13015
  /**
11811
13016
  * @returns {Uint32Array | undefined}
11812
13017
  */
@@ -12172,6 +13377,73 @@ export class SourceDescription {
12172
13377
  }
12173
13378
  if (Symbol.dispose) SourceDescription.prototype[Symbol.dispose] = SourceDescription.prototype.free;
12174
13379
 
13380
+ /**
13381
+ * The terrain exaggeration in effect from this frame on (`h' = (h -
13382
+ * relative_height) * scale + relative_height`), emitted when it changes.
13383
+ */
13384
+ export class TerrainExaggerationUpdatedEvent {
13385
+ static __wrap(ptr) {
13386
+ const obj = Object.create(TerrainExaggerationUpdatedEvent.prototype);
13387
+ obj.__wbg_ptr = ptr;
13388
+ TerrainExaggerationUpdatedEventFinalization.register(obj, obj.__wbg_ptr, obj);
13389
+ return obj;
13390
+ }
13391
+ __destroy_into_raw() {
13392
+ const ptr = this.__wbg_ptr;
13393
+ this.__wbg_ptr = 0;
13394
+ TerrainExaggerationUpdatedEventFinalization.unregister(this);
13395
+ return ptr;
13396
+ }
13397
+ free() {
13398
+ const ptr = this.__destroy_into_raw();
13399
+ wasm.__wbg_terrainexaggerationupdatedevent_free(ptr, 0);
13400
+ }
13401
+ /**
13402
+ * Height (never positive) the ellipsoid is shrunk by for horizon culling
13403
+ * so that terrain sunk below it stays visible.
13404
+ * @returns {number}
13405
+ */
13406
+ get horizon_minimum_height() {
13407
+ const ret = wasm.__wbg_get_terrainexaggerationupdatedevent_horizon_minimum_height(this.__wbg_ptr);
13408
+ return ret;
13409
+ }
13410
+ /**
13411
+ * @returns {number}
13412
+ */
13413
+ get relative_height() {
13414
+ const ret = wasm.__wbg_get_terrainexaggerationupdatedevent_relative_height(this.__wbg_ptr);
13415
+ return ret;
13416
+ }
13417
+ /**
13418
+ * @returns {number}
13419
+ */
13420
+ get scale() {
13421
+ const ret = wasm.__wbg_get_terrainexaggerationupdatedevent_scale(this.__wbg_ptr);
13422
+ return ret;
13423
+ }
13424
+ /**
13425
+ * Height (never positive) the ellipsoid is shrunk by for horizon culling
13426
+ * so that terrain sunk below it stays visible.
13427
+ * @param {number} arg0
13428
+ */
13429
+ set horizon_minimum_height(arg0) {
13430
+ wasm.__wbg_set_terrainexaggerationupdatedevent_horizon_minimum_height(this.__wbg_ptr, arg0);
13431
+ }
13432
+ /**
13433
+ * @param {number} arg0
13434
+ */
13435
+ set relative_height(arg0) {
13436
+ wasm.__wbg_set_terrainexaggerationupdatedevent_relative_height(this.__wbg_ptr, arg0);
13437
+ }
13438
+ /**
13439
+ * @param {number} arg0
13440
+ */
13441
+ set scale(arg0) {
13442
+ wasm.__wbg_set_terrainexaggerationupdatedevent_scale(this.__wbg_ptr, arg0);
13443
+ }
13444
+ }
13445
+ if (Symbol.dispose) TerrainExaggerationUpdatedEvent.prototype[Symbol.dispose] = TerrainExaggerationUpdatedEvent.prototype.free;
13446
+
12175
13447
  export class TerrainHeightRangeUpdatedEvent {
12176
13448
  static __wrap(ptr) {
12177
13449
  const obj = Object.create(TerrainHeightRangeUpdatedEvent.prototype);
@@ -12348,6 +13620,36 @@ export class TerrainMaterial {
12348
13620
  const ret = wasm.__wbg_get_terrainmaterial_castShadow(this.__wbg_ptr);
12349
13621
  return ret === 0xFFFFFF ? undefined : ret !== 0;
12350
13622
  }
13623
+ /**
13624
+ * Height in meters that stays in place while the terrain is exaggerated:
13625
+ * a terrain height `h` is rendered at
13626
+ * `(h - exaggerationRelativeHeight) * exaggeration + exaggerationRelativeHeight`.
13627
+ * Default: 0.
13628
+ * @returns {number | undefined}
13629
+ */
13630
+ get exaggerationRelativeHeight() {
13631
+ const ret = wasm.__wbg_get_terrainmaterial_exaggerationRelativeHeight(this.__wbg_ptr);
13632
+ return ret[0] === 0 ? undefined : ret[1];
13633
+ }
13634
+ /**
13635
+ * Vertical exaggeration of the terrain. Terrain heights are scaled by this
13636
+ * factor around `exaggerationRelativeHeight`. A negative value is treated
13637
+ * as 0, which flattens the terrain. Default: 1.
13638
+ * @returns {number | undefined}
13639
+ */
13640
+ get exaggeration() {
13641
+ const ret = wasm.__wbg_get_terrainmaterial_exaggeration(this.__wbg_ptr);
13642
+ return ret[0] === 0 ? undefined : ret[1];
13643
+ }
13644
+ /**
13645
+ * Speed in m/s of the current carrying the waves on the watermask's water
13646
+ * along `waveDirection`. Default: 0.
13647
+ * @returns {number | undefined}
13648
+ */
13649
+ get flowSpeed() {
13650
+ const ret = wasm.__wbg_get_terrainmaterial_flowSpeed(this.__wbg_ptr);
13651
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
13652
+ }
12351
13653
  /**
12352
13654
  * Applies the lighting equation to the color output. When `false` the
12353
13655
  * material outputs plain albedo (for deferred lighting) while normals and
@@ -12397,12 +13699,66 @@ export class TerrainMaterial {
12397
13699
  const ret = wasm.__wbg_get_terrainmaterial_skirt(this.__wbg_ptr);
12398
13700
  return ret === 0xFFFFFF ? undefined : ret !== 0;
12399
13701
  }
13702
+ /**
13703
+ * Where the waves on the watermask's water travel, in degrees clockwise
13704
+ * from north. Default: 0.
13705
+ * @returns {number | undefined}
13706
+ */
13707
+ get waveDirection() {
13708
+ const ret = wasm.__wbg_get_terrainmaterial_waveDirection(this.__wbg_ptr);
13709
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
13710
+ }
13711
+ /**
13712
+ * Scales the wave slopes on the watermask's water, keeping their size and
13713
+ * speed; 0 is a flat mirror. Default: 1.
13714
+ * @returns {number | undefined}
13715
+ */
13716
+ get waveExaggeration() {
13717
+ const ret = wasm.__wbg_get_terrainmaterial_waveExaggeration(this.__wbg_ptr);
13718
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
13719
+ }
13720
+ /**
13721
+ * Sets the size, steepness and speed of the waves on the watermask's water:
13722
+ * about 1 is a calm ripple, 5 moderate and 20 a storm. Default: 5.
13723
+ * @returns {number | undefined}
13724
+ */
13725
+ get waveStrength() {
13726
+ const ret = wasm.__wbg_get_terrainmaterial_waveStrength(this.__wbg_ptr);
13727
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
13728
+ }
12400
13729
  /**
12401
13730
  * @param {boolean | null} [arg0]
12402
13731
  */
12403
13732
  set castShadow(arg0) {
12404
13733
  wasm.__wbg_set_terrainmaterial_castShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
12405
13734
  }
13735
+ /**
13736
+ * Height in meters that stays in place while the terrain is exaggerated:
13737
+ * a terrain height `h` is rendered at
13738
+ * `(h - exaggerationRelativeHeight) * exaggeration + exaggerationRelativeHeight`.
13739
+ * Default: 0.
13740
+ * @param {number | null} [arg0]
13741
+ */
13742
+ set exaggerationRelativeHeight(arg0) {
13743
+ wasm.__wbg_set_terrainmaterial_exaggerationRelativeHeight(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);
13744
+ }
13745
+ /**
13746
+ * Vertical exaggeration of the terrain. Terrain heights are scaled by this
13747
+ * factor around `exaggerationRelativeHeight`. A negative value is treated
13748
+ * as 0, which flattens the terrain. Default: 1.
13749
+ * @param {number | null} [arg0]
13750
+ */
13751
+ set exaggeration(arg0) {
13752
+ wasm.__wbg_set_terrainmaterial_exaggeration(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);
13753
+ }
13754
+ /**
13755
+ * Speed in m/s of the current carrying the waves on the watermask's water
13756
+ * along `waveDirection`. Default: 0.
13757
+ * @param {number | null} [arg0]
13758
+ */
13759
+ set flowSpeed(arg0) {
13760
+ wasm.__wbg_set_terrainmaterial_flowSpeed(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
13761
+ }
12406
13762
  /**
12407
13763
  * Applies the lighting equation to the color output. When `false` the
12408
13764
  * material outputs plain albedo (for deferred lighting) while normals and
@@ -12446,6 +13802,47 @@ export class TerrainMaterial {
12446
13802
  set skirt(arg0) {
12447
13803
  wasm.__wbg_set_terrainmaterial_skirt(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
12448
13804
  }
13805
+ /**
13806
+ * Where the waves on the watermask's water travel, in degrees clockwise
13807
+ * from north. Default: 0.
13808
+ * @param {number | null} [arg0]
13809
+ */
13810
+ set waveDirection(arg0) {
13811
+ wasm.__wbg_set_terrainmaterial_waveDirection(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
13812
+ }
13813
+ /**
13814
+ * Scales the wave slopes on the watermask's water, keeping their size and
13815
+ * speed; 0 is a flat mirror. Default: 1.
13816
+ * @param {number | null} [arg0]
13817
+ */
13818
+ set waveExaggeration(arg0) {
13819
+ wasm.__wbg_set_terrainmaterial_waveExaggeration(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
13820
+ }
13821
+ /**
13822
+ * Sets the size, steepness and speed of the waves on the watermask's water:
13823
+ * about 1 is a calm ripple, 5 moderate and 20 a storm. Default: 5.
13824
+ * @param {number | null} [arg0]
13825
+ */
13826
+ set waveStrength(arg0) {
13827
+ wasm.__wbg_set_terrainmaterial_waveStrength(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
13828
+ }
13829
+ /**
13830
+ * @param {number | null} [color]
13831
+ */
13832
+ set waterMaskColor(color) {
13833
+ wasm.terrainmaterial_set_waterMaskColor(this.__wbg_ptr, isLikeNone(color) ? Number.MAX_SAFE_INTEGER : (color) >>> 0);
13834
+ }
13835
+ /**
13836
+ * Body color of the water the source's watermask marks. The water shows
13837
+ * this color under its reflections instead of the imagery or globe color
13838
+ * beneath it. Requires `requestWaterMask` on a quantized-mesh source.
13839
+ * An update with `undefined` uses that imagery or globe color.
13840
+ * @returns {number | undefined}
13841
+ */
13842
+ get waterMaskColor() {
13843
+ const ret = wasm.terrainmaterial_waterMaskColor(this.__wbg_ptr);
13844
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
13845
+ }
12449
13846
  }
12450
13847
  if (Symbol.dispose) TerrainMaterial.prototype[Symbol.dispose] = TerrainMaterial.prototype.free;
12451
13848
 
@@ -12552,10 +13949,27 @@ export class TextMaterial {
12552
13949
  wasm.__wbg_textmaterial_free(ptr, 0);
12553
13950
  }
12554
13951
  /**
12555
- * Whether faces seen from behind are culled. Default is false, so a
12556
- * quad frozen in its anchor's frame (`rotateWithCamera: false`) stays
12557
- * visible from behind. Turn it on to hide a flat quad's parts that wrap
12558
- * over the horizon, which face away from the camera.
13952
+ * Part of the text block placed at the anchor point: `"center"`
13953
+ * (default), `"left"`, `"right"`, `"top"`, `"bottom"`, `"top-left"`,
13954
+ * `"top-right"`, `"bottom-left"` or `"bottom-right"`, as MapLibre's
13955
+ * `text-anchor`. The block is as wide as its widest line and one line
13956
+ * height tall per line.
13957
+ * @returns {string | undefined}
13958
+ */
13959
+ get anchor() {
13960
+ const ret = wasm.__wbg_get_textmaterial_anchor(this.__wbg_ptr);
13961
+ let v1;
13962
+ if (ret[0] !== 0) {
13963
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
13964
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
13965
+ }
13966
+ return v1;
13967
+ }
13968
+ /**
13969
+ * Whether faces seen from behind are culled. Default is false. Only a
13970
+ * flat quad has a back the camera can see: turn it on to hide the parts
13971
+ * of a large one that wrap over the horizon, which face away from the
13972
+ * camera.
12559
13973
  * @returns {boolean | undefined}
12560
13974
  */
12561
13975
  get backfaceCulling() {
@@ -12583,13 +13997,6 @@ export class TextMaterial {
12583
13997
  const ret = wasm.__wbg_get_textmaterial_borderWidth(this.__wbg_ptr);
12584
13998
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
12585
13999
  }
12586
- /**
12587
- * @returns {Vec2 | undefined}
12588
- */
12589
- get center() {
12590
- const ret = wasm.__wbg_get_textmaterial_center(this.__wbg_ptr);
12591
- return ret === 0 ? undefined : Vec2.__wrap(ret);
12592
- }
12593
14000
  /**
12594
14001
  * @returns {boolean | undefined}
12595
14002
  */
@@ -12604,6 +14011,21 @@ export class TextMaterial {
12604
14011
  const ret = wasm.__wbg_get_textmaterial_color(this.__wbg_ptr);
12605
14012
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
12606
14013
  }
14014
+ /**
14015
+ * Extra space around the collision box, in screen pixels: one to four
14016
+ * values, expanded like CSS padding (top, right, bottom, left). Only
14017
+ * meaningful when `declutter` is enabled. Defaults to `[2]`.
14018
+ * @returns {Float32Array | undefined}
14019
+ */
14020
+ get declutterPadding() {
14021
+ const ret = wasm.__wbg_get_textmaterial_declutterPadding(this.__wbg_ptr);
14022
+ let v1;
14023
+ if (ret[0] !== 0) {
14024
+ v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();
14025
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
14026
+ }
14027
+ return v1;
14028
+ }
12607
14029
  /**
12608
14030
  * Placement priority for decluttering; higher wins. Only meaningful when
12609
14031
  * `declutter` is enabled. Defaults to `0.0`.
@@ -12613,6 +14035,17 @@ export class TextMaterial {
12613
14035
  const ret = wasm.__wbg_get_textmaterial_declutterPriority(this.__wbg_ptr);
12614
14036
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
12615
14037
  }
14038
+ /**
14039
+ * Coarse placement order for decluttering, compared before
14040
+ * `declutterPriority`: every label with a higher rank is placed before any
14041
+ * label with a lower one, whatever their priorities. Only meaningful when
14042
+ * `declutter` is enabled. Defaults to `0.0`.
14043
+ * @returns {number | undefined}
14044
+ */
14045
+ get declutterRank() {
14046
+ const ret = wasm.__wbg_get_textmaterial_declutterRank(this.__wbg_ptr);
14047
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
14048
+ }
12616
14049
  /**
12617
14050
  * Participate in screen-space decluttering: when labels/sprites overlap
12618
14051
  * on screen, lower-priority ones are hidden. Defaults to `true`; set to
@@ -12686,8 +14119,9 @@ export class TextMaterial {
12686
14119
  }
12687
14120
  /**
12688
14121
  * Source geometry types this appearance consumes: `"point"`, `"line"`,
12689
- * `"polygon"`. Defaults to `["point"]`; adding `"line"`/`"polygon"` also
12690
- * emits a label per line-string / polygon-ring vertex.
14122
+ * `"polygon"`. Defaults to `["point"]`; adding `"line"` also emits a
14123
+ * label per line string, at its first vertex, and `"polygon"` one per
14124
+ * polygon.
12691
14125
  * @returns {string[] | undefined}
12692
14126
  */
12693
14127
  get geometryTypes() {
@@ -12718,6 +14152,25 @@ export class TextMaterial {
12718
14152
  const ret = wasm.__wbg_get_textmaterial_highQuality(this.__wbg_ptr);
12719
14153
  return ret === 0xFFFFFF ? undefined : ret !== 0;
12720
14154
  }
14155
+ /**
14156
+ * Leave this label's box out of the collision grid, so symbols placed
14157
+ * after it may overlap it. Only meaningful when `declutter` is enabled.
14158
+ * Defaults to `false`.
14159
+ * @returns {boolean | undefined}
14160
+ */
14161
+ get ignorePlacement() {
14162
+ const ret = wasm.__wbg_get_textmaterial_ignorePlacement(this.__wbg_ptr);
14163
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
14164
+ }
14165
+ /**
14166
+ * Flip a label that would otherwise read right-to-left, so names stay
14167
+ * legible whichever way the underlying line runs. Defaults to `true`.
14168
+ * @returns {boolean | undefined}
14169
+ */
14170
+ get keepUpright() {
14171
+ const ret = wasm.__wbg_get_textmaterial_keepUpright(this.__wbg_ptr);
14172
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
14173
+ }
12721
14174
  /**
12722
14175
  * Language code for text shaping (e.g., "en", "ja", "ar"). Used for proper text rendering.
12723
14176
  * @returns {string | undefined}
@@ -12732,14 +14185,47 @@ export class TextMaterial {
12732
14185
  return v1;
12733
14186
  }
12734
14187
  /**
12735
- * Line height as a multiplier of the font's natural line height
12736
- * (ascender − descender + line gap). Defaults to `1.0`.
14188
+ * Extra space between characters, in ems (multiples of `size`). Not
14189
+ * added after the last character; ignored for Arabic-script text.
14190
+ * Negative values tighten. Defaults to `0.0`.
14191
+ * @returns {number | undefined}
14192
+ */
14193
+ get letterSpacing() {
14194
+ const ret = wasm.__wbg_get_textmaterial_letterSpacing(this.__wbg_ptr);
14195
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
14196
+ }
14197
+ /**
14198
+ * Distance between the baselines of a multi-line label, in ems
14199
+ * (multiples of `size`). Defaults to the font's natural line height
14200
+ * (ascender − descender + line gap).
12737
14201
  * @returns {number | undefined}
12738
14202
  */
12739
14203
  get lineHeight() {
12740
14204
  const ret = wasm.__wbg_get_textmaterial_lineHeight(this.__wbg_ptr);
12741
14205
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
12742
14206
  }
14207
+ /**
14208
+ * Offset perpendicular to the line, in the same units as the font size:
14209
+ * pixels when `sizeInMeters` is false, metres when it is true. Positive is
14210
+ * to the left of the direction of travel, which puts the name above the
14211
+ * line. Defaults to `0.0`.
14212
+ * @returns {number | undefined}
14213
+ */
14214
+ get lineOffset() {
14215
+ const ret = wasm.__wbg_get_textmaterial_lineOffset(this.__wbg_ptr);
14216
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
14217
+ }
14218
+ /**
14219
+ * Largest turn, in degrees, the line may make under a label within a
14220
+ * window of about one and a half ems before the label is dropped as
14221
+ * unreadable. The window slides along the label, so a long gentle curve
14222
+ * is accepted however far it turns in total. Defaults to `45.0`.
14223
+ * @returns {number | undefined}
14224
+ */
14225
+ get maxAngle() {
14226
+ const ret = wasm.__wbg_get_textmaterial_maxAngle(this.__wbg_ptr);
14227
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
14228
+ }
12743
14229
  /**
12744
14230
  * Maximum line width in ems (multiples of `size`) before text wraps at
12745
14231
  * word boundaries. `0.0` (the default) disables wrapping; explicit `\n`
@@ -12758,6 +14244,16 @@ export class TextMaterial {
12758
14244
  const ret = wasm.__wbg_get_textmaterial_offsetDepth(this.__wbg_ptr);
12759
14245
  return ret === 0xFFFFFF ? undefined : ret !== 0;
12760
14246
  }
14247
+ /**
14248
+ * Shift from the anchor point, x right and y down, in ems (multiples of
14249
+ * `size`), as MapLibre's `text-offset`. Lies in the label's own plane, so
14250
+ * it turns with `rotation`. Defaults to `(0, 0)`.
14251
+ * @returns {Vec2 | undefined}
14252
+ */
14253
+ get offset() {
14254
+ const ret = wasm.__wbg_get_textmaterial_offset(this.__wbg_ptr);
14255
+ return ret === 0 ? undefined : Vec2.__wrap(ret);
14256
+ }
12761
14257
  /**
12762
14258
  * Opacity of the text
12763
14259
  * @returns {number | undefined}
@@ -12767,7 +14263,15 @@ export class TextMaterial {
12767
14263
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
12768
14264
  }
12769
14265
  /**
12770
- * Outline blur radius in CSS pixels. Defaults to `0.0`.
14266
+ * Width over which the outline's outer edge fades out, centered on that
14267
+ * edge, in the unit of `outlineWidth`. Defaults to `0.0`.
14268
+ * @returns {number | undefined}
14269
+ */
14270
+ get outlineBlur() {
14271
+ const ret = wasm.__wbg_get_textmaterial_outlineBlur(this.__wbg_ptr);
14272
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
14273
+ }
14274
+ /**
12771
14275
  * @returns {number | undefined}
12772
14276
  */
12773
14277
  get outlineColor() {
@@ -12783,7 +14287,9 @@ export class TextMaterial {
12783
14287
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
12784
14288
  }
12785
14289
  /**
12786
- * Outline thickness measured in CSS pixels. Defaults to `0.0`.
14290
+ * Outline thickness in 1/64 em: pixels of text drawn 64 pixels tall, so
14291
+ * the outline keeps its proportion to the glyphs at any size. Defaults
14292
+ * to `0.0`.
12787
14293
  * @returns {number | undefined}
12788
14294
  */
12789
14295
  get outlineWidth() {
@@ -12791,11 +14297,49 @@ export class TextMaterial {
12791
14297
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
12792
14298
  }
12793
14299
  /**
12794
- * Whether the label turns to follow the camera. `true` (the default)
12795
- * keeps it facing the viewer. `false` freezes it in the anchor's local
12796
- * east-north-up frame, so moving the camera never reorients it: with
12797
- * `textFacing: "upright"` it becomes a signboard standing on the
12798
- * surface, with `"flat"` a north-up label painted on it.
14300
+ * Whether the label may be drawn over symbols placed before it:
14301
+ * `"never"` (the default) hides it on any collision, `"always"` never
14302
+ * does, `"cooperative"` hides it only when it collides with a `"never"`
14303
+ * symbol. Only meaningful when `declutter` is enabled.
14304
+ * @returns {string | undefined}
14305
+ */
14306
+ get overlap() {
14307
+ const ret = wasm.__wbg_get_textmaterial_overlap(this.__wbg_ptr);
14308
+ let v1;
14309
+ if (ret[0] !== 0) {
14310
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
14311
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
14312
+ }
14313
+ return v1;
14314
+ }
14315
+ /**
14316
+ * How anchors are derived from line and polygon geometry: `"point"` (the
14317
+ * default) puts a label per line string, at its first vertex, and one
14318
+ * per polygon, `"line"` repeats labels along the line every `spacing`
14319
+ * with the glyphs bending to follow it, `"line-center"` places a single
14320
+ * label at the line's midpoint. Polygon rings are walked like lines.
14321
+ * Requires `geometryTypes` to include `"line"` or `"polygon"`.
14322
+ * @returns {string | undefined}
14323
+ */
14324
+ get placement() {
14325
+ const ret = wasm.__wbg_get_textmaterial_placement(this.__wbg_ptr);
14326
+ let v1;
14327
+ if (ret[0] !== 0) {
14328
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
14329
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
14330
+ }
14331
+ return v1;
14332
+ }
14333
+ /**
14334
+ * Whether the label turns with the camera or with the map, as MapLibre's
14335
+ * `text-rotation-alignment` `viewport` and `map`. `true` keeps it reading
14336
+ * left to right (a screen-aligned billboard, or a flat label yawed to the
14337
+ * camera). `false` aligns it with the map: upright, it stays on screen but
14338
+ * turns with the camera heading so its x-axis points east; flat, it lies
14339
+ * north-up. Along a line, `false` makes the label follow the line, and
14340
+ * `true` draws it straight at its anchor unless `spreadGlyphs` is set.
14341
+ * Left unset, it is `true` for `placement: "point"` and `false` along a
14342
+ * line, as MapLibre resolves `auto`.
12799
14343
  * @returns {boolean | undefined}
12800
14344
  */
12801
14345
  get rotateWithCamera() {
@@ -12807,8 +14351,10 @@ export class TextMaterial {
12807
14351
  * degrees, clockwise seen from the front. Applied on top of whatever
12808
14352
  * orientation `textFacing` and `rotateWithCamera` resolve to: it spins a
12809
14353
  * billboard on screen and turns a surface label like a compass bearing.
12810
- * `center` decides where inside the text the pivot sits. Defaults to
12811
- * `0.0`.
14354
+ * `anchor` decides where inside the text the pivot sits. Along a line
14355
+ * each glyph spins about its own point on the line, as MapLibre's
14356
+ * `text-rotate` does, except for a straight label (`rotateWithCamera`
14357
+ * without `spreadGlyphs`), which turns as a whole. Defaults to `0.0`.
12812
14358
  * @returns {number | undefined}
12813
14359
  */
12814
14360
  get rotation() {
@@ -12838,9 +14384,52 @@ export class TextMaterial {
12838
14384
  const ret = wasm.__wbg_get_textmaterial_size(this.__wbg_ptr);
12839
14385
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
12840
14386
  }
14387
+ /**
14388
+ * Distance between repeated labels along a line, in screen pixels, for
14389
+ * `vector-tile` and `geojson` sources alike. Resolved per label as the
14390
+ * camera moves: labels thin out as it pulls back and fill in as it
14391
+ * closes, never moving, so the gap on screen stays between one and two
14392
+ * times `spacing` across a pitched view. As MapLibre does with
14393
+ * `symbol-spacing`, a label longer than three quarters of the spacing
14394
+ * spreads its repeats to its own length plus a quarter of the spacing, a
14395
+ * label within half the spacing of an earlier one with the same text is
14396
+ * dropped, and a vector tile places labels only inside its own bounds.
14397
+ * Defaults to `250.0`.
14398
+ * @returns {number | undefined}
14399
+ */
14400
+ get spacing() {
14401
+ const ret = wasm.__wbg_get_textmaterial_spacing(this.__wbg_ptr);
14402
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
14403
+ }
14404
+ /**
14405
+ * Place each glyph of an along-line label on its own instead of each
14406
+ * word. With `rotateWithCamera: false` each glyph turns with the line
14407
+ * under it (MapLibre's `symbol-placement: "line"`); with `true`, each
14408
+ * glyph turns to the camera like a point label and is spaced on the
14409
+ * screen (MapLibre's `viewport-glyph`). Can be overridden per feature
14410
+ * from a feature evaluator. Defaults to `false`.
14411
+ * @returns {boolean | undefined}
14412
+ */
14413
+ get spreadGlyphs() {
14414
+ const ret = wasm.__wbg_get_textmaterial_spreadGlyphs(this.__wbg_ptr);
14415
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
14416
+ }
14417
+ /**
14418
+ * Whether this may show while its partner at the same anchor (the
14419
+ * layer's label for a billboard, its billboard for a label) is hidden.
14420
+ * With `false` on both, the two are placed together: both show or
14421
+ * neither does. Only meaningful when `declutter` is enabled. Defaults to
14422
+ * `true`.
14423
+ * @returns {boolean | undefined}
14424
+ */
14425
+ get standalone() {
14426
+ const ret = wasm.__wbg_get_textmaterial_standalone(this.__wbg_ptr);
14427
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
14428
+ }
12841
14429
  /**
12842
14430
  * Horizontal alignment of lines within a multi-line block:
12843
- * `"left"`, `"center"` (default), or `"right"`.
14431
+ * `"left"`, `"center"` (default), `"right"`, or `"auto"`, which aligns
14432
+ * towards the horizontal side of `anchor` (MapLibre's `text-justify`).
12844
14433
  * @returns {string | undefined}
12845
14434
  */
12846
14435
  get textAlign() {
@@ -12853,9 +14442,13 @@ export class TextMaterial {
12853
14442
  return v1;
12854
14443
  }
12855
14444
  /**
12856
- * Whether the label stands up (`"upright"`, the default) or lies on the
12857
- * globe surface around its anchor (`"flat"`), following its curvature so
12858
- * it reads as painted on the surface. Pair with `rotateWithCamera`.
14445
+ * Plane the label lies in: the screen (`"upright"`, never foreshortened)
14446
+ * or the globe surface around its anchor (`"flat"`), following its
14447
+ * curvature so it reads as painted on the surface. MapLibre's
14448
+ * `text-pitch-alignment` `viewport` and `map`. Pair with
14449
+ * `rotateWithCamera`. Left unset, it is `"flat"` when `rotateWithCamera`
14450
+ * resolves to `false` and `"upright"` otherwise, as MapLibre resolves
14451
+ * `auto`.
12859
14452
  * @returns {string | undefined}
12860
14453
  */
12861
14454
  get textFacing() {
@@ -12879,6 +14472,31 @@ export class TextMaterial {
12879
14472
  }
12880
14473
  return v1;
12881
14474
  }
14475
+ /**
14476
+ * Frame `translate` is measured in: `"map"` (default) turns it with the
14477
+ * camera heading so +x points east and +y south; `"viewport"` keeps it on
14478
+ * the screen axes. MapLibre's `text-translate-anchor`.
14479
+ * @returns {string | undefined}
14480
+ */
14481
+ get translateAnchor() {
14482
+ const ret = wasm.__wbg_get_textmaterial_translateAnchor(this.__wbg_ptr);
14483
+ let v1;
14484
+ if (ret[0] !== 0) {
14485
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
14486
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
14487
+ }
14488
+ return v1;
14489
+ }
14490
+ /**
14491
+ * Screen-pixel shift of the drawn label, x right and y down, applied after
14492
+ * projection so it stays the same number of pixels at any distance, as
14493
+ * MapLibre's `text-translate`. Defaults to `(0, 0)`.
14494
+ * @returns {Vec2 | undefined}
14495
+ */
14496
+ get translate() {
14497
+ const ret = wasm.__wbg_get_textmaterial_translate(this.__wbg_ptr);
14498
+ return ret === 0 ? undefined : Vec2.__wrap(ret);
14499
+ }
12882
14500
  /**
12883
14501
  * Enable transparency and alpha blending
12884
14502
  * @returns {boolean | undefined}
@@ -12888,10 +14506,40 @@ export class TextMaterial {
12888
14506
  return ret === 0xFFFFFF ? undefined : ret !== 0;
12889
14507
  }
12890
14508
  /**
12891
- * Whether faces seen from behind are culled. Default is false, so a
12892
- * quad frozen in its anchor's frame (`rotateWithCamera: false`) stays
12893
- * visible from behind. Turn it on to hide a flat quad's parts that wrap
12894
- * over the horizon, which face away from the camera.
14509
+ * Placements the declutter pass tries in order, keeping the first whose
14510
+ * box is free, as MapLibre's `text-variable-anchor-offset`. The one in
14511
+ * use is tried first, so a label only moves when it must. Overrides
14512
+ * `anchor` and `offset` when not empty, except along a line. Without
14513
+ * declutter the first is used.
14514
+ * @returns {VariableAnchor[] | undefined}
14515
+ */
14516
+ get variableAnchors() {
14517
+ const ret = wasm.__wbg_get_textmaterial_variableAnchors(this.__wbg_ptr);
14518
+ let v1;
14519
+ if (ret[0] !== 0) {
14520
+ v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
14521
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
14522
+ }
14523
+ return v1;
14524
+ }
14525
+ /**
14526
+ * Part of the text block placed at the anchor point: `"center"`
14527
+ * (default), `"left"`, `"right"`, `"top"`, `"bottom"`, `"top-left"`,
14528
+ * `"top-right"`, `"bottom-left"` or `"bottom-right"`, as MapLibre's
14529
+ * `text-anchor`. The block is as wide as its widest line and one line
14530
+ * height tall per line.
14531
+ * @param {string | null} [arg0]
14532
+ */
14533
+ set anchor(arg0) {
14534
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
14535
+ var len0 = WASM_VECTOR_LEN;
14536
+ wasm.__wbg_set_textmaterial_anchor(this.__wbg_ptr, ptr0, len0);
14537
+ }
14538
+ /**
14539
+ * Whether faces seen from behind are culled. Default is false. Only a
14540
+ * flat quad has a back the camera can see: turn it on to hide the parts
14541
+ * of a large one that wrap over the horizon, which face away from the
14542
+ * camera.
12895
14543
  * @param {boolean | null} [arg0]
12896
14544
  */
12897
14545
  set backfaceCulling(arg0) {
@@ -12915,17 +14563,6 @@ export class TextMaterial {
12915
14563
  set borderWidth(arg0) {
12916
14564
  wasm.__wbg_set_textmaterial_borderWidth(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
12917
14565
  }
12918
- /**
12919
- * @param {Vec2 | null} [arg0]
12920
- */
12921
- set center(arg0) {
12922
- let ptr0 = 0;
12923
- if (!isLikeNone(arg0)) {
12924
- _assertClass(arg0, Vec2);
12925
- ptr0 = arg0.__destroy_into_raw();
12926
- }
12927
- wasm.__wbg_set_textmaterial_center(this.__wbg_ptr, ptr0);
12928
- }
12929
14566
  /**
12930
14567
  * @param {boolean | null} [arg0]
12931
14568
  */
@@ -12938,6 +14575,17 @@ export class TextMaterial {
12938
14575
  set color(arg0) {
12939
14576
  wasm.__wbg_set_textmaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);
12940
14577
  }
14578
+ /**
14579
+ * Extra space around the collision box, in screen pixels: one to four
14580
+ * values, expanded like CSS padding (top, right, bottom, left). Only
14581
+ * meaningful when `declutter` is enabled. Defaults to `[2]`.
14582
+ * @param {Float32Array | null} [arg0]
14583
+ */
14584
+ set declutterPadding(arg0) {
14585
+ var ptr0 = isLikeNone(arg0) ? 0 : passArrayF32ToWasm0(arg0, wasm.__wbindgen_malloc);
14586
+ var len0 = WASM_VECTOR_LEN;
14587
+ wasm.__wbg_set_textmaterial_declutterPadding(this.__wbg_ptr, ptr0, len0);
14588
+ }
12941
14589
  /**
12942
14590
  * Placement priority for decluttering; higher wins. Only meaningful when
12943
14591
  * `declutter` is enabled. Defaults to `0.0`.
@@ -12946,6 +14594,16 @@ export class TextMaterial {
12946
14594
  set declutterPriority(arg0) {
12947
14595
  wasm.__wbg_set_textmaterial_declutterPriority(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
12948
14596
  }
14597
+ /**
14598
+ * Coarse placement order for decluttering, compared before
14599
+ * `declutterPriority`: every label with a higher rank is placed before any
14600
+ * label with a lower one, whatever their priorities. Only meaningful when
14601
+ * `declutter` is enabled. Defaults to `0.0`.
14602
+ * @param {number | null} [arg0]
14603
+ */
14604
+ set declutterRank(arg0) {
14605
+ wasm.__wbg_set_textmaterial_declutterRank(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
14606
+ }
12949
14607
  /**
12950
14608
  * Participate in screen-space decluttering: when labels/sprites overlap
12951
14609
  * on screen, lower-priority ones are hidden. Defaults to `true`; set to
@@ -13007,8 +14665,9 @@ export class TextMaterial {
13007
14665
  }
13008
14666
  /**
13009
14667
  * Source geometry types this appearance consumes: `"point"`, `"line"`,
13010
- * `"polygon"`. Defaults to `["point"]`; adding `"line"`/`"polygon"` also
13011
- * emits a label per line-string / polygon-ring vertex.
14668
+ * `"polygon"`. Defaults to `["point"]`; adding `"line"` also emits a
14669
+ * label per line string, at its first vertex, and `"polygon"` one per
14670
+ * polygon.
13012
14671
  * @param {string[] | null} [arg0]
13013
14672
  */
13014
14673
  set geometryTypes(arg0) {
@@ -13033,6 +14692,23 @@ export class TextMaterial {
13033
14692
  set highQuality(arg0) {
13034
14693
  wasm.__wbg_set_textmaterial_highQuality(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
13035
14694
  }
14695
+ /**
14696
+ * Leave this label's box out of the collision grid, so symbols placed
14697
+ * after it may overlap it. Only meaningful when `declutter` is enabled.
14698
+ * Defaults to `false`.
14699
+ * @param {boolean | null} [arg0]
14700
+ */
14701
+ set ignorePlacement(arg0) {
14702
+ wasm.__wbg_set_textmaterial_ignorePlacement(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
14703
+ }
14704
+ /**
14705
+ * Flip a label that would otherwise read right-to-left, so names stay
14706
+ * legible whichever way the underlying line runs. Defaults to `true`.
14707
+ * @param {boolean | null} [arg0]
14708
+ */
14709
+ set keepUpright(arg0) {
14710
+ wasm.__wbg_set_textmaterial_keepUpright(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
14711
+ }
13036
14712
  /**
13037
14713
  * Language code for text shaping (e.g., "en", "ja", "ar"). Used for proper text rendering.
13038
14714
  * @param {string | null} [arg0]
@@ -13043,13 +14719,43 @@ export class TextMaterial {
13043
14719
  wasm.__wbg_set_textmaterial_lang(this.__wbg_ptr, ptr0, len0);
13044
14720
  }
13045
14721
  /**
13046
- * Line height as a multiplier of the font's natural line height
13047
- * (ascender − descender + line gap). Defaults to `1.0`.
14722
+ * Extra space between characters, in ems (multiples of `size`). Not
14723
+ * added after the last character; ignored for Arabic-script text.
14724
+ * Negative values tighten. Defaults to `0.0`.
14725
+ * @param {number | null} [arg0]
14726
+ */
14727
+ set letterSpacing(arg0) {
14728
+ wasm.__wbg_set_textmaterial_letterSpacing(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
14729
+ }
14730
+ /**
14731
+ * Distance between the baselines of a multi-line label, in ems
14732
+ * (multiples of `size`). Defaults to the font's natural line height
14733
+ * (ascender − descender + line gap).
13048
14734
  * @param {number | null} [arg0]
13049
14735
  */
13050
14736
  set lineHeight(arg0) {
13051
14737
  wasm.__wbg_set_textmaterial_lineHeight(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
13052
14738
  }
14739
+ /**
14740
+ * Offset perpendicular to the line, in the same units as the font size:
14741
+ * pixels when `sizeInMeters` is false, metres when it is true. Positive is
14742
+ * to the left of the direction of travel, which puts the name above the
14743
+ * line. Defaults to `0.0`.
14744
+ * @param {number | null} [arg0]
14745
+ */
14746
+ set lineOffset(arg0) {
14747
+ wasm.__wbg_set_textmaterial_lineOffset(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
14748
+ }
14749
+ /**
14750
+ * Largest turn, in degrees, the line may make under a label within a
14751
+ * window of about one and a half ems before the label is dropped as
14752
+ * unreadable. The window slides along the label, so a long gentle curve
14753
+ * is accepted however far it turns in total. Defaults to `45.0`.
14754
+ * @param {number | null} [arg0]
14755
+ */
14756
+ set maxAngle(arg0) {
14757
+ wasm.__wbg_set_textmaterial_maxAngle(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
14758
+ }
13053
14759
  /**
13054
14760
  * Maximum line width in ems (multiples of `size`) before text wraps at
13055
14761
  * word boundaries. `0.0` (the default) disables wrapping; explicit `\n`
@@ -13066,6 +14772,20 @@ export class TextMaterial {
13066
14772
  set offsetDepth(arg0) {
13067
14773
  wasm.__wbg_set_textmaterial_offsetDepth(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
13068
14774
  }
14775
+ /**
14776
+ * Shift from the anchor point, x right and y down, in ems (multiples of
14777
+ * `size`), as MapLibre's `text-offset`. Lies in the label's own plane, so
14778
+ * it turns with `rotation`. Defaults to `(0, 0)`.
14779
+ * @param {Vec2 | null} [arg0]
14780
+ */
14781
+ set offset(arg0) {
14782
+ let ptr0 = 0;
14783
+ if (!isLikeNone(arg0)) {
14784
+ _assertClass(arg0, Vec2);
14785
+ ptr0 = arg0.__destroy_into_raw();
14786
+ }
14787
+ wasm.__wbg_set_textmaterial_offset(this.__wbg_ptr, ptr0);
14788
+ }
13069
14789
  /**
13070
14790
  * Opacity of the text
13071
14791
  * @param {number | null} [arg0]
@@ -13074,7 +14794,14 @@ export class TextMaterial {
13074
14794
  wasm.__wbg_set_textmaterial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
13075
14795
  }
13076
14796
  /**
13077
- * Outline blur radius in CSS pixels. Defaults to `0.0`.
14797
+ * Width over which the outline's outer edge fades out, centered on that
14798
+ * edge, in the unit of `outlineWidth`. Defaults to `0.0`.
14799
+ * @param {number | null} [arg0]
14800
+ */
14801
+ set outlineBlur(arg0) {
14802
+ wasm.__wbg_set_textmaterial_outlineBlur(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
14803
+ }
14804
+ /**
13078
14805
  * @param {number | null} [arg0]
13079
14806
  */
13080
14807
  set outlineColor(arg0) {
@@ -13088,18 +14815,50 @@ export class TextMaterial {
13088
14815
  wasm.__wbg_set_textmaterial_outlineOpacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
13089
14816
  }
13090
14817
  /**
13091
- * Outline thickness measured in CSS pixels. Defaults to `0.0`.
14818
+ * Outline thickness in 1/64 em: pixels of text drawn 64 pixels tall, so
14819
+ * the outline keeps its proportion to the glyphs at any size. Defaults
14820
+ * to `0.0`.
13092
14821
  * @param {number | null} [arg0]
13093
14822
  */
13094
14823
  set outlineWidth(arg0) {
13095
14824
  wasm.__wbg_set_textmaterial_outlineWidth(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
13096
14825
  }
13097
14826
  /**
13098
- * Whether the label turns to follow the camera. `true` (the default)
13099
- * keeps it facing the viewer. `false` freezes it in the anchor's local
13100
- * east-north-up frame, so moving the camera never reorients it: with
13101
- * `textFacing: "upright"` it becomes a signboard standing on the
13102
- * surface, with `"flat"` a north-up label painted on it.
14827
+ * Whether the label may be drawn over symbols placed before it:
14828
+ * `"never"` (the default) hides it on any collision, `"always"` never
14829
+ * does, `"cooperative"` hides it only when it collides with a `"never"`
14830
+ * symbol. Only meaningful when `declutter` is enabled.
14831
+ * @param {string | null} [arg0]
14832
+ */
14833
+ set overlap(arg0) {
14834
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
14835
+ var len0 = WASM_VECTOR_LEN;
14836
+ wasm.__wbg_set_textmaterial_overlap(this.__wbg_ptr, ptr0, len0);
14837
+ }
14838
+ /**
14839
+ * How anchors are derived from line and polygon geometry: `"point"` (the
14840
+ * default) puts a label per line string, at its first vertex, and one
14841
+ * per polygon, `"line"` repeats labels along the line every `spacing`
14842
+ * with the glyphs bending to follow it, `"line-center"` places a single
14843
+ * label at the line's midpoint. Polygon rings are walked like lines.
14844
+ * Requires `geometryTypes` to include `"line"` or `"polygon"`.
14845
+ * @param {string | null} [arg0]
14846
+ */
14847
+ set placement(arg0) {
14848
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
14849
+ var len0 = WASM_VECTOR_LEN;
14850
+ wasm.__wbg_set_textmaterial_placement(this.__wbg_ptr, ptr0, len0);
14851
+ }
14852
+ /**
14853
+ * Whether the label turns with the camera or with the map, as MapLibre's
14854
+ * `text-rotation-alignment` `viewport` and `map`. `true` keeps it reading
14855
+ * left to right (a screen-aligned billboard, or a flat label yawed to the
14856
+ * camera). `false` aligns it with the map: upright, it stays on screen but
14857
+ * turns with the camera heading so its x-axis points east; flat, it lies
14858
+ * north-up. Along a line, `false` makes the label follow the line, and
14859
+ * `true` draws it straight at its anchor unless `spreadGlyphs` is set.
14860
+ * Left unset, it is `true` for `placement: "point"` and `false` along a
14861
+ * line, as MapLibre resolves `auto`.
13103
14862
  * @param {boolean | null} [arg0]
13104
14863
  */
13105
14864
  set rotateWithCamera(arg0) {
@@ -13110,8 +14869,10 @@ export class TextMaterial {
13110
14869
  * degrees, clockwise seen from the front. Applied on top of whatever
13111
14870
  * orientation `textFacing` and `rotateWithCamera` resolve to: it spins a
13112
14871
  * billboard on screen and turns a surface label like a compass bearing.
13113
- * `center` decides where inside the text the pivot sits. Defaults to
13114
- * `0.0`.
14872
+ * `anchor` decides where inside the text the pivot sits. Along a line
14873
+ * each glyph spins about its own point on the line, as MapLibre's
14874
+ * `text-rotate` does, except for a straight label (`rotateWithCamera`
14875
+ * without `spreadGlyphs`), which turns as a whole. Defaults to `0.0`.
13115
14876
  * @param {number | null} [arg0]
13116
14877
  */
13117
14878
  set rotation(arg0) {
@@ -13137,9 +14898,49 @@ export class TextMaterial {
13137
14898
  set size(arg0) {
13138
14899
  wasm.__wbg_set_textmaterial_size(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
13139
14900
  }
14901
+ /**
14902
+ * Distance between repeated labels along a line, in screen pixels, for
14903
+ * `vector-tile` and `geojson` sources alike. Resolved per label as the
14904
+ * camera moves: labels thin out as it pulls back and fill in as it
14905
+ * closes, never moving, so the gap on screen stays between one and two
14906
+ * times `spacing` across a pitched view. As MapLibre does with
14907
+ * `symbol-spacing`, a label longer than three quarters of the spacing
14908
+ * spreads its repeats to its own length plus a quarter of the spacing, a
14909
+ * label within half the spacing of an earlier one with the same text is
14910
+ * dropped, and a vector tile places labels only inside its own bounds.
14911
+ * Defaults to `250.0`.
14912
+ * @param {number | null} [arg0]
14913
+ */
14914
+ set spacing(arg0) {
14915
+ wasm.__wbg_set_textmaterial_spacing(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));
14916
+ }
14917
+ /**
14918
+ * Place each glyph of an along-line label on its own instead of each
14919
+ * word. With `rotateWithCamera: false` each glyph turns with the line
14920
+ * under it (MapLibre's `symbol-placement: "line"`); with `true`, each
14921
+ * glyph turns to the camera like a point label and is spaced on the
14922
+ * screen (MapLibre's `viewport-glyph`). Can be overridden per feature
14923
+ * from a feature evaluator. Defaults to `false`.
14924
+ * @param {boolean | null} [arg0]
14925
+ */
14926
+ set spreadGlyphs(arg0) {
14927
+ wasm.__wbg_set_textmaterial_spreadGlyphs(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
14928
+ }
14929
+ /**
14930
+ * Whether this may show while its partner at the same anchor (the
14931
+ * layer's label for a billboard, its billboard for a label) is hidden.
14932
+ * With `false` on both, the two are placed together: both show or
14933
+ * neither does. Only meaningful when `declutter` is enabled. Defaults to
14934
+ * `true`.
14935
+ * @param {boolean | null} [arg0]
14936
+ */
14937
+ set standalone(arg0) {
14938
+ wasm.__wbg_set_textmaterial_standalone(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
14939
+ }
13140
14940
  /**
13141
14941
  * Horizontal alignment of lines within a multi-line block:
13142
- * `"left"`, `"center"` (default), or `"right"`.
14942
+ * `"left"`, `"center"` (default), `"right"`, or `"auto"`, which aligns
14943
+ * towards the horizontal side of `anchor` (MapLibre's `text-justify`).
13143
14944
  * @param {string | null} [arg0]
13144
14945
  */
13145
14946
  set textAlign(arg0) {
@@ -13148,9 +14949,13 @@ export class TextMaterial {
13148
14949
  wasm.__wbg_set_textmaterial_textAlign(this.__wbg_ptr, ptr0, len0);
13149
14950
  }
13150
14951
  /**
13151
- * Whether the label stands up (`"upright"`, the default) or lies on the
13152
- * globe surface around its anchor (`"flat"`), following its curvature so
13153
- * it reads as painted on the surface. Pair with `rotateWithCamera`.
14952
+ * Plane the label lies in: the screen (`"upright"`, never foreshortened)
14953
+ * or the globe surface around its anchor (`"flat"`), following its
14954
+ * curvature so it reads as painted on the surface. MapLibre's
14955
+ * `text-pitch-alignment` `viewport` and `map`. Pair with
14956
+ * `rotateWithCamera`. Left unset, it is `"flat"` when `rotateWithCamera`
14957
+ * resolves to `false` and `"upright"` otherwise, as MapLibre resolves
14958
+ * `auto`.
13154
14959
  * @param {string | null} [arg0]
13155
14960
  */
13156
14961
  set textFacing(arg0) {
@@ -13166,6 +14971,31 @@ export class TextMaterial {
13166
14971
  var len0 = WASM_VECTOR_LEN;
13167
14972
  wasm.__wbg_set_textmaterial_text(this.__wbg_ptr, ptr0, len0);
13168
14973
  }
14974
+ /**
14975
+ * Frame `translate` is measured in: `"map"` (default) turns it with the
14976
+ * camera heading so +x points east and +y south; `"viewport"` keeps it on
14977
+ * the screen axes. MapLibre's `text-translate-anchor`.
14978
+ * @param {string | null} [arg0]
14979
+ */
14980
+ set translateAnchor(arg0) {
14981
+ var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
14982
+ var len0 = WASM_VECTOR_LEN;
14983
+ wasm.__wbg_set_textmaterial_translateAnchor(this.__wbg_ptr, ptr0, len0);
14984
+ }
14985
+ /**
14986
+ * Screen-pixel shift of the drawn label, x right and y down, applied after
14987
+ * projection so it stays the same number of pixels at any distance, as
14988
+ * MapLibre's `text-translate`. Defaults to `(0, 0)`.
14989
+ * @param {Vec2 | null} [arg0]
14990
+ */
14991
+ set translate(arg0) {
14992
+ let ptr0 = 0;
14993
+ if (!isLikeNone(arg0)) {
14994
+ _assertClass(arg0, Vec2);
14995
+ ptr0 = arg0.__destroy_into_raw();
14996
+ }
14997
+ wasm.__wbg_set_textmaterial_translate(this.__wbg_ptr, ptr0);
14998
+ }
13169
14999
  /**
13170
15000
  * Enable transparency and alpha blending
13171
15001
  * @param {boolean | null} [arg0]
@@ -13173,6 +15003,19 @@ export class TextMaterial {
13173
15003
  set transparent(arg0) {
13174
15004
  wasm.__wbg_set_textmaterial_transparent(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);
13175
15005
  }
15006
+ /**
15007
+ * Placements the declutter pass tries in order, keeping the first whose
15008
+ * box is free, as MapLibre's `text-variable-anchor-offset`. The one in
15009
+ * use is tried first, so a label only moves when it must. Overrides
15010
+ * `anchor` and `offset` when not empty, except along a line. Without
15011
+ * declutter the first is used.
15012
+ * @param {VariableAnchor[] | null} [arg0]
15013
+ */
15014
+ set variableAnchors(arg0) {
15015
+ var ptr0 = isLikeNone(arg0) ? 0 : passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);
15016
+ var len0 = WASM_VECTOR_LEN;
15017
+ wasm.__wbg_set_textmaterial_variableAnchors(this.__wbg_ptr, ptr0, len0);
15018
+ }
13176
15019
  }
13177
15020
  if (Symbol.dispose) TextMaterial.prototype[Symbol.dispose] = TextMaterial.prototype.free;
13178
15021
 
@@ -13774,6 +15617,13 @@ export class TransferableGeometry {
13774
15617
  const ret = wasm.__wbg_get_transferablegeometry_normals(this.__wbg_ptr);
13775
15618
  return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
13776
15619
  }
15620
+ /**
15621
+ * @returns {number | undefined}
15622
+ */
15623
+ get skirt_heights() {
15624
+ const ret = wasm.__wbg_get_transferablegeometry_skirt_heights(this.__wbg_ptr);
15625
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
15626
+ }
13777
15627
  /**
13778
15628
  * @returns {number | undefined}
13779
15629
  */
@@ -13828,6 +15678,12 @@ export class TransferableGeometry {
13828
15678
  set normals(arg0) {
13829
15679
  wasm.__wbg_set_transferablegeometry_normals(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >> 0);
13830
15680
  }
15681
+ /**
15682
+ * @param {number | null} [arg0]
15683
+ */
15684
+ set skirt_heights(arg0) {
15685
+ wasm.__wbg_set_transferablegeometry_skirt_heights(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >> 0);
15686
+ }
13831
15687
  /**
13832
15688
  * @param {number | null} [arg0]
13833
15689
  */
@@ -14111,6 +15967,33 @@ export class TransferablePointGeometry {
14111
15967
  const ret = wasm.__wbg_get_transferablepointgeometry_batch_index(this.__wbg_ptr);
14112
15968
  return TransferableUintAttribute.__wrap(ret);
14113
15969
  }
15970
+ /**
15971
+ * Per-anchor tangent bearing in degrees clockwise from north, present only
15972
+ * when the anchors were placed along a line.
15973
+ * @returns {TransferableFloatAttribute | undefined}
15974
+ */
15975
+ get bearings() {
15976
+ const ret = wasm.__wbg_get_transferablepointgeometry_bearings(this.__wbg_ptr);
15977
+ return ret === 0 ? undefined : TransferableFloatAttribute.__wrap(ret);
15978
+ }
15979
+ /**
15980
+ * Per-anchor metres between adjacent path samples, then metres of real
15981
+ * line either side of the anchor.
15982
+ * @returns {TransferableFloatAttribute | undefined}
15983
+ */
15984
+ get path_meta() {
15985
+ const ret = wasm.__wbg_get_transferablepointgeometry_path_meta(this.__wbg_ptr);
15986
+ return ret === 0 ? undefined : TransferableFloatAttribute.__wrap(ret);
15987
+ }
15988
+ /**
15989
+ * Per-anchor east/north samples of the line, for bending glyphs along it.
15990
+ * `size` is the stride: two floats per sample.
15991
+ * @returns {TransferableFloatAttribute | undefined}
15992
+ */
15993
+ get path_samples() {
15994
+ const ret = wasm.__wbg_get_transferablepointgeometry_path_samples(this.__wbg_ptr);
15995
+ return ret === 0 ? undefined : TransferableFloatAttribute.__wrap(ret);
15996
+ }
14114
15997
  /**
14115
15998
  * @returns {TransferableFloatAttribute | undefined}
14116
15999
  */
@@ -14132,6 +16015,15 @@ export class TransferablePointGeometry {
14132
16015
  const ret = wasm.__wbg_get_transferablepointgeometry_position(this.__wbg_ptr);
14133
16016
  return ret === 0 ? undefined : TransferableFloatAttribute.__wrap(ret);
14134
16017
  }
16018
+ /**
16019
+ * Per-anchor `(min, max]` ground metres per screen pixel over which it is
16020
+ * shown; `size` is the stride. Present exactly when `bearings` is.
16021
+ * @returns {TransferableFloatAttribute | undefined}
16022
+ */
16023
+ get scale_bands() {
16024
+ const ret = wasm.__wbg_get_transferablepointgeometry_scale_bands(this.__wbg_ptr);
16025
+ return ret === 0 ? undefined : TransferableFloatAttribute.__wrap(ret);
16026
+ }
14135
16027
  /**
14136
16028
  * @param {TransferableFloatAttribute} arg0
14137
16029
  */
@@ -14148,6 +16040,45 @@ export class TransferablePointGeometry {
14148
16040
  var ptr0 = arg0.__destroy_into_raw();
14149
16041
  wasm.__wbg_set_transferablepointgeometry_batch_index(this.__wbg_ptr, ptr0);
14150
16042
  }
16043
+ /**
16044
+ * Per-anchor tangent bearing in degrees clockwise from north, present only
16045
+ * when the anchors were placed along a line.
16046
+ * @param {TransferableFloatAttribute | null} [arg0]
16047
+ */
16048
+ set bearings(arg0) {
16049
+ let ptr0 = 0;
16050
+ if (!isLikeNone(arg0)) {
16051
+ _assertClass(arg0, TransferableFloatAttribute);
16052
+ ptr0 = arg0.__destroy_into_raw();
16053
+ }
16054
+ wasm.__wbg_set_transferablepointgeometry_bearings(this.__wbg_ptr, ptr0);
16055
+ }
16056
+ /**
16057
+ * Per-anchor metres between adjacent path samples, then metres of real
16058
+ * line either side of the anchor.
16059
+ * @param {TransferableFloatAttribute | null} [arg0]
16060
+ */
16061
+ set path_meta(arg0) {
16062
+ let ptr0 = 0;
16063
+ if (!isLikeNone(arg0)) {
16064
+ _assertClass(arg0, TransferableFloatAttribute);
16065
+ ptr0 = arg0.__destroy_into_raw();
16066
+ }
16067
+ wasm.__wbg_set_transferablepointgeometry_path_meta(this.__wbg_ptr, ptr0);
16068
+ }
16069
+ /**
16070
+ * Per-anchor east/north samples of the line, for bending glyphs along it.
16071
+ * `size` is the stride: two floats per sample.
16072
+ * @param {TransferableFloatAttribute | null} [arg0]
16073
+ */
16074
+ set path_samples(arg0) {
16075
+ let ptr0 = 0;
16076
+ if (!isLikeNone(arg0)) {
16077
+ _assertClass(arg0, TransferableFloatAttribute);
16078
+ ptr0 = arg0.__destroy_into_raw();
16079
+ }
16080
+ wasm.__wbg_set_transferablepointgeometry_path_samples(this.__wbg_ptr, ptr0);
16081
+ }
14151
16082
  /**
14152
16083
  * @param {TransferableFloatAttribute | null} [arg0]
14153
16084
  */
@@ -14181,6 +16112,19 @@ export class TransferablePointGeometry {
14181
16112
  }
14182
16113
  wasm.__wbg_set_transferablepointgeometry_position(this.__wbg_ptr, ptr0);
14183
16114
  }
16115
+ /**
16116
+ * Per-anchor `(min, max]` ground metres per screen pixel over which it is
16117
+ * shown; `size` is the stride. Present exactly when `bearings` is.
16118
+ * @param {TransferableFloatAttribute | null} [arg0]
16119
+ */
16120
+ set scale_bands(arg0) {
16121
+ let ptr0 = 0;
16122
+ if (!isLikeNone(arg0)) {
16123
+ _assertClass(arg0, TransferableFloatAttribute);
16124
+ ptr0 = arg0.__destroy_into_raw();
16125
+ }
16126
+ wasm.__wbg_set_transferablepointgeometry_scale_bands(this.__wbg_ptr, ptr0);
16127
+ }
14184
16128
  }
14185
16129
  if (Symbol.dispose) TransferablePointGeometry.prototype[Symbol.dispose] = TransferablePointGeometry.prototype.free;
14186
16130
 
@@ -14906,8 +16850,8 @@ export class TransferablePolylineGeometry {
14906
16850
  /**
14907
16851
  * @returns {TransferableFloatAttribute | undefined}
14908
16852
  */
14909
- get end_normal_and_texture_coordinate_normalization_x() {
14910
- const ret = wasm.__wbg_get_transferablepolylinegeometry_end_normal_and_texture_coordinate_normalization_x(this.__wbg_ptr);
16853
+ get end_normal_and_segment_length() {
16854
+ const ret = wasm.__wbg_get_transferablepolylinegeometry_end_normal_and_segment_length(this.__wbg_ptr);
14911
16855
  return ret === 0 ? undefined : TransferableFloatAttribute.__wrap(ret);
14912
16856
  }
14913
16857
  /**
@@ -14924,6 +16868,20 @@ export class TransferablePolylineGeometry {
14924
16868
  const ret = wasm.__wbg_get_transferablepolylinegeometry_indices(this.__wbg_ptr);
14925
16869
  return ret;
14926
16870
  }
16871
+ /**
16872
+ * @returns {TransferableFloatAttribute | undefined}
16873
+ */
16874
+ get line_distance_and_ends() {
16875
+ const ret = wasm.__wbg_get_transferablepolylinegeometry_line_distance_and_ends(this.__wbg_ptr);
16876
+ return ret === 0 ? undefined : TransferableFloatAttribute.__wrap(ret);
16877
+ }
16878
+ /**
16879
+ * @returns {TransferableFloatAttribute | undefined}
16880
+ */
16881
+ get line_segments() {
16882
+ const ret = wasm.__wbg_get_transferablepolylinegeometry_line_segments(this.__wbg_ptr);
16883
+ return ret === 0 ? undefined : TransferableFloatAttribute.__wrap(ret);
16884
+ }
14927
16885
  /**
14928
16886
  * @returns {TransferableFloatAttribute | undefined}
14929
16887
  */
@@ -14948,8 +16906,8 @@ export class TransferablePolylineGeometry {
14948
16906
  /**
14949
16907
  * @returns {TransferableFloatAttribute}
14950
16908
  */
14951
- get right_normal_and_texture_coordinate_normalization_y() {
14952
- const ret = wasm.__wbg_get_transferablepolylinegeometry_right_normal_and_texture_coordinate_normalization_y(this.__wbg_ptr);
16909
+ get right_normal_and_line_length() {
16910
+ const ret = wasm.__wbg_get_transferablepolylinegeometry_right_normal_and_line_length(this.__wbg_ptr);
14953
16911
  return TransferableFloatAttribute.__wrap(ret);
14954
16912
  }
14955
16913
  /**
@@ -14969,8 +16927,8 @@ export class TransferablePolylineGeometry {
14969
16927
  /**
14970
16928
  * @returns {TransferableFloatAttribute | undefined}
14971
16929
  */
14972
- get start_normals() {
14973
- const ret = wasm.__wbg_get_transferablepolylinegeometry_start_normals(this.__wbg_ptr);
16930
+ get start_normal_and_length_high() {
16931
+ const ret = wasm.__wbg_get_transferablepolylinegeometry_start_normal_and_length_high(this.__wbg_ptr);
14974
16932
  return ret === 0 ? undefined : TransferableFloatAttribute.__wrap(ret);
14975
16933
  }
14976
16934
  /**
@@ -15027,13 +16985,13 @@ export class TransferablePolylineGeometry {
15027
16985
  /**
15028
16986
  * @param {TransferableFloatAttribute | null} [arg0]
15029
16987
  */
15030
- set end_normal_and_texture_coordinate_normalization_x(arg0) {
16988
+ set end_normal_and_segment_length(arg0) {
15031
16989
  let ptr0 = 0;
15032
16990
  if (!isLikeNone(arg0)) {
15033
16991
  _assertClass(arg0, TransferableFloatAttribute);
15034
16992
  ptr0 = arg0.__destroy_into_raw();
15035
16993
  }
15036
- wasm.__wbg_set_transferablepolylinegeometry_end_normal_and_texture_coordinate_normalization_x(this.__wbg_ptr, ptr0);
16994
+ wasm.__wbg_set_transferablepolylinegeometry_end_normal_and_segment_length(this.__wbg_ptr, ptr0);
15037
16995
  }
15038
16996
  /**
15039
16997
  * @param {TransferableFloatAttribute | null} [arg0]
@@ -15052,6 +17010,28 @@ export class TransferablePolylineGeometry {
15052
17010
  set indices(arg0) {
15053
17011
  wasm.__wbg_set_transferablepolylinegeometry_indices(this.__wbg_ptr, arg0);
15054
17012
  }
17013
+ /**
17014
+ * @param {TransferableFloatAttribute | null} [arg0]
17015
+ */
17016
+ set line_distance_and_ends(arg0) {
17017
+ let ptr0 = 0;
17018
+ if (!isLikeNone(arg0)) {
17019
+ _assertClass(arg0, TransferableFloatAttribute);
17020
+ ptr0 = arg0.__destroy_into_raw();
17021
+ }
17022
+ wasm.__wbg_set_transferablepolylinegeometry_line_distance_and_ends(this.__wbg_ptr, ptr0);
17023
+ }
17024
+ /**
17025
+ * @param {TransferableFloatAttribute | null} [arg0]
17026
+ */
17027
+ set line_segments(arg0) {
17028
+ let ptr0 = 0;
17029
+ if (!isLikeNone(arg0)) {
17030
+ _assertClass(arg0, TransferableFloatAttribute);
17031
+ ptr0 = arg0.__destroy_into_raw();
17032
+ }
17033
+ wasm.__wbg_set_transferablepolylinegeometry_line_segments(this.__wbg_ptr, ptr0);
17034
+ }
15055
17035
  /**
15056
17036
  * @param {TransferableFloatAttribute | null} [arg0]
15057
17037
  */
@@ -15085,10 +17065,10 @@ export class TransferablePolylineGeometry {
15085
17065
  /**
15086
17066
  * @param {TransferableFloatAttribute} arg0
15087
17067
  */
15088
- set right_normal_and_texture_coordinate_normalization_y(arg0) {
17068
+ set right_normal_and_line_length(arg0) {
15089
17069
  _assertClass(arg0, TransferableFloatAttribute);
15090
17070
  var ptr0 = arg0.__destroy_into_raw();
15091
- wasm.__wbg_set_transferablepolylinegeometry_right_normal_and_texture_coordinate_normalization_y(this.__wbg_ptr, ptr0);
17071
+ wasm.__wbg_set_transferablepolylinegeometry_right_normal_and_line_length(this.__wbg_ptr, ptr0);
15092
17072
  }
15093
17073
  /**
15094
17074
  * @param {TransferableFloatAttribute | null} [arg0]
@@ -15115,13 +17095,13 @@ export class TransferablePolylineGeometry {
15115
17095
  /**
15116
17096
  * @param {TransferableFloatAttribute | null} [arg0]
15117
17097
  */
15118
- set start_normals(arg0) {
17098
+ set start_normal_and_length_high(arg0) {
15119
17099
  let ptr0 = 0;
15120
17100
  if (!isLikeNone(arg0)) {
15121
17101
  _assertClass(arg0, TransferableFloatAttribute);
15122
17102
  ptr0 = arg0.__destroy_into_raw();
15123
17103
  }
15124
- wasm.__wbg_set_transferablepolylinegeometry_start_normals(this.__wbg_ptr, ptr0);
17104
+ wasm.__wbg_set_transferablepolylinegeometry_start_normal_and_length_high(this.__wbg_ptr, ptr0);
15125
17105
  }
15126
17106
  /**
15127
17107
  * @param {TransferableFloatAttribute | null} [arg0]
@@ -15144,14 +17124,16 @@ export class TransferablePolylineGeometry {
15144
17124
  * @param {TransferableFloatAttribute | null | undefined} forward_offset
15145
17125
  * @param {TransferableFloatAttribute | null | undefined} end_high
15146
17126
  * @param {TransferableFloatAttribute | null | undefined} end_low
15147
- * @param {TransferableFloatAttribute | null | undefined} start_normals
15148
- * @param {TransferableFloatAttribute | null | undefined} end_normal_and_texture_coordinate_normalization_x
15149
- * @param {TransferableFloatAttribute} right_normal_and_texture_coordinate_normalization_y
17127
+ * @param {TransferableFloatAttribute | null | undefined} start_normal_and_length_high
17128
+ * @param {TransferableFloatAttribute | null | undefined} end_normal_and_segment_length
17129
+ * @param {TransferableFloatAttribute} right_normal_and_line_length
15150
17130
  * @param {TransferableFloatAttribute | null | undefined} batch_ids
15151
17131
  * @param {TransferableUintAttribute | null | undefined} batch_index
15152
17132
  * @param {number} indices
17133
+ * @param {TransferableFloatAttribute | null} [line_segments]
17134
+ * @param {TransferableFloatAttribute | null} [line_distance_and_ends]
15153
17135
  */
15154
- constructor(position, position_high, position_low, start, start_high, start_low, forward_offset, end_high, end_low, start_normals, end_normal_and_texture_coordinate_normalization_x, right_normal_and_texture_coordinate_normalization_y, batch_ids, batch_index, indices) {
17136
+ constructor(position, position_high, position_low, start, start_high, start_low, forward_offset, end_high, end_low, start_normal_and_length_high, end_normal_and_segment_length, right_normal_and_line_length, batch_ids, batch_index, indices, line_segments, line_distance_and_ends) {
15155
17137
  _assertClass(position, TransferableFloatAttribute);
15156
17138
  var ptr0 = position.__destroy_into_raw();
15157
17139
  let ptr1 = 0;
@@ -15195,17 +17177,17 @@ export class TransferablePolylineGeometry {
15195
17177
  ptr8 = end_low.__destroy_into_raw();
15196
17178
  }
15197
17179
  let ptr9 = 0;
15198
- if (!isLikeNone(start_normals)) {
15199
- _assertClass(start_normals, TransferableFloatAttribute);
15200
- ptr9 = start_normals.__destroy_into_raw();
17180
+ if (!isLikeNone(start_normal_and_length_high)) {
17181
+ _assertClass(start_normal_and_length_high, TransferableFloatAttribute);
17182
+ ptr9 = start_normal_and_length_high.__destroy_into_raw();
15201
17183
  }
15202
17184
  let ptr10 = 0;
15203
- if (!isLikeNone(end_normal_and_texture_coordinate_normalization_x)) {
15204
- _assertClass(end_normal_and_texture_coordinate_normalization_x, TransferableFloatAttribute);
15205
- ptr10 = end_normal_and_texture_coordinate_normalization_x.__destroy_into_raw();
17185
+ if (!isLikeNone(end_normal_and_segment_length)) {
17186
+ _assertClass(end_normal_and_segment_length, TransferableFloatAttribute);
17187
+ ptr10 = end_normal_and_segment_length.__destroy_into_raw();
15206
17188
  }
15207
- _assertClass(right_normal_and_texture_coordinate_normalization_y, TransferableFloatAttribute);
15208
- var ptr11 = right_normal_and_texture_coordinate_normalization_y.__destroy_into_raw();
17189
+ _assertClass(right_normal_and_line_length, TransferableFloatAttribute);
17190
+ var ptr11 = right_normal_and_line_length.__destroy_into_raw();
15209
17191
  let ptr12 = 0;
15210
17192
  if (!isLikeNone(batch_ids)) {
15211
17193
  _assertClass(batch_ids, TransferableFloatAttribute);
@@ -15216,7 +17198,17 @@ export class TransferablePolylineGeometry {
15216
17198
  _assertClass(batch_index, TransferableUintAttribute);
15217
17199
  ptr13 = batch_index.__destroy_into_raw();
15218
17200
  }
15219
- const ret = wasm.transferablepolylinegeometry_new(ptr0, ptr1, ptr2, ptr3, ptr4, ptr5, ptr6, ptr7, ptr8, ptr9, ptr10, ptr11, ptr12, ptr13, indices);
17201
+ let ptr14 = 0;
17202
+ if (!isLikeNone(line_segments)) {
17203
+ _assertClass(line_segments, TransferableFloatAttribute);
17204
+ ptr14 = line_segments.__destroy_into_raw();
17205
+ }
17206
+ let ptr15 = 0;
17207
+ if (!isLikeNone(line_distance_and_ends)) {
17208
+ _assertClass(line_distance_and_ends, TransferableFloatAttribute);
17209
+ ptr15 = line_distance_and_ends.__destroy_into_raw();
17210
+ }
17211
+ const ret = wasm.transferablepolylinegeometry_new(ptr0, ptr1, ptr2, ptr3, ptr4, ptr5, ptr6, ptr7, ptr8, ptr9, ptr10, ptr11, ptr12, ptr13, indices, ptr14, ptr15);
15220
17212
  this.__wbg_ptr = ret;
15221
17213
  TransferablePolylineGeometryFinalization.register(this, this.__wbg_ptr, this);
15222
17214
  return this;
@@ -15965,6 +17957,83 @@ export class UpsampleTerrainMeshResult {
15965
17957
  }
15966
17958
  if (Symbol.dispose) UpsampleTerrainMeshResult.prototype[Symbol.dispose] = UpsampleTerrainMeshResult.prototype.free;
15967
17959
 
17960
+ /**
17961
+ * One placement a label may take, as an entry of MapLibre's
17962
+ * `text-variable-anchor-offset`.
17963
+ */
17964
+ export class VariableAnchor {
17965
+ static __wrap(ptr) {
17966
+ const obj = Object.create(VariableAnchor.prototype);
17967
+ obj.__wbg_ptr = ptr;
17968
+ VariableAnchorFinalization.register(obj, obj.__wbg_ptr, obj);
17969
+ return obj;
17970
+ }
17971
+ static __unwrap(jsValue) {
17972
+ if (!(jsValue instanceof VariableAnchor)) {
17973
+ return 0;
17974
+ }
17975
+ return jsValue.__destroy_into_raw();
17976
+ }
17977
+ __destroy_into_raw() {
17978
+ const ptr = this.__wbg_ptr;
17979
+ this.__wbg_ptr = 0;
17980
+ VariableAnchorFinalization.unregister(this);
17981
+ return ptr;
17982
+ }
17983
+ free() {
17984
+ const ptr = this.__destroy_into_raw();
17985
+ wasm.__wbg_variableanchor_free(ptr, 0);
17986
+ }
17987
+ /**
17988
+ * Part of the text block placed at the anchor point, as `anchor`.
17989
+ * @returns {string}
17990
+ */
17991
+ get anchor() {
17992
+ let deferred1_0;
17993
+ let deferred1_1;
17994
+ try {
17995
+ const ret = wasm.__wbg_get_variableanchor_anchor(this.__wbg_ptr);
17996
+ deferred1_0 = ret[0];
17997
+ deferred1_1 = ret[1];
17998
+ return getStringFromWasm0(ret[0], ret[1]);
17999
+ } finally {
18000
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
18001
+ }
18002
+ }
18003
+ /**
18004
+ * Shift from the anchor point, x right and y down, in ems. Defaults to
18005
+ * `(0, 0)`.
18006
+ * @returns {Vec2 | undefined}
18007
+ */
18008
+ get offset() {
18009
+ const ret = wasm.__wbg_get_variableanchor_offset(this.__wbg_ptr);
18010
+ return ret === 0 ? undefined : Vec2.__wrap(ret);
18011
+ }
18012
+ /**
18013
+ * Part of the text block placed at the anchor point, as `anchor`.
18014
+ * @param {string} arg0
18015
+ */
18016
+ set anchor(arg0) {
18017
+ const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
18018
+ const len0 = WASM_VECTOR_LEN;
18019
+ wasm.__wbg_set_variableanchor_anchor(this.__wbg_ptr, ptr0, len0);
18020
+ }
18021
+ /**
18022
+ * Shift from the anchor point, x right and y down, in ems. Defaults to
18023
+ * `(0, 0)`.
18024
+ * @param {Vec2 | null} [arg0]
18025
+ */
18026
+ set offset(arg0) {
18027
+ let ptr0 = 0;
18028
+ if (!isLikeNone(arg0)) {
18029
+ _assertClass(arg0, Vec2);
18030
+ ptr0 = arg0.__destroy_into_raw();
18031
+ }
18032
+ wasm.__wbg_set_variableanchor_offset(this.__wbg_ptr, ptr0);
18033
+ }
18034
+ }
18035
+ if (Symbol.dispose) VariableAnchor.prototype[Symbol.dispose] = VariableAnchor.prototype.free;
18036
+
15968
18037
  export class Vec2 {
15969
18038
  static __wrap(ptr) {
15970
18039
  const obj = Object.create(Vec2.prototype);
@@ -16653,8 +18722,8 @@ export class WorkerTaskDelegatedEvent {
16653
18722
  }
16654
18723
  /**
16655
18724
  * Dispatch urgency: 0 is the most urgent (see `Priority::rank`). The
16656
- * platform keeps its pending stack sorted by this so a terrain mesh task
16657
- * overtakes older, less urgent work waiting for a worker.
18725
+ * engine already emits a frame's tasks in this order and bounds how many
18726
+ * are in flight, so the platform starts them as they come.
16658
18727
  * @returns {number}
16659
18728
  */
16660
18729
  get priority() {
@@ -16688,8 +18757,8 @@ export class WorkerTaskDelegatedEvent {
16688
18757
  }
16689
18758
  /**
16690
18759
  * Dispatch urgency: 0 is the most urgent (see `Priority::rank`). The
16691
- * platform keeps its pending stack sorted by this so a terrain mesh task
16692
- * overtakes older, less urgent work waiting for a worker.
18760
+ * engine already emits a frame's tasks in this order and bounds how many
18761
+ * are in flight, so the platform starts them as they come.
16693
18762
  * @param {number} arg0
16694
18763
  */
16695
18764
  set priority(arg0) {
@@ -16706,6 +18775,23 @@ export class WorkerTaskDelegatedEvent {
16706
18775
  }
16707
18776
  if (Symbol.dispose) WorkerTaskDelegatedEvent.prototype[Symbol.dispose] = WorkerTaskDelegatedEvent.prototype.free;
16708
18777
 
18778
+ /**
18779
+ * Height of the rendered terrain surface for an unexaggerated terrain height:
18780
+ * `(height - relativeHeight) * scale + relativeHeight`, with a negative
18781
+ * `scale` clamped to 0.
18782
+ *
18783
+ * Exported so the web side (tile bounds, `sampleTerrainMostDetailed`) maps
18784
+ * heights with the same function the engine's bounds and height queries use.
18785
+ * @param {number} height
18786
+ * @param {number} scale
18787
+ * @param {number} relative_height
18788
+ * @returns {number}
18789
+ */
18790
+ export function exaggerateTerrainHeight(height, scale, relative_height) {
18791
+ const ret = wasm.exaggerateTerrainHeight(height, scale, relative_height);
18792
+ return ret;
18793
+ }
18794
+
16709
18795
  /**
16710
18796
  * @returns {string}
16711
18797
  */
@@ -17128,6 +19214,14 @@ function __wbg_get_imports() {
17128
19214
  const ret = arg0.value;
17129
19215
  return ret;
17130
19216
  },
19217
+ __wbg_variableanchor_new: function(arg0) {
19218
+ const ret = VariableAnchor.__wrap(arg0);
19219
+ return ret;
19220
+ },
19221
+ __wbg_variableanchor_unwrap: function(arg0) {
19222
+ const ret = VariableAnchor.__unwrap(arg0);
19223
+ return ret;
19224
+ },
17131
19225
  __wbg_vectortilestate_new: function(arg0) {
17132
19226
  const ret = VectorTileState.__wrap(arg0);
17133
19227
  return ret;
@@ -17439,6 +19533,9 @@ const SourceDataFinalization = (typeof FinalizationRegistry === 'undefined')
17439
19533
  const SourceDescriptionFinalization = (typeof FinalizationRegistry === 'undefined')
17440
19534
  ? { register: () => {}, unregister: () => {} }
17441
19535
  : new FinalizationRegistry(ptr => wasm.__wbg_sourcedescription_free(ptr, 1));
19536
+ const TerrainExaggerationUpdatedEventFinalization = (typeof FinalizationRegistry === 'undefined')
19537
+ ? { register: () => {}, unregister: () => {} }
19538
+ : new FinalizationRegistry(ptr => wasm.__wbg_terrainexaggerationupdatedevent_free(ptr, 1));
17442
19539
  const TerrainHeightRangeUpdatedEventFinalization = (typeof FinalizationRegistry === 'undefined')
17443
19540
  ? { register: () => {}, unregister: () => {} }
17444
19541
  : new FinalizationRegistry(ptr => wasm.__wbg_terrainheightrangeupdatedevent_free(ptr, 1));
@@ -17538,6 +19635,9 @@ const UpsampleTerrainMeshParametersFinalization = (typeof FinalizationRegistry =
17538
19635
  const UpsampleTerrainMeshResultFinalization = (typeof FinalizationRegistry === 'undefined')
17539
19636
  ? { register: () => {}, unregister: () => {} }
17540
19637
  : new FinalizationRegistry(ptr => wasm.__wbg_upsampleterrainmeshresult_free(ptr, 1));
19638
+ const VariableAnchorFinalization = (typeof FinalizationRegistry === 'undefined')
19639
+ ? { register: () => {}, unregister: () => {} }
19640
+ : new FinalizationRegistry(ptr => wasm.__wbg_variableanchor_free(ptr, 1));
17541
19641
  const Vec2Finalization = (typeof FinalizationRegistry === 'undefined')
17542
19642
  ? { register: () => {}, unregister: () => {} }
17543
19643
  : new FinalizationRegistry(ptr => wasm.__wbg_vec2_free(ptr, 1));
@@ -17671,11 +19771,24 @@ function getArrayU32FromWasm0(ptr, len) {
17671
19771
  return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);
17672
19772
  }
17673
19773
 
19774
+ function getArrayU64FromWasm0(ptr, len) {
19775
+ ptr = ptr >>> 0;
19776
+ return getBigUint64ArrayMemory0().subarray(ptr / 8, ptr / 8 + len);
19777
+ }
19778
+
17674
19779
  function getArrayU8FromWasm0(ptr, len) {
17675
19780
  ptr = ptr >>> 0;
17676
19781
  return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
17677
19782
  }
17678
19783
 
19784
+ let cachedBigUint64ArrayMemory0 = null;
19785
+ function getBigUint64ArrayMemory0() {
19786
+ if (cachedBigUint64ArrayMemory0 === null || cachedBigUint64ArrayMemory0.byteLength === 0) {
19787
+ cachedBigUint64ArrayMemory0 = new BigUint64Array(wasm.memory.buffer);
19788
+ }
19789
+ return cachedBigUint64ArrayMemory0;
19790
+ }
19791
+
17679
19792
  let cachedDataViewMemory0 = null;
17680
19793
  function getDataViewMemory0() {
17681
19794
  if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
@@ -17856,6 +19969,7 @@ function __wbg_finalize_init(instance, module) {
17856
19969
  wasmInstance = instance;
17857
19970
  wasm = instance.exports;
17858
19971
  wasmModule = module;
19972
+ cachedBigUint64ArrayMemory0 = null;
17859
19973
  cachedDataViewMemory0 = null;
17860
19974
  cachedFloat32ArrayMemory0 = null;
17861
19975
  cachedFloat64ArrayMemory0 = null;