@deck.gl/geo-layers 8.9.5 → 8.9.7

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 (39) hide show
  1. package/dist/dist.dev.js +11 -1
  2. package/dist/es5/h3-layers/h3-cluster-layer.js +10 -1
  3. package/dist/es5/h3-layers/h3-cluster-layer.js.map +1 -1
  4. package/dist/esm/h3-layers/h3-cluster-layer.js +11 -1
  5. package/dist/esm/h3-layers/h3-cluster-layer.js.map +1 -1
  6. package/dist.min.js +1 -1
  7. package/package.json +2 -2
  8. package/src/h3-layers/h3-cluster-layer.ts +8 -1
  9. package/typed/geo-cell-layer/GeoCellLayer.js +49 -0
  10. package/typed/great-circle-layer/great-circle-layer.js +29 -0
  11. package/typed/h3-layers/h3-cluster-layer.d.ts.map +1 -1
  12. package/typed/h3-layers/h3-cluster-layer.js +33 -0
  13. package/typed/h3-layers/h3-hexagon-layer.js +251 -0
  14. package/typed/imagery-layer/imagery-layer.d.ts +53 -0
  15. package/typed/imagery-layer/imagery-layer.d.ts.map +1 -0
  16. package/typed/index.js +33 -0
  17. package/typed/mesh-layer/mesh-layer-fragment.glsl.js +55 -0
  18. package/typed/mesh-layer/mesh-layer-vertex.glsl.js +80 -0
  19. package/typed/mesh-layer/mesh-layer.js +110 -0
  20. package/typed/mvt-layer/coordinate-transform.js +41 -0
  21. package/typed/mvt-layer/find-index-binary.js +96 -0
  22. package/typed/mvt-layer/mvt-layer.js +297 -0
  23. package/typed/quadkey-layer/quadkey-layer.js +18 -0
  24. package/typed/quadkey-layer/quadkey-utils.js +26 -0
  25. package/typed/s2-layer/s2-geometry.js +123 -0
  26. package/typed/s2-layer/s2-layer.js +37 -0
  27. package/typed/s2-layer/s2-utils.js +88 -0
  28. package/typed/terrain-layer/terrain-layer.js +226 -0
  29. package/typed/tile-3d-layer/tile-3d-layer.js +294 -0
  30. package/typed/tile-layer/tile-2d-header.js +113 -0
  31. package/typed/tile-layer/tile-2d-traversal.js +181 -0
  32. package/typed/tile-layer/tile-layer.js +192 -0
  33. package/typed/tile-layer/tileset-2d.d.ts.map +1 -1
  34. package/typed/tile-layer/tileset-2d.js +399 -0
  35. package/typed/tile-layer/types.js +1 -0
  36. package/typed/tile-layer/utils.d.ts +1 -1
  37. package/typed/tile-layer/utils.d.ts.map +1 -1
  38. package/typed/tile-layer/utils.js +197 -0
  39. package/typed/trips-layer/trips-layer.js +92 -0
package/dist/dist.dev.js CHANGED
@@ -10148,9 +10148,19 @@ varying float vTime;
10148
10148
  }
10149
10149
  }
10150
10150
  indexToBounds() {
10151
+ const {
10152
+ getElevation,
10153
+ getFillColor,
10154
+ getLineColor,
10155
+ getLineWidth
10156
+ } = this.props;
10151
10157
  return {
10152
10158
  data: this.state.polygons,
10153
- getPolygon: (d) => d.polygon
10159
+ getPolygon: (d) => d.polygon,
10160
+ getElevation: this.getSubLayerAccessor(getElevation),
10161
+ getFillColor: this.getSubLayerAccessor(getFillColor),
10162
+ getLineColor: this.getSubLayerAccessor(getLineColor),
10163
+ getLineWidth: this.getSubLayerAccessor(getLineWidth)
10154
10164
  };
10155
10165
  }
10156
10166
  };
@@ -116,11 +116,20 @@ var H3ClusterLayer = function (_GeoCellLayer) {
116
116
  }, {
117
117
  key: "indexToBounds",
118
118
  value: function indexToBounds() {
119
+ var _this$props = this.props,
120
+ getElevation = _this$props.getElevation,
121
+ getFillColor = _this$props.getFillColor,
122
+ getLineColor = _this$props.getLineColor,
123
+ getLineWidth = _this$props.getLineWidth;
119
124
  return {
120
125
  data: this.state.polygons,
121
126
  getPolygon: function getPolygon(d) {
122
127
  return d.polygon;
123
- }
128
+ },
129
+ getElevation: this.getSubLayerAccessor(getElevation),
130
+ getFillColor: this.getSubLayerAccessor(getFillColor),
131
+ getLineColor: this.getSubLayerAccessor(getLineColor),
132
+ getLineWidth: this.getSubLayerAccessor(getLineWidth)
124
133
  };
125
134
  }
126
135
  }]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/h3-layers/h3-cluster-layer.ts"],"names":["defaultProps","getHexagons","type","value","d","hexagons","H3ClusterLayer","H3HexagonLayer","_checkH3Lib","props","changeFlags","dataChanged","updateTriggersChanged","data","polygons","iterable","objectInfo","object","index","multiPolygon","polygon","push","getSubLayerRow","setState","state","getPolygon","GeoCellLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,YAA+C,GAAG;AACtDC,EAAAA,WAAW,EAAE;AAACC,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,KAAK,EAAE,eAAAC,CAAC;AAAA,aAAIA,CAAC,CAACC,QAAN;AAAA;AAA3B;AADyC,CAAxD;;IAkBqBC,c;;;;;;;;;;;;WAOnB,2BAAwB;AACtBC,8BAAeC,WAAf;AACD;;;WAED,2BAAgE;AAAA,UAAnDC,KAAmD,QAAnDA,KAAmD;AAAA,UAA5CC,WAA4C,QAA5CA,WAA4C;;AAC9D,UACEA,WAAW,CAACC,WAAZ,IACCD,WAAW,CAACE,qBAAZ,IAAqCF,WAAW,CAACE,qBAAZ,CAAkCX,WAF1E,EAGE;AACA,YAAOY,IAAP,GAA4BJ,KAA5B,CAAOI,IAAP;AAAA,YAAaZ,WAAb,GAA4BQ,KAA5B,CAAaR,WAAb;AACA,YAAMa,QAAmC,GAAG,EAA5C;;AAEA,8BAA+B,0BAAeD,IAAf,CAA/B;AAAA,YAAOE,QAAP,mBAAOA,QAAP;AAAA,YAAiBC,UAAjB,mBAAiBA,UAAjB;;AAJA,mDAKqBD,QALrB;AAAA;;AAAA;AAKA,8DAA+B;AAAA,gBAApBE,MAAoB;AAC7BD,YAAAA,UAAU,CAACE,KAAX;AACA,gBAAMb,QAAQ,GAAGJ,WAAW,CAACgB,MAAD,EAASD,UAAT,CAA5B;AACA,gBAAMG,YAAY,GAAG,+BAAoBd,QAApB,EAA8B,IAA9B,CAArB;;AAH6B,wDAKPc,YALO;AAAA;;AAAA;AAK7B,qEAAoC;AAAA,oBAAzBC,OAAyB;AAClCN,gBAAAA,QAAQ,CAACO,IAAT,CAAc,KAAKC,cAAL,CAAoB;AAACF,kBAAAA,OAAO,EAAPA;AAAD,iBAApB,EAA+BH,MAA/B,EAAuCD,UAAU,CAACE,KAAlD,CAAd;AACD;AAP4B;AAAA;AAAA;AAAA;AAAA;AAQ9B;AAbD;AAAA;AAAA;AAAA;AAAA;;AAeA,aAAKK,QAAL,CAAc;AAACT,UAAAA,QAAQ,EAARA;AAAD,SAAd;AACD;AACF;;;WAED,yBAAgD;AAC9C,aAAO;AACLD,QAAAA,IAAI,EAAE,KAAKW,KAAL,CAAWV,QADZ;AAELW,QAAAA,UAAU,EAAE,oBAAArB,CAAC;AAAA,iBAAIA,CAAC,CAACgB,OAAN;AAAA;AAFR,OAAP;AAID;;;EAvCkFM,sB;;;8BAAhEpB,c,eAIA,gB;8BAJAA,c,kBAKGN,Y","sourcesContent":["import {h3SetToMultiPolygon, H3IndexInput} from 'h3-js';\n\nimport {AccessorFunction, createIterable, UpdateParameters, DefaultProps} from '@deck.gl/core';\nimport {default as H3HexagonLayer} from './h3-hexagon-layer';\nimport GeoCellLayer, {GeoCellLayerProps} from '../geo-cell-layer/GeoCellLayer';\n\nconst defaultProps: DefaultProps<H3ClusterLayerProps> = {\n getHexagons: {type: 'accessor', value: d => d.hexagons}\n};\n\n/** All properties supported by H3ClusterLayer. */\nexport type H3ClusterLayerProps<DataT = any> = _H3ClusterLayerProps<DataT> &\n GeoCellLayerProps<DataT>;\n\n/** Properties added by H3ClusterLayer. */\ntype _H3ClusterLayerProps<DataT> = {\n /**\n * Called for each data object to retrieve the hexagon identifiers.\n *\n * By default, it reads `hexagons` property of data object.\n */\n getHexagons?: AccessorFunction<DataT, H3IndexInput[]>;\n};\n\nexport default class H3ClusterLayer<DataT = any, ExtraProps extends {} = {}> extends GeoCellLayer<\n DataT,\n Required<_H3ClusterLayerProps<DataT>> & ExtraProps\n> {\n static layerName = 'H3ClusterLayer';\n static defaultProps = defaultProps;\n\n initializeState(): void {\n H3HexagonLayer._checkH3Lib();\n }\n\n updateState({props, changeFlags}: UpdateParameters<this>): void {\n if (\n changeFlags.dataChanged ||\n (changeFlags.updateTriggersChanged && changeFlags.updateTriggersChanged.getHexagons)\n ) {\n const {data, getHexagons} = props;\n const polygons: {polygon: number[][][]}[] = [];\n\n const {iterable, objectInfo} = createIterable(data);\n for (const object of iterable) {\n objectInfo.index++;\n const hexagons = getHexagons(object, objectInfo);\n const multiPolygon = h3SetToMultiPolygon(hexagons, true);\n\n for (const polygon of multiPolygon) {\n polygons.push(this.getSubLayerRow({polygon}, object, objectInfo.index));\n }\n }\n\n this.setState({polygons});\n }\n }\n\n indexToBounds(): Partial<GeoCellLayer['props']> {\n return {\n data: this.state.polygons,\n getPolygon: d => d.polygon\n };\n }\n}\n"],"file":"h3-cluster-layer.js"}
