@deck.gl/geo-layers 8.8.0-beta.1 → 8.8.0-beta.4

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 (141) hide show
  1. package/dist/dist.dev.js +449 -156
  2. package/dist/es5/geo-cell-layer/GeoCellLayer.js.map +1 -1
  3. package/dist/es5/geohash-layer/geohash-layer.js +71 -0
  4. package/dist/es5/geohash-layer/geohash-layer.js.map +1 -0
  5. package/dist/es5/geohash-layer/geohash-utils.js +77 -0
  6. package/dist/es5/geohash-layer/geohash-utils.js.map +1 -0
  7. package/dist/es5/great-circle-layer/great-circle-layer.js +12 -8
  8. package/dist/es5/great-circle-layer/great-circle-layer.js.map +1 -1
  9. package/dist/es5/h3-layers/h3-cluster-layer.js +12 -4
  10. package/dist/es5/h3-layers/h3-cluster-layer.js.map +1 -1
  11. package/dist/es5/h3-layers/h3-hexagon-layer.js +52 -34
  12. package/dist/es5/h3-layers/h3-hexagon-layer.js.map +1 -1
  13. package/dist/es5/index.js +8 -0
  14. package/dist/es5/index.js.map +1 -1
  15. package/dist/es5/mesh-layer/mesh-layer-fragment.glsl.js +1 -1
  16. package/dist/es5/mesh-layer/mesh-layer-vertex.glsl.js +1 -1
  17. package/dist/es5/mesh-layer/mesh-layer.js +22 -26
  18. package/dist/es5/mesh-layer/mesh-layer.js.map +1 -1
  19. package/dist/es5/mvt-layer/mvt-layer.js +6 -3
  20. package/dist/es5/mvt-layer/mvt-layer.js.map +1 -1
  21. package/dist/es5/quadkey-layer/quadkey-layer.js.map +1 -1
  22. package/dist/es5/s2-layer/s2-geometry.js.map +1 -1
  23. package/dist/es5/s2-layer/s2-layer.js +4 -2
  24. package/dist/es5/s2-layer/s2-layer.js.map +1 -1
  25. package/dist/es5/s2-layer/s2-utils.js.map +1 -1
  26. package/dist/es5/terrain-layer/terrain-layer.js +57 -34
  27. package/dist/es5/terrain-layer/terrain-layer.js.map +1 -1
  28. package/dist/es5/tile-3d-layer/tile-3d-layer.js +31 -16
  29. package/dist/es5/tile-3d-layer/tile-3d-layer.js.map +1 -1
  30. package/dist/es5/tile-layer/tile-layer.js +8 -3
  31. package/dist/es5/tile-layer/tile-layer.js.map +1 -1
  32. package/dist/es5/tile-layer/tileset-2d.js +38 -1
  33. package/dist/es5/tile-layer/tileset-2d.js.map +1 -1
  34. package/dist/es5/tile-layer/utils.js +46 -12
  35. package/dist/es5/tile-layer/utils.js.map +1 -1
  36. package/dist/es5/trips-layer/trips-layer.js +3 -1
  37. package/dist/es5/trips-layer/trips-layer.js.map +1 -1
  38. package/dist/esm/geo-cell-layer/GeoCellLayer.js.map +1 -1
  39. package/dist/esm/geohash-layer/geohash-layer.js +29 -0
  40. package/dist/esm/geohash-layer/geohash-layer.js.map +1 -0
  41. package/dist/esm/geohash-layer/geohash-utils.js +56 -0
  42. package/dist/esm/geohash-layer/geohash-utils.js.map +1 -0
  43. package/dist/esm/great-circle-layer/great-circle-layer.js +7 -3
  44. package/dist/esm/great-circle-layer/great-circle-layer.js.map +1 -1
  45. package/dist/esm/h3-layers/h3-cluster-layer.js +11 -4
  46. package/dist/esm/h3-layers/h3-cluster-layer.js.map +1 -1
  47. package/dist/esm/h3-layers/h3-hexagon-layer.js +42 -24
  48. package/dist/esm/h3-layers/h3-hexagon-layer.js.map +1 -1
  49. package/dist/esm/index.js +1 -0
  50. package/dist/esm/index.js.map +1 -1
  51. package/dist/esm/mesh-layer/mesh-layer-fragment.glsl.js +1 -1
  52. package/dist/esm/mesh-layer/mesh-layer-fragment.glsl.js.map +1 -1
  53. package/dist/esm/mesh-layer/mesh-layer-vertex.glsl.js +1 -1
  54. package/dist/esm/mesh-layer/mesh-layer-vertex.glsl.js.map +1 -1
  55. package/dist/esm/mesh-layer/mesh-layer.js +15 -17
  56. package/dist/esm/mesh-layer/mesh-layer.js.map +1 -1
  57. package/dist/esm/mvt-layer/mvt-layer.js +6 -3
  58. package/dist/esm/mvt-layer/mvt-layer.js.map +1 -1
  59. package/dist/esm/quadkey-layer/quadkey-layer.js.map +1 -1
  60. package/dist/esm/s2-layer/s2-geometry.js.map +1 -1
  61. package/dist/esm/s2-layer/s2-layer.js +5 -2
  62. package/dist/esm/s2-layer/s2-layer.js.map +1 -1
  63. package/dist/esm/s2-layer/s2-utils.js.map +1 -1
  64. package/dist/esm/terrain-layer/terrain-layer.js +35 -13
  65. package/dist/esm/terrain-layer/terrain-layer.js.map +1 -1
  66. package/dist/esm/tile-3d-layer/tile-3d-layer.js +21 -10
  67. package/dist/esm/tile-3d-layer/tile-3d-layer.js.map +1 -1
  68. package/dist/esm/tile-layer/tile-layer.js +10 -3
  69. package/dist/esm/tile-layer/tile-layer.js.map +1 -1
  70. package/dist/esm/tile-layer/tileset-2d.js +36 -3
  71. package/dist/esm/tile-layer/tileset-2d.js.map +1 -1
  72. package/dist/esm/tile-layer/utils.js +36 -0
  73. package/dist/esm/tile-layer/utils.js.map +1 -1
  74. package/dist/esm/trips-layer/trips-layer.js +1 -1
  75. package/dist/esm/trips-layer/trips-layer.js.map +1 -1
  76. package/dist.min.js +2 -2
  77. package/package.json +6 -4
  78. package/src/geo-cell-layer/GeoCellLayer.ts +2 -2
  79. package/src/geohash-layer/geohash-layer.ts +38 -0
  80. package/src/geohash-layer/geohash-utils.ts +54 -0
  81. package/src/great-circle-layer/{great-circle-layer.js → great-circle-layer.ts} +17 -8
  82. package/src/h3-layers/h3-cluster-layer.ts +65 -0
  83. package/src/h3-layers/{h3-hexagon-layer.js → h3-hexagon-layer.ts} +114 -42
  84. package/src/index.ts +7 -0
  85. package/src/mesh-layer/{mesh-layer-fragment.glsl.js → mesh-layer-fragment.glsl.ts} +0 -0
  86. package/src/mesh-layer/{mesh-layer-vertex.glsl.js → mesh-layer-vertex.glsl.ts} +2 -2
  87. package/src/mesh-layer/{mesh-layer.js → mesh-layer.ts} +46 -13
  88. package/src/mvt-layer/mvt-layer.ts +5 -3
  89. package/src/quadkey-layer/quadkey-layer.ts +5 -5
  90. package/src/s2-layer/{s2-geometry.js → s2-geometry.ts} +17 -9
  91. package/src/s2-layer/{s2-layer.js → s2-layer.ts} +25 -8
  92. package/src/s2-layer/{s2-utils.js → s2-utils.ts} +14 -7
  93. package/src/terrain-layer/{terrain-layer.js → terrain-layer.ts} +119 -37
  94. package/src/tile-3d-layer/{tile-3d-layer.js → tile-3d-layer.ts} +107 -36
  95. package/src/tile-layer/tile-layer.ts +10 -7
  96. package/src/tile-layer/tileset-2d.ts +42 -6
  97. package/src/tile-layer/utils.ts +44 -0
  98. package/src/trips-layer/trips-layer.ts +4 -4
  99. package/typed/geo-cell-layer/GeoCellLayer.d.ts +2 -37
  100. package/typed/geo-cell-layer/GeoCellLayer.d.ts.map +1 -1
  101. package/typed/geohash-layer/geohash-layer.d.ts +20 -0
  102. package/typed/geohash-layer/geohash-layer.d.ts.map +1 -0
  103. package/typed/geohash-layer/geohash-utils.d.ts +3 -0
  104. package/typed/geohash-layer/geohash-utils.d.ts.map +1 -0
  105. package/typed/great-circle-layer/great-circle-layer.d.ts +7 -14
  106. package/typed/great-circle-layer/great-circle-layer.d.ts.map +1 -1
  107. package/typed/h3-layers/h3-cluster-layer.d.ts +21 -14
  108. package/typed/h3-layers/h3-cluster-layer.d.ts.map +1 -1
  109. package/typed/h3-layers/h3-hexagon-layer.d.ts +56 -92
  110. package/typed/h3-layers/h3-hexagon-layer.d.ts.map +1 -1
  111. package/typed/index.d.ts +7 -0
  112. package/typed/index.d.ts.map +1 -1
  113. package/typed/mesh-layer/mesh-layer-fragment.glsl.d.ts +1 -1
  114. package/typed/mesh-layer/mesh-layer-fragment.glsl.d.ts.map +1 -1
  115. package/typed/mesh-layer/mesh-layer-vertex.glsl.d.ts +1 -1
  116. package/typed/mesh-layer/mesh-layer-vertex.glsl.d.ts.map +1 -1
  117. package/typed/mesh-layer/mesh-layer.d.ts +32 -22
  118. package/typed/mesh-layer/mesh-layer.d.ts.map +1 -1
  119. package/typed/mvt-layer/mvt-layer.d.ts +2 -34
  120. package/typed/mvt-layer/mvt-layer.d.ts.map +1 -1
  121. package/typed/quadkey-layer/quadkey-layer.d.ts +4 -4
  122. package/typed/quadkey-layer/quadkey-layer.d.ts.map +1 -1
  123. package/typed/s2-layer/s2-geometry.d.ts +8 -8
  124. package/typed/s2-layer/s2-geometry.d.ts.map +1 -1
  125. package/typed/s2-layer/s2-layer.d.ts +18 -14
  126. package/typed/s2-layer/s2-layer.d.ts.map +1 -1
  127. package/typed/s2-layer/s2-utils.d.ts +3 -4
  128. package/typed/s2-layer/s2-utils.d.ts.map +1 -1
  129. package/typed/terrain-layer/terrain-layer.d.ts +61 -26
  130. package/typed/terrain-layer/terrain-layer.d.ts.map +1 -1
  131. package/typed/tile-3d-layer/tile-3d-layer.d.ts +58 -68
  132. package/typed/tile-3d-layer/tile-3d-layer.d.ts.map +1 -1
  133. package/typed/tile-layer/tile-layer.d.ts +5 -7
  134. package/typed/tile-layer/tile-layer.d.ts.map +1 -1
  135. package/typed/tile-layer/tileset-2d.d.ts +12 -3
  136. package/typed/tile-layer/tileset-2d.d.ts.map +1 -1
  137. package/typed/tile-layer/utils.d.ts +14 -0
  138. package/typed/tile-layer/utils.d.ts.map +1 -1
  139. package/typed/trips-layer/trips-layer.d.ts +2 -2
  140. package/typed/trips-layer/trips-layer.d.ts.map +1 -1
  141. package/src/h3-layers/h3-cluster-layer.js +0 -43
