isard 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/CHANGELOG.md +220 -2
  2. package/README.md +23 -7
  3. package/dist/basemap/furniture.d.ts +8 -0
  4. package/dist/basemap/furniture.js +26 -0
  5. package/dist/basemap/furniture.js.map +1 -0
  6. package/dist/basemap/trees.d.ts +35 -8
  7. package/dist/basemap/trees.js +105 -52
  8. package/dist/basemap/trees.js.map +1 -1
  9. package/dist/basemap/vectorstyle.d.ts +9 -3
  10. package/dist/basemap/vectorstyle.js +5 -6
  11. package/dist/basemap/vectorstyle.js.map +1 -1
  12. package/dist/basemap/vectortiles/context.d.ts +46 -0
  13. package/dist/basemap/vectortiles/context.js +6 -0
  14. package/dist/basemap/vectortiles/context.js.map +1 -0
  15. package/dist/basemap/vectortiles/extrusions.d.ts +15 -0
  16. package/dist/basemap/vectortiles/extrusions.js +61 -0
  17. package/dist/basemap/vectortiles/extrusions.js.map +1 -0
  18. package/dist/basemap/vectortiles/labels.d.ts +25 -0
  19. package/dist/basemap/vectortiles/labels.js +250 -0
  20. package/dist/basemap/vectortiles/labels.js.map +1 -0
  21. package/dist/basemap/vectortiles/lamps.d.ts +23 -0
  22. package/dist/basemap/vectortiles/lamps.js +90 -0
  23. package/dist/basemap/vectortiles/lamps.js.map +1 -0
  24. package/dist/basemap/vectortiles/requests.d.ts +28 -0
  25. package/dist/basemap/vectortiles/requests.js +74 -0
  26. package/dist/basemap/vectortiles/requests.js.map +1 -0
  27. package/dist/basemap/vectortiles/street-wind.d.ts +19 -0
  28. package/dist/basemap/vectortiles/street-wind.js +133 -0
  29. package/dist/basemap/vectortiles/street-wind.js.map +1 -0
  30. package/dist/basemap/vectortiles/style.d.ts +47 -0
  31. package/dist/basemap/vectortiles/style.js +141 -0
  32. package/dist/basemap/vectortiles/style.js.map +1 -0
  33. package/dist/basemap/vectortiles/tiles.d.ts +34 -0
  34. package/dist/basemap/vectortiles/tiles.js +62 -0
  35. package/dist/basemap/vectortiles/tiles.js.map +1 -0
  36. package/dist/basemap/vectortiles/trees.d.ts +28 -0
  37. package/dist/basemap/vectortiles/trees.js +178 -0
  38. package/dist/basemap/vectortiles/trees.js.map +1 -0
  39. package/dist/basemap/vectortiles/vectors.d.ts +37 -0
  40. package/dist/basemap/vectortiles/vectors.js +231 -0
  41. package/dist/basemap/vectortiles/vectors.js.map +1 -0
  42. package/dist/basemap/vectortiles.d.ts +49 -96
  43. package/dist/basemap/vectortiles.js +99 -774
  44. package/dist/basemap/vectortiles.js.map +1 -1
  45. package/dist/basemap/workerpool.js +25 -6
  46. package/dist/basemap/workerpool.js.map +1 -1
  47. package/dist/basemap.worker.js +2 -2
  48. package/dist/basemap.worker.js.map +14 -12
  49. package/dist/bind/layers.js +1 -0
  50. package/dist/bind/layers.js.map +1 -1
  51. package/dist/data/collada.d.ts +19 -0
  52. package/dist/data/collada.js +319 -0
  53. package/dist/data/collada.js.map +1 -0
  54. package/dist/data/ifc.d.ts +100 -0
  55. package/dist/data/ifc.js +372 -0
  56. package/dist/data/ifc.js.map +1 -0
  57. package/dist/decoder.worker.js +5 -4
  58. package/dist/decoder.worker.js.map +8 -6
  59. package/dist/engine/decoders.d.ts +4 -8
  60. package/dist/engine/decoders.js +29 -2
  61. package/dist/engine/decoders.js.map +1 -1
  62. package/dist/formats.d.ts +7 -2
  63. package/dist/formats.js +7 -2
  64. package/dist/formats.js.map +1 -1
  65. package/dist/index.d.ts +15 -2
  66. package/dist/index.js +7 -2
  67. package/dist/index.js.map +1 -1
  68. package/dist/isard_bg.wasm +0 -0
  69. package/dist/isard_core_bg.wasm +0 -0
  70. package/dist/isard_grid_bg.wasm +0 -0
  71. package/dist/isard_tess_bg.wasm +0 -0
  72. package/dist/layers/extrusions.d.ts +10 -0
  73. package/dist/layers/extrusions.js +28 -2
  74. package/dist/layers/extrusions.js.map +1 -1
  75. package/dist/layers/flow.d.ts +9 -2
  76. package/dist/layers/flow.js +51 -10
  77. package/dist/layers/flow.js.map +1 -1
  78. package/dist/layers/layers.d.ts +12 -0
  79. package/dist/layers/layers.js +44 -1
  80. package/dist/layers/layers.js.map +1 -1
  81. package/dist/layers/panoramas.d.ts +2 -0
  82. package/dist/layers/panoramas.js +27 -6
  83. package/dist/layers/panoramas.js.map +1 -1
  84. package/dist/layers/photos.d.ts +48 -0
  85. package/dist/layers/photos.js +140 -0
  86. package/dist/layers/photos.js.map +1 -0
  87. package/dist/layers/symbols.d.ts +5 -1
  88. package/dist/layers/symbols.js +111 -32
  89. package/dist/layers/symbols.js.map +1 -1
  90. package/dist/layers/trees.d.ts +28 -0
  91. package/dist/layers/trees.js +51 -0
  92. package/dist/layers/trees.js.map +1 -0
  93. package/dist/layers/vectors.d.ts +28 -2
  94. package/dist/layers/vectors.js +81 -7
  95. package/dist/layers/vectors.js.map +1 -1
  96. package/dist/map/layer-spec.d.ts +3 -0
  97. package/dist/map/layer-spec.js +2 -0
  98. package/dist/map/layer-spec.js.map +1 -1
  99. package/dist/map/workers.js +3 -0
  100. package/dist/map/workers.js.map +1 -1
  101. package/dist/map.d.ts +8 -0
  102. package/dist/map.js +15 -2
  103. package/dist/map.js.map +1 -1
  104. package/dist/panoramax.d.ts +49 -0
  105. package/dist/panoramax.js +71 -0
  106. package/dist/panoramax.js.map +1 -0
  107. package/dist/react/Layer.d.ts +1 -0
  108. package/dist/react/Layer.js.map +1 -1
  109. package/dist/react/VectorGeometry.d.ts +5 -0
  110. package/dist/react/VectorGeometry.js +12 -4
  111. package/dist/react/VectorGeometry.js.map +1 -1
  112. package/dist/util/gltf.d.ts +9 -0
  113. package/dist/util/gltf.js +27 -0
  114. package/dist/util/gltf.js.map +1 -0
  115. package/dist/util/read.d.ts +4 -0
  116. package/dist/util/read.js +28 -0
  117. package/dist/util/read.js.map +1 -0
  118. package/dist/util/roofs.d.ts +10 -0
  119. package/dist/util/roofs.js +30 -0
  120. package/dist/util/roofs.js.map +1 -0
  121. package/dist/wasm/isard.d.ts +74 -22
  122. package/dist/wasm/isard.js +153 -22
  123. package/dist/wasm/isard_core.d.ts +62 -22
  124. package/dist/wasm/isard_core.js +129 -22
  125. package/dist/wasm/isard_tess.d.ts +6 -3
  126. package/dist/wasm/isard_tess.js +27 -4
  127. package/dist/workers/basemap/geometry.d.ts +38 -22
  128. package/dist/workers/basemap/labels.d.ts +14 -1
  129. package/dist/workers/basemap/lamps.d.ts +10 -0
  130. package/dist/workers/basemap/street.d.ts +1 -1
  131. package/dist/workers/basemap/trees.d.ts +3 -1
  132. package/dist/workers/basemap.worker.d.ts +43 -3
  133. package/dist/workers/basemap.worker.js +14 -2
  134. package/dist/workers/basemap.worker.js.map +1 -1
  135. package/package.json +1 -1