1
+ {"version":3,"sources":["../../../src/h3-layers/h3-cluster-layer.ts"],"names":["defaultProps","getHexagons","type","value","d","hexagons","H3ClusterLayer","H3HexagonLayer","_checkH3Lib","props","changeFlags","dataChanged","updateTriggersChanged","data","polygons","iterable","objectInfo","object","index","multiPolygon","polygon","push","getSubLayerRow","setState","getElevation","getFillColor","getLineColor","getLineWidth","state","getPolygon","getSubLayerAccessor","GeoCellLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,YAA+C,GAAG;AACtDC,EAAAA,WAAW,EAAE;AAACC,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,KAAK,EAAE,eAAAC,CAAC;AAAA,aAAIA,CAAC,CAACC,QAAN;AAAA;AAA3B;AADyC,CAAxD;;IAkBqBC,c;;;;;;;;;;;;WAOnB,2BAAwB;AACtBC,8BAAeC,WAAf;AACD;;;WAED,2BAAgE;AAAA,UAAnDC,KAAmD,QAAnDA,KAAmD;AAAA,UAA5CC,WAA4C,QAA5CA,WAA4C;;AAC9D,UACEA,WAAW,CAACC,WAAZ,IACCD,WAAW,CAACE,qBAAZ,IAAqCF,WAAW,CAACE,qBAAZ,CAAkCX,WAF1E,EAGE;AACA,YAAOY,IAAP,GAA4BJ,KAA5B,CAAOI,IAAP;AAAA,YAAaZ,WAAb,GAA4BQ,KAA5B,CAAaR,WAAb;AACA,YAAMa,QAAmC,GAAG,EAA5C;;AAEA,8BAA+B,0BAAeD,IAAf,CAA/B;AAAA,YAAOE,QAAP,mBAAOA,QAAP;AAAA,YAAiBC,UAAjB,mBAAiBA,UAAjB;;AAJA,mDAKqBD,QALrB;AAAA;;AAAA;AAKA,8DAA+B;AAAA,gBAApBE,MAAoB;AAC7BD,YAAAA,UAAU,CAACE,KAAX;AACA,gBAAMb,QAAQ,GAAGJ,WAAW,CAACgB,MAAD,EAASD,UAAT,CAA5B;AACA,gBAAMG,YAAY,GAAG,+BAAoBd,QAApB,EAA8B,IAA9B,CAArB;;AAH6B,wDAKPc,YALO;AAAA;;AAAA;AAK7B,qEAAoC;AAAA,oBAAzBC,OAAyB;AAClCN,gBAAAA,QAAQ,CAACO,IAAT,CAAc,KAAKC,cAAL,CAAoB;AAACF,kBAAAA,OAAO,EAAPA;AAAD,iBAApB,EAA+BH,MAA/B,EAAuCD,UAAU,CAACE,KAAlD,CAAd;AACD;AAP4B;AAAA;AAAA;AAAA;AAAA;AAQ9B;AAbD;AAAA;AAAA;AAAA;AAAA;;AAeA,aAAKK,QAAL,CAAc;AAACT,UAAAA,QAAQ,EAARA;AAAD,SAAd;AACD;AACF;;;WAED,yBAAgD;AAC9C,wBAAiE,KAAKL,KAAtE;AAAA,UAAOe,YAAP,eAAOA,YAAP;AAAA,UAAqBC,YAArB,eAAqBA,YAArB;AAAA,UAAmCC,YAAnC,eAAmCA,YAAnC;AAAA,UAAiDC,YAAjD,eAAiDA,YAAjD;AAEA,aAAO;AACLd,QAAAA,IAAI,EAAE,KAAKe,KAAL,CAAWd,QADZ;AAELe,QAAAA,UAAU,EAAE,oBAAAzB,CAAC;AAAA,iBAAIA,CAAC,CAACgB,OAAN;AAAA,SAFR;AAILI,QAAAA,YAAY,EAAE,KAAKM,mBAAL,CAAyBN,YAAzB,CAJT;AAKLC,QAAAA,YAAY,EAAE,KAAKK,mBAAL,CAAyBL,YAAzB,CALT;AAMLC,QAAAA,YAAY,EAAE,KAAKI,mBAAL,CAAyBJ,YAAzB,CANT;AAOLC,QAAAA,YAAY,EAAE,KAAKG,mBAAL,CAAyBH,YAAzB;AAPT,OAAP;AASD;;;EA9CkFI,sB;;;8BAAhEzB,c,eAIA,gB;8BAJAA,c,kBAKGN,Y","sourcesContent":["import {h3SetToMultiPolygon, H3IndexInput} from 'h3-js';\n\nimport {AccessorFunction, createIterable, UpdateParameters, DefaultProps} from '@deck.gl/core';\nimport {default as H3HexagonLayer} from './h3-hexagon-layer';\nimport GeoCellLayer, {GeoCellLayerProps} from '../geo-cell-layer/GeoCellLayer';\n\nconst defaultProps: DefaultProps<H3ClusterLayerProps> = {\n getHexagons: {type: 'accessor', value: d => d.hexagons}\n};\n\n/** All properties supported by H3ClusterLayer. */\nexport type H3ClusterLayerProps<DataT = any> = _H3ClusterLayerProps<DataT> &\n GeoCellLayerProps<DataT>;\n\n/** Properties added by H3ClusterLayer. */\ntype _H3ClusterLayerProps<DataT> = {\n /**\n * Called for each data object to retrieve the hexagon identifiers.\n *\n * By default, it reads `hexagons` property of data object.\n */\n getHexagons?: AccessorFunction<DataT, H3IndexInput[]>;\n};\n\nexport default class H3ClusterLayer<DataT = any, ExtraProps extends {} = {}> extends GeoCellLayer<\n DataT,\n Required<_H3ClusterLayerProps<DataT>> & ExtraProps\n> {\n static layerName = 'H3ClusterLayer';\n static defaultProps = defaultProps;\n\n initializeState(): void {\n H3HexagonLayer._checkH3Lib();\n }\n\n updateState({props, changeFlags}: UpdateParameters<this>): void {\n if (\n changeFlags.dataChanged ||\n (changeFlags.updateTriggersChanged && changeFlags.updateTriggersChanged.getHexagons)\n ) {\n const {data, getHexagons} = props;\n const polygons: {polygon: number[][][]}[] = [];\n\n const {iterable, objectInfo} = createIterable(data);\n for (const object of iterable) {\n objectInfo.index++;\n const hexagons = getHexagons(object, objectInfo);\n const multiPolygon = h3SetToMultiPolygon(hexagons, true);\n\n for (const polygon of multiPolygon) {\n polygons.push(this.getSubLayerRow({polygon}, object, objectInfo.index));\n }\n }\n\n this.setState({polygons});\n }\n }\n\n indexToBounds(): Partial<GeoCellLayer['props']> {\n const {getElevation, getFillColor, getLineColor, getLineWidth} = this.props;\n\n return {\n data: this.state.polygons,\n getPolygon: d => d.polygon,\n\n getElevation: this.getSubLayerAccessor(getElevation),\n getFillColor: this.getSubLayerAccessor(getFillColor),\n getLineColor: this.getSubLayerAccessor(getLineColor),\n getLineWidth: this.getSubLayerAccessor(getLineWidth)\n };\n }\n}\n"],"file":"h3-cluster-layer.js"}
@@ -48,9 +48,19 @@ export default class H3ClusterLayer extends GeoCellLayer {
48
48
  }
49
49
 
50
50
  indexToBounds() {
51
+ const {
52
+ getElevation,
53
+ getFillColor,
54
+ getLineColor,
55
+ getLineWidth
56
+ } = this.props;
51
57
  return {
52
58
  data: this.state.polygons,
53
- getPolygon: d => d.polygon
59
+ getPolygon: d => d.polygon,
60
+ getElevation: this.getSubLayerAccessor(getElevation),
61
+ getFillColor: this.getSubLayerAccessor(getFillColor),
62
+ getLineColor: this.getSubLayerAccessor(getLineColor),
63
+ getLineWidth: this.getSubLayerAccessor(getLineWidth)
54
64
  };
55
65
  }
56
66
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/h3-layers/h3-cluster-layer.ts"],"names":["h3SetToMultiPolygon","createIterable","default","H3HexagonLayer","GeoCellLayer","defaultProps","getHexagons","type","value","d","hexagons","H3ClusterLayer","initializeState","_checkH3Lib","updateState","props","changeFlags","dataChanged","updateTriggersChanged","data","polygons","iterable","objectInfo","object","index","multiPolygon","polygon","push","getSubLayerRow","setState","indexToBounds","state","getPolygon"],"mappings":";AAAA,SAAQA,mBAAR,QAAgD,OAAhD;AAEA,SAA0BC,cAA1B,QAA+E,eAA/E;AACA,SAAQC,OAAO,IAAIC,cAAnB,QAAwC,oBAAxC;AACA,OAAOC,YAAP,MAA8C,gCAA9C;AAEA,MAAMC,YAA+C,GAAG;AACtDC,EAAAA,WAAW,EAAE;AAACC,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,KAAK,EAAEC,CAAC,IAAIA,CAAC,CAACC;AAAjC;AADyC,CAAxD;AAkBA,eAAe,MAAMC,cAAN,SAAsEP,YAAtE,CAGb;AAIAQ,EAAAA,eAAe,GAAS;AACtBT,IAAAA,cAAc,CAACU,WAAf;AACD;;AAEDC,EAAAA,WAAW,CAAC;AAACC,IAAAA,KAAD;AAAQC,IAAAA;AAAR,GAAD,EAAqD;AAC9D,QACEA,WAAW,CAACC,WAAZ,IACCD,WAAW,CAACE,qBAAZ,IAAqCF,WAAW,CAACE,qBAAZ,CAAkCZ,WAF1E,EAGE;AACA,YAAM;AAACa,QAAAA,IAAD;AAAOb,QAAAA;AAAP,UAAsBS,KAA5B;AACA,YAAMK,QAAmC,GAAG,EAA5C;AAEA,YAAM;AAACC,QAAAA,QAAD;AAAWC,QAAAA;AAAX,UAAyBrB,cAAc,CAACkB,IAAD,CAA7C;;AACA,WAAK,MAAMI,MAAX,IAAqBF,QAArB,EAA+B;AAC7BC,QAAAA,UAAU,CAACE,KAAX;AACA,cAAMd,QAAQ,GAAGJ,WAAW,CAACiB,MAAD,EAASD,UAAT,CAA5B;AACA,cAAMG,YAAY,GAAGzB,mBAAmB,CAACU,QAAD,EAAW,IAAX,CAAxC;;AAEA,aAAK,MAAMgB,OAAX,IAAsBD,YAAtB,EAAoC;AAClCL,UAAAA,QAAQ,CAACO,IAAT,CAAc,KAAKC,cAAL,CAAoB;AAACF,YAAAA;AAAD,WAApB,EAA+BH,MAA/B,EAAuCD,UAAU,CAACE,KAAlD,CAAd;AACD;AACF;;AAED,WAAKK,QAAL,CAAc;AAACT,QAAAA;AAAD,OAAd;AACD;AACF;;AAEDU,EAAAA,aAAa,GAAmC;AAC9C,WAAO;AACLX,MAAAA,IAAI,EAAE,KAAKY,KAAL,CAAWX,QADZ;AAELY,MAAAA,UAAU,EAAEvB,CAAC,IAAIA,CAAC,CAACiB;AAFd,KAAP;AAID;;AApCD;;gBAHmBf,c,eAIA,gB;;gBAJAA,c,kBAKGN,Y","sourcesContent":["import {h3SetToMultiPolygon, H3IndexInput} from 'h3-js';\n\nimport {AccessorFunction, createIterable, UpdateParameters, DefaultProps} from '@deck.gl/core';\nimport {default as H3HexagonLayer} from './h3-hexagon-layer';\nimport GeoCellLayer, {GeoCellLayerProps} from '../geo-cell-layer/GeoCellLayer';\n\nconst defaultProps: DefaultProps<H3ClusterLayerProps> = {\n getHexagons: {type: 'accessor', value: d => d.hexagons}\n};\n\n/** All properties supported by H3ClusterLayer. */\nexport type H3ClusterLayerProps<DataT = any> = _H3ClusterLayerProps<DataT> &\n GeoCellLayerProps<DataT>;\n\n/** Properties added by H3ClusterLayer. */\ntype _H3ClusterLayerProps<DataT> = {\n /**\n * Called for each data object to retrieve the hexagon identifiers.\n *\n * By default, it reads `hexagons` property of data object.\n */\n getHexagons?: AccessorFunction<DataT, H3IndexInput[]>;\n};\n\nexport default class H3ClusterLayer<DataT = any, ExtraProps extends {} = {}> extends GeoCellLayer<\n DataT,\n Required<_H3ClusterLayerProps<DataT>> & ExtraProps\n> {\n static layerName = 'H3ClusterLayer';\n static defaultProps = defaultProps;\n\n initializeState(): void {\n H3HexagonLayer._checkH3Lib();\n }\n\n updateState({props, changeFlags}: UpdateParameters<this>): void {\n if (\n changeFlags.dataChanged ||\n (changeFlags.updateTriggersChanged && changeFlags.updateTriggersChanged.getHexagons)\n ) {\n const {data, getHexagons} = props;\n const polygons: {polygon: number[][][]}[] = [];\n\n const {iterable, objectInfo} = createIterable(data);\n for (const object of iterable) {\n objectInfo.index++;\n const hexagons = getHexagons(object, objectInfo);\n const multiPolygon = h3SetToMultiPolygon(hexagons, true);\n\n for (const polygon of multiPolygon) {\n polygons.push(this.getSubLayerRow({polygon}, object, objectInfo.index));\n }\n }\n\n this.setState({polygons});\n }\n }\n\n indexToBounds(): Partial<GeoCellLayer['props']> {\n return {\n data: this.state.polygons,\n getPolygon: d => d.polygon\n };\n }\n}\n"],"file":"h3-cluster-layer.js"}
1
+ {"version":3,"sources":["../../../src/h3-layers/h3-cluster-layer.ts"],"names":["h3SetToMultiPolygon","createIterable","default","H3HexagonLayer","GeoCellLayer","defaultProps","getHexagons","type","value","d","hexagons","H3ClusterLayer","initializeState","_checkH3Lib","updateState","props","changeFlags","dataChanged","updateTriggersChanged","data","polygons","iterable","objectInfo","object","index","multiPolygon","polygon","push","getSubLayerRow","setState","indexToBounds","getElevation","getFillColor","getLineColor","getLineWidth","state","getPolygon","getSubLayerAccessor"],"mappings":";AAAA,SAAQA,mBAAR,QAAgD,OAAhD;AAEA,SAA0BC,cAA1B,QAA+E,eAA/E;AACA,SAAQC,OAAO,IAAIC,cAAnB,QAAwC,oBAAxC;AACA,OAAOC,YAAP,MAA8C,gCAA9C;AAEA,MAAMC,YAA+C,GAAG;AACtDC,EAAAA,WAAW,EAAE;AAACC,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,KAAK,EAAEC,CAAC,IAAIA,CAAC,CAACC;AAAjC;AADyC,CAAxD;AAkBA,eAAe,MAAMC,cAAN,SAAsEP,YAAtE,CAGb;AAIAQ,EAAAA,eAAe,GAAS;AACtBT,IAAAA,cAAc,CAACU,WAAf;AACD;;AAEDC,EAAAA,WAAW,CAAC;AAACC,IAAAA,KAAD;AAAQC,IAAAA;AAAR,GAAD,EAAqD;AAC9D,QACEA,WAAW,CAACC,WAAZ,IACCD,WAAW,CAACE,qBAAZ,IAAqCF,WAAW,CAACE,qBAAZ,CAAkCZ,WAF1E,EAGE;AACA,YAAM;AAACa,QAAAA,IAAD;AAAOb,QAAAA;AAAP,UAAsBS,KAA5B;AACA,YAAMK,QAAmC,GAAG,EAA5C;AAEA,YAAM;AAACC,QAAAA,QAAD;AAAWC,QAAAA;AAAX,UAAyBrB,cAAc,CAACkB,IAAD,CAA7C;;AACA,WAAK,MAAMI,MAAX,IAAqBF,QAArB,EAA+B;AAC7BC,QAAAA,UAAU,CAACE,KAAX;AACA,cAAMd,QAAQ,GAAGJ,WAAW,CAACiB,MAAD,EAASD,UAAT,CAA5B;AACA,cAAMG,YAAY,GAAGzB,mBAAmB,CAACU,QAAD,EAAW,IAAX,CAAxC;;AAEA,aAAK,MAAMgB,OAAX,IAAsBD,YAAtB,EAAoC;AAClCL,UAAAA,QAAQ,CAACO,IAAT,CAAc,KAAKC,cAAL,CAAoB;AAACF,YAAAA;AAAD,WAApB,EAA+BH,MAA/B,EAAuCD,UAAU,CAACE,KAAlD,CAAd;AACD;AACF;;AAED,WAAKK,QAAL,CAAc;AAACT,QAAAA;AAAD,OAAd;AACD;AACF;;AAEDU,EAAAA,aAAa,GAAmC;AAC9C,UAAM;AAACC,MAAAA,YAAD;AAAeC,MAAAA,YAAf;AAA6BC,MAAAA,YAA7B;AAA2CC,MAAAA;AAA3C,QAA2D,KAAKnB,KAAtE;AAEA,WAAO;AACLI,MAAAA,IAAI,EAAE,KAAKgB,KAAL,CAAWf,QADZ;AAELgB,MAAAA,UAAU,EAAE3B,CAAC,IAAIA,CAAC,CAACiB,OAFd;AAILK,MAAAA,YAAY,EAAE,KAAKM,mBAAL,CAAyBN,YAAzB,CAJT;AAKLC,MAAAA,YAAY,EAAE,KAAKK,mBAAL,CAAyBL,YAAzB,CALT;AAMLC,MAAAA,YAAY,EAAE,KAAKI,mBAAL,CAAyBJ,YAAzB,CANT;AAOLC,MAAAA,YAAY,EAAE,KAAKG,mBAAL,CAAyBH,YAAzB;AAPT,KAAP;AASD;;AA3CD;;gBAHmBvB,c,eAIA,gB;;gBAJAA,c,kBAKGN,Y","sourcesContent":["import {h3SetToMultiPolygon, H3IndexInput} from 'h3-js';\n\nimport {AccessorFunction, createIterable, UpdateParameters, DefaultProps} from '@deck.gl/core';\nimport {default as H3HexagonLayer} from './h3-hexagon-layer';\nimport GeoCellLayer, {GeoCellLayerProps} from '../geo-cell-layer/GeoCellLayer';\n\nconst defaultProps: DefaultProps<H3ClusterLayerProps> = {\n getHexagons: {type: 'accessor', value: d => d.hexagons}\n};\n\n/** All properties supported by H3ClusterLayer. */\nexport type H3ClusterLayerProps<DataT = any> = _H3ClusterLayerProps<DataT> &\n GeoCellLayerProps<DataT>;\n\n/** Properties added by H3ClusterLayer. */\ntype _H3ClusterLayerProps<DataT> = {\n /**\n * Called for each data object to retrieve the hexagon identifiers.\n *\n * By default, it reads `hexagons` property of data object.\n */\n getHexagons?: AccessorFunction<DataT, H3IndexInput[]>;\n};\n\nexport default class H3ClusterLayer<DataT = any, ExtraProps extends {} = {}> extends GeoCellLayer<\n DataT,\n Required<_H3ClusterLayerProps<DataT>> & ExtraProps\n> {\n static layerName = 'H3ClusterLayer';\n static defaultProps = defaultProps;\n\n initializeState(): void {\n H3HexagonLayer._checkH3Lib();\n }\n\n updateState({props, changeFlags}: UpdateParameters<this>): void {\n if (\n changeFlags.dataChanged ||\n (changeFlags.updateTriggersChanged && changeFlags.updateTriggersChanged.getHexagons)\n ) {\n const {data, getHexagons} = props;\n const polygons: {polygon: number[][][]}[] = [];\n\n const {iterable, objectInfo} = createIterable(data);\n for (const object of iterable) {\n objectInfo.index++;\n const hexagons = getHexagons(object, objectInfo);\n const multiPolygon = h3SetToMultiPolygon(hexagons, true);\n\n for (const polygon of multiPolygon) {\n polygons.push(this.getSubLayerRow({polygon}, object, objectInfo.index));\n }\n }\n\n this.setState({polygons});\n }\n }\n\n indexToBounds(): Partial<GeoCellLayer['props']> {\n const {getElevation, getFillColor, getLineColor, getLineWidth} = this.props;\n\n return {\n data: this.state.polygons,\n getPolygon: d => d.polygon,\n\n getElevation: this.getSubLayerAccessor(getElevation),\n getFillColor: this.getSubLayerAccessor(getFillColor),\n getLineColor: this.getSubLayerAccessor(getLineColor),\n getLineWidth: this.getSubLayerAccessor(getLineWidth)\n };\n }\n}\n"],"file":"h3-cluster-layer.js"}
package/dist.min.js CHANGED
@@ -37,7 +37,7 @@ varying float vTime;
37
37
  }