package/dist/dist.dev.js CHANGED
@@ -7,7 +7,7 @@
7
7
  exports["deck"] = factory(require("deck"), require("luma"), require("h3"));
8
8
  else
9
9
  root["deck"] = factory(root["deck"], root["luma"], root["h3"]);
10
- })(window, function(__WEBPACK_EXTERNAL_MODULE__deck_gl_core__, __WEBPACK_EXTERNAL_MODULE__luma_gl_core__, __WEBPACK_EXTERNAL_MODULE_h3_js__) {
10
+ })(window, function(__WEBPACK_EXTERNAL_MODULE__deck_gl_layers__, __WEBPACK_EXTERNAL_MODULE__luma_gl_core__, __WEBPACK_EXTERNAL_MODULE_h3_js__) {
11
11
  return /******/ (function(modules) { // webpackBootstrap
12
12
  /******/ // The module cache
13
13
  /******/ var installedModules = {};
@@ -54542,7 +54542,7 @@ __webpack_require__.r(__webpack_exports__);
54542
54542
 
54543
54543
 
54544
54544
 
54545
- const VERSION = true ? "8.8.0-beta.1" : undefined;
54545
+ const VERSION = true ? "8.8.0-beta.4" : undefined;
54546
54546
  const isBrowser = Object(_lib_is_browser__WEBPACK_IMPORTED_MODULE_0__["default"])();
54547
54547
  //# sourceMappingURL=globals.js.map
54548
54548
 
@@ -65151,7 +65151,7 @@ __webpack_require__.r(__webpack_exports__);
65151
65151
 
65152
65152
 
65153
65153
 
65154
- const VERSION = true ? "8.8.0-beta.1" : undefined;
65154
+ const VERSION = true ? "8.8.0-beta.4" : undefined;
65155
65155
  const isBrowser = Object(_env_is_browser__WEBPACK_IMPORTED_MODULE_0__["default"])();
65156
65156
  //# sourceMappingURL=globals.js.map
65157
65157
 
@@ -65570,7 +65570,7 @@ module.exports = Object.assign(deck, deckGLLayers);
65570
65570
  "use strict";
65571
65571
  __webpack_require__.r(__webpack_exports__);
65572
65572
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return GeoCellLayer; });
65573
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
65573
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
65574
65574
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
65575
65575
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
65576
65576
 
@@ -65652,9 +65652,127 @@ _defineProperty(GeoCellLayer, "defaultProps", defaultProps);
65652
65652
 
65653
65653
  /***/ }),
65654
65654
 
65655
- /***/ "./src/great-circle-layer/great-circle-layer.js":
65655
+ /***/ "./src/geohash-layer/geohash-layer.ts":
65656
+ /*!********************************************!*\
65657
+ !*** ./src/geohash-layer/geohash-layer.ts ***!
65658
+ \********************************************/
65659
+ /*! exports provided: default */
65660
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
65661
+
65662
+ "use strict";
65663
+ __webpack_require__.r(__webpack_exports__);
65664
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return GeohashLayer; });
65665
+ /* harmony import */ var _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../geo-cell-layer/GeoCellLayer */ "./src/geo-cell-layer/GeoCellLayer.ts");
65666
+ /* harmony import */ var _geohash_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./geohash-utils */ "./src/geohash-layer/geohash-utils.ts");
65667
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
65668
+
65669
+
65670
+
65671
+ const defaultProps = {
65672
+ getGeohash: {
65673
+ type: 'accessor',
65674
+ value: d => d.geohash
65675
+ }
65676
+ };
65677
+ /**
65678
+ * Properties of `GeohashLayer`.
65679
+ */
65680
+
65681
+ class GeohashLayer extends _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODULE_0__["default"] {
65682
+ indexToBounds() {
65683
+ const {
65684
+ data,
65685
+ getGeohash
65686
+ } = this.props;
65687
+ return {
65688
+ data,
65689
+ _normalize: false,
65690
+ positionFormat: 'XY',
65691
+ getPolygon: (x, objectInfo) => Object(_geohash_utils__WEBPACK_IMPORTED_MODULE_1__["getGeohashPolygon"])(getGeohash(x, objectInfo))
65692
+ };
65693
+ }
65694
+
65695
+ }
65696
+
65697
+ _defineProperty(GeohashLayer, "layerName", 'GeohashLayer');
65698
+
65699
+ _defineProperty(GeohashLayer, "defaultProps", defaultProps);
65700
+
65701
+ /***/ }),
65702
+
65703
+ /***/ "./src/geohash-layer/geohash-utils.ts":
65704
+ /*!********************************************!*\
65705
+ !*** ./src/geohash-layer/geohash-utils.ts ***!
65706
+ \********************************************/
65707
+ /*! exports provided: getGeohashBounds, getGeohashPolygon */
65708
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
65709
+
65710
+ "use strict";
65711
+ __webpack_require__.r(__webpack_exports__);
65712
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getGeohashBounds", function() { return getGeohashBounds; });
65713
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getGeohashPolygon", function() { return getGeohashPolygon; });
65714
+ const BASE32_CODES = '0123456789bcdefghjkmnpqrstuvwxyz';
65715
+ const BASE32_CODES_DICT = {};
65716
+
65717
+ for (let i = 0; i < BASE32_CODES.length; i++) {
65718
+ BASE32_CODES_DICT[BASE32_CODES.charAt(i)] = i;
65719
+ }
65720
+
65721
+ const MIN_LAT = -90;
65722
+ const MAX_LAT = 90;
65723
+ const MIN_LON = -180;
65724
+ const MAX_LON = 180; // Adapted from ngeohash decode_bbox
65725
+
65726
+ function getGeohashBounds(geohash) {
65727
+ let isLon = true;
65728
+ let maxLat = MAX_LAT;
65729
+ let minLat = MIN_LAT;
65730
+ let maxLon = MAX_LON;
65731
+ let minLon = MIN_LON;
65732
+ let mid;
65733
+ let hashValue = 0;
65734
+
65735
+ for (let i = 0, l = geohash.length; i < l; i++) {
65736
+ const code = geohash[i].toLowerCase();
65737
+ hashValue = BASE32_CODES_DICT[code];
65738
+
65739
+ for (let bits = 4; bits >= 0; bits--) {
65740
+ const bit = hashValue >> bits & 1;
65741
+
65742
+ if (isLon) {
65743
+ mid = (maxLon + minLon) / 2;
65744
+
65745
+ if (bit === 1) {
65746
+ minLon = mid;
65747
+ } else {
65748
+ maxLon = mid;
65749
+ }
65750
+ } else {
65751
+ mid = (maxLat + minLat) / 2;
65752
+
65753
+ if (bit === 1) {
65754
+ minLat = mid;
65755
+ } else {
65756
+ maxLat = mid;
65757
+ }
65758
+ }
65759
+
65760
+ isLon = !isLon;
65761
+ }
65762
+ }
65763
+
65764
+ return [minLat, minLon, maxLat, maxLon];
65765
+ }
65766
+ function getGeohashPolygon(geohash) {
65767
+ const [s, w, n, e] = getGeohashBounds(geohash);
65768
+ return [e, n, e, s, w, s, w, n, e, n];
65769
+ }
65770
+
65771
+ /***/ }),
65772
+
65773
+ /***/ "./src/great-circle-layer/great-circle-layer.ts":
65656
65774
  /*!******************************************************!*\
65657
- !*** ./src/great-circle-layer/great-circle-layer.js ***!
65775
+ !*** ./src/great-circle-layer/great-circle-layer.ts ***!
65658
65776
  \******************************************************/
65659
65777
  /*! exports provided: default */
65660
65778
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -65662,8 +65780,10 @@ _defineProperty(GeoCellLayer, "defaultProps", defaultProps);
65662
65780
  "use strict";
65663
65781
  __webpack_require__.r(__webpack_exports__);
65664
65782
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return GreatCircleLayer; });
65665
- /* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/layers */ "@deck.gl/core");
65783
+ /* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/layers */ "@deck.gl/layers");
65666
65784
  /* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_layers__WEBPACK_IMPORTED_MODULE_0__);
65785
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
65786
+
65667
65787
  // Copyright (c) 2015 - 2017 Uber Technologies, Inc.
65668
65788
  //
65669
65789
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -65683,24 +65803,31 @@ __webpack_require__.r(__webpack_exports__);
65683
65803
  // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
65684
65804
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
65685
65805
  // THE SOFTWARE.
65686
- // This layer has been merged into the core ArcLayer
65687
- // Keeping for backward-compatibility
65688
65806
 
65689
- class GreatCircleLayer extends _deck_gl_layers__WEBPACK_IMPORTED_MODULE_0__["ArcLayer"] {}
65690
- GreatCircleLayer.layerName = 'GreatCircleLayer';
65691
- GreatCircleLayer.defaultProps = {
65807
+ const defaultProps = {
65692
65808
  getHeight: {
65693
65809
  type: 'accessor',
65694
65810
  value: 0
65695
65811
  },
65696
65812
  greatCircle: true
65697
65813
  };
65814
+ /** All properties supported by GreatCircleLayer. */
65815
+
65816
+ // This layer has been merged into the core ArcLayer
65817
+ // Keeping for backward-compatibility
65818
+
65819
+ /** @deprecated Use ArcLayer with `greatCircle: true` instead */
65820
+ class GreatCircleLayer extends _deck_gl_layers__WEBPACK_IMPORTED_MODULE_0__["ArcLayer"] {}
65821
+
65822
+ _defineProperty(GreatCircleLayer, "layerName", 'GreatCircleLayer');
65823
+
65824
+ _defineProperty(GreatCircleLayer, "defaultProps", defaultProps);
65698
65825
 