@@ -574,6 +574,14 @@ export class Engine {
574
574
  const ret = wasm.engine_project(this.__wbg_ptr, lon, lat, !isLikeNone(height), isLikeNone(height) ? 0 : height);
575
575
  return ret;
576
576
  }
577
+ /**
578
+ * A flow layer's second field becomes its field (the model's next hour reached): only the hour after it is then
579
+ * sent (`setFlowNext`)
580
+ * @param {number} id
581
+ */
582
+ promoteFlowNext(id) {
583
+ wasm.engine_promoteFlowNext(this.__wbg_ptr, id);
584
+ }
577
585
  /**
578
586
  * Removes batch `key` of an extrusion layer (nothing if there is none)
579
587
  * @param {number} id
@@ -729,7 +737,7 @@ export class Engine {
729
737
  }
730
738
  /**
731
739
  * Adds or replaces batch `key` of an extrusion layer: polygons as for `addFills`, `feature_count` features (the
732
- * feature style gives each its height and base height as its two sizes, metres)
740
+ * feature style gives each its height and base height as its two sizes, metres), each polygon's roof (`Roofs`)
733
741
  *
734
742
  * # Errors
735
743
  *
@@ -742,8 +750,11 @@ export class Engine {
742
750
  * @param {Uint32Array} polygon_start
743
751
  * @param {Uint32Array} feature
744
752
  * @param {number} feature_count
753
+ * @param {Uint8Array} roofs
754
+ * @param {Float32Array} roof_heights
755
+ * @param {number} metres
745
756
  */
746
- setExtrusionBatch(id, key, points, ring_start, polygon_start, feature, feature_count) {
757
+ setExtrusionBatch(id, key, points, ring_start, polygon_start, feature, feature_count, roofs, roof_heights, metres) {
747
758
  const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);
748
759
  const len0 = WASM_VECTOR_LEN;
749
760
  const ptr1 = passArray32ToWasm0(ring_start, wasm.__wbindgen_malloc);
@@ -752,11 +763,23 @@ export class Engine {
752
763
  const len2 = WASM_VECTOR_LEN;
753
764
  const ptr3 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);
754
765
  const len3 = WASM_VECTOR_LEN;
755
- const ret = wasm.engine_setExtrusionBatch(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, feature_count);
766
+ const ptr4 = passArray8ToWasm0(roofs, wasm.__wbindgen_malloc);
767
+ const len4 = WASM_VECTOR_LEN;
768
+ const ptr5 = passArrayF32ToWasm0(roof_heights, wasm.__wbindgen_malloc);
769
+ const len5 = WASM_VECTOR_LEN;
770
+ const ret = wasm.engine_setExtrusionBatch(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, feature_count, ptr4, len4, ptr5, len5, metres);
756
771
  if (ret[1]) {
757
772
  throw takeFromExternrefTable0(ret[0]);
758
773
  }
759
774
  }