38
38
  `},a}},{key:"initializeState",value:function(){(0,ls.default)((0,la.default)(t.prototype),"initializeState",this).call(this);var a=this.getAttributeManager();a.addInstanced({timestamps:{size:1,accessor:"getTimestamps",shaderAttributes:{instanceTimestamps:{vertexOffset:0},instanceNextTimestamps:{vertexOffset:1}}}})}},{key:"draw",value:function(a){var i=this.props,o=i.fadeTrail,s=i.trailLength,u=i.currentTime;a.uniforms=V1(V1({},a.uniforms),{},{fadeTrail:o,trailLength:s,currentTime:u}),(0,ls.default)((0,la.default)(t.prototype),"draw",this).call(this,a)}}]),t}(X1.PathLayer);(0,cs.default)(hs,"layerName","TripsLayer");(0,cs.default)(hs,"defaultProps",jP);var uA=m(H()),fA=m(z()),lA=m(Te()),cA=m(xe()),Pc=m(ye()),Rc=m(W()),hA=m(Mc()),dA=m(Pt());var $1=m(H()),eA=m(z()),tA=m(nt()),rA=m(Te()),nA=m(xe()),Oc=m(ye()),ca=m(W()),aA=m(Xe()),_i=m(ce()),et=m(Mc());var ps=m(Pt()),bi=m(It());function HP(e){var r=VP();return function(){var n=(0,Oc.default)(e),a;if(r){var i=(0,Oc.default)(this).constructor;a=Reflect.construct(n,arguments,i)}else a=n.apply(this,arguments);return(0,nA.default)(this,a)}}function VP(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function K1(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,n)}return t}function ds(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?K1(Object(t),!0).forEach(function(n){(0,ca.default)(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):K1(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Ic(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=zP(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
39
39
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return i=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!i&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function zP(e,r){if(e){if(typeof e=="string")return Q1(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Q1(e,r)}}function Q1(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var WP=10;function iA(e,r){r=r===void 0?e[0][0]:r;var t=Ic(e),n;try{for(t.s();!(n=t.n()).done;){var a=n.value,i=a[0]-r;i>180?a[0]-=360:i<-180&&(a[0]+=360)}}catch(o){t.e(o)}finally{t.f()}}function JP(e,r,t){var n=(0,et.h3ToGeo)(e),a=(0,_i.default)(n,2),i=a[0],o=a[1],s=r.length;iA(r,o);for(var u=r[0]===r[s-1]?s-1:s,f=0;f<u;f++)r[f][0]=Sr(o,r[f][0],t),r[f][1]=Sr(i,r[f][1],t)}function qP(e,r,t){var n=e(r,t),a=(0,et.h3ToGeo)(n),i=(0,_i.default)(a,2),o=i[0],s=i[1];return[s,o]}function Z1(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,t=(0,et.h3ToGeoBoundary)(e,!0);return r!==1?JP(e,t,r):iA(t),t}function XP(e){var r=new Float64Array(e.length*2),t=0,n=Ic(e),a;try{for(n.s();!(a=n.n()).done;){var i=a.value;r[t++]=i[0],r[t++]=i[1]}}catch(o){n.e(o)}finally{n.f()}return r}function YP(e,r){var t;return e==null?t=r:(0,aA.default)(e)==="object"?t=ds(ds({},e),{},{coverage:r}):t={getHexagon:e,coverage:r},t}var KP=ds(ds({},bi.PolygonLayer.defaultProps),{},{highPrecision:"auto",coverage:{type:"number",min:0,max:1,value:1},centerHexagon:null,getHexagon:{type:"accessor",value:function(r){return r.hexagon}},extruded:!0}),vn=function(e){(0,rA.default)(t,e);var r=HP(t);function t(){var n;(0,$1.default)(this,t);for(var a=arguments.length,i=new Array(a),o=0;o<a;o++)i[o]=arguments[o];return n=r.call.apply(r,[this].concat(i)),(0,ca.default)((0,tA.default)(n),"state",void 0),n}return(0,eA.default)(t,[{key:"initializeState",value:function(){t._checkH3Lib(),this.state={edgeLengthKM:0,resolution:-1}}},{key:"shouldUpdateState",value:function(a){var i=a.changeFlags;return this._shouldUseHighPrecision()?i.propsOrDataChanged:i.somethingChanged}},{key:"updateState",value:function(a){var i=a.props,o=a.changeFlags;if(i.highPrecision!==!0&&(o.dataChanged||o.updateTriggersChanged&&o.updateTriggersChanged.getHexagon)){var s=this._calculateH3DataProps();this.setState(s)}this._updateVertices(this.context.viewport)}},{key:"_calculateH3DataProps",value:function(){var a=-1,i=!1,o=!1,s=(0,ps.createIterable)(this.props.data),u=s.iterable,f=s.objectInfo,l=Ic(u),c;try{for(l.s();!(c=l.n()).done;){var h=c.value;f.index++;var d=this.props.getHexagon(h,f),p=(0,et.h3GetResolution)(d);if(a<0){if(a=p,!this.props.highPrecision)break}else if(a!==p){o=!0;break}if((0,et.h3IsPentagon)(d)){i=!0;break}}}catch(v){l.e(v)}finally{l.f()}return{resolution:a,edgeLengthKM:a>=0?(0,et.edgeLength)(a,"km"):0,hasMultipleRes:o,hasPentagon:i}}},{key:"_shouldUseHighPrecision",value:function(){if(this.props.highPrecision==="auto"){var a=this.state,i=a.resolution,o=a.hasPentagon,s=a.hasMultipleRes,u=this.context.viewport;return Boolean(u?.resolution)||s||o||i>=0&&i<=5}return this.props.highPrecision}},{key:"_updateVertices",value:function(a){if(!this._shouldUseHighPrecision()){var i=this.state,o=i.resolution,s=i.edgeLengthKM,u=i.centerHex;if(!(o<0)){var f=this.props.centerHexagon||(0,et.geoToH3)(a.latitude,a.longitude,o);if(u!==f){if(u){var l=(0,et.h3Distance)(u,f);if(l>=0&&l*s<WP)return}var c=a.distanceScales.unitsPerMeter,h=Z1(f),d=(0,et.h3ToGeo)(f),p=(0,_i.default)(d,2),v=p[0],g=p[1],y=a.projectFlat([g,v]),b=(0,_i.default)(y,2),E=b[0],T=b[1];h=h.map(function(S){var I=a.projectFlat(S);return[(I[0]-E)/c[0],(I[1]-T)/c[1]]}),this.setState({centerHex:f,vertices:h})}}}}},{key:"renderLayers",value:function(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()}},{key:"_getForwardProps",value:function(){var a=this.props,i=a.elevationScale,o=a.material,s=a.coverage,u=a.extruded,f=a.wireframe,l=a.stroked,c=a.filled,h=a.lineWidthUnits,d=a.lineWidthScale,p=a.lineWidthMinPixels,v=a.lineWidthMaxPixels,g=a.getFillColor,y=a.getElevation,b=a.getLineColor,E=a.getLineWidth,T=a.transitions,S=a.updateTriggers;return{elevationScale:i,extruded:u,coverage:s,wireframe:f,stroked:l,filled:c,lineWidthUnits:h,lineWidthScale:d,lineWidthMinPixels:p,lineWidthMaxPixels:v,material:o,getElevation:y,getFillColor:g,getLineColor:b,getLineWidth:E,transitions:T,updateTriggers:{getFillColor:S.getFillColor,getElevation:S.getElevation,getLineColor:S.getLineColor,getLineWidth:S.getLineWidth}}}},{key:"_renderPolygonLayer",value:function(){var a=this.props,i=a.data,o=a.getHexagon,s=a.updateTriggers,u=a.coverage,f=this.getSubLayerClass("hexagon-cell-hifi",bi.PolygonLayer),l=this._getForwardProps();return l.updateTriggers.getPolygon=YP(s.getHexagon,u),new f(l,this.getSubLayerProps({id:"hexagon-cell-hifi",updateTriggers:l.updateTriggers}),{data:i,_normalize:!1,_windingOrder:"CCW",positionFormat:"XY",getPolygon:function(h,d){var p=o(h,d);return XP(Z1(p,u))}})}},{key:"_renderColumnLayer",value:function(){var a=this.props,i=a.data,o=a.getHexagon,s=a.updateTriggers,u=this.getSubLayerClass("hexagon-cell",bi.ColumnLayer),f=this._getForwardProps();return f.updateTriggers.getPosition=s.getHexagon,new u(f,this.getSubLayerProps({id:"hexagon-cell",flatShading:!0,updateTriggers:f.updateTriggers}),{data:i,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:qP.bind(null,o)})}}]),t}(ps.CompositeLayer);(0,ca.default)(vn,"defaultProps",KP);(0,ca.default)(vn,"layerName","H3HexagonLayer");(0,ca.default)(vn,"_checkH3Lib",function(){});function oA(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=QP(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
40
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return i=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!i&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function QP(e,r){if(e){if(typeof e=="string")return sA(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return sA(e,r)}}function sA(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function ZP(e){var r=$P();return function(){var n=(0,Pc.default)(e),a;if(r){var i=(0,Pc.default)(this).constructor;a=Reflect.construct(n,arguments,i)}else a=n.apply(this,arguments);return(0,cA.default)(this,a)}}function $P(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var e3={getHexagons:{type:"accessor",value:function(r){return r.hexagons}}},ms=function(e){(0,lA.default)(t,e);var r=ZP(t);function t(){return(0,uA.default)(this,t),r.apply(this,arguments)}return(0,fA.default)(t,[{key:"initializeState",value:function(){vn._checkH3Lib()}},{key:"updateState",value:function(a){var i=a.props,o=a.changeFlags;if(o.dataChanged||o.updateTriggersChanged&&o.updateTriggersChanged.getHexagons){var s=i.data,u=i.getHexagons,f=[],l=(0,dA.createIterable)(s),c=l.iterable,h=l.objectInfo,d=oA(c),p;try{for(d.s();!(p=d.n()).done;){var v=p.value;h.index++;var g=u(v,h),y=(0,hA.h3SetToMultiPolygon)(g,!0),b=oA(y),E;try{for(b.s();!(E=b.n()).done;){var T=E.value;f.push(this.getSubLayerRow({polygon:T},v,h.index))}}catch(S){b.e(S)}finally{b.f()}}}catch(S){d.e(S)}finally{d.f()}this.setState({polygons:f})}}},{key:"indexToBounds",value:function(){return{data:this.state.polygons,getPolygon:function(i){return i.polygon}}}}]),t}(St);(0,Rc.default)(ms,"layerName","H3ClusterLayer");(0,Rc.default)(ms,"defaultProps",e3);var yC=m(X()),AC=m(H()),_C=m(z()),bC=m(nt()),TC=m(Te()),xC=m(xe()),Wp=m(ye()),Yi=m(W()),Jp=m(Y()),EC=m(Fc()),Wr=m(Pt()),SC=m(It()),CC=m(vs());var db=m(H()),pb=m(z()),Aa=m(fa()),mb=m(Te()),vb=m(xe()),Gr=m(ye()),Ds=m(W());var bs=m(Xe()),Ti=m(Et()),OA=m(W()),IA=m(H()),PA=m(z());var vA=m(Xe());var gs=m(Xe());function Lc(e){if(typeof window<"u"&&(0,gs.default)(window.process)==="object"&&window.process.type==="renderer"||typeof process<"u"&&(0,gs.default)(process.versions)==="object"&&Boolean(process.versions.electron))return!0;var r=(typeof navigator>"u"?"undefined":(0,gs.default)(navigator))==="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,t=e||r;return!!(t&&t.indexOf("Electron")>=0)}function ut(){var e=(typeof process>"u"?"undefined":(0,vA.default)(process))==="object"&&String(process)==="[object process]"&&!process.browser;return!e||Lc()}var gA=m(Xe()),Pr={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document,process:(typeof process>"u"?"undefined":(0,gA.default)(process))==="object"&&process};var t3=Pr.self||Pr.window||Pr.global,ha=Pr.window||Pr.self||Pr.global,r3=Pr.document||{},gn=Pr.process||{};var ys="8.9.5",Mz=ut();var yA=m(H()),AA=m(z());function n3(e){try{var r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var _A=function(){function e(r){(0,yA.default)(this,e);var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";A(this,"storage",void 0),A(this,"id",void 0),A(this,"config",{}),this.storage=n3(n),this.id=r,this.config={},Object.assign(this.config,t),this._loadConfiguration()}return(0,AA.default)(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(t){return this.config={},this.updateConfiguration(t)}},{key:"updateConfiguration",value:function(t){if(Object.assign(this.config,t),this.storage){var n=JSON.stringify(this.config);this.storage.setItem(this.id,n)}return this}},{key:"_loadConfiguration",value:function(){var t={};if(this.storage){var n=this.storage.getItem(this.id);t=n?JSON.parse(n):{}}return Object.assign(this.config,t),this}}]),e}();function bA(e){var r;return e<10?r="".concat(e.toFixed(2),"ms"):e<100?r="".concat(e.toFixed(1),"ms"):e<1e3?r="".concat(e.toFixed(0),"ms"):r="".concat((e/1e3).toFixed(2),"s"),r}function TA(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,t=Math.max(r-e.length,0);return"".concat(" ".repeat(t)).concat(e)}function As(e,r,t){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,a=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(t=Math.min(t,n/e.width));var i=e.width*t,o=e.height*t,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(i/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(a,");"),"background-size:".concat(i,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(r," %c+"),s]}var _s;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(_s||(_s={}));function xA(e){return typeof e=="string"?_s[e.toUpperCase()]||_s.WHITE:e}function EA(e,r,t){return!ut&&typeof e=="string"&&(r&&(r=xA(r),e="\x1B[".concat(r,"m").concat(e,"\x1B[39m")),t&&(r=xA(t),e="\x1B[".concat(t+10,"m").concat(e,"\x1B[49m"))),e}function a3(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=i3(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
40
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return i=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!i&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function QP(e,r){if(e){if(typeof e=="string")return sA(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return sA(e,r)}}function sA(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function ZP(e){var r=$P();return function(){var n=(0,Pc.default)(e),a;if(r){var i=(0,Pc.default)(this).constructor;a=Reflect.construct(n,arguments,i)}else a=n.apply(this,arguments);return(0,cA.default)(this,a)}}function $P(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var e3={getHexagons:{type:"accessor",value:function(r){return r.hexagons}}},ms=function(e){(0,lA.default)(t,e);var r=ZP(t);function t(){return(0,uA.default)(this,t),r.apply(this,arguments)}return(0,fA.default)(t,[{key:"initializeState",value:function(){vn._checkH3Lib()}},{key:"updateState",value:function(a){var i=a.props,o=a.changeFlags;if(o.dataChanged||o.updateTriggersChanged&&o.updateTriggersChanged.getHexagons){var s=i.data,u=i.getHexagons,f=[],l=(0,dA.createIterable)(s),c=l.iterable,h=l.objectInfo,d=oA(c),p;try{for(d.s();!(p=d.n()).done;){var v=p.value;h.index++;var g=u(v,h),y=(0,hA.h3SetToMultiPolygon)(g,!0),b=oA(y),E;try{for(b.s();!(E=b.n()).done;){var T=E.value;f.push(this.getSubLayerRow({polygon:T},v,h.index))}}catch(S){b.e(S)}finally{b.f()}}}catch(S){d.e(S)}finally{d.f()}this.setState({polygons:f})}}},{key:"indexToBounds",value:function(){var a=this.props,i=a.getElevation,o=a.getFillColor,s=a.getLineColor,u=a.getLineWidth;return{data:this.state.polygons,getPolygon:function(l){return l.polygon},getElevation:this.getSubLayerAccessor(i),getFillColor:this.getSubLayerAccessor(o),getLineColor:this.getSubLayerAccessor(s),getLineWidth:this.getSubLayerAccessor(u)}}}]),t}(St);(0,Rc.default)(ms,"layerName","H3ClusterLayer");(0,Rc.default)(ms,"defaultProps",e3);var yC=m(X()),AC=m(H()),_C=m(z()),bC=m(nt()),TC=m(Te()),xC=m(xe()),Wp=m(ye()),Yi=m(W()),Jp=m(Y()),EC=m(Fc()),Wr=m(Pt()),SC=m(It()),CC=m(vs());var db=m(H()),pb=m(z()),Aa=m(fa()),mb=m(Te()),vb=m(xe()),Gr=m(ye()),Ds=m(W());var bs=m(Xe()),Ti=m(Et()),OA=m(W()),IA=m(H()),PA=m(z());var vA=m(Xe());var gs=m(Xe());function Lc(e){if(typeof window<"u"&&(0,gs.default)(window.process)==="object"&&window.process.type==="renderer"||typeof process<"u"&&(0,gs.default)(process.versions)==="object"&&Boolean(process.versions.electron))return!0;var r=(typeof navigator>"u"?"undefined":(0,gs.default)(navigator))==="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,t=e||r;return!!(t&&t.indexOf("Electron")>=0)}function ut(){var e=(typeof process>"u"?"undefined":(0,vA.default)(process))==="object"&&String(process)==="[object process]"&&!process.browser;return!e||Lc()}var gA=m(Xe()),Pr={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document,process:(typeof process>"u"?"undefined":(0,gA.default)(process))==="object"&&process};var t3=Pr.self||Pr.window||Pr.global,ha=Pr.window||Pr.self||Pr.global,r3=Pr.document||{},gn=Pr.process||{};var ys="8.9.7",Mz=ut();var yA=m(H()),AA=m(z());function n3(e){try{var r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var _A=function(){function e(r){(0,yA.default)(this,e);var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";A(this,"storage",void 0),A(this,"id",void 0),A(this,"config",{}),this.storage=n3(n),this.id=r,this.config={},Object.assign(this.config,t),this._loadConfiguration()}return(0,AA.default)(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(t){return this.config={},this.updateConfiguration(t)}},{key:"updateConfiguration",value:function(t){if(Object.assign(this.config,t),this.storage){var n=JSON.stringify(this.config);this.storage.setItem(this.id,n)}return this}},{key:"_loadConfiguration",value:function(){var t={};if(this.storage){var n=this.storage.getItem(this.id);t=n?JSON.parse(n):{}}return Object.assign(this.config,t),this}}]),e}();function bA(e){var r;return e<10?r="".concat(e.toFixed(2),"ms"):e<100?r="".concat(e.toFixed(1),"ms"):e<1e3?r="".concat(e.toFixed(0),"ms"):r="".concat((e/1e3).toFixed(2),"s"),r}function TA(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,t=Math.max(r-e.length,0);return"".concat(" ".repeat(t)).concat(e)}function As(e,r,t){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,a=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(t=Math.min(t,n/e.width));var i=e.width*t,o=e.height*t,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(i/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(a,");"),"background-size:".concat(i,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(r," %c+"),s]}var _s;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(_s||(_s={}));function xA(e){return typeof e=="string"?_s[e.toUpperCase()]||_s.WHITE:e}function EA(e,r,t){return!ut&&typeof e=="string"&&(r&&(r=xA(r),e="\x1B[".concat(r,"m").concat(e,"\x1B[39m")),t&&(r=xA(t),e="\x1B[".concat(t+10,"m").concat(e,"\x1B[49m"))),e}function a3(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=i3(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
41
41
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return i=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!i&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function i3(e,r){if(e){if(typeof e=="string")return SA(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return SA(e,r)}}function SA(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function CA(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],t=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(t),a=a3(n),i;try{var o=function(){var u=i.value;typeof e[u]=="function"&&(r.find(function(f){return u===f})||(e[u]=e[u].bind(e)))};for(a.s();!(i=a.n()).done;)o()}catch(s){a.e(s)}finally{a.f()}}function da(e,r){if(!e)throw new Error(r||"Assertion failed")}function yn(){var e;if(ut&&"performance"in ha){var r,t;e=ha===null||ha===void 0||(r=ha.performance)===null||r===void 0||(t=r.now)===null||t===void 0?void 0:t.call(r)}else if("hrtime"in gn){var n,a=gn===null||gn===void 0||(n=gn.hrtime)===null||n===void 0?void 0:n.call(gn);e=a[0]*1e3+a[1]/1e6}else e=Date.now();return e}var pa={debug:ut&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},o3={enabled:!0,level:0};function Ct(){}var wA={},BA={once:!0},ma=function(){function e(){(0,IA.default)(this,e);var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""},t=r.id;A(this,"id",void 0),A(this,"VERSION",ys),A(this,"_startTs",yn()),A(this,"_deltaTs",yn()),A(this,"_storage",void 0),A(this,"userData",{}),A(this,"LOG_THROTTLE_TIMEOUT",0),this.id=t,this._storage=new _A("__probe-".concat(this.id,"__"),o3),this.userData={},this.timeStamp("".concat(this.id," started")),CA(this),Object.seal(this)}return(0,PA.default)(e,[{key:"level",get:function(){return this.getLevel()},set:function(t){this.setLevel(t)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((yn()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((yn()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(t){this.level=t}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.updateConfiguration({enabled:t}),this}},{key:"setLevel",value:function(t){return this._storage.updateConfiguration({level:t}),this}},{key:"get",value:function(t){return this._storage.config[t]}},{key:"set",value:function(t,n){this._storage.updateConfiguration((0,OA.default)({},t,n))}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"assert",value:function(t,n){da(t,n)}},{key:"warn",value:function(t){return this._getLogFunction(0,t,pa.warn,arguments,BA)}},{key:"error",value:function(t){return this._getLogFunction(0,t,pa.error,arguments)}},{key:"deprecated",value:function(t,n){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(n,"` instead"))}},{key:"removed",value:function(t,n){return this.error("`".concat(t,"` has been removed. Use `").concat(n,"` instead"))}},{key:"probe",value:function(t,n){return this._getLogFunction(t,n,pa.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(t,n){return this._getLogFunction(t,n,pa.debug,arguments)}},{key:"info",value:function(t,n){return this._getLogFunction(t,n,console.info,arguments)}},{key:"once",value:function(t,n){for(var a=arguments.length,i=new Array(a>2?a-2:0),o=2;o<a;o++)i[o-2]=arguments[o];return this._getLogFunction(t,n,pa.debug||pa.info,arguments,BA)}},{key:"table",value:function(t,n,a){return n?this._getLogFunction(t,n,console.table||Ct,a&&[a],{tag:l3(n)}):Ct}},{key:"image",value:function(t){var n=t.logLevel,a=t.priority,i=t.image,o=t.message,s=o===void 0?"":o,u=t.scale,f=u===void 0?1:u;return this._shouldLog(n||a)?ut?f3({image:i,message:s,scale:f}):u3({image:i,message:s,scale:f}):Ct}},{key:"time",value:function(t,n){return this._getLogFunction(t,n,console.time?console.time:console.info)}},{key:"timeEnd",value:function(t,n){return this._getLogFunction(t,n,console.timeEnd?console.timeEnd:console.info)}},{key:"timeStamp",value:function(t,n){return this._getLogFunction(t,n,console.timeStamp||Ct)}},{key:"group",value:function(t,n){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=MA({logLevel:t,message:n,opts:a}),o=a.collapsed;return i.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}},{key:"groupCollapsed",value:function(t,n){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,n,Object.assign({},a,{collapsed:!0}))}},{key:"groupEnd",value:function(t){return this._getLogFunction(t,"",console.groupEnd||Ct)}},{key:"withGroup",value:function(t,n,a){this.group(t,n)();try{a()}finally{this.groupEnd(t)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(t){return this.isEnabled()&&this.getLevel()>=RA(t)}},{key:"_getLogFunction",value:function(t,n,a,i,o){if(this._shouldLog(t)){var s;o=MA({logLevel:t,message:n,args:i,opts:o}),a=a||o.method,da(a),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=yn();var u=o.tag||o.message;if(o.once)if(!wA[u])wA[u]=yn();else return Ct;return n=s3(this.id,o.message,o),(s=a).bind.apply(s,[console,n].concat((0,Ti.default)(o.args)))}return Ct}}]),e}();A(ma,"VERSION",ys);function RA(e){if(!e)return 0;var r;switch((0,bs.default)(e)){case"number":r=e;break;case"object":r=e.logLevel||e.priority||0;break;default:return 0}return da(Number.isFinite(r)&&r>=0),r}function MA(e){var r=e.logLevel,t=e.message;e.logLevel=RA(r);for(var n=e.args?Array.from(e.args):[];n.length&&n.shift()!==t;);switch((0,bs.default)(r)){case"string":case"function":t!==void 0&&n.unshift(t),e.message=r;break;case"object":Object.assign(e,r);break;default:}typeof e.message=="function"&&(e.message=e.message());var a=(0,bs.default)(e.message);return da(a==="string"||a==="object"),Object.assign(e,{args:n},e.opts)}function s3(e,r,t){if(typeof r=="string"){var n=t.time?TA(bA(t.total)):"";r=t.time?"".concat(e,": ").concat(n," ").concat(r):"".concat(e,": ").concat(r),r=EA(r,t.color,t.background)}return r}function u3(e){var r=e.image,t=e.message,n=t===void 0?"":t,a=e.scale,i=a===void 0?1:a,o=null;try{o=module.require("asciify-image")}catch{}return o?function(){return o(r,{fit:"box",width:"".concat(Math.round(80*i),"%")}).then(function(s){return console.log(s)})}:Ct}function f3(e){var r=e.image,t=e.message,n=t===void 0?"":t,a=e.scale,i=a===void 0?1:a;if(typeof r=="string"){var o=new Image;return o.onload=function(){var l,c=As(o,n,i);(l=console).log.apply(l,(0,Ti.default)(c))},o.src=r,Ct}var s=r.nodeName||"";if(s.toLowerCase()==="img"){var u;return(u=console).log.apply(u,(0,Ti.default)(As(r,n,i))),Ct}if(s.toLowerCase()==="canvas"){var f=new Image;return f.onload=function(){var l;return(l=console).log.apply(l,(0,Ti.default)(As(f,n,i)))},f.src=r.toDataURL(),Ct}return Ct}function l3(e){for(var r in e)for(var t in e[r])return t||"untitled";return"empty"}var nW=new ma({id:"@probe.gl/log"});var oe=new ma({id:"luma.gl"});function Ne(e,r){if(!e)throw new Error(r||"luma.gl: assertion failed.")}var c3="Invalid WebGLRenderingContext";var h3="Requires WebGL2";function Ts(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function he(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function kc(e){return he(e)?e:null}function xi(e){return Ne(Ts(e),c3),e}function Ke(e){return Ne(he(e),h3),e}var Ei={};function d3(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function p3(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function m3(e,r){Ei[e]=!0,r!==void 0&&d3(r)}function v3(e){var r=e.getError;e.getError=function(){var n;do n=r.apply(e),n!==0&&(Ei[n]=!0);while(n!==0);for(n in Ei)if(Ei[n])return delete Ei[n],parseInt(n,10);return 0}}var Si=function e(r){var t=r.gl;this.ext=r,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(r.maxVertexAttribs);for(var n=0;n<this.attribs.length;n++){var a=new e.VertexAttrib(t);this.attribs[n]=a}this.maxAttrib=0};Si.VertexAttrib=function(r){this.enabled=!1,this.buffer=null,this.size=4,this.type=5126,this.normalized=!1,this.stride=16,this.offset=0,this.cached="",this.recache()};Si.VertexAttrib.prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var An=function(r){var t=this;this.gl=r,v3(r);var n=this.original={getParameter:r.getParameter,enableVertexAttribArray:r.enableVertexAttribArray,disableVertexAttribArray:r.disableVertexAttribArray,bindBuffer:r.bindBuffer,getVertexAttrib:r.getVertexAttrib,vertexAttribPointer:r.vertexAttribPointer};r.getParameter=function(i){return i===t.VERTEX_ARRAY_BINDING_OES?t.currentVertexArrayObject===t.defaultVertexArrayObject?null:t.currentVertexArrayObject:n.getParameter.apply(this,arguments)},r.enableVertexAttribArray=function(i){var o=t.currentVertexArrayObject;o.maxAttrib=Math.max(o.maxAttrib,i);var s=o.attribs[i];return s.enabled=!0,n.enableVertexAttribArray.apply(this,arguments)},r.disableVertexAttribArray=function(i){var o=t.currentVertexArrayObject;o.maxAttrib=Math.max(o.maxAttrib,i);var s=o.attribs[i];return s.enabled=!1,n.disableVertexAttribArray.apply(this,arguments)},r.bindBuffer=function(i,o){switch(i){case 34962:t.currentArrayBuffer=o;break;case 34963:t.currentVertexArrayObject.elementArrayBuffer=o;break;default:}return n.bindBuffer.apply(this,arguments)},r.getVertexAttrib=function(i,o){var s=t.currentVertexArrayObject,u=s.attribs[i];switch(o){case 34975:return u.buffer;case 34338:return u.enabled;case 34339:return u.size;case 34340:return u.stride;case 34341:return u.type;case 34922:return u.normalized;default:return n.getVertexAttrib.apply(this,arguments)}},r.vertexAttribPointer=function(i,o,s,u,f,l){var c=t.currentVertexArrayObject;c.maxAttrib=Math.max(c.maxAttrib,i);var h=c.attribs[i];return h.buffer=t.currentArrayBuffer,h.size=o,h.type=s,h.normalized=u,h.stride=f,h.offset=l,h.recache(),n.vertexAttribPointer.apply(this,arguments)},r.instrumentExtension&&r.instrumentExtension(this,"OES_vertex_array_object"),r.canvas&&r.canvas.addEventListener("webglcontextrestored",function(){p3("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};An.prototype.VERTEX_ARRAY_BINDING_OES=34229;An.prototype.reset_=function(){var r=this.vertexArrayObjects!==void 0;if(r)for(var t=0;t<this.vertexArrayObjects.length;++t)this.vertexArrayObjects.isAlive=!1;var n=this.gl;this.maxVertexAttribs=n.getParameter(34921),this.defaultVertexArrayObject=new Si(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)};An.prototype.createVertexArrayOES=function(){var r=new Si(this);return this.vertexArrayObjects.push(r),r};An.prototype.deleteVertexArrayOES=function(r){r.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(r),1),this.currentVertexArrayObject===r&&this.bindVertexArrayOES(null)};An.prototype.isVertexArrayOES=function(r){return!!(r&&r instanceof Si&&r.hasBeenBound&&r.ext===this)};An.prototype.bindVertexArrayOES=function(r){var t=this.gl;if(r&&!r.isAlive){m3(1282,"bindVertexArrayOES: attempt to bind deleted arrayObject");return}var n=this.original,a=this.currentVertexArrayObject;this.currentVertexArrayObject=r||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var i=this.currentVertexArrayObject;if(a!==i){(!a||i.elementArrayBuffer!==a.elementArrayBuffer)&&n.bindBuffer.call(t,34963,i.elementArrayBuffer);for(var o=this.currentArrayBuffer,s=Math.max(a?a.maxAttrib:0,i.maxAttrib),u=0;u<=s;u++){var f=i.attribs[u],l=a?a.attribs[u]:null;if((!a||f.enabled!==l.enabled)&&(f.enabled?n.enableVertexAttribArray.call(t,u):n.disableVertexAttribArray.call(t,u)),f.enabled){var c=!1;(!a||f.buffer!==l.buffer)&&(o!==f.buffer&&(n.bindBuffer.call(t,34962,f.buffer),o=f.buffer),c=!0),(c||f.cached!==l.cached)&&n.vertexAttribPointer.call(t,u,f.size,f.type,f.normalized,f.stride,f.offset)}}this.currentArrayBuffer!==o&&n.bindBuffer.call(t,34962,this.currentArrayBuffer)}};function FA(e){if(typeof e.createVertexArray!="function"){var r=e.getSupportedExtensions;e.getSupportedExtensions=function(){var a=r.call(this)||[];return a.indexOf("OES_vertex_array_object")<0&&a.push("OES_vertex_array_object"),a};var t=e.getExtension;e.getExtension=function(a){var i=t.call(this,a);return i||(a!=="OES_vertex_array_object"?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new An(this)),this.__OESVertexArrayObject))}}}var Ci=m(W());var ae=m(W());var re,LA="OES_element_index",kA="WEBGL_draw_buffers",g3="EXT_disjoint_timer_query",y3="EXT_disjoint_timer_query_webgl2",A3="EXT_texture_filter_anisotropic",DA="WEBGL_debug_renderer_info",_3=35723,b3=4352,T3=36795,x3=34047,E3=37445,S3=37446,Se=function(r){return he(r)?void 0:0},C3=(re={},(0,ae.default)(re,3074,function(r){return he(r)?void 0:36064}),(0,ae.default)(re,_3,function(e){return he(e)?void 0:b3}),(0,ae.default)(re,35977,Se),(0,ae.default)(re,32937,Se),(0,ae.default)(re,T3,function(e,r){var t=he(e)?e.getExtension(y3):e.getExtension(g3);return t&&t.GPU_DISJOINT_EXT?r(t.GPU_DISJOINT_EXT):0}),(0,ae.default)(re,E3,function(e,r){var t=e.getExtension(DA);return r(t&&t.UNMASKED_VENDOR_WEBGL||7936)}),(0,ae.default)(re,S3,function(e,r){var t=e.getExtension(DA);return r(t&&t.UNMASKED_RENDERER_WEBGL||7937)}),(0,ae.default)(re,x3,function(e,r){var t=e.luma.extensions[A3];return t?r(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1}),(0,ae.default)(re,32883,Se),(0,ae.default)(re,35071,Se),(0,ae.default)(re,37447,Se),(0,ae.default)(re,36063,function(r,t){if(!he(r)){var n=r.getExtension(kA);return n?t(n.MAX_COLOR_ATTACHMENTS_WEBGL):0}}),(0,ae.default)(re,35379,Se),(0,ae.default)(re,35374,Se),(0,ae.default)(re,35377,Se),(0,ae.default)(re,34852,function(r){if(!he(r)){var t=r.getExtension(kA);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}}),(0,ae.default)(re,36203,function(r){return r.getExtension(LA)?2147483647:65535}),(0,ae.default)(re,33001,function(r){return r.getExtension(LA)?16777216:65535}),(0,ae.default)(re,33e3,function(r){return 16777216}),(0,ae.default)(re,37157,Se),(0,ae.default)(re,35373,Se),(0,ae.default)(re,35657,Se),(0,ae.default)(re,36183,Se),(0,ae.default)(re,37137,Se),(0,ae.default)(re,34045,Se),(0,ae.default)(re,35978,Se),(0,ae.default)(re,35979,Se),(0,ae.default)(re,35968,Se),(0,ae.default)(re,35376,Se),(0,ae.default)(re,35375,Se),(0,ae.default)(re,35659,Se),(0,ae.default)(re,37154,Se),(0,ae.default)(re,35371,Se),(0,ae.default)(re,35658,Se),(0,ae.default)(re,35076,Se),(0,ae.default)(re,35077,Se),(0,ae.default)(re,35380,Se),re);function GA(e,r,t){var n=C3[t],a=typeof n=="function"?n(e,r,t):n,i=a!==void 0?a:r(t);return i}var va,w3="OES_vertex_array_object",NA="ANGLE_instanced_arrays",B3="WEBGL_draw_buffers",M3="EXT_disjoint_timer_query",O3="EXT_texture_filter_anisotropic",I3="VertexArray requires WebGL2 or OES_vertex_array_object extension";function P3(e,r){return{webgl2:he(e),ext:e.getExtension(r)}}var Dc=(va={},(0,Ci.default)(va,w3,{meta:{suffix:"OES"},createVertexArray:function(){Ne(!1,I3)},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),(0,Ci.default)(va,NA,{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(r,t){Ne(t===0,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),(0,Ci.default)(va,B3,{meta:{suffix:"WEBGL"},drawBuffers:function(){Ne(!1)}}),(0,Ci.default)(va,M3,{meta:{suffix:"EXT"},createQuery:function(){Ne(!1)},deleteQuery:function(){Ne(!1)},beginQuery:function(){Ne(!1)},endQuery:function(){},getQuery:function(r,t){return this.getQueryObject(r,t)},getQueryParameter:function(r,t){return this.getQueryObject(r,t)},getQueryObject:function(){}}),va),xs={readBuffer:function(r,t,n){he(r)&&t(n)},getVertexAttrib:function(r,t,n,a){var i=P3(r,NA),o=i.webgl2,s=i.ext,u;switch(a){case 35069:u=o?void 0:!1;break;case 35070:u=!o&&!s?0:void 0;break;default:}return u!==void 0?u:t(n,a)},getProgramParameter:function(r,t,n,a){if(!he(r))switch(a){case 35967:return 35981;case 35971:return 0;case 35382:return 0;default:}return t(n,a)},getInternalformatParameter:function(r,t,n,a,i){if(!he(r))switch(i){case 32937:return new Int32Array([0]);default:}return r.getInternalformatParameter(n,a,i)},getTexParameter:function(r,t,n,a){switch(a){case 34046:var i=r.luma.extensions,o=i[O3];a=o&&o.TEXTURE_MAX_ANISOTROPY_EXT||34046;break;default:}return t(n,a)},getParameter:GA,hint:function(r,t,n,a){return t(n,a)}};function jA(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=R3(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
42
42
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return i=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!i&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function R3(e,r){if(e){if(typeof e=="string")return UA(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return UA(e,r)}}function UA(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function HA(e){e.luma=e.luma||{};var r=e.luma;return r.polyfilled||(FA(e),F3(e),k3(e,Dc),L3(e,{target:r,target2:e}),r.polyfilled=!0),e}globalThis.polyfillContext=HA;function F3(e){e.luma.extensions={};var r=e.getSupportedExtensions()||[],t=jA(r),n;try{for(t.s();!(n=t.n()).done;){var a=n.value;e.luma[a]=e.getExtension(a)}}catch(i){t.e(i)}finally{t.f()}}function L3(e,r){var t=r.target,n=r.target2;Object.keys(xs).forEach(function(a){if(typeof xs[a]=="function"){var i=e[a]?e[a].bind(e):function(){},o=xs[a].bind(null,e,i);t[a]=o,n[a]=o}})}function k3(e,r){var t=jA(Object.getOwnPropertyNames(r)),n;try{for(t.s();!(n=t.n()).done;){var a=n.value;a!=="overrides"&&D3(e,{extension:a,target:e.luma,target2:e})}}catch(i){t.e(i)}finally{t.f()}}function D3(e,r){var t=r.extension,n=r.target,a=r.target2,i=Dc[t];Ne(i);for(var o=i.meta,s=o===void 0?{}:o,u=s.suffix,f=u===void 0?"":u,l=e.getExtension(t),c=function(){var v=d[h],g="".concat(v).concat(f),y=null;v==="meta"||typeof e[v]=="function"||(l&&typeof l[g]=="function"?y=function(){return l[g].apply(l,arguments)}:typeof i[v]=="function"&&(y=i[v].bind(n))),y&&(n[v]=y,a[v]=y)},h=0,d=Object.keys(i);h<d.length;h++)c()}var Es=m(ce()),Ie=m(Et()),x=m(W());var V,N,wt,Ss=(V={},(0,x.default)(V,3042,!1),(0,x.default)(V,32773,new Float32Array([0,0,0,0])),(0,x.default)(V,32777,32774),(0,x.default)(V,34877,32774),(0,x.default)(V,32969,1),(0,x.default)(V,32968,0),(0,x.default)(V,32971,1),(0,x.default)(V,32970,0),(0,x.default)(V,3106,new Float32Array([0,0,0,0])),(0,x.default)(V,3107,[!0,!0,!0,!0]),(0,x.default)(V,2884,!1),(0,x.default)(V,2885,1029),(0,x.default)(V,2929,!1),(0,x.default)(V,2931,1),(0,x.default)(V,2932,513),(0,x.default)(V,2928,new Float32Array([0,1])),(0,x.default)(V,2930,!0),(0,x.default)(V,3024,!0),(0,x.default)(V,36006,null),(0,x.default)(V,2886,2305),(0,x.default)(V,33170,4352),(0,x.default)(V,2849,1),(0,x.default)(V,32823,!1),(0,x.default)(V,32824,0),(0,x.default)(V,10752,0),(0,x.default)(V,32938,1),(0,x.default)(V,32939,!1),(0,x.default)(V,3089,!1),(0,x.default)(V,3088,new Int32Array([0,0,1024,1024])),(0,x.default)(V,2960,!1),(0,x.default)(V,2961,0),(0,x.default)(V,2968,4294967295),(0,x.default)(V,36005,4294967295),(0,x.default)(V,2962,519),(0,x.default)(V,2967,0),(0,x.default)(V,2963,4294967295),(0,x.default)(V,34816,519),(0,x.default)(V,36003,0),(0,x.default)(V,36004,4294967295),(0,x.default)(V,2964,7680),(0,x.default)(V,2965,7680),(0,x.default)(V,2966,7680),(0,x.default)(V,34817,7680),(0,x.default)(V,34818,7680),(0,x.default)(V,34819,7680),(0,x.default)(V,2978,[0,0,1024,1024]),(0,x.default)(V,3333,4),(0,x.default)(V,3317,4),(0,x.default)(V,37440,!1),(0,x.default)(V,37441,!1),(0,x.default)(V,37443,37444),(0,x.default)(V,35723,4352),(0,x.default)(V,36010,null),(0,x.default)(V,35977,!1),(0,x.default)(V,3330,0),(0,x.default)(V,3332,0),(0,x.default)(V,3331,0),(0,x.default)(V,3314,0),(0,x.default)(V,32878,0),(0,x.default)(V,3316,0),(0,x.default)(V,3315,0),(0,x.default)(V,32877,0),V),Rr=function(r,t,n){return t?r.enable(n):r.disable(n)},VA=function(r,t,n){return r.hint(n,t)},_t=function(r,t,n){return r.pixelStorei(n,t)},G3=function(r,t){var n=he(r)?36009:36160;return r.bindFramebuffer(n,t)},N3=function(r,t){return r.bindFramebuffer(36008,t)};function wi(e){return Array.isArray(e)||ArrayBuffer.isView(e)}var zA=(N={},(0,x.default)(N,3042,Rr),(0,x.default)(N,32773,function(r,t){return r.blendColor.apply(r,(0,Ie.default)(t))}),(0,x.default)(N,32777,"blendEquation"),(0,x.default)(N,34877,"blendEquation"),(0,x.default)(N,32969,"blendFunc"),(0,x.default)(N,32968,"blendFunc"),(0,x.default)(N,32971,"blendFunc"),(0,x.default)(N,32970,"blendFunc"),(0,x.default)(N,3106,function(r,t){return r.clearColor.apply(r,(0,Ie.default)(t))}),(0,x.default)(N,3107,function(r,t){return r.colorMask.apply(r,(0,Ie.default)(t))}),(0,x.default)(N,2884,Rr),(0,x.default)(N,2885,function(r,t){return r.cullFace(t)}),(0,x.default)(N,2929,Rr),(0,x.default)(N,2931,function(r,t){return r.clearDepth(t)}),(0,x.default)(N,2932,function(r,t){return r.depthFunc(t)}),(0,x.default)(N,2928,function(r,t){return r.depthRange.apply(r,(0,Ie.default)(t))}),(0,x.default)(N,2930,function(r,t){return r.depthMask(t)}),(0,x.default)(N,3024,Rr),(0,x.default)(N,35723,VA),(0,x.default)(N,36006,G3),(0,x.default)(N,2886,function(r,t){return r.frontFace(t)}),(0,x.default)(N,33170,VA),(0,x.default)(N,2849,function(r,t){return r.lineWidth(t)}),(0,x.default)(N,32823,Rr),(0,x.default)(N,32824,"polygonOffset"),(0,x.default)(N,10752,"polygonOffset"),(0,x.default)(N,35977,Rr),(0,x.default)(N,32938,"sampleCoverage"),(0,x.default)(N,32939,"sampleCoverage"),(0,x.default)(N,3089,Rr),(0,x.default)(N,3088,function(r,t){return r.scissor.apply(r,(0,Ie.default)(t))}),(0,x.default)(N,2960,Rr),(0,x.default)(N,2961,function(r,t){return r.clearStencil(t)}),(0,x.default)(N,2968,function(r,t){return r.stencilMaskSeparate(1028,t)}),(0,x.default)(N,36005,function(r,t){return r.stencilMaskSeparate(1029,t)}),(0,x.default)(N,2962,"stencilFuncFront"),(0,x.default)(N,2967,"stencilFuncFront"),(0,x.default)(N,2963,"stencilFuncFront"),(0,x.default)(N,34816,"stencilFuncBack"),(0,x.default)(N,36003,"stencilFuncBack"),(0,x.default)(N,36004,"stencilFuncBack"),(0,x.default)(N,2964,"stencilOpFront"),(0,x.default)(N,2965,"stencilOpFront"),(0,x.default)(N,2966,"stencilOpFront"),(0,x.default)(N,34817,"stencilOpBack"),(0,x.default)(N,34818,"stencilOpBack"),(0,x.default)(N,34819,"stencilOpBack"),(0,x.default)(N,2978,function(r,t){return r.viewport.apply(r,(0,Ie.default)(t))}),(0,x.default)(N,3333,_t),(0,x.default)(N,3317,_t),(0,x.default)(N,37440,_t),(0,x.default)(N,37441,_t),(0,x.default)(N,37443,_t),(0,x.default)(N,3330,_t),(0,x.default)(N,3332,_t),(0,x.default)(N,3331,_t),(0,x.default)(N,36010,N3),(0,x.default)(N,3314,_t),(0,x.default)(N,32878,_t),(0,x.default)(N,3316,_t),(0,x.default)(N,3315,_t),(0,x.default)(N,32877,_t),(0,x.default)(N,"framebuffer",function(r,t){var n=t&&"handle"in t?t.handle:t;return r.bindFramebuffer(36160,n)}),(0,x.default)(N,"blend",function(r,t){return t?r.enable(3042):r.disable(3042)}),(0,x.default)(N,"blendColor",function(r,t){return r.blendColor.apply(r,(0,Ie.default)(t))}),(0,x.default)(N,"blendEquation",function(r,t){t=wi(t)?t:[t,t],r.blendEquationSeparate.apply(r,(0,Ie.default)(t))}),(0,x.default)(N,"blendFunc",function(r,t){t=wi(t)&&t.length===2?[].concat((0,Ie.default)(t),(0,Ie.default)(t)):t,r.blendFuncSeparate.apply(r,(0,Ie.default)(t))}),(0,x.default)(N,"clearColor",function(r,t){return r.clearColor.apply(r,(0,Ie.default)(t))}),(0,x.default)(N,"clearDepth",function(r,t){return r.clearDepth(t)}),(0,x.default)(N,"clearStencil",function(r,t){return r.clearStencil(t)}),(0,x.default)(N,"colorMask",function(r,t){return r.colorMask.apply(r,(0,Ie.default)(t))}),(0,x.default)(N,"cull",function(r,t){return t?r.enable(2884):r.disable(2884)}),(0,x.default)(N,"cullFace",function(r,t){return r.cullFace(t)}),(0,x.default)(N,"depthTest",function(r,t){return t?r.enable(2929):r.disable(2929)}),(0,x.default)(N,"depthFunc",function(r,t){return r.depthFunc(t)}),(0,x.default)(N,"depthMask",function(r,t){return r.depthMask(t)}),(0,x.default)(N,"depthRange",function(r,t){return r.depthRange.apply(r,(0,Ie.default)(t))}),(0,x.default)(N,"dither",function(r,t){return t?r.enable(3024):r.disable(3024)}),(0,x.default)(N,"derivativeHint",function(r,t){r.hint(35723,t)}),(0,x.default)(N,"frontFace",function(r,t){return r.frontFace(t)}),(0,x.default)(N,"mipmapHint",function(r,t){return r.hint(33170,t)}),(0,x.default)(N,"lineWidth",function(r,t){return r.lineWidth(t)}),(0,x.default)(N,"polygonOffsetFill",function(r,t){return t?r.enable(32823):r.disable(32823)}),(0,x.default)(N,"polygonOffset",function(r,t){return r.polygonOffset.apply(r,(0,Ie.default)(t))}),(0,x.default)(N,"sampleCoverage",function(r,t){return r.sampleCoverage.apply(r,(0,Ie.default)(t))}),(0,x.default)(N,"scissorTest",function(r,t){return t?r.enable(3089):r.disable(3089)}),(0,x.default)(N,"scissor",function(r,t){return r.scissor.apply(r,(0,Ie.default)(t))}),(0,x.default)(N,"stencilTest",function(r,t){return t?r.enable(2960):r.disable(2960)}),(0,x.default)(N,"stencilMask",function(r,t){t=wi(t)?t:[t,t];var n=t,a=(0,Es.default)(n,2),i=a[0],o=a[1];r.stencilMaskSeparate(1028,i),r.stencilMaskSeparate(1029,o)}),(0,x.default)(N,"stencilFunc",function(r,t){t=wi(t)&&t.length===3?[].concat((0,Ie.default)(t),(0,Ie.default)(t)):t;var n=t,a=(0,Es.default)(n,6),i=a[0],o=a[1],s=a[2],u=a[3],f=a[4],l=a[5];r.stencilFuncSeparate(1028,i,o,s),r.stencilFuncSeparate(1029,u,f,l)}),(0,x.default)(N,"stencilOp",function(r,t){t=wi(t)&&t.length===3?[].concat((0,Ie.default)(t),(0,Ie.default)(t)):t;var n=t,a=(0,Es.default)(n,6),i=a[0],o=a[1],s=a[2],u=a[3],f=a[4],l=a[5];r.stencilOpSeparate(1028,i,o,s),r.stencilOpSeparate(1029,u,f,l)}),(0,x.default)(N,"viewport",function(r,t){return r.viewport.apply(r,(0,Ie.default)(t))}),N);function Fe(e,r,t){return r[e]!==void 0?r[e]:t[e]}var WA={blendEquation:function(r,t,n){return r.blendEquationSeparate(Fe(32777,t,n),Fe(34877,t,n))},blendFunc:function(r,t,n){return r.blendFuncSeparate(Fe(32969,t,n),Fe(32968,t,n),Fe(32971,t,n),Fe(32970,t,n))},polygonOffset:function(r,t,n){return r.polygonOffset(Fe(32824,t,n),Fe(10752,t,n))},sampleCoverage:function(r,t,n){return r.sampleCoverage(Fe(32938,t,n),Fe(32939,t,n))},stencilFuncFront:function(r,t,n){return r.stencilFuncSeparate(1028,Fe(2962,t,n),Fe(2967,t,n),Fe(2963,t,n))},stencilFuncBack:function(r,t,n){return r.stencilFuncSeparate(1029,Fe(34816,t,n),Fe(36003,t,n),Fe(36004,t,n))},stencilOpFront:function(r,t,n){return r.stencilOpSeparate(1028,Fe(2964,t,n),Fe(2965,t,n),Fe(2966,t,n))},stencilOpBack:function(r,t,n){return r.stencilOpSeparate(1029,Fe(34817,t,n),Fe(34818,t,n),Fe(34819,t,n))}},Gc={enable:function(r,t){return r((0,x.default)({},t,!0))},disable:function(r,t){return r((0,x.default)({},t,!1))},pixelStorei:function(r,t,n){return r((0,x.default)({},t,n))},hint:function(r,t,n){return r((0,x.default)({},t,n))},bindFramebuffer:function(r,t,n){var a;switch(t){case 36160:return r((a={},(0,x.default)(a,36006,n),(0,x.default)(a,36010,n),a));case 36009:return r((0,x.default)({},36006,n));case 36008:return r((0,x.default)({},36010,n));default:return null}},blendColor:function(r,t,n,a,i){return r((0,x.default)({},32773,new Float32Array([t,n,a,i])))},blendEquation:function(r,t){var n;return r((n={},(0,x.default)(n,32777,t),(0,x.default)(n,34877,t),n))},blendEquationSeparate:function(r,t,n){var a;return r((a={},(0,x.default)(a,32777,t),(0,x.default)(a,34877,n),a))},blendFunc:function(r,t,n){var a;return r((a={},(0,x.default)(a,32969,t),(0,x.default)(a,32968,n),(0,x.default)(a,32971,t),(0,x.default)(a,32970,n),a))},blendFuncSeparate:function(r,t,n,a,i){var o;return r((o={},(0,x.default)(o,32969,t),(0,x.default)(o,32968,n),(0,x.default)(o,32971,a),(0,x.default)(o,32970,i),o))},clearColor:function(r,t,n,a,i){return r((0,x.default)({},3106,new Float32Array([t,n,a,i])))},clearDepth:function(r,t){return r((0,x.default)({},2931,t))},clearStencil:function(r,t){return r((0,x.default)({},2961,t))},colorMask:function(r,t,n,a,i){return r((0,x.default)({},3107,[t,n,a,i]))},cullFace:function(r,t){return r((0,x.default)({},2885,t))},depthFunc:function(r,t){return r((0,x.default)({},2932,t))},depthRange:function(r,t,n){return r((0,x.default)({},2928,new Float32Array([t,n])))},depthMask:function(r,t){return r((0,x.default)({},2930,t))},frontFace:function(r,t){return r((0,x.default)({},2886,t))},lineWidth:function(r,t){return r((0,x.default)({},2849,t))},polygonOffset:function(r,t,n){var a;return r((a={},(0,x.default)(a,32824,t),(0,x.default)(a,10752,n),a))},sampleCoverage:function(r,t,n){var a;return r((a={},(0,x.default)(a,32938,t),(0,x.default)(a,32939,n),a))},scissor:function(r,t,n,a,i){return r((0,x.default)({},3088,new Int32Array([t,n,a,i])))},stencilMask:function(r,t){var n;return r((n={},(0,x.default)(n,2968,t),(0,x.default)(n,36005,t),n))},stencilMaskSeparate:function(r,t,n){return r((0,x.default)({},t===1028?2968:36005,n))},stencilFunc:function(r,t,n,a){var i;return r((i={},(0,x.default)(i,2962,t),(0,x.default)(i,2967,n),(0,x.default)(i,2963,a),(0,x.default)(i,34816,t),(0,x.default)(i,36003,n),(0,x.default)(i,36004,a),i))},stencilFuncSeparate:function(r,t,n,a,i){var o;return r((o={},(0,x.default)(o,t===1028?2962:34816,n),(0,x.default)(o,t===1028?2967:36003,a),(0,x.default)(o,t===1028?2963:36004,i),o))},stencilOp:function(r,t,n,a){var i;return r((i={},(0,x.default)(i,2964,t),(0,x.default)(i,2965,n),(0,x.default)(i,2966,a),(0,x.default)(i,34817,t),(0,x.default)(i,34818,n),(0,x.default)(i,34819,a),i))},stencilOpSeparate:function(r,t,n,a,i){var o;return r((o={},(0,x.default)(o,t===1028?2964:34817,n),(0,x.default)(o,t===1028?2965:34818,a),(0,x.default)(o,t===1028?2966:34819,i),o))},viewport:function(r,t,n,a,i){return r((0,x.default)({},2978,[t,n,a,i]))}},Jt=function(r,t){return r.isEnabled(t)},Nc=(wt={},(0,x.default)(wt,3042,Jt),(0,x.default)(wt,2884,Jt),(0,x.default)(wt,2929,Jt),(0,x.default)(wt,3024,Jt),(0,x.default)(wt,32823,Jt),(0,x.default)(wt,32926,Jt),(0,x.default)(wt,32928,Jt),(0,x.default)(wt,3089,Jt),(0,x.default)(wt,2960,Jt),(0,x.default)(wt,35977,Jt),wt);var XA=m(H()),YA=m(z());function Uc(e){for(var r in e)return!1;return!0}function JA(e,r){if(e===r)return!0;var t=Array.isArray(e)||ArrayBuffer.isView(e),n=Array.isArray(r)||ArrayBuffer.isView(r);if(t&&n&&e.length===r.length){for(var a=0;a<e.length;++a)if(e[a]!==r[a])return!1;return!0}return!1}function qA(e,r){var t=e[r].bind(e);e[r]=function(){var a=arguments.length<=0?void 0:arguments[0];return a in e.state.cache&&e.state.enable?e.state.cache[a]:t.apply(void 0,arguments)},Object.defineProperty(e[r],"name",{value:"".concat(r,"-from-cache"),configurable:!1})}function U3(e,r,t){var n=e[r].bind(e);e[r]=function(){for(var i=arguments.length,o=new Array(i),s=0;s<i;s++)o[s]=arguments[s];var u=t.apply(void 0,[e.state._updateCache].concat(o)),f=u.valueChanged,l=u.oldValue;return f&&n.apply(void 0,o),l},Object.defineProperty(e[r],"name",{value:"".concat(r,"-to-cache"),configurable:!1})}function j3(e){var r=e.useProgram.bind(e);e.useProgram=function(n){e.state.program!==n&&(r(n),e.state.program=n)}}var H3=function(){function e(r){(0,XA.default)(this,e);var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.copyState,a=n===void 0?!1:n,i=t.log,o=i===void 0?function(){}:i;this.gl=r,this.program=null,this.stateStack=[],this.enable=!0,this.cache=a?Vc(r):Object.assign({},Ss),this.log=o,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return(0,YA.default)(e,[{key:"push",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})}},{key:"pop",value:function(){Ne(this.stateStack.length>0);var t=this.stateStack[this.stateStack.length-1];ws(this.gl,t),this.stateStack.pop()}},{key:"_updateCache",value:function(t){var n=!1,a,i=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(var o in t){Ne(o!==void 0);var s=t[o],u=this.cache[o];JA(s,u)||(n=!0,a=u,i&&!(o in i)&&(i[o]=u),this.cache[o]=s)}return{valueChanged:n,oldValue:a}}}]),e}();function jc(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=r.enable,n=t===void 0?!0:t,a=r.copyState;if(Ne(a!==void 0),!e.state){var i=globalThis.polyfillContext;i&&i(e),e.state=new H3(e,{copyState:a}),j3(e);for(var o in Gc){var s=Gc[o];U3(e,o,s)}qA(e,"getParameter"),qA(e,"isEnabled")}return e.state.enable=n,e}function Hc(e){e.state||jc(e,{copyState:!1}),e.state.push()}function Cs(e){Ne(e.state),e.state.pop()}function V3(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=z3(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
43
43
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return i=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!i&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function z3(e,r){if(e){if(typeof e=="string")return KA(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return KA(e,r)}}function KA(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function ws(e,r){if(Ne(Ts(e),"setParameters requires a WebGL context"),!Uc(r)){var t={};for(var n in r){var a=Number(n),i=zA[n];i&&(typeof i=="string"?t[i]=!0:i(e,r[n],a))}var o=e.state&&e.state.cache;if(o)for(var s in t){var u=WA[s];u(e,r,o)}}}function Vc(e,r){if(r=r||Ss,typeof r=="number"){var t=r,n=Nc[t];return n?n(e,t):e.getParameter(t)}var a=Array.isArray(r)?r:Object.keys(r),i={},o=V3(a),s;try{for(o.s();!(s=o.n()).done;){var u=s.value,f=Nc[u];i[u]=f?f(e,Number(u)):e.getParameter(Number(u))}}catch(l){o.e(l)}finally{o.f()}return i}function or(e,r,t){if(Uc(r))return t(e);var n=r.nocatch,a=n===void 0?!0:n;Hc(e),ws(e,r);var i;if(a)i=t(e),Cs(e);else try{i=t(e)}finally{Cs(e)}return i}var zW=ut();var QA=m(H()),ZA=m(z());var Bi="8.5.16",W3="set luma.log.level=1 (or higher) to trace rendering",zc=function(){function e(){(0,QA.default)(this,e),this.stats=new Map}return(0,ZA.default)(e,[{key:"get",value:function(t){return this.stats.has(t)||this.stats.set(t,new rn({id:t})),this.stats.get(t)}}]),e}(),ga=new zc;if(globalThis.luma&&globalThis.luma.VERSION!==Bi)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION," vs ").concat(Bi));globalThis.luma||(ut()&&oe.log(1,"luma.gl ".concat(Bi," - ").concat(W3))(),globalThis.luma=globalThis.luma||{VERSION:Bi,version:Bi,log:oe,stats:ga,globals:{modules:{},nodeIO:{}}});var lJ=globalThis.luma;var ob=m(W());var B_=m(H()),M_=m(z()),O_=m(nt()),I_=m(Te()),P_=m(xe()),Qc=m(ye());var T_=m(ce()),x_=m(H()),E_=m(z()),S_=m(Te()),C_=m(xe()),Yc=m(ye());var t_=m(H()),r_=m(z());function Q(e,r){if(!e)throw new Error(r||"luma.gl: assertion failed.")}function Bs(e,r){if(typeof r!="string")return r;var t=Number(r);if(!isNaN(t))return t;r=r.replace(/^.*\./,"");var n=e[r];return Q(n!==void 0,"Accessing undefined constant GL.".concat(r)),n}function _n(e,r){r=Number(r);for(var t in e)if(e[t]===r)return"GL.".concat(t);return String(r)}var Wc={};function Ms(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"id";Wc[e]=Wc[e]||1;var r=Wc[e]++;return"".concat(e,"-").concat(r)}function Jc(e){return Q(typeof e=="number","Input must be a number"),e&&(e&e-1)===0}function $A(e,r,t,n){var a="See luma.gl ".concat(t," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),i=Object.getPrototypeOf(e);n.forEach(function(o){i.methodName||(i[o]=function(){throw oe.removed("Calling removed method ".concat(r,".").concat(o,": "),a)(),new Error(o)})})}function J3(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=q3(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@deck.gl/geo-layers",
3
3
  "description": "deck.gl layers supporting geospatial use cases and GIS formats",
4
4
  "license": "MIT",
5
- "version": "8.9.5",
5
+ "version": "8.9.7",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
@@ -55,5 +55,5 @@
55
55
  "@loaders.gl/core": "^3.3.0",
56
56
  "@luma.gl/core": "^8.0.0"
57
57
  },
58
- "gitHead": "001fc31bd3dfa02eb4a0caba299584952f2236f6"
58
+ "gitHead": "63e09fa6f5dbfc9111fb8b343444e8c3a7a0702b"
59
59
  }
@@ -57,9 +57,16 @@ export default class H3ClusterLayer<DataT = any, ExtraProps extends {} = {}> ext
57
57
  }
58
58
 
59
59
  indexToBounds(): Partial<GeoCellLayer['props']> {
60
+ const {getElevation, getFillColor, getLineColor, getLineWidth} = this.props;
61
+
60
62
  return {
61
63
  data: this.state.polygons,
62
- getPolygon: d => d.polygon
64
+ getPolygon: d => d.polygon,
65
+
66
+ getElevation: this.getSubLayerAccessor(getElevation),
67
+ getFillColor: this.getSubLayerAccessor(getFillColor),
68
+ getLineColor: this.getSubLayerAccessor(getLineColor),
69
+ getLineWidth: this.getSubLayerAccessor(getLineWidth)
63
70
  };
64
71
  }
65
72
  }
@@ -0,0 +1,49 @@
1
+ import { CompositeLayer } from '@deck.gl/core';
2
+ import { PolygonLayer } from '@deck.gl/layers';
3
+ const defaultProps = {
4
+ ...PolygonLayer.defaultProps
5
+ };
6
+ export default class GeoCellLayer extends CompositeLayer {
7
+ /** Implement to generate props to create geometry. */
8
+ indexToBounds() {
9
+ return null;
10
+ }
11
+ renderLayers() {
12
+ // Rendering props underlying layer
13
+ const { elevationScale, extruded, wireframe, filled, stroked, lineWidthUnits, lineWidthScale, lineWidthMinPixels, lineWidthMaxPixels, lineJointRounded, lineMiterLimit, lineDashJustified, getElevation, getFillColor, getLineColor, getLineWidth } = this.props;
14
+ // Accessor props for underlying layers
15
+ const { updateTriggers, material, transitions } = this.props;
16
+ // Filled Polygon Layer
17
+ const CellLayer = this.getSubLayerClass('cell', PolygonLayer);
18
+ return new CellLayer({
19
+ filled,
20
+ wireframe,
21
+ extruded,
22
+ elevationScale,
23
+ stroked,
24
+ lineWidthUnits,
25
+ lineWidthScale,
26
+ lineWidthMinPixels,
27
+ lineWidthMaxPixels,
28
+ lineJointRounded,
29
+ lineMiterLimit,
30
+ lineDashJustified,
31
+ material,
32
+ transitions,
33
+ getElevation,
34
+ getFillColor,
35
+ getLineColor,
36
+ getLineWidth
37
+ }, this.getSubLayerProps({
38
+ id: 'cell',
39
+ updateTriggers: updateTriggers && {
40
+ getElevation: updateTriggers.getElevation,
41
+ getFillColor: updateTriggers.getFillColor,
42
+ getLineColor: updateTriggers.getLineColor,
43
+ getLineWidth: updateTriggers.getLineWidth
44
+ }
45
+ }), this.indexToBounds());
46
+ }
47
+ }
48
+ GeoCellLayer.layerName = 'GeoCellLayer';
49
+ GeoCellLayer.defaultProps = defaultProps;
@@ -0,0 +1,29 @@
1
+ // Copyright (c) 2015 - 2017 Uber Technologies, Inc.
2
+ //
3
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ // of this software and associated documentation files (the "Software"), to deal
5
+ // in the Software without restriction, including without limitation the rights
6
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ // copies of the Software, and to permit persons to whom the Software is
8
+ // furnished to do so, subject to the following conditions:
9
+ //
10
+ // The above copyright notice and this permission notice shall be included in
11
+ // all copies or substantial portions of the Software.
12
+ //
13
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ // THE SOFTWARE.
20
+ import { ArcLayer } from '@deck.gl/layers';
21
+ // This layer has been merged into the core ArcLayer
22
+ // Keeping for backward-compatibility
23
+ export default class GreatCircleLayer extends ArcLayer {
24
+ }
25
+ GreatCircleLayer.layerName = 'GreatCircleLayer';
26
+ GreatCircleLayer.defaultProps = {
27
+ getHeight: { type: 'accessor', value: 0 },
28
+ greatCircle: true
29
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"h3-cluster-layer.d.ts","sourceRoot":"","sources":["../../src/h3-layers/h3-cluster-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,YAAY,EAAC,MAAM,OAAO,CAAC;AAExD,OAAO,EAAC,gBAAgB,EAAkB,gBAAgB,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAE/F,OAAO,YAAY,EAAE,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AAM/E,kDAAkD;AAClD,oBAAY,mBAAmB,CAAC,KAAK,GAAG,GAAG,IAAI,oBAAoB,CAAC,KAAK,CAAC,GACxE,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAE3B,0CAA0C;AAC1C,aAAK,oBAAoB,CAAC,KAAK,IAAI;IACjC;;;;OAIG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,cAAc,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,SAAS,EAAE,GAAG,EAAE,CAAE,SAAQ,YAAY,CAC/F,KAAK,EACL,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CACnD;IACC,MAAM,CAAC,SAAS,SAAoB;IACpC,MAAM,CAAC,YAAY,yCAAgB;IAEnC,eAAe,IAAI,IAAI;IAIvB,WAAW,CAAC,EAAC,KAAK,EAAE,WAAW,EAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IAuB/D,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;CAMhD"}
1
+ {"version":3,"file":"h3-cluster-layer.d.ts","sourceRoot":"","sources":["../../src/h3-layers/h3-cluster-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,YAAY,EAAC,MAAM,OAAO,CAAC;AAExD,OAAO,EAAC,gBAAgB,EAAkB,gBAAgB,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAE/F,OAAO,YAAY,EAAE,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AAM/E,kDAAkD;AAClD,oBAAY,mBAAmB,CAAC,KAAK,GAAG,GAAG,IAAI,oBAAoB,CAAC,KAAK,CAAC,GACxE,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAE3B,0CAA0C;AAC1C,aAAK,oBAAoB,CAAC,KAAK,IAAI;IACjC;;;;OAIG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,cAAc,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,SAAS,EAAE,GAAG,EAAE,CAAE,SAAQ,YAAY,CAC/F,KAAK,EACL,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CACnD;IACC,MAAM,CAAC,SAAS,SAAoB;IACpC,MAAM,CAAC,YAAY,yCAAgB;IAEnC,eAAe,IAAI,IAAI;IAIvB,WAAW,CAAC,EAAC,KAAK,EAAE,WAAW,EAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IAuB/D,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;CAahD"}
@@ -0,0 +1,33 @@
1
+ import { h3SetToMultiPolygon } from 'h3-js';
2
+ import { createIterable } from '@deck.gl/core';
3
+ import GeoCellLayer from '../geo-cell-layer/GeoCellLayer';
4
+ const defaultProps = {
5
+ getHexagons: { type: 'accessor', value: d => d.hexagons }
6
+ };
7
+ export default class H3ClusterLayer extends GeoCellLayer {
8
+ updateState({ props, oldProps, changeFlags }) {
9
+ if (changeFlags.dataChanged ||
10
+ (changeFlags.updateTriggers && changeFlags.updateTriggers.getHexagons)) {
11
+ const { data, getHexagons } = props;
12
+ const polygons = [];
13
+ const { iterable, objectInfo } = createIterable(data);
14
+ for (const object of iterable) {
15
+ objectInfo.index++;
16
+ const hexagons = getHexagons(object, objectInfo);
17
+ const multiPolygon = h3SetToMultiPolygon(hexagons, true);
18
+ for (const polygon of multiPolygon) {
19
+ polygons.push(this.getSubLayerRow({ polygon }, object, objectInfo.index));
20
+ }
21
+ }
22
+ this.setState({ polygons });
23
+ }
24
+ }
25
+ indexToBounds() {
26
+ return {
27
+ data: this.state.polygons,
28
+ getPolygon: d => d.polygon
29
+ };
30
+ }
31
+ }
32
+ H3ClusterLayer.defaultProps = defaultProps;
33
+ H3ClusterLayer.layerName = 'H3ClusterLayer';