65699
65826
  /***/ }),
65700
65827
 
65701
- /***/ "./src/h3-layers/h3-cluster-layer.js":
65828
+ /***/ "./src/h3-layers/h3-cluster-layer.ts":
65702
65829
  /*!*******************************************!*\
65703
- !*** ./src/h3-layers/h3-cluster-layer.js ***!
65830
+ !*** ./src/h3-layers/h3-cluster-layer.ts ***!
65704
65831
  \*******************************************/
65705
65832
  /*! exports provided: default */
65706
65833
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -65710,9 +65837,13 @@ __webpack_require__.r(__webpack_exports__);
65710
65837
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return H3ClusterLayer; });
65711
65838
  /* harmony import */ var h3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! h3-js */ "h3-js");
65712
65839
  /* harmony import */ var h3_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(h3_js__WEBPACK_IMPORTED_MODULE_0__);
65713
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
65840
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
65714
65841
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__);
65715
- /* harmony import */ var _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../geo-cell-layer/GeoCellLayer */ "./src/geo-cell-layer/GeoCellLayer.ts");
65842
+ /* harmony import */ var _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/geo-layers */ "./src/index.ts");
65843
+ /* harmony import */ var _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geo-cell-layer/GeoCellLayer */ "./src/geo-cell-layer/GeoCellLayer.ts");
65844
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
65845
+
65846
+
65716
65847
 
65717
65848
 
65718
65849
 
@@ -65722,13 +65853,18 @@ const defaultProps = {
65722
65853
  value: d => d.hexagons
65723
65854
  }
65724
65855
  };
65725
- class H3ClusterLayer extends _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODULE_2__["default"] {
65856
+ /** All properties supported by H3ClusterLayer. */
65857
+
65858
+ class H3ClusterLayer extends _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODULE_3__["default"] {
65859
+ initializeState() {
65860
+ _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_2__["H3HexagonLayer"]._checkH3Lib();
65861
+ }
65862
+
65726
65863
  updateState({
65727
65864
  props,
65728
- oldProps,
65729
65865
  changeFlags
65730
65866
  }) {
65731
- if (changeFlags.dataChanged || changeFlags.updateTriggers && changeFlags.updateTriggers.getHexagons) {
65867
+ if (changeFlags.dataChanged || changeFlags.updateTriggersChanged && changeFlags.updateTriggersChanged.getHexagons) {
65732
65868
  const {
65733
65869
  data,
65734
65870
  getHexagons
@@ -65765,14 +65901,16 @@ class H3ClusterLayer extends _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODU
65765
65901
  }
65766
65902
 
65767
65903
  }
65768
- H3ClusterLayer.defaultProps = defaultProps;
65769
- H3ClusterLayer.layerName = 'H3ClusterLayer';
65904
+
65905
+ _defineProperty(H3ClusterLayer, "layerName", 'H3ClusterLayer');
65906
+
65907
+ _defineProperty(H3ClusterLayer, "defaultProps", defaultProps);
65770
65908
 
65771
65909
  /***/ }),
65772
65910
 
65773
- /***/ "./src/h3-layers/h3-hexagon-layer.js":
65911
+ /***/ "./src/h3-layers/h3-hexagon-layer.ts":
65774
65912
  /*!*******************************************!*\
65775
- !*** ./src/h3-layers/h3-hexagon-layer.js ***!
65913
+ !*** ./src/h3-layers/h3-hexagon-layer.ts ***!
65776
65914
  \*******************************************/
65777
65915
  /*! exports provided: normalizeLongitudes, scalePolygon, default */
65778
65916
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -65785,8 +65923,10 @@ __webpack_require__.r(__webpack_exports__);
65785
65923
  /* harmony import */ var h3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! h3-js */ "h3-js");
65786
65924
  /* harmony import */ var h3_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(h3_js__WEBPACK_IMPORTED_MODULE_0__);
65787
65925
  /* harmony import */ var _math_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @math.gl/core */ "../../node_modules/@math.gl/core/dist/esm/index.js");
65788
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
65926
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
65789
65927
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_2__);
65928
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
65929
+
65790
65930
 
65791
65931
 
65792
65932
 
@@ -65831,7 +65971,7 @@ function getHexagonCentroid(getHexagon, object, objectInfo) {
65831
65971
  return [lng, lat];
65832
65972
  }
65833
65973
 
65834
- function h3ToPolygon(hexId, coverage = 1, flatten) {
65974
+ function h3ToPolygon(hexId, coverage = 1) {
65835
65975
  const vertices = Object(h3_js__WEBPACK_IMPORTED_MODULE_0__["h3ToGeoBoundary"])(hexId, true);
65836
65976
 
65837
65977
  if (coverage !== 1) {
@@ -65842,19 +65982,19 @@ function h3ToPolygon(hexId, coverage = 1, flatten) {
65842
65982
  normalizeLongitudes(vertices);
65843
65983
  }
65844
65984
 
65845
- if (flatten) {
65846
- const positions = new Float64Array(vertices.length * 2);
65847
- let i = 0;
65985
+ return vertices;
65986
+ }
65848
65987
 
65849
- for (const pt of vertices) {
65850
- positions[i++] = pt[0];
65851
- positions[i++] = pt[1];
65852
- }
65988
+ function flattenPolygon(vertices) {
65989
+ const positions = new Float64Array(vertices.length * 2);
65990
+ let i = 0;
65853
65991
 
65854
- return positions;
65992
+ for (const pt of vertices) {
65993
+ positions[i++] = pt[0];
65994
+ positions[i++] = pt[1];
65855
65995
  }
65856
65996
 
65857
- return vertices;
65997
+ return positions;
65858
65998
  }
65859
65999
 
65860
66000
  function mergeTriggers(getHexagon, coverage) {
@@ -65890,9 +66030,9 @@ const defaultProps = { ..._deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["PolygonLay
65890
66030
  value: x => x.hexagon
65891
66031
  },
65892
66032
  extruded: true
65893
- }; // not supported
66033
+ };
66034
+ /** All properties supported by H3HexagonLayer */
65894
66035
 
65895
- delete defaultProps.getLineDashArray;
65896
66036
  /**
65897
66037
  * A subclass of HexagonLayer that uses H3 hexagonIds in data objects
65898
66038
  * rather than centroid lat/longs. The shape of each hexagon is determined
@@ -65904,8 +66044,22 @@ delete defaultProps.getLineDashArray;
65904
66044
  * even when no corresponding hexagon is in the data set. You can check
65905
66045
  * index !== -1 to see if picking matches an actual object.
65906
66046
  */
65907
-
65908
66047
  class H3HexagonLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["CompositeLayer"] {
66048
+ constructor(...args) {
66049
+ super(...args);
66050
+
66051
+ _defineProperty(this, "state", void 0);
66052
+ }
66053
+
66054
+ initializeState() {
66055
+ H3HexagonLayer._checkH3Lib();
66056
+
66057
+ this.state = {
66058
+ edgeLengthKM: 0,
66059
+ resolution: -1
66060
+ };
66061
+ }
66062
+
65909
66063
  shouldUpdateState({
65910
66064
  changeFlags
65911
66065
  }) {
@@ -65914,11 +66068,10 @@ class H3HexagonLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["Composi
65914
66068
 
65915
66069
  updateState({
65916
66070
  props,
65917
- oldProps,
65918
66071
  changeFlags
65919
66072
  }) {
65920
- if (props.highPrecision !== true && (changeFlags.dataChanged || changeFlags.updateTriggers && changeFlags.updateTriggers.getHexagon)) {
65921
- const dataProps = this._calculateH3DataProps(props);
66073
+ if (props.highPrecision !== true && (changeFlags.dataChanged || changeFlags.updateTriggersChanged && changeFlags.updateTriggersChanged.getHexagon)) {
66074
+ const dataProps = this._calculateH3DataProps();
65922
66075
 
65923
66076
  this.setState(dataProps);
65924
66077
  }
@@ -65926,24 +66079,24 @@ class H3HexagonLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["Composi
65926
66079
  this._updateVertices(this.context.viewport);
65927
66080
  }
65928
66081
 
65929
- _calculateH3DataProps(props) {
66082
+ _calculateH3DataProps() {
65930
66083
  let resolution = -1;
65931
66084
  let hasPentagon = false;
65932
66085
  let hasMultipleRes = false;
65933
66086
  const {
65934
66087
  iterable,
65935
66088
  objectInfo
65936
- } = Object(_deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["createIterable"])(props.data);
66089
+ } = Object(_deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["createIterable"])(this.props.data);
65937
66090
 
65938
66091
  for (const object of iterable) {
65939
66092
  objectInfo.index++;
65940
- const hexId = props.getHexagon(object, objectInfo); // Take the resolution of the first hex
66093
+ const hexId = this.props.getHexagon(object, objectInfo); // Take the resolution of the first hex
65941
66094
 
65942
66095
  const hexResolution = Object(h3_js__WEBPACK_IMPORTED_MODULE_0__["h3GetResolution"])(hexId);
65943
66096
 
65944
66097
  if (resolution < 0) {
65945
66098
  resolution = hexResolution;
65946
- if (!props.highPrecision) break;
66099
+ if (!this.props.highPrecision) break;
65947
66100
  } else if (resolution !== hexResolution) {
65948
66101
  hasMultipleRes = true;
65949
66102
  break;
@@ -65957,7 +66110,7 @@ class H3HexagonLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["Composi
65957
66110
 
65958
66111
  return {
65959
66112
  resolution,
65960
- edgeLengthKM: resolution >= 0 ? Object(h3_js__WEBPACK_IMPORTED_MODULE_0__["edgeLength"])(resolution, h3_js__WEBPACK_IMPORTED_MODULE_0__["UNITS"].km) : 0,
66113
+ edgeLengthKM: resolution >= 0 ? Object(h3_js__WEBPACK_IMPORTED_MODULE_0__["edgeLength"])(resolution, 'km') : 0,
65961
66114
  hasMultipleRes,
65962
66115
  hasPentagon
65963
66116
  };
@@ -65973,7 +66126,7 @@ class H3HexagonLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["Composi
65973
66126
  const {
65974
66127
  viewport
65975
66128
  } = this.context;
65976
- return viewport.resolution || hasMultipleRes || hasPentagon || resolution >= 0 && resolution <= 5;
66129
+ return Boolean(viewport?.resolution) || hasMultipleRes || hasPentagon || resolution >= 0 && resolution <= 5;
65977
66130
  }
65978
66131
 
65979
66132
  return this.props.highPrecision;
@@ -66097,7 +66250,7 @@ class H3HexagonLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["Composi
66097
66250
  positionFormat: 'XY',
66098
66251
  getPolygon: (object, objectInfo) => {
66099
66252
  const hexagonId = getHexagon(object, objectInfo);
66100
- return h3ToPolygon(hexagonId, coverage, true);
66253
+ return flattenPolygon(h3ToPolygon(hexagonId, coverage));
66101
66254
  }
66102
66255
  });
66103
66256
  }
@@ -66128,8 +66281,12 @@ class H3HexagonLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["Composi
66128
66281
  }
66129
66282
 
66130
66283
  }
66131
- H3HexagonLayer.defaultProps = defaultProps;
66132
- H3HexagonLayer.layerName = 'H3HexagonLayer';
66284
+
66285
+ _defineProperty(H3HexagonLayer, "defaultProps", defaultProps);
66286
+
66287
+ _defineProperty(H3HexagonLayer, "layerName", 'H3HexagonLayer');
66288
+
66289
+ _defineProperty(H3HexagonLayer, "_checkH3Lib", () => {});
66133
66290
 
66134
66291
  /***/ }),
66135
66292
 
@@ -66137,15 +66294,15 @@ H3HexagonLayer.layerName = 'H3HexagonLayer';
66137
66294
  /*!**********************!*\
66138
66295
  !*** ./src/index.ts ***!
66139
66296
  \**********************/
66140
- /*! exports provided: GreatCircleLayer, S2Layer, QuadkeyLayer, TileLayer, TripsLayer, H3ClusterLayer, H3HexagonLayer, Tile3DLayer, TerrainLayer, MVTLayer, _getURLFromTemplate, _Tileset2D, _Tile2DHeader */
66297
+ /*! exports provided: GreatCircleLayer, S2Layer, QuadkeyLayer, TileLayer, TripsLayer, H3ClusterLayer, H3HexagonLayer, Tile3DLayer, TerrainLayer, MVTLayer, GeohashLayer, _getURLFromTemplate, _Tileset2D, _Tile2DHeader */
66141
66298
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
66142
66299
 
66143
66300
  "use strict";
66144
66301
  __webpack_require__.r(__webpack_exports__);
66145
- /* harmony import */ var _great_circle_layer_great_circle_layer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./great-circle-layer/great-circle-layer */ "./src/great-circle-layer/great-circle-layer.js");
66302
+ /* harmony import */ var _great_circle_layer_great_circle_layer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./great-circle-layer/great-circle-layer */ "./src/great-circle-layer/great-circle-layer.ts");
66146
66303
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GreatCircleLayer", function() { return _great_circle_layer_great_circle_layer__WEBPACK_IMPORTED_MODULE_0__["default"]; });
66147
66304
 
66148
- /* harmony import */ var _s2_layer_s2_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./s2-layer/s2-layer */ "./src/s2-layer/s2-layer.js");
66305
+ /* harmony import */ var _s2_layer_s2_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./s2-layer/s2-layer */ "./src/s2-layer/s2-layer.ts");
66149
66306
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "S2Layer", function() { return _s2_layer_s2_layer__WEBPACK_IMPORTED_MODULE_1__["default"]; });
66150
66307
 
66151
66308
  /* harmony import */ var _quadkey_layer_quadkey_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./quadkey-layer/quadkey-layer */ "./src/quadkey-layer/quadkey-layer.ts");
@@ -66157,29 +66314,32 @@ __webpack_require__.r(__webpack_exports__);
66157
66314
  /* harmony import */ var _trips_layer_trips_layer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./trips-layer/trips-layer */ "./src/trips-layer/trips-layer.ts");