775
+ /**
776
+ * Whether the buildings of an extrusion layer, or of a vector tiles layer, show their windows on their walls
777
+ * @param {number} id
778
+ * @param {boolean} on
779
+ */
780
+ setFacades(id, on) {
781
+ wasm.engine_setFacades(this.__wbg_ptr, id, on);
782
+ }
760
783
  /**
761
784
  * Layer-wide style of a feature layer: opacity as zoom stops (four zooms then four values), the zoom range it
762
785
  * shows in (`min_zoom` included, `max_zoom` excluded), whether it shows at all
@@ -882,8 +905,8 @@ export class Engine {
882
905
  wasm.engine_setFlowField(this.__wbg_ptr, id, width, height, ptr0, len0, ptr1, len1, ptr2, len2);
883
906
  }
884
907
  /**
885
- * The field a flow layer's goes towards, on its grid (the model's next hour: east and north components, row after
886
- * row; empty: none), mixed in by `setFlowBlend`
908
+ * A flow layer's second field, on its grid (the model's next hour, or the flow of a wind towards the north: east
909
+ * and north components, row after row; empty: none), mixed in by `setFlowBlend` or `setFlowWeights`
887
910
  * @param {number} id
888
911
  * @param {Float32Array} u
889
912
  * @param {Float32Array} v
@@ -915,6 +938,16 @@ export class Engine {
915
938
  const len1 = WASM_VECTOR_LEN;
916
939
  wasm.engine_setFlowStyle(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, width, opacity, height, speed, density);
917
940
  }
941
+ /**
942
+ * A flow layer's velocity as `a` times its field plus `b` times its second one (a wind of `a` m/s towards the east
943
+ * and `b` towards the north, from the flows of 1 m/s each way): nothing sent again but two numbers
944
+ * @param {number} id
945
+ * @param {number} a
946
+ * @param {number} b
947
+ */
948
+ setFlowWeights(id, a, b) {
949
+ wasm.engine_setFlowWeights(this.__wbg_ptr, id, a, b);
950
+ }
918
951
  /**
919
952
  * Color of the globe under the tiles (polar caps)
920
953
  * @param {number} r
@@ -1104,6 +1137,30 @@ export class Engine {
1104
1137
  setMaxPitch(max) {
1105
1138
  wasm.engine_setMaxPitch(this.__wbg_ptr, max);
1106
1139
  }
1140
+ /**
1141
+ * Lights at night the part of a model layer's model from `from` metres up (a street lamp's head) in `r, g, b`;
1142
+ * `from` not a number: none
1143
+ * @param {number} id
1144
+ * @param {number} from
1145
+ * @param {number} r
1146
+ * @param {number} g
1147
+ * @param {number} b
1148
+ */
1149
+ setModelGlow(id, from, r, g, b) {
1150
+ wasm.engine_setModelGlow(this.__wbg_ptr, id, from, r, g, b);
1151
+ }
1152
+ /**
1153
+ * Highlights the feature `feature` of a model layer's model (an IFC model's element) in `r, g, b`; `feature` not a
1154
+ * number: none
1155
+ * @param {number} id
1156
+ * @param {number} feature
1157
+ * @param {number} r
1158
+ * @param {number} g
1159
+ * @param {number} b
1160
+ */
1161
+ setModelHighlight(id, feature, r, g, b) {
1162
+ wasm.engine_setModelHighlight(this.__wbg_ptr, id, feature, r, g, b);
1163
+ }
1107
1164
  /**
1108
1165
  * Replaces the instances of a model layer (as for `addModels`) and the reference of their altitudes
1109
1166
  * @param {number} id
@@ -1297,25 +1354,27 @@ export class Engine {
1297
1354
  }
1298
1355
  /**
1299
1356
  * Layer-wide style of a symbol layer: size scale and opacity as zoom stops (four zooms then four values each),
1300
- * zoom range, visibility
1357
+ * zoom range, visibility, hidden by the buildings
1301
1358
  * @param {number} id
1302
1359
  * @param {Float32Array} size
1303
1360
  * @param {Float32Array} opacity
1304
1361
  * @param {number} min_zoom
1305
1362
  * @param {number} max_zoom
1306
1363
  * @param {boolean} visible
1364
+ * @param {boolean} occluded
1307
1365
  */