66158
66315
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TripsLayer", function() { return _trips_layer_trips_layer__WEBPACK_IMPORTED_MODULE_4__["default"]; });
66159
66316
 
66160
- /* harmony import */ var _h3_layers_h3_cluster_layer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./h3-layers/h3-cluster-layer */ "./src/h3-layers/h3-cluster-layer.js");
66317
+ /* harmony import */ var _h3_layers_h3_cluster_layer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./h3-layers/h3-cluster-layer */ "./src/h3-layers/h3-cluster-layer.ts");
66161
66318
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "H3ClusterLayer", function() { return _h3_layers_h3_cluster_layer__WEBPACK_IMPORTED_MODULE_5__["default"]; });
66162
66319
 
66163
- /* harmony import */ var _h3_layers_h3_hexagon_layer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./h3-layers/h3-hexagon-layer */ "./src/h3-layers/h3-hexagon-layer.js");
66320
+ /* harmony import */ var _h3_layers_h3_hexagon_layer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./h3-layers/h3-hexagon-layer */ "./src/h3-layers/h3-hexagon-layer.ts");
66164
66321
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "H3HexagonLayer", function() { return _h3_layers_h3_hexagon_layer__WEBPACK_IMPORTED_MODULE_6__["default"]; });
66165
66322
 
66166
- /* harmony import */ var _tile_3d_layer_tile_3d_layer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./tile-3d-layer/tile-3d-layer */ "./src/tile-3d-layer/tile-3d-layer.js");
66323
+ /* harmony import */ var _tile_3d_layer_tile_3d_layer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./tile-3d-layer/tile-3d-layer */ "./src/tile-3d-layer/tile-3d-layer.ts");
66167
66324
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Tile3DLayer", function() { return _tile_3d_layer_tile_3d_layer__WEBPACK_IMPORTED_MODULE_7__["default"]; });
66168
66325
 
66169
- /* harmony import */ var _terrain_layer_terrain_layer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./terrain-layer/terrain-layer */ "./src/terrain-layer/terrain-layer.js");
66326
+ /* harmony import */ var _terrain_layer_terrain_layer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./terrain-layer/terrain-layer */ "./src/terrain-layer/terrain-layer.ts");
66170
66327
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TerrainLayer", function() { return _terrain_layer_terrain_layer__WEBPACK_IMPORTED_MODULE_8__["default"]; });
66171
66328
 
66172
66329
  /* harmony import */ var _mvt_layer_mvt_layer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./mvt-layer/mvt-layer */ "./src/mvt-layer/mvt-layer.ts");
66173
66330
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MVTLayer", function() { return _mvt_layer_mvt_layer__WEBPACK_IMPORTED_MODULE_9__["default"]; });
66174
66331
 
66175
- /* harmony import */ var _tile_layer_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./tile-layer/utils */ "./src/tile-layer/utils.ts");
66176
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_getURLFromTemplate", function() { return _tile_layer_utils__WEBPACK_IMPORTED_MODULE_10__["getURLFromTemplate"]; });
66332
+ /* harmony import */ var _geohash_layer_geohash_layer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./geohash-layer/geohash-layer */ "./src/geohash-layer/geohash-layer.ts");
66333
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GeohashLayer", function() { return _geohash_layer_geohash_layer__WEBPACK_IMPORTED_MODULE_10__["default"]; });
66334
+
66335
+ /* harmony import */ var _tile_layer_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./tile-layer/utils */ "./src/tile-layer/utils.ts");
66336
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_getURLFromTemplate", function() { return _tile_layer_utils__WEBPACK_IMPORTED_MODULE_11__["getURLFromTemplate"]; });
66177
66337
 
66178
- /* harmony import */ var _tile_layer_tileset_2d__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./tile-layer/tileset-2d */ "./src/tile-layer/tileset-2d.ts");
66179
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_Tileset2D", function() { return _tile_layer_tileset_2d__WEBPACK_IMPORTED_MODULE_11__["default"]; });
66338
+ /* harmony import */ var _tile_layer_tileset_2d__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./tile-layer/tileset-2d */ "./src/tile-layer/tileset-2d.ts");
66339
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_Tileset2D", function() { return _tile_layer_tileset_2d__WEBPACK_IMPORTED_MODULE_12__["default"]; });
66180
66340
 
66181
- /* harmony import */ var _tile_layer_tile_2d_header__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./tile-layer/tile-2d-header */ "./src/tile-layer/tile-2d-header.ts");
66182
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_Tile2DHeader", function() { return _tile_layer_tile_2d_header__WEBPACK_IMPORTED_MODULE_12__["default"]; });
66341
+ /* harmony import */ var _tile_layer_tile_2d_header__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./tile-layer/tile-2d-header */ "./src/tile-layer/tile-2d-header.ts");
66342
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_Tile2DHeader", function() { return _tile_layer_tile_2d_header__WEBPACK_IMPORTED_MODULE_13__["default"]; });
66183
66343
 
66184
66344
  // Copyright (c) 2015 - 2017 Uber Technologies, Inc.
66185
66345
  //
@@ -66214,13 +66374,14 @@ __webpack_require__.r(__webpack_exports__);
66214
66374
 
66215
66375
 
66216
66376
 
66377
+
66217
66378
  // Types
66218
66379
 
66219
66380
  /***/ }),
66220
66381
 
66221
- /***/ "./src/mesh-layer/mesh-layer-fragment.glsl.js":
66382
+ /***/ "./src/mesh-layer/mesh-layer-fragment.glsl.ts":
66222
66383
  /*!****************************************************!*\
66223
- !*** ./src/mesh-layer/mesh-layer-fragment.glsl.js ***!
66384
+ !*** ./src/mesh-layer/mesh-layer-fragment.glsl.ts ***!
66224
66385
  \****************************************************/
66225
66386
  /*! exports provided: default */
66226
66387
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -66285,9 +66446,9 @@ void main(void) {
66285
66446
 
66286
66447
  /***/ }),
66287
66448
 
66288
- /***/ "./src/mesh-layer/mesh-layer-vertex.glsl.js":
66449
+ /***/ "./src/mesh-layer/mesh-layer-vertex.glsl.ts":
66289
66450
  /*!**************************************************!*\
66290
- !*** ./src/mesh-layer/mesh-layer-vertex.glsl.js ***!
66451
+ !*** ./src/mesh-layer/mesh-layer-vertex.glsl.ts ***!
66291
66452
  \**************************************************/
66292
66453
  /*! exports provided: default */
66293
66454
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -66300,7 +66461,7 @@ __webpack_require__.r(__webpack_exports__);
66300
66461
  // Scale the model
66301
66462
  uniform float sizeScale;
66302
66463
  uniform bool composeModelMatrix;
66303
- uniform bool u_pickFeatureIds;
66464
+ uniform bool pickFeatureIds;
66304
66465
 
66305
66466
  // Primitive attributes
66306
66467
  in vec3 positions;
@@ -66335,7 +66496,7 @@ void main(void) {
66335
66496
  vec2 uv = applyUVRegion(texCoords);
66336
66497
  geometry.uv = uv;
66337
66498
 
66338
- if (u_pickFeatureIds) {
66499
+ if (pickFeatureIds) {
66339
66500
  geometry.pickingColor = featureIdsPickingColors;
66340
66501
  } else {
66341
66502
  geometry.pickingColor = instancePickingColors;
@@ -66377,24 +66538,26 @@ void main(void) {
66377
66538
 
66378
66539
  /***/ }),
66379
66540
 
66380
- /***/ "./src/mesh-layer/mesh-layer.js":
66541
+ /***/ "./src/mesh-layer/mesh-layer.ts":
66381
66542
  /*!**************************************!*\
66382
- !*** ./src/mesh-layer/mesh-layer.js ***!
66543
+ !*** ./src/mesh-layer/mesh-layer.ts ***!
66383
66544
  \**************************************/
66384
66545
  /*! exports provided: default */
66385
66546
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
66386
66547
 
66387
66548
  "use strict";
66388
66549
  __webpack_require__.r(__webpack_exports__);
66389
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _MeshLayer; });
66550
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return MeshLayer; });
66390
66551
  /* harmony import */ var _luma_gl_experimental__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @luma.gl/experimental */ "../../node_modules/@luma.gl/experimental/dist/esm/index.js");
66391
66552
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @luma.gl/core */ "@luma.gl/core");
66392
66553
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_luma_gl_core__WEBPACK_IMPORTED_MODULE_1__);
66393
66554
  /* harmony import */ var _luma_gl_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @luma.gl/constants */ "../../node_modules/@luma.gl/constants/dist/esm/index.js");
66394
- /* harmony import */ var _deck_gl_mesh_layers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @deck.gl/mesh-layers */ "@deck.gl/core");
66555
+ /* harmony import */ var _deck_gl_mesh_layers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @deck.gl/mesh-layers */ "@deck.gl/layers");
66395
66556
  /* harmony import */ var _deck_gl_mesh_layers__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_mesh_layers__WEBPACK_IMPORTED_MODULE_3__);
66396
- /* harmony import */ var _mesh_layer_vertex_glsl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mesh-layer-vertex.glsl */ "./src/mesh-layer/mesh-layer-vertex.glsl.js");
66397
- /* harmony import */ var _mesh_layer_fragment_glsl__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./mesh-layer-fragment.glsl */ "./src/mesh-layer/mesh-layer-fragment.glsl.js");
66557
+ /* harmony import */ var _mesh_layer_vertex_glsl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mesh-layer-vertex.glsl */ "./src/mesh-layer/mesh-layer-vertex.glsl.ts");
66558
+ /* harmony import */ var _mesh_layer_fragment_glsl__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./mesh-layer-fragment.glsl */ "./src/mesh-layer/mesh-layer-fragment.glsl.ts");
66559
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
66560
+
66398
66561
 
66399
66562
 
66400
66563
 
@@ -66414,7 +66577,6 @@ function validateGeometryAttributes(attributes) {
66414
66577
  }
66415
66578
 
66416
66579
  const defaultProps = {
66417
- // PBR material object. _lighting must be pbr for this to work
66418
66580
  pbrMaterial: {
66419
66581
  type: 'object',
66420
66582
  value: null
@@ -66425,7 +66587,9 @@ const defaultProps = {
66425
66587
  optional: true
66426
66588
  }
66427
66589
  };
66428
- class _MeshLayer extends _deck_gl_mesh_layers__WEBPACK_IMPORTED_MODULE_3__["SimpleMeshLayer"] {
66590
+ /** All properties supported by MeshLayer. */
66591
+
66592
+ class MeshLayer extends _deck_gl_mesh_layers__WEBPACK_IMPORTED_MODULE_3__["SimpleMeshLayer"] {
66429
66593
  getShaders() {
66430
66594
  const shaders = super.getShaders();
66431
66595
  const modules = shaders.modules;
@@ -66441,29 +66605,28 @@ class _MeshLayer extends _deck_gl_mesh_layers__WEBPACK_IMPORTED_MODULE_3__["Simp
66441
66605
  featureIds
66442
66606
  } = this.props;
66443
66607
  super.initializeState();
66608
+ const attributeManager = this.getAttributeManager();
66444
66609
 
66445
66610
  if (featureIds) {
66446
- this.state.attributeManager.add({
66611
+ // attributeManager is always defined in a primitive layer
66612
+ attributeManager.add({
66447
66613
  featureIdsPickingColors: {
66448
66614
  type: _luma_gl_constants__WEBPACK_IMPORTED_MODULE_2__["default"].UNSIGNED_BYTE,
66449
66615
  size: 3,
66450
66616
  noAlloc: true,
66617
+ // eslint-disable-next-line @typescript-eslint/unbound-method
66451
66618
  update: this.calculateFeatureIdsPickingColors
66452
66619
  }
66453
66620
  });
66454
66621
  }
66455
66622
  }
66456
66623
 
66457
- updateState({
66458
- props,
66459
- oldProps,
66460
- changeFlags
66461
- }) {
66462
- super.updateState({
66624
+ updateState(params) {
66625
+ super.updateState(params);
66626
+ const {
66463
66627
  props,
66464
- oldProps,
66465
- changeFlags
66466
- });
66628
+ oldProps
66629
+ } = params;
66467
66630
 
66468
66631
  if (props.pbrMaterial !== oldProps.pbrMaterial) {
66469
66632
  this.updatePbrMaterialUniforms(props.pbrMaterial);
@@ -66481,8 +66644,9 @@ class _MeshLayer extends _deck_gl_mesh_layers__WEBPACK_IMPORTED_MODULE_3__["Simp
66481
66644
 
66482
66645
  this.state.model.setUniforms({
66483
66646
  // Needed for PBR (TODO: find better way to get it)
66647
+ // eslint-disable-next-line camelcase
66484
66648
  u_Camera: this.state.model.getUniforms().project_uCameraPosition,
66485
- u_pickFeatureIds: Boolean(featureIds)
66649
+ pickFeatureIds: Boolean(featureIds)
66486
66650
  });
66487
66651
  super.draw(opts);
66488
66652
  }
@@ -66542,9 +66706,8 @@ class _MeshLayer extends _deck_gl_mesh_layers__WEBPACK_IMPORTED_MODULE_3__["Simp
66542
66706
  }
66543
66707
 
66544
66708
  calculateFeatureIdsPickingColors(attribute) {
66545
- const {
66546
- featureIds
66547
- } = this.props;
66709
+ // This updater is only called if featureIds is not null
66710
+ const featureIds = this.props.featureIds;
66548
66711
  const value = new Uint8ClampedArray(featureIds.length * attribute.size);
66549
66712
  const pickingColor = [];
66550
66713
 
@@ -66559,8 +66722,10 @@ class _MeshLayer extends _deck_gl_mesh_layers__WEBPACK_IMPORTED_MODULE_3__["Simp
66559
66722
  }
66560
66723
 
66561
66724
  }
66562
- _MeshLayer.layerName = '_MeshLayer';
66563
- _MeshLayer.defaultProps = defaultProps;
66725
+
66726
+ _defineProperty(MeshLayer, "layerName", 'MeshLayer');
66727
+
66728
+ _defineProperty(MeshLayer, "defaultProps", defaultProps);
66564
66729
 
66565
66730
  /***/ }),
66566
66731
 
@@ -66765,7 +66930,7 @@ function findIndex(array, predicate, startIndex, endIndex) {
66765
66930
  "use strict";
66766
66931
  __webpack_require__.r(__webpack_exports__);
66767
66932
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return MVTLayer; });
66768
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
66933
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
66769
66934
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
66770
66935
  /* harmony import */ var _math_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @math.gl/core */ "../../node_modules/@math.gl/core/dist/esm/index.js");
66771
66936
  /* harmony import */ var _loaders_gl_mvt__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @loaders.gl/mvt */ "../../node_modules/@loaders.gl/mvt/dist/esm/index.js");
@@ -66788,10 +66953,13 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
66788
66953
 
66789
66954
  const WORLD_SIZE = 512;
66790
66955
  const defaultProps = { ..._deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["GeoJsonLayer"].defaultProps,
66791
- uniqueIdProperty: {
66792
- type: 'string',
66793
- value: ''
66956
+ onDataLoad: {
66957
+ type: 'function',
66958
+ value: null,
66959
+ optional: true,
66960
+ compare: false
66794
66961
  },
66962
+ uniqueIdProperty: '',
66795
66963
  highlightedFeatureId: null,
66796
66964
  loaders: [_loaders_gl_mvt__WEBPACK_IMPORTED_MODULE_2__["MVTWorkerLoader"]],
66797
66965
  binary: true
@@ -67296,9 +67464,9 @@ function getQuadkeyPolygon(quadkey) {
67296
67464
 
67297
67465
  /***/ }),
67298
67466
 
67299
- /***/ "./src/s2-layer/s2-geometry.js":
67467
+ /***/ "./src/s2-layer/s2-geometry.ts":
67300
67468
  /*!*************************************!*\
67301
- !*** ./src/s2-layer/s2-geometry.js ***!
67469
+ !*** ./src/s2-layer/s2-geometry.ts ***!
67302
67470
  \*************************************/
67303
67471
  /*! exports provided: IJToST, STToUV, FaceUVToXYZ, XYZToLngLat, toHilbertQuadkey, FromHilbertQuadKey */
67304
67472
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -67463,9 +67631,9 @@ function FromHilbertQuadKey(hilbertQuadkey) {
67463
67631
 
67464
67632
  /***/ }),
67465
67633
 
67466
- /***/ "./src/s2-layer/s2-layer.js":
67634
+ /***/ "./src/s2-layer/s2-layer.ts":
67467
67635
  /*!**********************************!*\
67468
- !*** ./src/s2-layer/s2-layer.js ***!
67636
+ !*** ./src/s2-layer/s2-layer.ts ***!
67469
67637
  \**********************************/
67470
67638
  /*! exports provided: default */
67471
67639
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -67474,7 +67642,9 @@ function FromHilbertQuadKey(hilbertQuadkey) {
67474
67642
  __webpack_require__.r(__webpack_exports__);
67475
67643
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return S2Layer; });
67476
67644
  /* harmony import */ var _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../geo-cell-layer/GeoCellLayer */ "./src/geo-cell-layer/GeoCellLayer.ts");
67477
- /* harmony import */ var _s2_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./s2-utils */ "./src/s2-layer/s2-utils.js");
67645
+ /* harmony import */ var _s2_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./s2-utils */ "./src/s2-layer/s2-utils.ts");
67646
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
67647
+
67478
67648
  // Copyright (c) 2015 - 2017 Uber Technologies, Inc.