1308
- setSymbolLayer(id, size, opacity, min_zoom, max_zoom, visible) {
1366
+ setSymbolLayer(id, size, opacity, min_zoom, max_zoom, visible, occluded) {
1309
1367
  const ptr0 = passArrayF32ToWasm0(size, wasm.__wbindgen_malloc);
1310
1368
  const len0 = WASM_VECTOR_LEN;
1311
1369
  const ptr1 = passArrayF32ToWasm0(opacity, wasm.__wbindgen_malloc);
1312
1370
  const len1 = WASM_VECTOR_LEN;
1313
- wasm.engine_setSymbolLayer(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, min_zoom, max_zoom, visible);
1371
+ wasm.engine_setSymbolLayer(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, min_zoom, max_zoom, visible, occluded);
1314
1372
  }
1315
1373
  /**
1316
1374
  * Labels of a symbol layer, shaped by the page: anchors (Mercator, interleaved), their texts' boxes (min x, min y,
1317
- * max x, max y, CSS pixels from the anchor), styles (36 floats each, see `LABEL_FLOATS`) and glyph and icon quads
1318
- * (11 floats each, see `QUAD_FLOATS`)
1375
+ * max x, max y, CSS pixels from the anchor), styles (37 floats each, see `LABEL_FLOATS`), glyph and icon quads
1376
+ * (11 floats each, see `QUAD_FLOATS`) and the lines their curved texts follow (`paths`: for each label, its number
1377
+ * of points, the index of its anchor among them, then the points, Mercator; 0, 0 and none for the others)
1319
1378
  *
1320
1379
  * # Errors
1321
1380
  *
@@ -1326,8 +1385,9 @@ export class Engine {
1326
1385
  * @param {Float32Array} boxes
1327
1386
  * @param {Float32Array} styles
1328
1387
  * @param {Float32Array} quads
1388
+ * @param {Float64Array} paths
1329
1389
  */
1330
- setSymbols(id, anchors, boxes, styles, quads) {
1390
+ setSymbols(id, anchors, boxes, styles, quads, paths) {
1331
1391
  const ptr0 = passArrayF64ToWasm0(anchors, wasm.__wbindgen_malloc);
1332
1392
  const len0 = WASM_VECTOR_LEN;
1333
1393
  const ptr1 = passArrayF32ToWasm0(boxes, wasm.__wbindgen_malloc);
@@ -1336,7 +1396,9 @@ export class Engine {
1336
1396
  const len2 = WASM_VECTOR_LEN;
1337
1397
  const ptr3 = passArrayF32ToWasm0(quads, wasm.__wbindgen_malloc);
1338
1398
  const len3 = WASM_VECTOR_LEN;
1339
- const ret = wasm.engine_setSymbols(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
1399
+ const ptr4 = passArrayF64ToWasm0(paths, wasm.__wbindgen_malloc);
1400
+ const len4 = WASM_VECTOR_LEN;
1401
+ const ret = wasm.engine_setSymbols(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4);
1340
1402
  if (ret[1]) {
1341
1403
  throw takeFromExternrefTable0(ret[0]);
1342
1404
  }
@@ -1392,11 +1454,15 @@ export class Engine {
1392
1454
  wasm.engine_setTiles3dStyle(this.__wbg_ptr, id, max_error, opacity, !isLikeNone(point_size), isLikeNone(point_size) ? 0 : point_size, ptr0, len0);
1393
1455
  }
1394
1456
  /**
1395
- * The style layers of a vector tile layer, in drawing order: per layer, its kind (0 fill, 1 line, 2 extrusion), its zoom range
1457
+ * The style layers of a vector tile layer, in drawing order: per layer, its kind (0 fill, 1 line, 2 extrusion, 3
1458
+ * circle), its zoom range
1396
1459
  * (two numbers: shown from the first, included, to the second, excluded), whether it shows (0 or 1), its dashes
1397
1460
  * (four numbers: dash, gap, dash, gap, in line widths; 0: solid), its opacity as zoom stops (four zooms then four
1398
1461
  * values; missing: opaque), the caps of its lines' ends (0 butt, 1 round, 2 square; missing: round), whether its
1399
- * lines glow at night (streets; 0 or 1)
1462
+ * lines glow at night (streets; 0 or 1), the joins of its lines (two numbers: 0 round, 1 miter, 2 bevel, then the
1463
+ * miter limit in line widths; missing: round), the translation of its fills or lines (three numbers: x and y in CSS
1464
+ * pixels, x right and y down, then 0 if it turns with the map, 1 if it stays on the screen; missing: none), whether its
1465
+ * fills have patterns (0 or 1)
1400
1466
  * @param {number} id
1401
1467
  * @param {Uint8Array} kinds
1402
1468
  * @param {Float64Array} zooms
@@ -1405,8 +1471,11 @@ export class Engine {
1405
1471
  * @param {Float32Array} opacities
1406
1472
  * @param {Uint8Array} caps
1407
1473
  * @param {Uint8Array} lit
1474
+ * @param {Float32Array} joins
1475
+ * @param {Float32Array} translates
1476
+ * @param {Uint8Array} patterned
1408
1477
  */
1409
- setVectorSublayers(id, kinds, zooms, visible, dashes, opacities, caps, lit) {
1478
+ setVectorSublayers(id, kinds, zooms, visible, dashes, opacities, caps, lit, joins, translates, patterned) {
1410
1479
  const ptr0 = passArray8ToWasm0(kinds, wasm.__wbindgen_malloc);
1411
1480
  const len0 = WASM_VECTOR_LEN;
1412
1481
  const ptr1 = passArrayF64ToWasm0(zooms, wasm.__wbindgen_malloc);
@@ -1421,7 +1490,13 @@ export class Engine {
1421
1490
  const len5 = WASM_VECTOR_LEN;
1422
1491
  const ptr6 = passArray8ToWasm0(lit, wasm.__wbindgen_malloc);
1423
1492
  const len6 = WASM_VECTOR_LEN;
1424
- wasm.engine_setVectorSublayers(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6);
1493
+ const ptr7 = passArrayF32ToWasm0(joins, wasm.__wbindgen_malloc);
1494
+ const len7 = WASM_VECTOR_LEN;
1495
+ const ptr8 = passArrayF32ToWasm0(translates, wasm.__wbindgen_malloc);
1496
+ const len8 = WASM_VECTOR_LEN;
1497
+ const ptr9 = passArray8ToWasm0(patterned, wasm.__wbindgen_malloc);
1498
+ const len9 = WASM_VECTOR_LEN;
1499
+ wasm.engine_setVectorSublayers(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8, ptr9, len9);
1425
1500
  }
1426
1501
  /**
1427
1502
  * Adds or replaces tile `key` of a vector tile layer ready for the GPU, as the basemap workers make it (the
@@ -1493,13 +1568,36 @@ export class Engine {
1493
1568
  throw takeFromExternrefTable0(ret[0]);
1494
1569
  }
1495
1570
  }
1571
+ /**
1572
+ * The points of tile `key` of a vector tile layer, after the tile itself (`setVectorTile`, `setVectorTileMesh`):
1573
+ * Mercator, interleaved, each with its feature (styled as a circle's: a color, a radius and a stroke width, then the
1574
+ * stroke's color), `start` the first point of each sublayer and the end; the circle sublayers draw theirs
1575
+ * @param {number} id
1576
+ * @param {number} key
1577
+ * @param {Float64Array} points
1578
+ * @param {Uint32Array} feature
1579
+ * @param {Uint32Array} start
1580
+ */
1581
+ setVectorTilePoints(id, key, points, feature, start) {
1582
+ const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);
1583
+ const len0 = WASM_VECTOR_LEN;
1584
+ const ptr1 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);
1585
+ const len1 = WASM_VECTOR_LEN;
1586
+ const ptr2 = passArray32ToWasm0(start, wasm.__wbindgen_malloc);
1587
+ const len2 = WASM_VECTOR_LEN;
1588
+ wasm.engine_setVectorTilePoints(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2);
1589
+ }
1496
1590
  /**
1497
1591
  * Adds or replaces tile `key` of a vector tile layer: its polygons as for `addFills` (`fill_start`: the first
1498
1592
  * polygon of each sublayer, and the end; those of an extrusion sublayer raised into blocks), its lines as for
1499
1593
  * `addLines` (`line_start`: the first line of each sublayer, and the end), `feature_count` features, styled as an
1500
1594
  * extrusion layer's (`setFeatureStyle` with the key: a color, then a line's width or a block's height and base);
1501
1595
  * `tile`: the corners of the tile they are cut to (west, north, east, south; empty: none), along whose edges no
1502
- * wall of a block rises
1596
+ * wall of a block rises; `roofs` and `roof_heights`: per polygon, the shape and height of its block's roof
1597
+ * (`shapes::Roofs`: 0 flat, 1 to 5 `RoofShape::number`, 255 generated from its outline; metres, not a number: as
1598
+ * its slopes make it; empty: flat), the whole outlines of the buildings the tile cuts (`roof_outlines`, interleaved
1599
+ * Mercator points, `roof_outline_start`: where each polygon's starts, and the end), `roof_metres` the metres per
1600
+ * Mercator unit at the tile
1503
1601
  *
1504
1602
  * # Errors
1505
1603
  *
@@ -1518,8 +1616,13 @@ export class Engine {
1518
1616
  * @param {Uint32Array} line_start
1519
1617
  * @param {number} feature_count
1520
1618
  * @param {Float64Array} tile
1619
+ * @param {Uint8Array} roofs
1620
+ * @param {Float32Array} roof_heights
1621
+ * @param {Float64Array} roof_outlines
1622
+ * @param {Uint32Array} roof_outline_start
1623
+ * @param {number} roof_metres
1521
1624
  */
1522
- setVectorTile(id, key, points, ring_start, polygon_start, polygon_feature, fill_start, line_points, line_first, line_feature, line_start, feature_count, tile) {
1625
+ setVectorTile(id, key, points, ring_start, polygon_start, polygon_feature, fill_start, line_points, line_first, line_feature, line_start, feature_count, tile, roofs, roof_heights, roof_outlines, roof_outline_start, roof_metres) {
1523
1626
  const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);
1524
1627
  const len0 = WASM_VECTOR_LEN;
1525
1628
  const ptr1 = passArray32ToWasm0(ring_start, wasm.__wbindgen_malloc);
@@ -1540,7 +1643,15 @@ export class Engine {
1540
1643
  const len8 = WASM_VECTOR_LEN;
1541
1644
  const ptr9 = passArrayF64ToWasm0(tile, wasm.__wbindgen_malloc);
1542
1645
  const len9 = WASM_VECTOR_LEN;
1543
- const ret = wasm.engine_setVectorTile(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8, feature_count, ptr9, len9);
1646
+ const ptr10 = passArray8ToWasm0(roofs, wasm.__wbindgen_malloc);
1647
+ const len10 = WASM_VECTOR_LEN;
1648
+ const ptr11 = passArrayF32ToWasm0(roof_heights, wasm.__wbindgen_malloc);
1649
+ const len11 = WASM_VECTOR_LEN;
1650
+ const ptr12 = passArrayF64ToWasm0(roof_outlines, wasm.__wbindgen_malloc);
1651
+ const len12 = WASM_VECTOR_LEN;
1652
+ const ptr13 = passArray32ToWasm0(roof_outline_start, wasm.__wbindgen_malloc);
1653
+ const len13 = WASM_VECTOR_LEN;
1654
+ const ret = wasm.engine_setVectorTile(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8, feature_count, ptr9, len9, ptr10, len10, ptr11, len11, ptr12, len12, ptr13, len13, roof_metres);
1544
1655
  if (ret[1]) {
1545
1656
  throw takeFromExternrefTable0(ret[0]);
1546
1657
  }
@@ -1593,12 +1704,15 @@ export class Engine {
1593
1704
  return ret;
1594
1705
  }
1595
1706
  /**
1596
- * Moves a flow layer's particles by `seconds` of the page's time (one animation frame), in the current view
1707
+ * Moves a flow layer's particles by `seconds` of the page's time (one animation frame), in the current view;
1708
+ * whether they moved (none in view, or no field: the map need not be drawn again)
1597
1709
  * @param {number} id
1598
1710
  * @param {number} seconds
1711
+ * @returns {boolean}
1599
1712
  */
1600
1713
  stepFlow(id, seconds) {
1601
- wasm.engine_stepFlow(this.__wbg_ptr, id, seconds);
1714
+ const ret = wasm.engine_stepFlow(this.__wbg_ptr, id, seconds);
1715
+ return ret !== 0;
1602
1716
  }
1603
1717
  /**
1604
1718
  * The height above the relief (metres) of the top of what stands at a position (degrees): a roof, a mesh, 0 on
@@ -1719,6 +1833,17 @@ export class Engine {
1719
1833
  const len0 = WASM_VECTOR_LEN;
1720
1834
  wasm.engine_updateIconAtlas(this.__wbg_ptr, x, y, width, height, ptr0, len0);
1721
1835
  }
1836
+ /**
1837
+ * Uploads a part more of the blocks of tile `key` of a vector tile layer (a large tile's, a part at a time over
1838
+ * several frames); whether some are left. Its blocks are drawn once they are all there
1839
+ * @param {number} id
1840
+ * @param {number} key
1841
+ * @returns {boolean}
1842
+ */
1843
+ uploadVectorTile(id, key) {
1844
+ const ret = wasm.engine_uploadVectorTile(this.__wbg_ptr, id, key);
1845
+ return ret !== 0;
1846
+ }
1722
1847
  /**
1723
1848
  * Vector tiles (512 CSS pixels across at their level, as `MapLibre`'s) for the view of the last frame (else the
1724
1849
  * camera's), levels `min_z` to `max_z`, three numbers per tile (z, x, y), the nearest to the eye first: what a
@@ -1942,6 +2067,12 @@ function __wbg_get_imports() {
1942
2067
  __wbg_bufferData_bad7ce562b6a9eac: function(arg0, arg1, arg2, arg3) {
1943
2068
  arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0);
1944
2069
  },
2070
+ __wbg_bufferSubData_22c4c420e0f67cda: function(arg0, arg1, arg2, arg3) {
2071
+ arg0.bufferSubData(arg1 >>> 0, arg2, arg3);
2072
+ },
2073
+ __wbg_bufferSubData_8609cd8a2c013181: function(arg0, arg1, arg2, arg3) {
2074
+ arg0.bufferSubData(arg1 >>> 0, arg2, arg3);
2075
+ },
1945
2076
  __wbg_byteLength_141bda7c7c28aa72: function(arg0) {
1946
2077
  const ret = arg0.byteLength;
1947
2078
  return ret;
@@ -2998,7 +3129,7 @@ function __wbg_get_imports() {
2998
3129
  return ret;
2999
3130
  },
3000
3131
  __wbindgen_generic_0000000000000001: function(arg0, arg1) {
3001
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 218, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3132
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 225, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3002
3133
  const ret = makeMutClosure(arg0, arg1, wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___wasm_bindgen_2e566c63402fe7fa___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_2e566c63402fe7fa___JsError___true_);
3003
3134
  return ret;
3004
3135
  },
@@ -267,6 +267,11 @@ export class Engine {
267
267
  * Screen point (CSS pixels) of a ground position, or `height` metres above it, undefined behind the camera
268
268
  */
269
269
  project(lon: number, lat: number, height?: number | null): [x: number, y: number] | undefined;
270
+ /**
271
+ * A flow layer's second field becomes its field (the model's next hour reached): only the hour after it is then
272
+ * sent (`setFlowNext`)
273
+ */
274
+ promoteFlowNext(id: number): void;
270
275
  /**
271
276
  * Removes batch `key` of an extrusion layer (nothing if there is none)
272
277
  */
@@ -339,14 +344,18 @@ export class Engine {
339
344
  setExtrusionAnchors(id: number, key: number, anchors: Float32Array): void;
340
345
  /**
341
346
  * Adds or replaces batch `key` of an extrusion layer: polygons as for `addFills`, `feature_count` features (the
342
- * feature style gives each its height and base height as its two sizes, metres)
347
+ * feature style gives each its height and base height as its two sizes, metres), each polygon's roof (`Roofs`)
343
348
  *
344
349
  * # Errors
345
350
  *
346
351
  * Throws (to JavaScript) when a WebGL buffer or vertex array of the batch cannot be created, or when
347
352
  * `feature_count` features need a table texture past the GPU's `MAX_TEXTURE_SIZE`
348
353
  */
349
- setExtrusionBatch(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, feature: Uint32Array, feature_count: number): void;
354
+ setExtrusionBatch(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, feature: Uint32Array, feature_count: number, roofs: Uint8Array, roof_heights: Float32Array, metres: number): void;
355
+ /**
356
+ * Whether the buildings of an extrusion layer, or of a vector tiles layer, show their windows on their walls
357
+ */
358
+ setFacades(id: number, on: boolean): void;
350
359
  /**
351
360
  * Layer-wide style of a feature layer: opacity as zoom stops (four zooms then four values), the zoom range it
352
361
  * shows in (`min_zoom` included, `max_zoom` excluded), whether it shows at all
@@ -393,8 +402,8 @@ export class Engine {
393
402
  */
394
403
  setFlowField(id: number, width: number, height: number, u: Float32Array, v: Float32Array, bounds: Float64Array): void;
395
404
  /**
396
- * The field a flow layer's goes towards, on its grid (the model's next hour: east and north components, row after
397
- * row; empty: none), mixed in by `setFlowBlend`
405
+ * A flow layer's second field, on its grid (the model's next hour, or the flow of a wind towards the north: east
406
+ * and north components, row after row; empty: none), mixed in by `setFlowBlend` or `setFlowWeights`
398
407
  */
399
408
  setFlowNext(id: number, u: Float32Array, v: Float32Array): void;
400
409
  /**
@@ -403,6 +412,11 @@ export class Engine {
403
412
  * particles moving for each 100 × 100 CSS pixels of the view (at most the layer's)
404
413
  */
405
414
  setFlowStyle(id: number, speeds: Float32Array, colors: Float32Array, width: number, opacity: number, height: number, speed: number, density: number): void;
415
+ /**
416
+ * A flow layer's velocity as `a` times its field plus `b` times its second one (a wind of `a` m/s towards the east
417
+ * and `b` towards the north, from the flows of 1 m/s each way): nothing sent again but two numbers
418
+ */
419
+ setFlowWeights(id: number, a: number, b: number): void;
406
420
  /**
407
421
  * Color of the globe under the tiles (polar caps)
408
422
  */
@@ -544,20 +558,21 @@ export class Engine {
544
558
  setSwipe(x: number, right: boolean, layers: Uint32Array, others: Uint32Array): void;
545
559
  /**
546
560
  * Layer-wide style of a symbol layer: size scale and opacity as zoom stops (four zooms then four values each),
547
- * zoom range, visibility
561
+ * zoom range, visibility, hidden by the buildings
548
562
  */
549
- setSymbolLayer(id: number, size: Float32Array, opacity: Float32Array, min_zoom: number, max_zoom: number, visible: boolean): void;
563
+ setSymbolLayer(id: number, size: Float32Array, opacity: Float32Array, min_zoom: number, max_zoom: number, visible: boolean, occluded: boolean): void;
550
564
  /**
551
565
  * Labels of a symbol layer, shaped by the page: anchors (Mercator, interleaved), their texts' boxes (min x, min y,
552
- * max x, max y, CSS pixels from the anchor), styles (36 floats each, see `LABEL_FLOATS`) and glyph and icon quads
553
- * (11 floats each, see `QUAD_FLOATS`)
566
+ * max x, max y, CSS pixels from the anchor), styles (37 floats each, see `LABEL_FLOATS`), glyph and icon quads
567
+ * (11 floats each, see `QUAD_FLOATS`) and the lines their curved texts follow (`paths`: for each label, its number
568
+ * of points, the index of its anchor among them, then the points, Mercator; 0, 0 and none for the others)
554
569
  *
555
570
  * # Errors
556
571
  *
557
572
  * Throws (to JavaScript) when the labels need a table texture past the GPU's `MAX_TEXTURE_SIZE`, or
558
573
  * when it cannot be created; the layer then keeps its labels
559
574
  */
560
- setSymbols(id: number, anchors: Float64Array, boxes: Float32Array, styles: Float32Array, quads: Float32Array): void;
575
+ setSymbols(id: number, anchors: Float64Array, boxes: Float32Array, styles: Float32Array, quads: Float32Array, paths: Float64Array): void;
561
576
  /**
562
577
  * Relief under the raster layers, from raw altitudes (`image/x-bil;bits=32`, 256 × 256, or the same followed by
563
578
  * the validity mask of an `ArcGIS` raw grid): `url` is a template with `{bbox}` (WMS `GetMap` in EPSG:3857, or in
@@ -574,13 +589,17 @@ export class Engine {
574
589
  */
575
590
  setTerrain(url: string | null | undefined, exaggeration: number, max_z: number | null | undefined, geoid: boolean | null | undefined, loader: ((z: number, x: number, y: number, signal: AbortSignal) => Promise<Float32Array | null>) | undefined): void;
576
591
  /**
577
- * The style layers of a vector tile layer, in drawing order: per layer, its kind (0 fill, 1 line, 2 extrusion), its zoom range
592
+ * The style layers of a vector tile layer, in drawing order: per layer, its kind (0 fill, 1 line, 2 extrusion, 3
593
+ * circle), its zoom range
578
594
  * (two numbers: shown from the first, included, to the second, excluded), whether it shows (0 or 1), its dashes
579
595
  * (four numbers: dash, gap, dash, gap, in line widths; 0: solid), its opacity as zoom stops (four zooms then four
580
596
  * values; missing: opaque), the caps of its lines' ends (0 butt, 1 round, 2 square; missing: round), whether its
581
- * lines glow at night (streets; 0 or 1)
597
+ * lines glow at night (streets; 0 or 1), the joins of its lines (two numbers: 0 round, 1 miter, 2 bevel, then the
598
+ * miter limit in line widths; missing: round), the translation of its fills or lines (three numbers: x and y in CSS
599
+ * pixels, x right and y down, then 0 if it turns with the map, 1 if it stays on the screen; missing: none), whether its
600
+ * fills have patterns (0 or 1)
582
601
  */
583
- setVectorSublayers(id: number, kinds: Uint8Array, zooms: Float64Array, visible: Uint8Array, dashes: Float32Array, opacities: Float32Array, caps: Uint8Array, lit: Uint8Array): void;
602
+ setVectorSublayers(id: number, kinds: Uint8Array, zooms: Float64Array, visible: Uint8Array, dashes: Float32Array, opacities: Float32Array, caps: Uint8Array, lit: Uint8Array, joins: Float32Array, translates: Float32Array, patterned: Uint8Array): void;
584
603
  /**
585
604
  * Adds or replaces tile `key` of a vector tile layer ready for the GPU, as the basemap workers make it (the
586
605
  * tessellation module): its polygons as for `setVectorTile` (picked here; their prisms built here if drawn in
@@ -597,20 +616,30 @@ export class Engine {
597
616
  * created, or when its features or lines need a table texture past the GPU's `MAX_TEXTURE_SIZE`
598
617
  */
599
618
  setVectorTileMesh(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, polygon_feature: Uint32Array, fill_start: Uint32Array, vertices: Uint8Array, indices: Uint32Array, fill_ranges: Uint32Array, prism: boolean, pieces: Uint8Array, line_table: Float32Array, line_ranges: Uint32Array, blocks: Uint8Array, block_indices: Uint32Array, block_ranges: Uint32Array, bounds: Float64Array, feature_count: number): void;
619
+ /**
620
+ * The points of tile `key` of a vector tile layer, after the tile itself (`setVectorTile`, `setVectorTileMesh`):
621
+ * Mercator, interleaved, each with its feature (styled as a circle's: a color, a radius and a stroke width, then the
622
+ * stroke's color), `start` the first point of each sublayer and the end; the circle sublayers draw theirs
623
+ */
624
+ setVectorTilePoints(id: number, key: number, points: Float64Array, feature: Uint32Array, start: Uint32Array): void;
600
625
  /**
601
626
  * Adds or replaces tile `key` of a vector tile layer: its polygons as for `addFills` (`fill_start`: the first
602
627
  * polygon of each sublayer, and the end; those of an extrusion sublayer raised into blocks), its lines as for
603
628
  * `addLines` (`line_start`: the first line of each sublayer, and the end), `feature_count` features, styled as an
604
629
  * extrusion layer's (`setFeatureStyle` with the key: a color, then a line's width or a block's height and base);
605
630
  * `tile`: the corners of the tile they are cut to (west, north, east, south; empty: none), along whose edges no
606
- * wall of a block rises
631
+ * wall of a block rises; `roofs` and `roof_heights`: per polygon, the shape and height of its block's roof
632
+ * (`shapes::Roofs`: 0 flat, 1 to 5 `RoofShape::number`, 255 generated from its outline; metres, not a number: as
633
+ * its slopes make it; empty: flat), the whole outlines of the buildings the tile cuts (`roof_outlines`, interleaved
634
+ * Mercator points, `roof_outline_start`: where each polygon's starts, and the end), `roof_metres` the metres per
635
+ * Mercator unit at the tile
607
636
  *
608
637
  * # Errors
609
638
  *
610
639
  * Throws (to JavaScript) when a WebGL object of the tile cannot be created, or when its features or lines need a
611
640
  * table texture past the GPU's `MAX_TEXTURE_SIZE`
612
641
  */
613
- setVectorTile(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, polygon_feature: Uint32Array, fill_start: Uint32Array, line_points: Float64Array, line_first: Uint32Array, line_feature: Uint32Array, line_start: Uint32Array, feature_count: number, tile: Float64Array): void;
642
+ setVectorTile(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, polygon_feature: Uint32Array, fill_start: Uint32Array, line_points: Float64Array, line_first: Uint32Array, line_feature: Uint32Array, line_start: Uint32Array, feature_count: number, tile: Float64Array, roofs: Uint8Array, roof_heights: Float32Array, roof_outlines: Float64Array, roof_outline_start: Uint32Array, roof_metres: number): void;
614
643
  /**
615
644
  * Shows what can be seen from points, each within its range: `observers` holds 8 numbers per observer
616
645
  * (16 at most): longitude, latitude (degrees), metres above the ground, range (metres), then to look one way
@@ -633,9 +662,10 @@ export class Engine {
633
662
  */
634
663
  stats(): RasterLayerStats[];
635
664
  /**
636
- * Moves a flow layer's particles by `seconds` of the page's time (one animation frame), in the current view
665
+ * Moves a flow layer's particles by `seconds` of the page's time (one animation frame), in the current view;
666
+ * whether they moved (none in view, or no field: the map need not be drawn again)
637
667
  */
638
- stepFlow(id: number, seconds: number): void;
668
+ stepFlow(id: number, seconds: number): boolean;
639
669
  /**
640
670
  * The height above the relief (metres) of the top of what stands at a position (degrees): a roof, a mesh, 0 on
641
671
  * the bare ground; undefined where nothing of the last frame is there. The scene is drawn from above into a single
@@ -669,6 +699,11 @@ export class Engine {
669
699
  * A region of the icon atlas: `width` × `height` RGBA texels (premultiplied) at (`x`, `y`)
670
700
  */
671
701
  updateIconAtlas(x: number, y: number, width: number, height: number, data: Uint8Array): void;
702
+ /**
703
+ * Uploads a part more of the blocks of tile `key` of a vector tile layer (a large tile's, a part at a time over
704
+ * several frames); whether some are left. Its blocks are drawn once they are all there
705
+ */
706
+ uploadVectorTile(id: number, key: number): boolean;
672
707
  /**
673
708
  * Vector tiles (512 CSS pixels across at their level, as `MapLibre`'s) for the view of the last frame (else the
674
709
  * camera's), levels `min_z` to `max_z`, three numbers per tile (z, x, y), the nearest to the eye first: what a
@@ -720,6 +755,7 @@ export interface InitOutput {
720
755
  readonly engine_pollPick: (a: number) => any;
721
756
  readonly engine_preload: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
722
757
  readonly engine_project: (a: number, b: number, c: number, d: number, e: number) => any;
758
+ readonly engine_promoteFlowNext: (a: number, b: number) => void;
723
759
  readonly engine_removeExtrusionBatch: (a: number, b: number, c: number) => void;
724
760
  readonly engine_removeLayer: (a: number, b: number) => void;
725
761
  readonly engine_removeVectorTile: (a: number, b: number, c: number) => void;
@@ -734,7 +770,8 @@ export interface InitOutput {
734
770
  readonly engine_setCircleAlignment: (a: number, b: number, c: number) => void;
735
771
  readonly engine_setCircles: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
736
772
  readonly engine_setExtrusionAnchors: (a: number, b: number, c: number, d: number, e: number) => [number, number];
737
- readonly engine_setExtrusionBatch: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => [number, number];
773
+ readonly engine_setExtrusionBatch: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number) => [number, number];
774
+ readonly engine_setFacades: (a: number, b: number, c: number) => void;
738
775
  readonly engine_setFeatureLayer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
739
776
  readonly engine_setFeatureMask: (a: number, b: number, c: number, d: number, e: number) => void;
740
777
  readonly engine_setFeatureRamp: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
@@ -746,6 +783,7 @@ export interface InitOutput {
746
783
  readonly engine_setFlowField: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
747
784
  readonly engine_setFlowNext: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
748
785
  readonly engine_setFlowStyle: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
786
+ readonly engine_setFlowWeights: (a: number, b: number, c: number, d: number) => void;
749
787
  readonly engine_setGlobe: (a: number, b: number) => void;
750
788
  readonly engine_setGlobeColor: (a: number, b: number, c: number, d: number) => void;
751
789
  readonly engine_setGlyphAtlas: (a: number, b: number, c: number, d: number, e: number) => [number, number];
@@ -769,22 +807,24 @@ export interface InitOutput {
769
807
  readonly engine_setSky: (a: number, b: number) => void;
770
808
  readonly engine_setSun: (a: number, b: number, c: number, d: number, e: number) => [number, number];
771
809
  readonly engine_setSwipe: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
772
- readonly engine_setSymbolLayer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
773
- readonly engine_setSymbols: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
810
+ readonly engine_setSymbolLayer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
811
+ readonly engine_setSymbols: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => [number, number];
774
812
  readonly engine_setTerrain: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
775
- readonly engine_setVectorSublayers: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number) => void;
776
- readonly engine_setVectorTile: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number) => [number, number];
813
+ readonly engine_setVectorSublayers: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number) => void;
814
+ readonly engine_setVectorTile: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number) => [number, number];
777
815
  readonly engine_setVectorTileMesh: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number) => [number, number];
816
+ readonly engine_setVectorTilePoints: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
778
817
  readonly engine_setViewshed: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
779
818
  readonly engine_setZoomRange: (a: number, b: number, c: number) => void;
780
819
  readonly engine_stats: (a: number) => any;
781
- readonly engine_stepFlow: (a: number, b: number, c: number) => void;
820
+ readonly engine_stepFlow: (a: number, b: number, c: number) => number;
782
821
  readonly engine_surface: (a: number, b: number, c: number) => any;
783
822
  readonly engine_surfaceAt: (a: number, b: number, c: number) => any;
784
823
  readonly engine_updateGlyphAtlas: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
785
824
  readonly engine_updateGlyphPage: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
786
825
  readonly engine_updateGroundTexture: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => [number, number];
787
826
  readonly engine_updateIconAtlas: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
827
+ readonly engine_uploadVectorTile: (a: number, b: number, c: number) => number;
788
828
  readonly engine_vectorTilesInView: (a: number, b: number, c: number) => [number, number];
789
829
  readonly engine_wantedTiles: (a: number, b: number) => [number, number];
790
830
  readonly engine_zoomAt: (a: number, b: number, c: number, d: number) => void;