67479
67649
  //
67480
67650
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -67502,6 +67672,8 @@ const defaultProps = {
67502
67672
  value: d => d.token
67503
67673
  }
67504
67674
  };
67675
+ /** All properties supported by S2Layer. */
67676
+
67505
67677
  class S2Layer extends _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODULE_0__["default"] {
67506
67678
  indexToBounds() {
67507
67679
  const {
@@ -67517,14 +67689,16 @@ class S2Layer extends _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODULE_0__[
67517
67689
  }
67518
67690
 
67519
67691
  }
67520
- S2Layer.layerName = 'S2Layer';
67521
- S2Layer.defaultProps = defaultProps;
67692
+
67693
+ _defineProperty(S2Layer, "layerName", 'S2Layer');
67694
+
67695
+ _defineProperty(S2Layer, "defaultProps", defaultProps);
67522
67696
 
67523
67697
  /***/ }),
67524
67698
 
67525
- /***/ "./src/s2-layer/s2-utils.js":
67699
+ /***/ "./src/s2-layer/s2-utils.ts":
67526
67700
  /*!**********************************!*\
67527
- !*** ./src/s2-layer/s2-utils.js ***!
67701
+ !*** ./src/s2-layer/s2-utils.ts ***!
67528
67702
  \**********************************/
67529
67703
  /*! exports provided: getS2QuadKey, getS2Polygon */
67530
67704
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -67533,7 +67707,7 @@ S2Layer.defaultProps = defaultProps;
67533
67707
  __webpack_require__.r(__webpack_exports__);
67534
67708
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getS2QuadKey", function() { return getS2QuadKey; });
67535
67709
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getS2Polygon", function() { return getS2Polygon; });
67536
- /* harmony import */ var _s2_geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./s2-geometry */ "./src/s2-layer/s2-geometry.js");
67710
+ /* harmony import */ var _s2_geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./s2-geometry */ "./src/s2-layer/s2-geometry.ts");
67537
67711
  /* harmony import */ var long__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! long */ "../../node_modules/long/dist/long.js");
67538
67712
  /* harmony import */ var long__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(long__WEBPACK_IMPORTED_MODULE_1__);
67539
67713
  // s2-geometry is a pure JavaScript port of Google/Niantic's S2 Geometry library
@@ -67625,8 +67799,7 @@ function getS2QuadKey(token) {
67625
67799
  /**
67626
67800
  * Get a polygon with corner coordinates for an s2 cell
67627
67801
  * @param {*} cell - This can be an S2 key or token
67628
- * @return {Array} - a simple polygon in array format: [[lng, lat], ...]
67629
- * - each coordinate is an array [lng, lat]
67802
+ * @return {Float64Array} - a simple polygon in flat array format: [lng0, lat0, lng1, lat1, ...]
67630
67803
  * - the polygon is closed, i.e. last coordinate is a copy of the first coordinate
67631
67804
  */
67632
67805
 
@@ -67638,9 +67811,9 @@ function getS2Polygon(token) {
67638
67811
 
67639
67812
  /***/ }),
67640
67813
 
67641
- /***/ "./src/terrain-layer/terrain-layer.js":
67814
+ /***/ "./src/terrain-layer/terrain-layer.ts":
67642
67815
  /*!********************************************!*\
67643
- !*** ./src/terrain-layer/terrain-layer.js ***!
67816
+ !*** ./src/terrain-layer/terrain-layer.ts ***!
67644
67817
  \********************************************/
67645
67818
  /*! exports provided: default */
67646
67819
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -67648,11 +67821,13 @@ function getS2Polygon(token) {
67648
67821
  "use strict";
67649
67822
  __webpack_require__.r(__webpack_exports__);
67650
67823
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return TerrainLayer; });
67651
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
67824
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
67652
67825
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
67653
67826
  /* harmony import */ var _loaders_gl_terrain__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @loaders.gl/terrain */ "../../node_modules/@loaders.gl/terrain/dist/esm/index.js");
67654
67827
  /* harmony import */ var _tile_layer_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../tile-layer/tile-layer */ "./src/tile-layer/tile-layer.ts");
67655
67828
  /* harmony import */ var _tile_layer_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../tile-layer/utils */ "./src/tile-layer/utils.ts");
67829
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
67830
+
67656
67831
  // Copyright (c) 2015 - 2017 Uber Technologies, Inc.
67657
67832
  //
67658
67833
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -67722,24 +67897,24 @@ const defaultProps = { ..._tile_layer_tile_layer__WEBPACK_IMPORTED_MODULE_2__["d
67722
67897
  wireframe: false,
67723
67898
  material: true,
67724
67899
  loaders: [_loaders_gl_terrain__WEBPACK_IMPORTED_MODULE_1__["TerrainWorkerLoader"]]
67725
- }; // Turns array of templates into a single string to work around shallow change
67900
+ };
67726
67901
 
67902
+ // Turns array of templates into a single string to work around shallow change
67727
67903
  function urlTemplateToUpdateTrigger(template) {
67728
67904
  if (Array.isArray(template)) {
67729
67905
  return template.join(';');
67730
67906
  }
67731
67907
 
67732
- return template;
67908
+ return template || '';
67733
67909
  }
67734
- /**
67735
- * state: {
67736
- * isTiled: True renders TileLayer of many SimpleMeshLayers, false renders one SimpleMeshLayer
67737
- * terrain: Mesh object. Only defined when isTiled is false.
67738
- * }
67739
- */
67740
-
67741
67910
 
67742
67911
  class TerrainLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLayer"] {
67912
+ constructor(...args) {
67913
+ super(...args);
67914
+
67915
+ _defineProperty(this, "state", void 0);
67916
+ }
67917
+
67743
67918
  updateState({
67744
67919
  props,
67745
67920
  oldProps
@@ -67760,11 +67935,13 @@ class TerrainLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Composite
67760
67935
  const shouldReload = elevationDataChanged || props.meshMaxError !== oldProps.meshMaxError || props.elevationDecoder !== oldProps.elevationDecoder || props.bounds !== oldProps.bounds;
67761
67936
 
67762
67937
  if (!this.state.isTiled && shouldReload) {
67938
+ // When state.isTiled, elevationData cannot be an array
67763
67939
  const terrain = this.loadTerrain(props);
67764
67940
  this.setState({
67765
67941
  terrain
67766
67942
  });
67767
67943
  } // TODO - remove in v9
67944
+ // @ts-ignore
67768
67945
 
67769
67946
 
67770
67947
  if (props.workerUrl) {
@@ -67816,13 +67993,23 @@ class TerrainLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Composite
67816
67993
  viewport
67817
67994
  } = this.context;
67818
67995
  const dataUrl = Object(_tile_layer_utils__WEBPACK_IMPORTED_MODULE_3__["getURLFromTemplate"])(elevationData, tile);
67819
- const textureUrl = Object(_tile_layer_utils__WEBPACK_IMPORTED_MODULE_3__["getURLFromTemplate"])(texture, tile);
67996
+ const textureUrl = texture && Object(_tile_layer_utils__WEBPACK_IMPORTED_MODULE_3__["getURLFromTemplate"])(texture, tile);
67820
67997
  const {
67821
- bbox,
67822
67998
  signal
67823
67999
  } = tile;
67824
- const bottomLeft = viewport.isGeospatial ? viewport.projectFlat([bbox.west, bbox.south]) : [bbox.left, bbox.bottom];
67825
- const topRight = viewport.isGeospatial ? viewport.projectFlat([bbox.east, bbox.north]) : [bbox.right, bbox.top];
68000
+ let bottomLeft = [0, 0];
68001
+ let topRight = [0, 0];
68002
+
68003
+ if (viewport.isGeospatial) {
68004
+ const bbox = tile.bbox;
68005
+ bottomLeft = viewport.projectFlat([bbox.west, bbox.south]);
68006
+ topRight = viewport.projectFlat([bbox.east, bbox.north]);
68007
+ } else {
68008
+ const bbox = tile.bbox;
68009
+ bottomLeft = [bbox.left, bbox.bottom];
68010
+ topRight = [bbox.right, bbox.top];
68011
+ }
68012
+
67826
68013
  const bounds = [bottomLeft[0], bottomLeft[1], topRight[0], topRight[1]];
67827
68014
  const terrain = this.loadTerrain({
67828
68015
  elevationData: dataUrl,
@@ -67844,8 +68031,12 @@ class TerrainLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Composite
67844
68031
  renderSubLayers(props) {
67845
68032
  const SubLayerClass = this.getSubLayerClass('mesh', _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["SimpleMeshLayer"]);
67846
68033
  const {
67847
- data,
67848
- color
68034
+ color,
68035
+ wireframe,
68036
+ material
68037
+ } = this.props;
68038
+ const {
68039
+ data
67849
68040
  } = props;
67850
68041
 
67851
68042
  if (!data) {
@@ -67860,7 +68051,9 @@ class TerrainLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Composite
67860
68051
  _instanced: false,
67861
68052
  coordinateSystem: _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["COORDINATE_SYSTEM"].CARTESIAN,
67862
68053
  getPosition: d => [0, 0, 0],
67863
- getColor: color
68054
+ getColor: color,
68055
+ wireframe,
68056
+ material
67864
68057
  });
67865
68058
  } // Update zRange of viewport
67866
68059
 
@@ -67874,6 +68067,7 @@ class TerrainLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Composite
67874
68067
  zRange
67875
68068
  } = this.state;
67876
68069
  const ranges = tiles.map(tile => tile.content).filter(Boolean).map(arr => {
68070
+ // @ts-ignore
67877
68071
  const bounds = arr[0].header.boundingBox;
67878
68072
  return bounds.map(bound => bound[2]);
67879
68073
  });
@@ -67918,9 +68112,6 @@ class TerrainLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Composite
67918
68112
  return new _tile_layer_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"](this.getSubLayerProps({
67919
68113
  id: 'tiles'
67920
68114
  }), {
67921
- wireframe,
67922
- color,
67923
- material,
67924
68115
  getTileData: this.getTiledTerrainData.bind(this),
67925
68116
  renderSubLayers: this.renderSubLayers.bind(this),
67926
68117
  updateTriggers: {
@@ -67963,14 +68154,16 @@ class TerrainLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Composite
67963
68154
  }
67964
68155
 
67965
68156
  }
67966
- TerrainLayer.layerName = 'TerrainLayer';
67967
- TerrainLayer.defaultProps = defaultProps;
68157
+
68158
+ _defineProperty(TerrainLayer, "defaultProps", defaultProps);
68159
+
68160
+ _defineProperty(TerrainLayer, "layerName", 'TerrainLayer');
67968
68161
 
67969
68162
  /***/ }),
67970
68163
 
67971
- /***/ "./src/tile-3d-layer/tile-3d-layer.js":
68164
+ /***/ "./src/tile-3d-layer/tile-3d-layer.ts":
67972
68165
  /*!********************************************!*\
67973
- !*** ./src/tile-3d-layer/tile-3d-layer.js ***!
68166
+ !*** ./src/tile-3d-layer/tile-3d-layer.ts ***!
67974
68167
  \********************************************/
67975
68168
  /*! exports provided: default */
67976
68169
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -67981,12 +68174,13 @@ __webpack_require__.r(__webpack_exports__);
67981
68174
  /* harmony import */ var _luma_gl_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @luma.gl/constants */ "../../node_modules/@luma.gl/constants/dist/esm/index.js");
67982
68175
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @luma.gl/core */ "@luma.gl/core");
67983
68176
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_luma_gl_core__WEBPACK_IMPORTED_MODULE_1__);
67984
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
68177
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
67985
68178
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_2__);
67986
- /* harmony import */ var _mesh_layer_mesh_layer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../mesh-layer/mesh-layer */ "./src/mesh-layer/mesh-layer.js");
68179
+ /* harmony import */ var _mesh_layer_mesh_layer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../mesh-layer/mesh-layer */ "./src/mesh-layer/mesh-layer.ts");
67987
68180
  /* harmony import */ var _loaders_gl_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @loaders.gl/core */ "../../node_modules/@loaders.gl/core/dist/esm/index.js");
67988
68181
  /* harmony import */ var _loaders_gl_tiles__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @loaders.gl/tiles */ "../../node_modules/@loaders.gl/tiles/dist/esm/index.js");
67989
68182
  /* harmony import */ var _loaders_gl_3d_tiles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @loaders.gl/3d-tiles */ "../../node_modules/@loaders.gl/3d-tiles/dist/esm/index.js");
68183
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
67990
68184
 
67991
68185
 
67992
68186
 
@@ -68004,6 +68198,7 @@ const defaultProps = {
68004
68198
  value: [0, 0, 0, 255]
68005
68199
  },
68006
68200
  pointSize: 1.0,
68201
+ // @ts-expect-error Disable async data loading (handling it in _loadTileSet)
68007
68202
  data: null,
68008
68203
  loader: _loaders_gl_3d_tiles__WEBPACK_IMPORTED_MODULE_6__["Tiles3DLoader"],
68009
68204
  onTilesetLoad: {
@@ -68032,7 +68227,15 @@ const defaultProps = {
68032
68227
  compare: false
68033
68228
  }
68034
68229
  };
68230
+ /** All properties supported by Tile3DLayer */
68231
+
68035
68232
  class Tile3DLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["CompositeLayer"] {
68233
+ constructor(...args) {
68234
+ super(...args);
68235
+
68236
+ _defineProperty(this, "state", void 0);
68237
+ }
68238
+
68036
68239
  initializeState() {
68037
68240
  if ('onTileLoadFail' in this.props) {
68038
68241
  _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["log"].removed('onTileLoadFail', 'onTileError')();
@@ -68051,7 +68254,7 @@ class Tile3DLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["CompositeL
68051
68254
  const {
68052
68255
  tileset3d
68053
68256
  } = this.state;
68054
- return tileset3d && tileset3d.isLoaded();
68257
+ return tileset3d !== null && tileset3d.isLoaded();
68055
68258
  }
68056
68259
 
68057
68260
  shouldUpdateState({
@@ -68134,6 +68337,7 @@ class Tile3DLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["CompositeL
68134
68337
  layer,
68135
68338
  viewport
68136
68339
  }) {
68340
+ // All sublayers will have a tile prop
68137
68341
  const {
68138
68342
  tile
68139
68343
  } = layer.props;
@@ -68153,6 +68357,7 @@ class Tile3DLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["CompositeL
68153
68357
  const {
68154
68358
  loadOptions = {}
68155
68359
  } = this.props; // TODO: deprecate `loader` in v9.0
68360
+ // @ts-ignore
68156
68361
 
68157
68362
  let loader = this.props.loader || this.props.loaders;
68158
68363
 
@@ -68181,7 +68386,7 @@ class Tile3DLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["CompositeL
68181
68386
  const tileset3d = new _loaders_gl_tiles__WEBPACK_IMPORTED_MODULE_5__["Tileset3D"](tilesetJson, {
68182
68387
  onTileLoad: this._onTileLoad.bind(this),
68183
68388
  onTileUnload: this._onTileUnload.bind(this),
68184
- onTileLoadFail: this.props.onTileError,
68389
+ onTileError: this.props.onTileError,
68185
68390
  ...options
68186
68391
  });
68187
68392
  this.setState({
@@ -68212,6 +68417,10 @@ class Tile3DLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["CompositeL
68212
68417
  }
68213
68418
 
68214
68419
  _updateTileset(viewports) {
68420
+ if (!viewports) {
68421
+ return;
68422
+ }
68423
+
68215
68424
  const {
68216
68425
  tileset3d
68217
68426
  } = this.state;
@@ -68245,7 +68454,7 @@ class Tile3DLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["CompositeL
68245
68454
  return this._makePointCloudLayer(tileHeader, oldLayer);
68246
68455
 
68247
68456
  case _loaders_gl_tiles__WEBPACK_IMPORTED_MODULE_5__["TILE_TYPE"].SCENEGRAPH:
68248
- return this._make3DModelLayer(tileHeader, oldLayer);
68457
+ return this._make3DModelLayer(tileHeader);
68249
68458
 
68250
68459
  case _loaders_gl_tiles__WEBPACK_IMPORTED_MODULE_5__["TILE_TYPE"].MESH:
68251
68460
  return this._makeSimpleMeshLayer(tileHeader, oldLayer);
@@ -68375,7 +68584,8 @@ class Tile3DLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["CompositeL
68375
68584
 
68376
68585
  if (!tileset3d) {
68377
68586
  return null;
68378
- }
68587
+ } // loaders.gl doesn't provide a type for tileset3d.tiles
68588
+
68379
68589
 
68380
68590
  return tileset3d.tiles.map(tile => {
68381
68591
  const layerCache = layerMap[tile.id] = layerMap[tile.id] || {
@@ -68404,6 +68614,10 @@ class Tile3DLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["CompositeL
68404
68614
 
68405
68615
  }
68406
68616
 
68617
+ _defineProperty(Tile3DLayer, "defaultProps", defaultProps);
68618
+
68619
+ _defineProperty(Tile3DLayer, "layerName", 'Tile3DLayer');
68620
+
68407
68621
  function getMeshGeometry(contentAttributes) {
68408
68622
  const attributes = {};
68409
68623
  attributes.positions = { ...contentAttributes.positions,
@@ -68429,9 +68643,6 @@ function getMeshGeometry(contentAttributes) {
68429
68643
  return attributes;
68430
68644
  }
68431
68645
 
68432
- Tile3DLayer.layerName = 'Tile3DLayer';
68433
- Tile3DLayer.defaultProps = defaultProps;
68434
-
68435
68646
  /***/ }),
68436
68647
 
68437
68648
  /***/ "./src/tile-layer/tile-2d-header.ts":
@@ -68444,7 +68655,7 @@ Tile3DLayer.defaultProps = defaultProps;
68444
68655
  "use strict";
68445
68656
  __webpack_require__.r(__webpack_exports__);
68446
68657
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Tile2DHeader; });
68447
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
68658
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
68448
68659
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
68449
68660
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
68450
68661
 
@@ -68654,7 +68865,7 @@ class Tile2DHeader {
68654
68865
  "use strict";
68655
68866
  __webpack_require__.r(__webpack_exports__);
68656
68867
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getOSMTileIndices", function() { return getOSMTileIndices; });
68657
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
68868
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
68658
68869
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
68659
68870
  /* harmony import */ var _math_gl_culling__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @math.gl/culling */ "../../node_modules/@math.gl/culling/dist/esm/index.js");
68660
68871
  /* harmony import */ var _math_gl_web_mercator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @math.gl/web-mercator */ "../../node_modules/@math.gl/web-mercator/dist/esm/index.js");
@@ -68886,7 +69097,7 @@ function getOSMTileIndices(viewport, maxZ, zRange, bounds) {
68886
69097
  "use strict";
68887
69098
  __webpack_require__.r(__webpack_exports__);
68888
69099
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return TileLayer; });
68889
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
69100
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
68890
69101
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
68891
69102
  /* harmony import */ var _tileset_2d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tileset-2d */ "./src/tile-layer/tileset-2d.ts");
68892
69103
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./src/tile-layer/utils.ts");
@@ -68898,7 +69109,10 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
68898
69109
 
68899
69110
  const defaultProps = {
68900
69111
  TilesetClass: _tileset_2d__WEBPACK_IMPORTED_MODULE_1__["default"],
68901
- data: [],
69112
+ data: {
69113
+ type: 'data',
69114
+ value: []
69115
+ },
68902
69116
  dataComparator: _utils__WEBPACK_IMPORTED_MODULE_2__["urlType"].equals,
68903
69117
  renderSubLayers: {
68904
69118
  type: 'function',
@@ -69176,9 +69390,13 @@ class TileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLay
69176
69390
  }
69177
69391
 
69178
69392
  filterSubLayer({
69179
- layer
69393
+ layer,
69394
+ cullRect
69180
69395
  }) {
69181
- return layer.props.tile.isVisible;
69396
+ const {
69397
+ tile
69398
+ } = layer.props;
69399
+ return this.state.tileset.isTileVisible(tile, cullRect);
69182
69400
  }
69183
69401
 
69184
69402
  }
@@ -69206,13 +69424,16 @@ __webpack_require__.r(__webpack_exports__);
69206
69424
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/tile-layer/utils.ts");
69207
69425
  /* harmony import */ var _loaders_gl_loader_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @loaders.gl/loader-utils */ "../../node_modules/@loaders.gl/loader-utils/dist/esm/index.js");
69208
69426
  /* harmony import */ var _math_gl_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @math.gl/core */ "../../node_modules/@math.gl/core/dist/esm/index.js");
69427
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
69428
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_4__);
69209
69429
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
69210
69430
 
69211
69431
 
69212
69432
 
69213
69433
 
69214
69434
 
69215
- // bit masks
69435
+ // bit masks
69436
+
69216
69437
  const TILE_STATE_VISITED = 1;
69217
69438
  const TILE_STATE_VISIBLE = 2;
69218
69439
  /*
@@ -69268,6 +69489,8 @@ class Tileset2D {
69268
69489
 
69269
69490
  _defineProperty(this, "_viewport", void 0);
69270
69491
 
69492
+ _defineProperty(this, "_zRange", void 0);
69493
+
69271
69494
  _defineProperty(this, "_selectedTiles", void 0);
69272
69495
 
69273
69496
  _defineProperty(this, "_frameNumber", void 0);
@@ -69282,6 +69505,8 @@ class Tileset2D {
69282
69505
 
69283
69506
  _defineProperty(this, "onTileLoad", void 0);
69284
69507
 
69508
+ _defineProperty(this, "_getCullBounds", Object(_deck_gl_core__WEBPACK_IMPORTED_MODULE_4__["_memoize"])(_utils__WEBPACK_IMPORTED_MODULE_1__["getCullBounds"]));
69509
+
69285
69510
  this.opts = opts;
69286
69511
 
69287
69512
  this.onTileLoad = tile => {
@@ -69379,13 +69604,14 @@ class Tileset2D {
69379
69604
  const modelMatrixAsMatrix4 = new _math_gl_core__WEBPACK_IMPORTED_MODULE_3__["Matrix4"](modelMatrix);
69380
69605
  const isModelMatrixNew = !modelMatrixAsMatrix4.equals(this._modelMatrix);
69381
69606
 
69382
- if (!this._viewport || !viewport.equals(this._viewport) || isModelMatrixNew) {
69607
+ if (!this._viewport || !viewport.equals(this._viewport) || !Object(_math_gl_core__WEBPACK_IMPORTED_MODULE_3__["equals"])(this._zRange, zRange) || isModelMatrixNew) {
69383
69608
  if (isModelMatrixNew) {
69384
69609
  this._modelMatrixInverse = modelMatrixAsMatrix4.clone().invert();
69385
69610
  this._modelMatrix = modelMatrixAsMatrix4;
69386
69611
  }
69387
69612
 
69388
69613
  this._viewport = viewport;
69614
+ this._zRange = zRange;
69389
69615
  const tileIndices = this.getTileIndices({
69390
69616
  viewport,
69391
69617
  maxZoom: this._maxZoom,
@@ -69421,6 +69647,34 @@ class Tileset2D {
69421
69647
 
69422
69648
  return this._frameNumber;
69423
69649
  }
69650
+
69651
+ isTileVisible(tile, cullRect) {
69652
+ if (!tile.isVisible) {
69653
+ return false;
69654
+ }
69655
+
69656
+ if (cullRect && this._viewport) {
69657
+ const [minX, minY, maxX, maxY] = Object(_utils__WEBPACK_IMPORTED_MODULE_1__["getCullBounds"])({
69658
+ viewport: this._viewport,
69659
+ z: this._zRange,
69660
+ cullRect
69661
+ });
69662
+ const {
69663
+ bbox
69664
+ } = tile;
69665
+
69666
+ if ('west' in bbox) {
69667
+ return bbox.west < maxX && bbox.east > minX && bbox.south < maxY && bbox.north > minY;
69668
+ } // top/bottom could be swapped depending on the indexing system
69669
+
69670
+
69671
+ const y0 = Math.min(bbox.top, bbox.bottom);
69672
+ const y1 = Math.max(bbox.top, bbox.bottom);
69673
+ return bbox.left < maxX && bbox.right > minX && y0 < maxY && y1 > minY;
69674
+ }
69675
+
69676
+ return true;
69677
+ }
69424
69678
  /* Public interface for subclassing */
69425
69679
 
69426
69680
  /** Returns array of tile indices in the current viewport */
@@ -69761,13 +70015,14 @@ function getPlaceholderInChildren(tile) {
69761
70015
  /*!*********************************!*\
69762
70016
  !*** ./src/tile-layer/utils.ts ***!
69763
70017
  \*********************************/
69764
- /*! exports provided: urlType, getURLFromTemplate, osmTile2lngLat, tileToBoundingBox, getTileIndices, isURLTemplate, isGeoBoundingBox */
70018
+ /*! exports provided: urlType, getURLFromTemplate, getCullBounds, osmTile2lngLat, tileToBoundingBox, getTileIndices, isURLTemplate, isGeoBoundingBox */
69765
70019
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
69766
70020
 
69767
70021
  "use strict";
69768
70022
  __webpack_require__.r(__webpack_exports__);
69769
70023
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "urlType", function() { return urlType; });
69770
70024
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getURLFromTemplate", function() { return getURLFromTemplate; });
70025
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCullBounds", function() { return getCullBounds; });
69771
70026
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "osmTile2lngLat", function() { return osmTile2lngLat; });
69772
70027
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "tileToBoundingBox", function() { return tileToBoundingBox; });
69773
70028
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTileIndices", function() { return getTileIndices; });
@@ -69881,6 +70136,44 @@ function getBoundingBox(viewport, zRange, extent) {
69881
70136
 
69882
70137
  return [Math.max(bounds[0], extent[0]), Math.max(bounds[1], extent[1]), Math.min(bounds[2], extent[2]), Math.min(bounds[3], extent[3])];
69883
70138
  }
70139
+ /** Get culling bounds in world space */
70140
+
70141
+
70142
+ function getCullBounds({
70143
+ viewport,
70144
+ z,
70145
+ cullRect
70146
+ }) {
70147
+ const x = cullRect.x - viewport.x;
70148
+ const y = cullRect.y - viewport.y;
70149
+ const {
70150
+ width,
70151
+ height
70152
+ } = cullRect;
70153
+
70154
+ if (!Array.isArray(z)) {
70155
+ const unprojectOption = {
70156
+ targetZ: z || 0
70157
+ };
70158
+ const topLeft = viewport.unproject([x, y], unprojectOption);
70159
+ const topRight = viewport.unproject([x + width, y], unprojectOption);
70160
+ const bottomLeft = viewport.unproject([x, y + height], unprojectOption);
70161
+ const bottomRight = viewport.unproject([x + width, y + height], unprojectOption);
70162
+ return [Math.min(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]), Math.min(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]), Math.max(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]), Math.max(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1])];
70163
+ }
70164
+
70165
+ const bounds0 = getCullBounds({
70166
+ viewport,
70167
+ z: z[0],
70168
+ cullRect
70169
+ });
70170
+ const bounds1 = getCullBounds({
70171
+ viewport,
70172
+ z: z[1],
70173
+ cullRect
70174
+ });
70175
+ return [Math.min(bounds0[0], bounds1[0]), Math.min(bounds0[1], bounds1[1]), Math.max(bounds0[2], bounds1[2]), Math.max(bounds0[3], bounds1[3])];
70176
+ }
69884
70177
 
69885
70178
  function getIndexingCoords(bbox, scale, modelMatrixInverse) {
69886
70179
  if (modelMatrixInverse) {
@@ -70017,7 +70310,7 @@ function isGeoBoundingBox(v) {
70017
70310
  "use strict";
70018
70311
  __webpack_require__.r(__webpack_exports__);
70019
70312
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return TripsLayer; });
70020
- /* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/layers */ "@deck.gl/core");
70313
+ /* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/layers */ "@deck.gl/layers");
70021
70314
  /* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_layers__WEBPACK_IMPORTED_MODULE_0__);
70022
70315
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
70023
70316
 
@@ -70055,7 +70348,7 @@ const defaultProps = {
70055
70348
  },
70056
70349
  getTimestamps: {
70057
70350
  type: 'accessor',
70058
- value: null
70351
+ value: d => d.timestamps
70059
70352
  }
70060
70353
  };
70061
70354
  /** All properties supported by TripsLayer. */
@@ -70225,14 +70518,14 @@ _defineProperty(TripsLayer, "defaultProps", defaultProps);
70225
70518
 
70226
70519
  /***/ }),
70227
70520
 
70228
- /***/ "@deck.gl/core":
70521
+ /***/ "@deck.gl/layers":
70229
70522
  /*!***********************!*\
70230
70523
  !*** external "deck" ***!
70231
70524
  \***********************/
70232
70525
  /*! no static exports found */
70233
70526
  /***/ (function(module, exports) {
70234
70527
 
70235
- module.exports = __WEBPACK_EXTERNAL_MODULE__deck_gl_core__;
70528
+ module.exports = __WEBPACK_EXTERNAL_MODULE__deck_gl_layers__;
70236
70529
 
70237
70530
  /***/ }),
70238
70531