@deck.gl/geo-layers 8.9.22 → 8.9.23

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 (47) hide show
  1. package/LICENSE +1 -1
  2. package/dist/dist.dev.js +2 -1
  3. package/dist/es5/tile-layer/tile-layer.js +2 -1
  4. package/dist/es5/tile-layer/tile-layer.js.map +1 -1
  5. package/dist/esm/tile-layer/tile-layer.js +2 -1
  6. package/dist/esm/tile-layer/tile-layer.js.map +1 -1
  7. package/dist.min.js +2 -2
  8. package/package.json +2 -2
  9. package/src/tile-layer/tile-layer.ts +2 -1
  10. package/typed/tile-layer/tile-layer.d.ts.map +1 -1
  11. package/typed/geo-cell-layer/GeoCellLayer.js +0 -49
  12. package/typed/great-circle-layer/great-circle-layer.js +0 -29
  13. package/typed/h3-layers/h3-cluster-layer.js +0 -33
  14. package/typed/h3-layers/h3-hexagon-layer.js +0 -251
  15. package/typed/imagery-layer/imagery-layer.d.ts +0 -53
  16. package/typed/imagery-layer/imagery-layer.d.ts.map +0 -1
  17. package/typed/index.js +0 -33
  18. package/typed/mesh-layer/mesh-layer-fragment.glsl.js +0 -55
  19. package/typed/mesh-layer/mesh-layer-vertex.glsl.js +0 -80
  20. package/typed/mesh-layer/mesh-layer.js +0 -110
  21. package/typed/mvt-layer/coordinate-transform.js +0 -41
  22. package/typed/mvt-layer/find-index-binary.js +0 -96
  23. package/typed/mvt-layer/mvt-layer.js +0 -297
  24. package/typed/quadkey-layer/quadkey-layer.js +0 -18
  25. package/typed/quadkey-layer/quadkey-utils.js +0 -26
  26. package/typed/s2-layer/s2-geometry.js +0 -123
  27. package/typed/s2-layer/s2-layer.js +0 -37
  28. package/typed/s2-layer/s2-utils.js +0 -88
  29. package/typed/terrain-layer/terrain-layer.js +0 -226
  30. package/typed/tile-3d-layer/tile-3d-layer.js +0 -294
  31. package/typed/tile-layer/tile-2d-header.d.ts +0 -40
  32. package/typed/tile-layer/tile-2d-header.d.ts.map +0 -1
  33. package/typed/tile-layer/tile-2d-header.js +0 -113
  34. package/typed/tile-layer/tile-2d-traversal.d.ts +0 -4
  35. package/typed/tile-layer/tile-2d-traversal.d.ts.map +0 -1
  36. package/typed/tile-layer/tile-2d-traversal.js +0 -181
  37. package/typed/tile-layer/tile-layer.js +0 -192
  38. package/typed/tile-layer/tileset-2d.d.ts +0 -96
  39. package/typed/tile-layer/tileset-2d.d.ts.map +0 -1
  40. package/typed/tile-layer/tileset-2d.js +0 -399
  41. package/typed/tile-layer/types.d.ts +0 -30
  42. package/typed/tile-layer/types.d.ts.map +0 -1
  43. package/typed/tile-layer/types.js +0 -1
  44. package/typed/tile-layer/utils.d.ts +0 -51
  45. package/typed/tile-layer/utils.d.ts.map +0 -1
  46. package/typed/tile-layer/utils.js +0 -197
  47. package/typed/trips-layer/trips-layer.js +0 -92
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2020 Urban Computing Foundation
1
+ Copyright Vis.gl contributors.
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
package/dist/dist.dev.js CHANGED
@@ -10340,7 +10340,8 @@ var __exports__ = (() => {
10340
10340
  const layers = this.renderSubLayers({
10341
10341
  ...this.props,
10342
10342
  ...this.getSubLayerProps({
10343
- id: tile.id
10343
+ id: tile.id,
10344
+ updateTriggers: this.props.updateTriggers
10344
10345
  }),
10345
10346
  data: tile.content,
10346
10347
  _offset: 0,
@@ -326,7 +326,8 @@ var TileLayer = function (_CompositeLayer) {
326
326
 
327
327
  if (!tile.isLoaded && !tile.content) {} else if (!tile.layers) {
328
328
  var layers = _this.renderSubLayers(_objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.getSubLayerProps({
329
- id: tile.id
329
+ id: tile.id,
330
+ updateTriggers: _this.props.updateTriggers
330
331
  })), {}, {
331
332
  data: tile.content,
332
333
  _offset: 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tile-layer/tile-layer.ts"],"names":["defaultProps","TilesetClass","Tileset2D","data","type","value","dataComparator","urlType","equal","renderSubLayers","props","GeoJsonLayer","getTileData","optional","onViewportLoad","onTileLoad","tile","onTileUnload","onTileError","err","console","error","extent","compare","tileSize","maxZoom","minZoom","maxCacheSize","maxCacheByteSize","refinementStrategy","STRATEGY_DEFAULT","zRange","maxRequests","zoomOffset","TileLayer","state","tileset","isLoaded","finalize","selectedTiles","every","layers","layer","changeFlags","somethingChanged","propsChanged","propsOrDataChanged","updateTriggersChanged","dataChanged","all","_getTilesetOptions","setState","setOptions","reloadAll","tiles","forEach","_updateTileset","bind","_onTileLoad","_onTileError","_onTileUnload","modelMatrix","frameNumber","update","context","viewport","loadingStateChanged","tilesetChanged","_onViewportLoad","setNeedsUpdate","fetch","signal","url","Array","isArray","propName","info","sourceLayer","sourceTile","picked","updateAutoHighlight","map","subLayerProps","getSubLayerPropsByTile","content","getSubLayerProps","id","_offset","Boolean","clone","Object","keys","some","cullRect","isTileVisible","CompositeLayer"],"mappings":"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","sourcesContent":["import {\n CompositeLayer,\n CompositeLayerProps,\n Layer,\n LayerProps,\n UpdateParameters,\n PickingInfo,\n GetPickingInfoParams,\n DefaultProps,\n FilterContext,\n _flatten as flatten\n} from '@deck.gl/core';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {LayersList} from '@deck.gl/core';\n\nimport type {TileLoadProps, ZRange} from '../tileset-2d';\nimport {\n Tileset2D,\n Tile2DHeader,\n RefinementStrategy,\n STRATEGY_DEFAULT,\n Tileset2DProps\n} from '../tileset-2d';\nimport {urlType, URLTemplate, getURLFromTemplate} from '../tileset-2d';\n\nconst defaultProps: DefaultProps<TileLayerProps> = {\n TilesetClass: Tileset2D,\n data: {type: 'data', value: []},\n dataComparator: urlType.equal,\n renderSubLayers: {type: 'function', value: props => new GeoJsonLayer(props)},\n getTileData: {type: 'function', optional: true, value: null},\n // TODO - change to onViewportLoad to align with Tile3DLayer\n onViewportLoad: {type: 'function', optional: true, value: null},\n onTileLoad: {type: 'function', value: tile => {}},\n onTileUnload: {type: 'function', value: tile => {}},\n // eslint-disable-next-line\n onTileError: {type: 'function', value: err => console.error(err)},\n extent: {type: 'array', optional: true, value: null, compare: true},\n tileSize: 512,\n maxZoom: null,\n minZoom: 0,\n maxCacheSize: null,\n maxCacheByteSize: null,\n refinementStrategy: STRATEGY_DEFAULT,\n zRange: null,\n maxRequests: 6,\n zoomOffset: 0\n};\n\n/** All props supported by the TileLayer */\nexport type TileLayerProps<DataT = any> = CompositeLayerProps & _TileLayerProps<DataT>;\n\n/** Props added by the TileLayer */\ntype _TileLayerProps<DataT> = {\n data: URLTemplate;\n /**\n * Optionally implement a custom indexing scheme.\n */\n TilesetClass?: typeof Tileset2D;\n /**\n * Renders one or an array of Layer instances.\n */\n renderSubLayers?: (\n props: TileLayerProps<DataT> & {\n id: string;\n data: DataT;\n _offset: number;\n tile: Tile2DHeader<DataT>;\n }\n ) => Layer | null | LayersList;\n /**\n * If supplied, `getTileData` is called to retrieve the data of each tile.\n */\n getTileData?: ((props: TileLoadProps) => Promise<DataT> | DataT) | null;\n\n /** Called when all tiles in the current viewport are loaded. */\n onViewportLoad?: ((tiles: Tile2DHeader<DataT>[]) => void) | null;\n\n /** Called when a tile successfully loads. */\n onTileLoad?: (tile: Tile2DHeader<DataT>) => void;\n\n /** Called when a tile is cleared from cache. */\n onTileUnload?: (tile: Tile2DHeader<DataT>) => void;\n\n /** Called when a tile failed to load. */\n onTileError?: (err: any, tile?) => void;\n\n /** The bounding box of the layer's data. */\n extent?: number[] | null;\n\n /** The pixel dimension of the tiles, usually a power of 2. */\n tileSize?: number;\n\n /** The max zoom level of the layer's data.\n * @default null\n */\n maxZoom?: number | null;\n\n /** The min zoom level of the layer's data.\n * @default 0\n */\n minZoom?: number | null;\n\n /** The maximum number of tiles that can be cached. */\n maxCacheSize?: number | null;\n\n /**\n * The maximum memory used for caching tiles.\n *\n * @default null\n */\n maxCacheByteSize?: number | null;\n\n /**\n * How the tile layer refines the visibility of tiles.\n *\n * @default 'best-available'\n */\n refinementStrategy?: RefinementStrategy;\n\n /** Range of minimum and maximum heights in the tile. */\n zRange?: ZRange | null;\n\n /**\n * The maximum number of concurrent getTileData calls.\n *\n * @default 6\n */\n maxRequests?: number;\n\n /**\n * This offset changes the zoom level at which the tiles are fetched.\n *\n * Needs to be an integer.\n *\n * @default 0\n */\n zoomOffset?: number;\n};\n\nexport type TiledPickingInfo<DataT = any> = PickingInfo & {\n tile?: Tile2DHeader<DataT>;\n};\n\n/**\n * The TileLayer is a composite layer that makes it possible to visualize very large datasets.\n *\n * Instead of fetching the entire dataset, it only loads and renders what's visible in the current viewport.\n */\nexport default class TileLayer<DataT = any, ExtraPropsT extends {} = {}> extends CompositeLayer<\n ExtraPropsT & Required<_TileLayerProps<DataT>>\n> {\n static defaultProps: DefaultProps = defaultProps;\n static layerName = 'TileLayer';\n\n initializeState() {\n this.state = {\n tileset: null,\n isLoaded: false\n };\n }\n\n finalizeState() {\n this.state?.tileset?.finalize();\n }\n\n get isLoaded(): boolean {\n return this.state?.tileset?.selectedTiles.every(\n tile => tile.isLoaded && tile.layers && tile.layers.every(layer => layer.isLoaded)\n );\n }\n\n shouldUpdateState({changeFlags}): boolean {\n return changeFlags.somethingChanged;\n }\n\n updateState({changeFlags}: UpdateParameters<this>) {\n let {tileset} = this.state;\n const propsChanged = changeFlags.propsOrDataChanged || changeFlags.updateTriggersChanged;\n const dataChanged =\n changeFlags.dataChanged ||\n (changeFlags.updateTriggersChanged &&\n (changeFlags.updateTriggersChanged.all || changeFlags.updateTriggersChanged.getTileData));\n\n if (!tileset) {\n tileset = new this.props.TilesetClass(this._getTilesetOptions());\n this.setState({tileset});\n } else if (propsChanged) {\n tileset.setOptions(this._getTilesetOptions());\n\n if (dataChanged) {\n // reload all tiles\n // use cached layers until new content is loaded\n tileset.reloadAll();\n } else {\n // some render options changed, regenerate sub layers now\n this.state.tileset.tiles.forEach(tile => {\n tile.layers = null;\n });\n }\n }\n\n this._updateTileset();\n }\n\n _getTilesetOptions(): Tileset2DProps {\n const {\n tileSize,\n maxCacheSize,\n maxCacheByteSize,\n refinementStrategy,\n extent,\n maxZoom,\n minZoom,\n maxRequests,\n zoomOffset\n } = this.props;\n\n return {\n maxCacheSize,\n maxCacheByteSize,\n maxZoom,\n minZoom,\n tileSize,\n refinementStrategy,\n extent,\n maxRequests,\n zoomOffset,\n\n getTileData: this.getTileData.bind(this),\n onTileLoad: this._onTileLoad.bind(this),\n onTileError: this._onTileError.bind(this),\n onTileUnload: this._onTileUnload.bind(this)\n };\n }\n\n private _updateTileset(): void {\n const {tileset} = this.state;\n const {zRange, modelMatrix} = this.props;\n const frameNumber = tileset.update(this.context.viewport, {zRange, modelMatrix});\n const {isLoaded} = tileset;\n\n const loadingStateChanged = this.state.isLoaded !== isLoaded;\n const tilesetChanged = this.state.frameNumber !== frameNumber;\n\n if (isLoaded && (loadingStateChanged || tilesetChanged)) {\n this._onViewportLoad();\n }\n\n if (tilesetChanged) {\n // Save the tileset frame number - trigger a rerender\n this.setState({frameNumber});\n }\n // Save the loaded state - should not trigger a rerender\n this.state.isLoaded = isLoaded;\n }\n\n _onViewportLoad(): void {\n const {tileset} = this.state;\n const {onViewportLoad} = this.props;\n\n if (onViewportLoad) {\n onViewportLoad(tileset.selectedTiles);\n }\n }\n\n _onTileLoad(tile: Tile2DHeader<DataT>): void {\n this.props.onTileLoad(tile);\n tile.layers = null;\n\n this.setNeedsUpdate();\n }\n\n _onTileError(error: any, tile: Tile2DHeader<DataT>) {\n this.props.onTileError(error);\n tile.layers = null;\n\n this.setNeedsUpdate();\n }\n\n _onTileUnload(tile: Tile2DHeader<DataT>) {\n this.props.onTileUnload(tile);\n }\n\n // Methods for subclass to override\n\n getTileData(tile: TileLoadProps): Promise<DataT> | DataT | null {\n const {data, getTileData, fetch} = this.props;\n const {signal} = tile;\n\n tile.url =\n typeof data === 'string' || Array.isArray(data) ? getURLFromTemplate(data, tile) : null;\n\n if (getTileData) {\n return getTileData(tile);\n }\n if (fetch && tile.url) {\n return fetch(tile.url, {propName: 'data', layer: this, signal});\n }\n return null;\n }\n\n renderSubLayers(\n props: TileLayer['props'] & {\n id: string;\n data: DataT;\n _offset: number;\n tile: Tile2DHeader<DataT>;\n }\n ): Layer | null | LayersList {\n return this.props.renderSubLayers(props);\n }\n\n getSubLayerPropsByTile(tile: Tile2DHeader): Partial<LayerProps> | null {\n return null;\n }\n\n getPickingInfo({info, sourceLayer}: GetPickingInfoParams): TiledPickingInfo<DataT> {\n const sourceTile = (sourceLayer as any).props.tile;\n if (info.picked) {\n (info as any).tile = sourceTile;\n }\n (info as any).sourceTile = sourceTile;\n return info;\n }\n\n protected _updateAutoHighlight(info: PickingInfo): void {\n const sourceTile = (info as any).sourceTile as Tile2DHeader;\n if (sourceTile && sourceTile.layers) {\n for (const layer of sourceTile.layers) {\n layer.updateAutoHighlight(info);\n }\n }\n }\n\n renderLayers(): Layer | null | LayersList {\n return this.state.tileset.tiles.map((tile: Tile2DHeader) => {\n const subLayerProps = this.getSubLayerPropsByTile(tile);\n // cache the rendered layer in the tile\n if (!tile.isLoaded && !tile.content) {\n // nothing to show\n } else if (!tile.layers) {\n const layers = this.renderSubLayers({\n ...this.props,\n ...this.getSubLayerProps({\n id: tile.id\n }),\n data: tile.content,\n _offset: 0,\n tile\n });\n tile.layers = (flatten(layers, Boolean) as Layer<{tile?: Tile2DHeader}>[]).map(layer =>\n layer.clone({\n tile,\n ...subLayerProps\n })\n );\n } else if (\n subLayerProps &&\n tile.layers[0] &&\n Object.keys(subLayerProps).some(\n propName => tile.layers![0].props[propName] !== subLayerProps[propName]\n )\n ) {\n tile.layers = tile.layers.map(layer => layer.clone(subLayerProps));\n }\n return tile.layers;\n });\n }\n\n filterSubLayer({layer, cullRect}: FilterContext) {\n const {tile} = (layer as Layer<{tile: Tile2DHeader}>).props;\n return this.state.tileset.isTileVisible(tile, cullRect);\n }\n}\n"],"file":"tile-layer.js"}
1
+ {"version":3,"sources":["../../../src/tile-layer/tile-layer.ts"],"names":["defaultProps","TilesetClass","Tileset2D","data","type","value","dataComparator","urlType","equal","renderSubLayers","props","GeoJsonLayer","getTileData","optional","onViewportLoad","onTileLoad","tile","onTileUnload","onTileError","err","console","error","extent","compare","tileSize","maxZoom","minZoom","maxCacheSize","maxCacheByteSize","refinementStrategy","STRATEGY_DEFAULT","zRange","maxRequests","zoomOffset","TileLayer","state","tileset","isLoaded","finalize","selectedTiles","every","layers","layer","changeFlags","somethingChanged","propsChanged","propsOrDataChanged","updateTriggersChanged","dataChanged","all","_getTilesetOptions","setState","setOptions","reloadAll","tiles","forEach","_updateTileset","bind","_onTileLoad","_onTileError","_onTileUnload","modelMatrix","frameNumber","update","context","viewport","loadingStateChanged","tilesetChanged","_onViewportLoad","setNeedsUpdate","fetch","signal","url","Array","isArray","propName","info","sourceLayer","sourceTile","picked","updateAutoHighlight","map","subLayerProps","getSubLayerPropsByTile","content","getSubLayerProps","id","updateTriggers","_offset","Boolean","clone","Object","keys","some","cullRect","isTileVisible","CompositeLayer"],"mappings":"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","sourcesContent":["import {\n CompositeLayer,\n CompositeLayerProps,\n Layer,\n LayerProps,\n UpdateParameters,\n PickingInfo,\n GetPickingInfoParams,\n DefaultProps,\n FilterContext,\n _flatten as flatten\n} from '@deck.gl/core';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {LayersList} from '@deck.gl/core';\n\nimport type {TileLoadProps, ZRange} from '../tileset-2d';\nimport {\n Tileset2D,\n Tile2DHeader,\n RefinementStrategy,\n STRATEGY_DEFAULT,\n Tileset2DProps\n} from '../tileset-2d';\nimport {urlType, URLTemplate, getURLFromTemplate} from '../tileset-2d';\n\nconst defaultProps: DefaultProps<TileLayerProps> = {\n TilesetClass: Tileset2D,\n data: {type: 'data', value: []},\n dataComparator: urlType.equal,\n renderSubLayers: {type: 'function', value: props => new GeoJsonLayer(props)},\n getTileData: {type: 'function', optional: true, value: null},\n // TODO - change to onViewportLoad to align with Tile3DLayer\n onViewportLoad: {type: 'function', optional: true, value: null},\n onTileLoad: {type: 'function', value: tile => {}},\n onTileUnload: {type: 'function', value: tile => {}},\n // eslint-disable-next-line\n onTileError: {type: 'function', value: err => console.error(err)},\n extent: {type: 'array', optional: true, value: null, compare: true},\n tileSize: 512,\n maxZoom: null,\n minZoom: 0,\n maxCacheSize: null,\n maxCacheByteSize: null,\n refinementStrategy: STRATEGY_DEFAULT,\n zRange: null,\n maxRequests: 6,\n zoomOffset: 0\n};\n\n/** All props supported by the TileLayer */\nexport type TileLayerProps<DataT = any> = CompositeLayerProps & _TileLayerProps<DataT>;\n\n/** Props added by the TileLayer */\ntype _TileLayerProps<DataT> = {\n data: URLTemplate;\n /**\n * Optionally implement a custom indexing scheme.\n */\n TilesetClass?: typeof Tileset2D;\n /**\n * Renders one or an array of Layer instances.\n */\n renderSubLayers?: (\n props: TileLayerProps<DataT> & {\n id: string;\n data: DataT;\n _offset: number;\n tile: Tile2DHeader<DataT>;\n }\n ) => Layer | null | LayersList;\n /**\n * If supplied, `getTileData` is called to retrieve the data of each tile.\n */\n getTileData?: ((props: TileLoadProps) => Promise<DataT> | DataT) | null;\n\n /** Called when all tiles in the current viewport are loaded. */\n onViewportLoad?: ((tiles: Tile2DHeader<DataT>[]) => void) | null;\n\n /** Called when a tile successfully loads. */\n onTileLoad?: (tile: Tile2DHeader<DataT>) => void;\n\n /** Called when a tile is cleared from cache. */\n onTileUnload?: (tile: Tile2DHeader<DataT>) => void;\n\n /** Called when a tile failed to load. */\n onTileError?: (err: any, tile?) => void;\n\n /** The bounding box of the layer's data. */\n extent?: number[] | null;\n\n /** The pixel dimension of the tiles, usually a power of 2. */\n tileSize?: number;\n\n /** The max zoom level of the layer's data.\n * @default null\n */\n maxZoom?: number | null;\n\n /** The min zoom level of the layer's data.\n * @default 0\n */\n minZoom?: number | null;\n\n /** The maximum number of tiles that can be cached. */\n maxCacheSize?: number | null;\n\n /**\n * The maximum memory used for caching tiles.\n *\n * @default null\n */\n maxCacheByteSize?: number | null;\n\n /**\n * How the tile layer refines the visibility of tiles.\n *\n * @default 'best-available'\n */\n refinementStrategy?: RefinementStrategy;\n\n /** Range of minimum and maximum heights in the tile. */\n zRange?: ZRange | null;\n\n /**\n * The maximum number of concurrent getTileData calls.\n *\n * @default 6\n */\n maxRequests?: number;\n\n /**\n * This offset changes the zoom level at which the tiles are fetched.\n *\n * Needs to be an integer.\n *\n * @default 0\n */\n zoomOffset?: number;\n};\n\nexport type TiledPickingInfo<DataT = any> = PickingInfo & {\n tile?: Tile2DHeader<DataT>;\n};\n\n/**\n * The TileLayer is a composite layer that makes it possible to visualize very large datasets.\n *\n * Instead of fetching the entire dataset, it only loads and renders what's visible in the current viewport.\n */\nexport default class TileLayer<DataT = any, ExtraPropsT extends {} = {}> extends CompositeLayer<\n ExtraPropsT & Required<_TileLayerProps<DataT>>\n> {\n static defaultProps: DefaultProps = defaultProps;\n static layerName = 'TileLayer';\n\n initializeState() {\n this.state = {\n tileset: null,\n isLoaded: false\n };\n }\n\n finalizeState() {\n this.state?.tileset?.finalize();\n }\n\n get isLoaded(): boolean {\n return this.state?.tileset?.selectedTiles.every(\n tile => tile.isLoaded && tile.layers && tile.layers.every(layer => layer.isLoaded)\n );\n }\n\n shouldUpdateState({changeFlags}): boolean {\n return changeFlags.somethingChanged;\n }\n\n updateState({changeFlags}: UpdateParameters<this>) {\n let {tileset} = this.state;\n const propsChanged = changeFlags.propsOrDataChanged || changeFlags.updateTriggersChanged;\n const dataChanged =\n changeFlags.dataChanged ||\n (changeFlags.updateTriggersChanged &&\n (changeFlags.updateTriggersChanged.all || changeFlags.updateTriggersChanged.getTileData));\n\n if (!tileset) {\n tileset = new this.props.TilesetClass(this._getTilesetOptions());\n this.setState({tileset});\n } else if (propsChanged) {\n tileset.setOptions(this._getTilesetOptions());\n\n if (dataChanged) {\n // reload all tiles\n // use cached layers until new content is loaded\n tileset.reloadAll();\n } else {\n // some render options changed, regenerate sub layers now\n this.state.tileset.tiles.forEach(tile => {\n tile.layers = null;\n });\n }\n }\n\n this._updateTileset();\n }\n\n _getTilesetOptions(): Tileset2DProps {\n const {\n tileSize,\n maxCacheSize,\n maxCacheByteSize,\n refinementStrategy,\n extent,\n maxZoom,\n minZoom,\n maxRequests,\n zoomOffset\n } = this.props;\n\n return {\n maxCacheSize,\n maxCacheByteSize,\n maxZoom,\n minZoom,\n tileSize,\n refinementStrategy,\n extent,\n maxRequests,\n zoomOffset,\n\n getTileData: this.getTileData.bind(this),\n onTileLoad: this._onTileLoad.bind(this),\n onTileError: this._onTileError.bind(this),\n onTileUnload: this._onTileUnload.bind(this)\n };\n }\n\n private _updateTileset(): void {\n const {tileset} = this.state;\n const {zRange, modelMatrix} = this.props;\n const frameNumber = tileset.update(this.context.viewport, {zRange, modelMatrix});\n const {isLoaded} = tileset;\n\n const loadingStateChanged = this.state.isLoaded !== isLoaded;\n const tilesetChanged = this.state.frameNumber !== frameNumber;\n\n if (isLoaded && (loadingStateChanged || tilesetChanged)) {\n this._onViewportLoad();\n }\n\n if (tilesetChanged) {\n // Save the tileset frame number - trigger a rerender\n this.setState({frameNumber});\n }\n // Save the loaded state - should not trigger a rerender\n this.state.isLoaded = isLoaded;\n }\n\n _onViewportLoad(): void {\n const {tileset} = this.state;\n const {onViewportLoad} = this.props;\n\n if (onViewportLoad) {\n onViewportLoad(tileset.selectedTiles);\n }\n }\n\n _onTileLoad(tile: Tile2DHeader<DataT>): void {\n this.props.onTileLoad(tile);\n tile.layers = null;\n\n this.setNeedsUpdate();\n }\n\n _onTileError(error: any, tile: Tile2DHeader<DataT>) {\n this.props.onTileError(error);\n tile.layers = null;\n\n this.setNeedsUpdate();\n }\n\n _onTileUnload(tile: Tile2DHeader<DataT>) {\n this.props.onTileUnload(tile);\n }\n\n // Methods for subclass to override\n\n getTileData(tile: TileLoadProps): Promise<DataT> | DataT | null {\n const {data, getTileData, fetch} = this.props;\n const {signal} = tile;\n\n tile.url =\n typeof data === 'string' || Array.isArray(data) ? getURLFromTemplate(data, tile) : null;\n\n if (getTileData) {\n return getTileData(tile);\n }\n if (fetch && tile.url) {\n return fetch(tile.url, {propName: 'data', layer: this, signal});\n }\n return null;\n }\n\n renderSubLayers(\n props: TileLayer['props'] & {\n id: string;\n data: DataT;\n _offset: number;\n tile: Tile2DHeader<DataT>;\n }\n ): Layer | null | LayersList {\n return this.props.renderSubLayers(props);\n }\n\n getSubLayerPropsByTile(tile: Tile2DHeader): Partial<LayerProps> | null {\n return null;\n }\n\n getPickingInfo({info, sourceLayer}: GetPickingInfoParams): TiledPickingInfo<DataT> {\n const sourceTile = (sourceLayer as any).props.tile;\n if (info.picked) {\n (info as any).tile = sourceTile;\n }\n (info as any).sourceTile = sourceTile;\n return info;\n }\n\n protected _updateAutoHighlight(info: PickingInfo): void {\n const sourceTile = (info as any).sourceTile as Tile2DHeader;\n if (sourceTile && sourceTile.layers) {\n for (const layer of sourceTile.layers) {\n layer.updateAutoHighlight(info);\n }\n }\n }\n\n renderLayers(): Layer | null | LayersList {\n return this.state.tileset.tiles.map((tile: Tile2DHeader) => {\n const subLayerProps = this.getSubLayerPropsByTile(tile);\n // cache the rendered layer in the tile\n if (!tile.isLoaded && !tile.content) {\n // nothing to show\n } else if (!tile.layers) {\n const layers = this.renderSubLayers({\n ...this.props,\n ...this.getSubLayerProps({\n id: tile.id,\n updateTriggers: this.props.updateTriggers\n }),\n data: tile.content,\n _offset: 0,\n tile\n });\n tile.layers = (flatten(layers, Boolean) as Layer<{tile?: Tile2DHeader}>[]).map(layer =>\n layer.clone({\n tile,\n ...subLayerProps\n })\n );\n } else if (\n subLayerProps &&\n tile.layers[0] &&\n Object.keys(subLayerProps).some(\n propName => tile.layers![0].props[propName] !== subLayerProps[propName]\n )\n ) {\n tile.layers = tile.layers.map(layer => layer.clone(subLayerProps));\n }\n return tile.layers;\n });\n }\n\n filterSubLayer({layer, cullRect}: FilterContext) {\n const {tile} = (layer as Layer<{tile: Tile2DHeader}>).props;\n return this.state.tileset.isTileVisible(tile, cullRect);\n }\n}\n"],"file":"tile-layer.js"}
@@ -261,7 +261,8 @@ export default class TileLayer extends CompositeLayer {
261
261
  if (!tile.isLoaded && !tile.content) {} else if (!tile.layers) {
262
262
  const layers = this.renderSubLayers({ ...this.props,
263
263
  ...this.getSubLayerProps({
264
- id: tile.id
264
+ id: tile.id,
265
+ updateTriggers: this.props.updateTriggers
265
266
  }),
266
267
  data: tile.content,
267
268
  _offset: 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tile-layer/tile-layer.ts"],"names":["CompositeLayer","_flatten","flatten","GeoJsonLayer","Tileset2D","STRATEGY_DEFAULT","urlType","getURLFromTemplate","defaultProps","TilesetClass","data","type","value","dataComparator","equal","renderSubLayers","props","getTileData","optional","onViewportLoad","onTileLoad","tile","onTileUnload","onTileError","err","console","error","extent","compare","tileSize","maxZoom","minZoom","maxCacheSize","maxCacheByteSize","refinementStrategy","zRange","maxRequests","zoomOffset","TileLayer","initializeState","state","tileset","isLoaded","finalizeState","finalize","selectedTiles","every","layers","layer","shouldUpdateState","changeFlags","somethingChanged","updateState","propsChanged","propsOrDataChanged","updateTriggersChanged","dataChanged","all","_getTilesetOptions","setState","setOptions","reloadAll","tiles","forEach","_updateTileset","bind","_onTileLoad","_onTileError","_onTileUnload","modelMatrix","frameNumber","update","context","viewport","loadingStateChanged","tilesetChanged","_onViewportLoad","setNeedsUpdate","fetch","signal","url","Array","isArray","propName","getSubLayerPropsByTile","getPickingInfo","info","sourceLayer","sourceTile","picked","_updateAutoHighlight","updateAutoHighlight","renderLayers","map","subLayerProps","content","getSubLayerProps","id","_offset","Boolean","clone","Object","keys","some","filterSubLayer","cullRect","isTileVisible"],"mappings":"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","sourcesContent":["import {\n CompositeLayer,\n CompositeLayerProps,\n Layer,\n LayerProps,\n UpdateParameters,\n PickingInfo,\n GetPickingInfoParams,\n DefaultProps,\n FilterContext,\n _flatten as flatten\n} from '@deck.gl/core';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {LayersList} from '@deck.gl/core';\n\nimport type {TileLoadProps, ZRange} from '../tileset-2d';\nimport {\n Tileset2D,\n Tile2DHeader,\n RefinementStrategy,\n STRATEGY_DEFAULT,\n Tileset2DProps\n} from '../tileset-2d';\nimport {urlType, URLTemplate, getURLFromTemplate} from '../tileset-2d';\n\nconst defaultProps: DefaultProps<TileLayerProps> = {\n TilesetClass: Tileset2D,\n data: {type: 'data', value: []},\n dataComparator: urlType.equal,\n renderSubLayers: {type: 'function', value: props => new GeoJsonLayer(props)},\n getTileData: {type: 'function', optional: true, value: null},\n // TODO - change to onViewportLoad to align with Tile3DLayer\n onViewportLoad: {type: 'function', optional: true, value: null},\n onTileLoad: {type: 'function', value: tile => {}},\n onTileUnload: {type: 'function', value: tile => {}},\n // eslint-disable-next-line\n onTileError: {type: 'function', value: err => console.error(err)},\n extent: {type: 'array', optional: true, value: null, compare: true},\n tileSize: 512,\n maxZoom: null,\n minZoom: 0,\n maxCacheSize: null,\n maxCacheByteSize: null,\n refinementStrategy: STRATEGY_DEFAULT,\n zRange: null,\n maxRequests: 6,\n zoomOffset: 0\n};\n\n/** All props supported by the TileLayer */\nexport type TileLayerProps<DataT = any> = CompositeLayerProps & _TileLayerProps<DataT>;\n\n/** Props added by the TileLayer */\ntype _TileLayerProps<DataT> = {\n data: URLTemplate;\n /**\n * Optionally implement a custom indexing scheme.\n */\n TilesetClass?: typeof Tileset2D;\n /**\n * Renders one or an array of Layer instances.\n */\n renderSubLayers?: (\n props: TileLayerProps<DataT> & {\n id: string;\n data: DataT;\n _offset: number;\n tile: Tile2DHeader<DataT>;\n }\n ) => Layer | null | LayersList;\n /**\n * If supplied, `getTileData` is called to retrieve the data of each tile.\n */\n getTileData?: ((props: TileLoadProps) => Promise<DataT> | DataT) | null;\n\n /** Called when all tiles in the current viewport are loaded. */\n onViewportLoad?: ((tiles: Tile2DHeader<DataT>[]) => void) | null;\n\n /** Called when a tile successfully loads. */\n onTileLoad?: (tile: Tile2DHeader<DataT>) => void;\n\n /** Called when a tile is cleared from cache. */\n onTileUnload?: (tile: Tile2DHeader<DataT>) => void;\n\n /** Called when a tile failed to load. */\n onTileError?: (err: any, tile?) => void;\n\n /** The bounding box of the layer's data. */\n extent?: number[] | null;\n\n /** The pixel dimension of the tiles, usually a power of 2. */\n tileSize?: number;\n\n /** The max zoom level of the layer's data.\n * @default null\n */\n maxZoom?: number | null;\n\n /** The min zoom level of the layer's data.\n * @default 0\n */\n minZoom?: number | null;\n\n /** The maximum number of tiles that can be cached. */\n maxCacheSize?: number | null;\n\n /**\n * The maximum memory used for caching tiles.\n *\n * @default null\n */\n maxCacheByteSize?: number | null;\n\n /**\n * How the tile layer refines the visibility of tiles.\n *\n * @default 'best-available'\n */\n refinementStrategy?: RefinementStrategy;\n\n /** Range of minimum and maximum heights in the tile. */\n zRange?: ZRange | null;\n\n /**\n * The maximum number of concurrent getTileData calls.\n *\n * @default 6\n */\n maxRequests?: number;\n\n /**\n * This offset changes the zoom level at which the tiles are fetched.\n *\n * Needs to be an integer.\n *\n * @default 0\n */\n zoomOffset?: number;\n};\n\nexport type TiledPickingInfo<DataT = any> = PickingInfo & {\n tile?: Tile2DHeader<DataT>;\n};\n\n/**\n * The TileLayer is a composite layer that makes it possible to visualize very large datasets.\n *\n * Instead of fetching the entire dataset, it only loads and renders what's visible in the current viewport.\n */\nexport default class TileLayer<DataT = any, ExtraPropsT extends {} = {}> extends CompositeLayer<\n ExtraPropsT & Required<_TileLayerProps<DataT>>\n> {\n static defaultProps: DefaultProps = defaultProps;\n static layerName = 'TileLayer';\n\n initializeState() {\n this.state = {\n tileset: null,\n isLoaded: false\n };\n }\n\n finalizeState() {\n this.state?.tileset?.finalize();\n }\n\n get isLoaded(): boolean {\n return this.state?.tileset?.selectedTiles.every(\n tile => tile.isLoaded && tile.layers && tile.layers.every(layer => layer.isLoaded)\n );\n }\n\n shouldUpdateState({changeFlags}): boolean {\n return changeFlags.somethingChanged;\n }\n\n updateState({changeFlags}: UpdateParameters<this>) {\n let {tileset} = this.state;\n const propsChanged = changeFlags.propsOrDataChanged || changeFlags.updateTriggersChanged;\n const dataChanged =\n changeFlags.dataChanged ||\n (changeFlags.updateTriggersChanged &&\n (changeFlags.updateTriggersChanged.all || changeFlags.updateTriggersChanged.getTileData));\n\n if (!tileset) {\n tileset = new this.props.TilesetClass(this._getTilesetOptions());\n this.setState({tileset});\n } else if (propsChanged) {\n tileset.setOptions(this._getTilesetOptions());\n\n if (dataChanged) {\n // reload all tiles\n // use cached layers until new content is loaded\n tileset.reloadAll();\n } else {\n // some render options changed, regenerate sub layers now\n this.state.tileset.tiles.forEach(tile => {\n tile.layers = null;\n });\n }\n }\n\n this._updateTileset();\n }\n\n _getTilesetOptions(): Tileset2DProps {\n const {\n tileSize,\n maxCacheSize,\n maxCacheByteSize,\n refinementStrategy,\n extent,\n maxZoom,\n minZoom,\n maxRequests,\n zoomOffset\n } = this.props;\n\n return {\n maxCacheSize,\n maxCacheByteSize,\n maxZoom,\n minZoom,\n tileSize,\n refinementStrategy,\n extent,\n maxRequests,\n zoomOffset,\n\n getTileData: this.getTileData.bind(this),\n onTileLoad: this._onTileLoad.bind(this),\n onTileError: this._onTileError.bind(this),\n onTileUnload: this._onTileUnload.bind(this)\n };\n }\n\n private _updateTileset(): void {\n const {tileset} = this.state;\n const {zRange, modelMatrix} = this.props;\n const frameNumber = tileset.update(this.context.viewport, {zRange, modelMatrix});\n const {isLoaded} = tileset;\n\n const loadingStateChanged = this.state.isLoaded !== isLoaded;\n const tilesetChanged = this.state.frameNumber !== frameNumber;\n\n if (isLoaded && (loadingStateChanged || tilesetChanged)) {\n this._onViewportLoad();\n }\n\n if (tilesetChanged) {\n // Save the tileset frame number - trigger a rerender\n this.setState({frameNumber});\n }\n // Save the loaded state - should not trigger a rerender\n this.state.isLoaded = isLoaded;\n }\n\n _onViewportLoad(): void {\n const {tileset} = this.state;\n const {onViewportLoad} = this.props;\n\n if (onViewportLoad) {\n onViewportLoad(tileset.selectedTiles);\n }\n }\n\n _onTileLoad(tile: Tile2DHeader<DataT>): void {\n this.props.onTileLoad(tile);\n tile.layers = null;\n\n this.setNeedsUpdate();\n }\n\n _onTileError(error: any, tile: Tile2DHeader<DataT>) {\n this.props.onTileError(error);\n tile.layers = null;\n\n this.setNeedsUpdate();\n }\n\n _onTileUnload(tile: Tile2DHeader<DataT>) {\n this.props.onTileUnload(tile);\n }\n\n // Methods for subclass to override\n\n getTileData(tile: TileLoadProps): Promise<DataT> | DataT | null {\n const {data, getTileData, fetch} = this.props;\n const {signal} = tile;\n\n tile.url =\n typeof data === 'string' || Array.isArray(data) ? getURLFromTemplate(data, tile) : null;\n\n if (getTileData) {\n return getTileData(tile);\n }\n if (fetch && tile.url) {\n return fetch(tile.url, {propName: 'data', layer: this, signal});\n }\n return null;\n }\n\n renderSubLayers(\n props: TileLayer['props'] & {\n id: string;\n data: DataT;\n _offset: number;\n tile: Tile2DHeader<DataT>;\n }\n ): Layer | null | LayersList {\n return this.props.renderSubLayers(props);\n }\n\n getSubLayerPropsByTile(tile: Tile2DHeader): Partial<LayerProps> | null {\n return null;\n }\n\n getPickingInfo({info, sourceLayer}: GetPickingInfoParams): TiledPickingInfo<DataT> {\n const sourceTile = (sourceLayer as any).props.tile;\n if (info.picked) {\n (info as any).tile = sourceTile;\n }\n (info as any).sourceTile = sourceTile;\n return info;\n }\n\n protected _updateAutoHighlight(info: PickingInfo): void {\n const sourceTile = (info as any).sourceTile as Tile2DHeader;\n if (sourceTile && sourceTile.layers) {\n for (const layer of sourceTile.layers) {\n layer.updateAutoHighlight(info);\n }\n }\n }\n\n renderLayers(): Layer | null | LayersList {\n return this.state.tileset.tiles.map((tile: Tile2DHeader) => {\n const subLayerProps = this.getSubLayerPropsByTile(tile);\n // cache the rendered layer in the tile\n if (!tile.isLoaded && !tile.content) {\n // nothing to show\n } else if (!tile.layers) {\n const layers = this.renderSubLayers({\n ...this.props,\n ...this.getSubLayerProps({\n id: tile.id\n }),\n data: tile.content,\n _offset: 0,\n tile\n });\n tile.layers = (flatten(layers, Boolean) as Layer<{tile?: Tile2DHeader}>[]).map(layer =>\n layer.clone({\n tile,\n ...subLayerProps\n })\n );\n } else if (\n subLayerProps &&\n tile.layers[0] &&\n Object.keys(subLayerProps).some(\n propName => tile.layers![0].props[propName] !== subLayerProps[propName]\n )\n ) {\n tile.layers = tile.layers.map(layer => layer.clone(subLayerProps));\n }\n return tile.layers;\n });\n }\n\n filterSubLayer({layer, cullRect}: FilterContext) {\n const {tile} = (layer as Layer<{tile: Tile2DHeader}>).props;\n return this.state.tileset.isTileVisible(tile, cullRect);\n }\n}\n"],"file":"tile-layer.js"}
1
+ {"version":3,"sources":["../../../src/tile-layer/tile-layer.ts"],"names":["CompositeLayer","_flatten","flatten","GeoJsonLayer","Tileset2D","STRATEGY_DEFAULT","urlType","getURLFromTemplate","defaultProps","TilesetClass","data","type","value","dataComparator","equal","renderSubLayers","props","getTileData","optional","onViewportLoad","onTileLoad","tile","onTileUnload","onTileError","err","console","error","extent","compare","tileSize","maxZoom","minZoom","maxCacheSize","maxCacheByteSize","refinementStrategy","zRange","maxRequests","zoomOffset","TileLayer","initializeState","state","tileset","isLoaded","finalizeState","finalize","selectedTiles","every","layers","layer","shouldUpdateState","changeFlags","somethingChanged","updateState","propsChanged","propsOrDataChanged","updateTriggersChanged","dataChanged","all","_getTilesetOptions","setState","setOptions","reloadAll","tiles","forEach","_updateTileset","bind","_onTileLoad","_onTileError","_onTileUnload","modelMatrix","frameNumber","update","context","viewport","loadingStateChanged","tilesetChanged","_onViewportLoad","setNeedsUpdate","fetch","signal","url","Array","isArray","propName","getSubLayerPropsByTile","getPickingInfo","info","sourceLayer","sourceTile","picked","_updateAutoHighlight","updateAutoHighlight","renderLayers","map","subLayerProps","content","getSubLayerProps","id","updateTriggers","_offset","Boolean","clone","Object","keys","some","filterSubLayer","cullRect","isTileVisible"],"mappings":"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","sourcesContent":["import {\n CompositeLayer,\n CompositeLayerProps,\n Layer,\n LayerProps,\n UpdateParameters,\n PickingInfo,\n GetPickingInfoParams,\n DefaultProps,\n FilterContext,\n _flatten as flatten\n} from '@deck.gl/core';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {LayersList} from '@deck.gl/core';\n\nimport type {TileLoadProps, ZRange} from '../tileset-2d';\nimport {\n Tileset2D,\n Tile2DHeader,\n RefinementStrategy,\n STRATEGY_DEFAULT,\n Tileset2DProps\n} from '../tileset-2d';\nimport {urlType, URLTemplate, getURLFromTemplate} from '../tileset-2d';\n\nconst defaultProps: DefaultProps<TileLayerProps> = {\n TilesetClass: Tileset2D,\n data: {type: 'data', value: []},\n dataComparator: urlType.equal,\n renderSubLayers: {type: 'function', value: props => new GeoJsonLayer(props)},\n getTileData: {type: 'function', optional: true, value: null},\n // TODO - change to onViewportLoad to align with Tile3DLayer\n onViewportLoad: {type: 'function', optional: true, value: null},\n onTileLoad: {type: 'function', value: tile => {}},\n onTileUnload: {type: 'function', value: tile => {}},\n // eslint-disable-next-line\n onTileError: {type: 'function', value: err => console.error(err)},\n extent: {type: 'array', optional: true, value: null, compare: true},\n tileSize: 512,\n maxZoom: null,\n minZoom: 0,\n maxCacheSize: null,\n maxCacheByteSize: null,\n refinementStrategy: STRATEGY_DEFAULT,\n zRange: null,\n maxRequests: 6,\n zoomOffset: 0\n};\n\n/** All props supported by the TileLayer */\nexport type TileLayerProps<DataT = any> = CompositeLayerProps & _TileLayerProps<DataT>;\n\n/** Props added by the TileLayer */\ntype _TileLayerProps<DataT> = {\n data: URLTemplate;\n /**\n * Optionally implement a custom indexing scheme.\n */\n TilesetClass?: typeof Tileset2D;\n /**\n * Renders one or an array of Layer instances.\n */\n renderSubLayers?: (\n props: TileLayerProps<DataT> & {\n id: string;\n data: DataT;\n _offset: number;\n tile: Tile2DHeader<DataT>;\n }\n ) => Layer | null | LayersList;\n /**\n * If supplied, `getTileData` is called to retrieve the data of each tile.\n */\n getTileData?: ((props: TileLoadProps) => Promise<DataT> | DataT) | null;\n\n /** Called when all tiles in the current viewport are loaded. */\n onViewportLoad?: ((tiles: Tile2DHeader<DataT>[]) => void) | null;\n\n /** Called when a tile successfully loads. */\n onTileLoad?: (tile: Tile2DHeader<DataT>) => void;\n\n /** Called when a tile is cleared from cache. */\n onTileUnload?: (tile: Tile2DHeader<DataT>) => void;\n\n /** Called when a tile failed to load. */\n onTileError?: (err: any, tile?) => void;\n\n /** The bounding box of the layer's data. */\n extent?: number[] | null;\n\n /** The pixel dimension of the tiles, usually a power of 2. */\n tileSize?: number;\n\n /** The max zoom level of the layer's data.\n * @default null\n */\n maxZoom?: number | null;\n\n /** The min zoom level of the layer's data.\n * @default 0\n */\n minZoom?: number | null;\n\n /** The maximum number of tiles that can be cached. */\n maxCacheSize?: number | null;\n\n /**\n * The maximum memory used for caching tiles.\n *\n * @default null\n */\n maxCacheByteSize?: number | null;\n\n /**\n * How the tile layer refines the visibility of tiles.\n *\n * @default 'best-available'\n */\n refinementStrategy?: RefinementStrategy;\n\n /** Range of minimum and maximum heights in the tile. */\n zRange?: ZRange | null;\n\n /**\n * The maximum number of concurrent getTileData calls.\n *\n * @default 6\n */\n maxRequests?: number;\n\n /**\n * This offset changes the zoom level at which the tiles are fetched.\n *\n * Needs to be an integer.\n *\n * @default 0\n */\n zoomOffset?: number;\n};\n\nexport type TiledPickingInfo<DataT = any> = PickingInfo & {\n tile?: Tile2DHeader<DataT>;\n};\n\n/**\n * The TileLayer is a composite layer that makes it possible to visualize very large datasets.\n *\n * Instead of fetching the entire dataset, it only loads and renders what's visible in the current viewport.\n */\nexport default class TileLayer<DataT = any, ExtraPropsT extends {} = {}> extends CompositeLayer<\n ExtraPropsT & Required<_TileLayerProps<DataT>>\n> {\n static defaultProps: DefaultProps = defaultProps;\n static layerName = 'TileLayer';\n\n initializeState() {\n this.state = {\n tileset: null,\n isLoaded: false\n };\n }\n\n finalizeState() {\n this.state?.tileset?.finalize();\n }\n\n get isLoaded(): boolean {\n return this.state?.tileset?.selectedTiles.every(\n tile => tile.isLoaded && tile.layers && tile.layers.every(layer => layer.isLoaded)\n );\n }\n\n shouldUpdateState({changeFlags}): boolean {\n return changeFlags.somethingChanged;\n }\n\n updateState({changeFlags}: UpdateParameters<this>) {\n let {tileset} = this.state;\n const propsChanged = changeFlags.propsOrDataChanged || changeFlags.updateTriggersChanged;\n const dataChanged =\n changeFlags.dataChanged ||\n (changeFlags.updateTriggersChanged &&\n (changeFlags.updateTriggersChanged.all || changeFlags.updateTriggersChanged.getTileData));\n\n if (!tileset) {\n tileset = new this.props.TilesetClass(this._getTilesetOptions());\n this.setState({tileset});\n } else if (propsChanged) {\n tileset.setOptions(this._getTilesetOptions());\n\n if (dataChanged) {\n // reload all tiles\n // use cached layers until new content is loaded\n tileset.reloadAll();\n } else {\n // some render options changed, regenerate sub layers now\n this.state.tileset.tiles.forEach(tile => {\n tile.layers = null;\n });\n }\n }\n\n this._updateTileset();\n }\n\n _getTilesetOptions(): Tileset2DProps {\n const {\n tileSize,\n maxCacheSize,\n maxCacheByteSize,\n refinementStrategy,\n extent,\n maxZoom,\n minZoom,\n maxRequests,\n zoomOffset\n } = this.props;\n\n return {\n maxCacheSize,\n maxCacheByteSize,\n maxZoom,\n minZoom,\n tileSize,\n refinementStrategy,\n extent,\n maxRequests,\n zoomOffset,\n\n getTileData: this.getTileData.bind(this),\n onTileLoad: this._onTileLoad.bind(this),\n onTileError: this._onTileError.bind(this),\n onTileUnload: this._onTileUnload.bind(this)\n };\n }\n\n private _updateTileset(): void {\n const {tileset} = this.state;\n const {zRange, modelMatrix} = this.props;\n const frameNumber = tileset.update(this.context.viewport, {zRange, modelMatrix});\n const {isLoaded} = tileset;\n\n const loadingStateChanged = this.state.isLoaded !== isLoaded;\n const tilesetChanged = this.state.frameNumber !== frameNumber;\n\n if (isLoaded && (loadingStateChanged || tilesetChanged)) {\n this._onViewportLoad();\n }\n\n if (tilesetChanged) {\n // Save the tileset frame number - trigger a rerender\n this.setState({frameNumber});\n }\n // Save the loaded state - should not trigger a rerender\n this.state.isLoaded = isLoaded;\n }\n\n _onViewportLoad(): void {\n const {tileset} = this.state;\n const {onViewportLoad} = this.props;\n\n if (onViewportLoad) {\n onViewportLoad(tileset.selectedTiles);\n }\n }\n\n _onTileLoad(tile: Tile2DHeader<DataT>): void {\n this.props.onTileLoad(tile);\n tile.layers = null;\n\n this.setNeedsUpdate();\n }\n\n _onTileError(error: any, tile: Tile2DHeader<DataT>) {\n this.props.onTileError(error);\n tile.layers = null;\n\n this.setNeedsUpdate();\n }\n\n _onTileUnload(tile: Tile2DHeader<DataT>) {\n this.props.onTileUnload(tile);\n }\n\n // Methods for subclass to override\n\n getTileData(tile: TileLoadProps): Promise<DataT> | DataT | null {\n const {data, getTileData, fetch} = this.props;\n const {signal} = tile;\n\n tile.url =\n typeof data === 'string' || Array.isArray(data) ? getURLFromTemplate(data, tile) : null;\n\n if (getTileData) {\n return getTileData(tile);\n }\n if (fetch && tile.url) {\n return fetch(tile.url, {propName: 'data', layer: this, signal});\n }\n return null;\n }\n\n renderSubLayers(\n props: TileLayer['props'] & {\n id: string;\n data: DataT;\n _offset: number;\n tile: Tile2DHeader<DataT>;\n }\n ): Layer | null | LayersList {\n return this.props.renderSubLayers(props);\n }\n\n getSubLayerPropsByTile(tile: Tile2DHeader): Partial<LayerProps> | null {\n return null;\n }\n\n getPickingInfo({info, sourceLayer}: GetPickingInfoParams): TiledPickingInfo<DataT> {\n const sourceTile = (sourceLayer as any).props.tile;\n if (info.picked) {\n (info as any).tile = sourceTile;\n }\n (info as any).sourceTile = sourceTile;\n return info;\n }\n\n protected _updateAutoHighlight(info: PickingInfo): void {\n const sourceTile = (info as any).sourceTile as Tile2DHeader;\n if (sourceTile && sourceTile.layers) {\n for (const layer of sourceTile.layers) {\n layer.updateAutoHighlight(info);\n }\n }\n }\n\n renderLayers(): Layer | null | LayersList {\n return this.state.tileset.tiles.map((tile: Tile2DHeader) => {\n const subLayerProps = this.getSubLayerPropsByTile(tile);\n // cache the rendered layer in the tile\n if (!tile.isLoaded && !tile.content) {\n // nothing to show\n } else if (!tile.layers) {\n const layers = this.renderSubLayers({\n ...this.props,\n ...this.getSubLayerProps({\n id: tile.id,\n updateTriggers: this.props.updateTriggers\n }),\n data: tile.content,\n _offset: 0,\n tile\n });\n tile.layers = (flatten(layers, Boolean) as Layer<{tile?: Tile2DHeader}>[]).map(layer =>\n layer.clone({\n tile,\n ...subLayerProps\n })\n );\n } else if (\n subLayerProps &&\n tile.layers[0] &&\n Object.keys(subLayerProps).some(\n propName => tile.layers![0].props[propName] !== subLayerProps[propName]\n )\n ) {\n tile.layers = tile.layers.map(layer => layer.clone(subLayerProps));\n }\n return tile.layers;\n });\n }\n\n filterSubLayer({layer, cullRect}: FilterContext) {\n const {tile} = (layer as Layer<{tile: Tile2DHeader}>).props;\n return this.state.tileset.isTileVisible(tile, cullRect);\n }\n}\n"],"file":"tile-layer.js"}
package/dist.min.js CHANGED
@@ -20,7 +20,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
20
20
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return a=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function Tw(e,r){if(e){if(typeof e=="string")return og(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 og(e,r)}}function og(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 xr=new E,xw=new E,Ew=new E,Sw=new E,ww=new E,Cw=new _e,Bw={diagonal:new _e,unitary:new _e};function $i(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new rn;if(!e||e.length===0)return r.halfAxes=new _e([0,0,0,0,0,0,0,0,0]),r.center=new E,r;var t=e.length,n=new E(0,0,0),i=nl(e),a;try{for(i.s();!(a=i.n()).done;){var o=a.value;n.add(o)}}catch(V){i.e(V)}finally{i.f()}var s=1/t;n.multiplyByScalar(s);var u=0,f=0,l=0,h=0,d=0,p=0,m=nl(e),v;try{for(m.s();!(v=m.n()).done;){var g=v.value,y=xr.copy(g).subtract(n);u+=y.x*y.x,f+=y.x*y.y,l+=y.x*y.z,h+=y.y*y.y,d+=y.y*y.z,p+=y.z*y.z}}catch(V){m.e(V)}finally{m.f()}u*=s,f*=s,l*=s,h*=s,d*=s,p*=s;var A=Cw;A[0]=u,A[1]=f,A[2]=l,A[3]=f,A[4]=h,A[5]=d,A[6]=l,A[7]=d,A[8]=p;var x=Io(A,Bw),b=x.unitary,B=r.halfAxes.copy(b),w=B.getColumn(0,Ew),F=B.getColumn(1,Sw),M=B.getColumn(2,ww),S=-Number.MAX_VALUE,_=-Number.MAX_VALUE,R=-Number.MAX_VALUE,k=Number.MAX_VALUE,U=Number.MAX_VALUE,j=Number.MAX_VALUE,Z=nl(e),P;try{for(Z.s();!(P=Z.n()).done;){var O=P.value;xr.copy(O),S=Math.max(xr.dot(w),S),_=Math.max(xr.dot(F),_),R=Math.max(xr.dot(M),R),k=Math.min(xr.dot(w),k),U=Math.min(xr.dot(F),U),j=Math.min(xr.dot(M),j)}}catch(V){Z.e(V)}finally{Z.f()}w=w.multiplyByScalar(.5*(k+S)),F=F.multiplyByScalar(.5*(U+_)),M=M.multiplyByScalar(.5*(j+R)),r.center.copy(w).add(F).add(M);var D=xw.set(S-k,_-U,R-j).multiplyByScalar(.5),J=new _e([D[0],0,0,0,D[1],0,0,0,D[2]]);return r.halfAxes.multiplyRight(J),r}function il(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=Mw(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
21
21
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return a=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function Mw(e,r){if(e){if(typeof e=="string")return sg(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 sg(e,r)}}function sg(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 qn=512,ug=3,fg=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],lg=fg.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),Ow=lg.concat([[.25,.5],[.75,.5]]),Pw=function(){function e(r,t,n){T(this,e),c(this,"x",void 0),c(this,"y",void 0),c(this,"z",void 0),c(this,"childVisible",void 0),c(this,"selected",void 0),c(this,"_children",void 0),this.x=r,this.y=t,this.z=n}return C(e,[{key:"children",get:function(){if(!this._children){var t=this.x*2,n=this.y*2,i=this.z+1;this._children=[new e(t,n,i),new e(t,n+1,i),new e(t+1,n,i),new e(t+1,n+1,i)]}return this._children}},{key:"update",value:function(t){var n=t.viewport,i=t.cullingVolume,a=t.elevationBounds,o=t.minZ,s=t.maxZ,u=t.bounds,f=t.offset,l=t.project,h=this.getBoundingVolume(a,f,l);if(u&&!this.insideBounds(u))return!1;var d=i.computeVisibility(h);if(d<0)return!1;if(!this.childVisible){var p=this.z;if(p<s&&p>=o){var m=h.distanceTo(n.cameraPosition)*n.scale/n.height;p+=Math.floor(Math.log2(m))}if(p>=s)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;var v=il(this.children),g;try{for(v.s();!(g=v.n()).done;){var y=g.value;y.update(t)}}catch(A){v.e(A)}finally{v.f()}return!0}},{key:"getSelected",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(this.selected&&t.push(this),this._children){var n=il(this._children),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;a.getSelected(t)}}catch(o){n.e(o)}finally{n.f()}}return t}},{key:"insideBounds",value:function(t){var n=G(t,4),i=n[0],a=n[1],o=n[2],s=n[3],u=Math.pow(2,this.z),f=qn/u;return this.x*f<o&&this.y*f<s&&(this.x+1)*f>i&&(this.y+1)*f>a}},{key:"getBoundingVolume",value:function(t,n,i){if(i){var a=this.z<1?Ow:this.z<2?lg:fg,o=[],s=il(a),u;try{for(s.s();!(u=s.n()).done;){var f=u.value,l=Ro(this.x+f[0],this.y+f[1],this.z);l[2]=t[0],o.push(i(l)),t[0]!==t[1]&&(l[2]=t[1],o.push(i(l)))}}catch(v){s.e(v)}finally{s.f()}return $i(o)}var h=Math.pow(2,this.z),d=qn/h,p=this.x*d+n*qn,m=qn-(this.y+1)*d;return new Co([p,m,t[0]],[p+d,m+d,t[1]])}}]),e}();function cg(e,r,t,n){var i=e instanceof Qi._GlobeViewport&&e.resolution?e.projectPosition:null,a=Object.values(e.getFrustumPlanes()).map(function(B){var w=B.normal,F=B.distance;return new Ge(w.clone().negate(),F)}),o=new ot(a),s=e.distanceScales.unitsPerMeter[2],u=t&&t[0]*s||0,f=t&&t[1]*s||0,l=e instanceof Qi.WebMercatorViewport&&e.pitch<=60?r:0;if(n){var h=n,d=G(h,4),p=d[0],m=d[1],v=d[2],g=d[3],y=$e([p,g]),A=$e([v,m]);n=[y[0],qn-y[1],A[0],qn-A[1]]}var x=new Pw(0,0,0),b={viewport:e,project:i,cullingVolume:o,elevationBounds:[u,f],minZ:l,maxZ:r,bounds:n,offset:0};if(x.update(b),e instanceof Qi.WebMercatorViewport&&e.subViewports&&e.subViewports.length>1){for(b.offset=-1;x.update(b)&&!(--b.offset<-ug););for(b.offset=1;x.update(b)&&!(++b.offset>ug););}return x.getSelected()}var Qt=512,Iw=[-1/0,-1/0,1/0,1/0],Er={type:"object",value:null,validate:function(r,t){return t.optional&&r===null||typeof r=="string"||Array.isArray(r)&&r.every(function(n){return typeof n=="string"})},equal:function(r,t){if(r===t)return!0;if(!Array.isArray(r)||!Array.isArray(t))return!1;var n=r.length;if(n!==t.length)return!1;for(var i=0;i<n;i++)if(r[i]!==t[i])return!1;return!0}};function dg(e,r){var t=[r.transformAsPoint([e[0],e[1]]),r.transformAsPoint([e[2],e[1]]),r.transformAsPoint([e[0],e[3]]),r.transformAsPoint([e[2],e[3]])],n=[Math.min.apply(Math,K(t.map(function(i){return i[0]}))),Math.min.apply(Math,K(t.map(function(i){return i[1]}))),Math.max.apply(Math,K(t.map(function(i){return i[0]}))),Math.max.apply(Math,K(t.map(function(i){return i[1]})))];return n}function Rw(e){return Math.abs(e.split("").reduce(function(r,t){return(r<<5)-r+t.charCodeAt(0)|0},0))}function jt(e,r){if(!e||!e.length)return null;var t=r.index,n=r.id;if(Array.isArray(e)){var i=Rw(n)%e.length;e=e[i]}for(var a=e,o=0,s=Object.keys(t);o<s.length;o++){var u=s[o],f=new RegExp("{".concat(u,"}"),"g");a=a.replace(f,String(t[u]))}return Number.isInteger(t.y)&&Number.isInteger(t.z)&&(a=a.replace(/\{-y\}/g,String(Math.pow(2,t.z)-t.y-1))),a}function Fw(e,r,t){var n;if(r&&r.length===2){var i=G(r,2),a=i[0],o=i[1],s=e.getBounds({z:a}),u=e.getBounds({z:o});n=[Math.min(s[0],u[0]),Math.min(s[1],u[1]),Math.max(s[2],u[2]),Math.max(s[3],u[3])]}else n=e.getBounds();return e.isGeospatial?[Math.max(n[0],t[0]),Math.max(n[1],t[1]),Math.min(n[2],t[2]),Math.min(n[3],t[3])]:[Math.max(Math.min(n[0],t[2]),t[0]),Math.max(Math.min(n[1],t[3]),t[1]),Math.min(Math.max(n[2],t[0]),t[2]),Math.min(Math.max(n[3],t[1]),t[3])]}function pg(e){var r=e.viewport,t=e.z,n=t===void 0?0:t,i=e.cullRect,a=r.subViewports||[r];return a.map(function(o){return al(o,n,i)})}function al(e,r,t){if(!Array.isArray(r)){var n=t.x-e.x,i=t.y-e.y,a=t.width,o=t.height,s={targetZ:r},u=e.unproject([n,i],s),f=e.unproject([n+a,i],s),l=e.unproject([n,i+o],s),h=e.unproject([n+a,i+o],s);return[Math.min(u[0],f[0],l[0],h[0]),Math.min(u[1],f[1],l[1],h[1]),Math.max(u[0],f[0],l[0],h[0]),Math.max(u[1],f[1],l[1],h[1])]}var d=al(e,r[0],t),p=al(e,r[1],t);return[Math.min(d[0],p[0]),Math.min(d[1],p[1]),Math.max(d[2],p[2]),Math.max(d[3],p[3])]}function Lw(e,r,t){if(t){var n=dg(e,t).map(function(i){return i*r/Qt});return n}return e.map(function(i){return i*r/Qt})}function ol(e,r){return Math.pow(2,e)*Qt/r}function Ro(e,r,t){var n=ol(t,Qt),i=e/n*360-180,a=Math.PI-2*Math.PI*r/n,o=180/Math.PI*Math.atan(.5*(Math.exp(a)-Math.exp(-a)));return[i,o]}function hg(e,r,t,n){var i=ol(t,n);return[e/i*Qt,r/i*Qt]}function sl(e,r,t,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:Qt;if(e.isGeospatial){var a=Ro(r,t,n),o=G(a,2),s=o[0],u=o[1],f=Ro(r+1,t+1,n),l=G(f,2),h=l[0],d=l[1];return{west:s,north:u,east:h,south:d}}var p=hg(r,t,n,i),m=G(p,2),v=m[0],g=m[1],y=hg(r+1,t+1,n,i),A=G(y,2),x=A[0],b=A[1];return{left:v,top:g,right:x,bottom:b}}function kw(e,r,t,n,i){for(var a=Fw(e,null,n),o=ol(r,t),s=Lw(a,o,i),u=G(s,4),f=u[0],l=u[1],h=u[2],d=u[3],p=[],m=Math.floor(f);m<h;m++)for(var v=Math.floor(l);v<d;v++)p.push({x:m,y:v,z:r});return p}function ul(e){var r=e.viewport,t=e.maxZoom,n=e.minZoom,i=e.zRange,a=e.extent,o=e.tileSize,s=o===void 0?Qt:o,u=e.modelMatrix,f=e.modelMatrixInverse,l=e.zoomOffset,h=l===void 0?0:l,d=r.isGeospatial?Math.round(r.zoom+Math.log2(Qt/s))+h:Math.ceil(r.zoom)+h;if(typeof n=="number"&&Number.isFinite(n)&&d<n){if(!a)return[];d=n}typeof t=="number"&&Number.isFinite(t)&&d>t&&(d=t);var p=a;return u&&f&&a&&!r.isGeospatial&&(p=dg(a,u)),r.isGeospatial?cg(r,d,i,a):kw(r,d,s,p||Iw,f)}function fl(e){return/(?=.*{z})(?=.*{x})(?=.*({y}|{-y}))/.test(e)}function ll(e){return Number.isFinite(e.west)&&Number.isFinite(e.north)&&Number.isFinite(e.east)&&Number.isFinite(e.south)}function mg(e){var r={},t;return function(n){for(var i in n)if(!Dw(n[i],r[i])){t=e(n),r=n;break}return t}}function Dw(e,r){if(e===r)return!0;if(Array.isArray(e)){var t=e.length;if(!r||r.length!==t)return!1;for(var n=0;n<t;n++)if(e[n]!==r[n])return!1;return!0}return!1}var ea;function ze(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=Gw(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
22
22
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return a=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function Gw(e,r){if(e){if(typeof e=="string")return vg(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 vg(e,r)}}function vg(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 gg(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function yg(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?gg(Object(t),!0).forEach(function(n){c(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):gg(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Ag=1,Fo=2,Nw="never",Uw="no-overlap",ta="best-available",jw=5,Hw=(ea={},c(ea,ta,zw),c(ea,Uw,Ww),c(ea,Nw,function(){}),ea),Vw={extent:null,tileSize:512,maxZoom:null,minZoom:null,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:"best-available",zRange:null,maxRequests:6,zoomOffset:0,onTileLoad:function(){},onTileUnload:function(){},onTileError:function(){}},ra=function(){function e(r){var t=this;T(this,e),c(this,"opts",void 0),c(this,"_requestScheduler",void 0),c(this,"_cache",void 0),c(this,"_dirty",void 0),c(this,"_tiles",void 0),c(this,"_cacheByteSize",void 0),c(this,"_viewport",void 0),c(this,"_zRange",void 0),c(this,"_selectedTiles",void 0),c(this,"_frameNumber",void 0),c(this,"_modelMatrix",void 0),c(this,"_modelMatrixInverse",void 0),c(this,"_maxZoom",void 0),c(this,"_minZoom",void 0),c(this,"onTileLoad",void 0),c(this,"_getCullBounds",mg(pg)),this.opts=yg(yg({},Vw),r),this.onTileLoad=function(n){var i,a;(i=(a=t.opts).onTileLoad)===null||i===void 0||i.call(a,n),t.opts.maxCacheByteSize&&(t._cacheByteSize+=n.byteLength,t._resizeCache())},this._requestScheduler=new Ri({maxRequests:r.maxRequests,throttleRequests:Boolean(r.maxRequests&&r.maxRequests>0)}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new oe,this._modelMatrixInverse=new oe,this.setOptions(r)}return C(e,[{key:"tiles",get:function(){return this._tiles}},{key:"selectedTiles",get:function(){return this._selectedTiles}},{key:"isLoaded",get:function(){return this._selectedTiles!==null&&this._selectedTiles.every(function(t){return t.isLoaded})}},{key:"needsReload",get:function(){return this._selectedTiles!==null&&this._selectedTiles.some(function(t){return t.needsReload})}},{key:"setOptions",value:function(t){Object.assign(this.opts,t),Number.isFinite(t.maxZoom)&&(this._maxZoom=Math.floor(t.maxZoom)),Number.isFinite(t.minZoom)&&(this._minZoom=Math.ceil(t.minZoom))}},{key:"finalize",value:function(){var t=ze(this._cache.values()),n;try{for(t.s();!(n=t.n()).done;){var i=n.value;i.isLoading&&i.abort()}}catch(a){t.e(a)}finally{t.f()}this._cache.clear(),this._tiles=[],this._selectedTiles=null}},{key:"reloadAll",value:function(){var t=ze(this._cache.keys()),n;try{for(t.s();!(n=t.n()).done;){var i=n.value,a=this._cache.get(i);!this._selectedTiles||!this._selectedTiles.includes(a)?this._cache.delete(i):a.setNeedsReload()}}catch(o){t.e(o)}finally{t.f()}}},{key:"update",value:function(t){var n=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=i.zRange,o=i.modelMatrix,s=new oe(o),u=!s.equals(this._modelMatrix);if(!this._viewport||!t.equals(this._viewport)||!He(this._zRange,a)||u){u&&(this._modelMatrixInverse=s.clone().invert(),this._modelMatrix=s),this._viewport=t,this._zRange=a;var f=this.getTileIndices({viewport:t,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:a,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=f.map(function(h){return n._getTile(h,!0)}),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map(function(h){return n._getTile(h.index,!0)}));var l=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),l&&this._frameNumber++,this._frameNumber}},{key:"isTileVisible",value:function(t,n){if(!t.isVisible)return!1;if(n&&this._viewport){var i=this._getCullBounds({viewport:this._viewport,z:this._zRange,cullRect:n}),a=t.bbox,o=ze(i),s;try{for(o.s();!(s=o.n()).done;){var u=G(s.value,4),f=u[0],l=u[1],h=u[2],d=u[3],p=void 0;if("west"in a)p=a.west<h&&a.east>f&&a.south<d&&a.north>l;else{var m=Math.min(a.top,a.bottom),v=Math.max(a.top,a.bottom);p=a.left<h&&a.right>f&&m<d&&v>l}if(p)return!0}}catch(g){o.e(g)}finally{o.f()}return!1}return!0}},{key:"getTileIndices",value:function(t){var n=t.viewport,i=t.maxZoom,a=t.minZoom,o=t.zRange,s=t.modelMatrix,u=t.modelMatrixInverse,f=this.opts,l=f.tileSize,h=f.extent,d=f.zoomOffset;return ul({viewport:n,maxZoom:i,minZoom:a,zRange:o,tileSize:l,extent:h,modelMatrix:s,modelMatrixInverse:u,zoomOffset:d})}},{key:"getTileId",value:function(t){return"".concat(t.x,"-").concat(t.y,"-").concat(t.z)}},{key:"getTileZoom",value:function(t){return t.z}},{key:"getTileMetadata",value:function(t){var n=this.opts.tileSize;return{bbox:sl(this._viewport,t.x,t.y,t.z,n)}}},{key:"getParentIndex",value:function(t){var n=Math.floor(t.x/2),i=Math.floor(t.y/2),a=t.z-1;return{x:n,y:i,z:a}}},{key:"updateTileStates",value:function(){var t=this.opts.refinementStrategy||ta,n=new Array(this._cache.size),i=0,a=ze(this._cache.values()),o;try{for(a.s();!(o=a.n()).done;){var s=o.value;n[i++]=s.isVisible,s.isSelected=!1,s.isVisible=!1}}catch(m){a.e(m)}finally{a.f()}var u=ze(this._selectedTiles),f;try{for(u.s();!(f=u.n()).done;){var l=f.value;l.isSelected=!0,l.isVisible=!0}}catch(m){u.e(m)}finally{u.f()}(typeof t=="function"?t:Hw[t])(Array.from(this._cache.values())),i=0;var h=ze(this._cache.values()),d;try{for(h.s();!(d=h.n()).done;){var p=d.value;if(n[i++]!==p.isVisible)return!0}}catch(m){h.e(m)}finally{h.f()}return!1}},{key:"_pruneRequests",value:function(){var t=this.opts.maxRequests,n=t===void 0?0:t,i=[],a=0,o=ze(this._cache.values()),s;try{for(o.s();!(s=o.n()).done;){var u=s.value;u.isLoading&&(a++,!u.isSelected&&!u.isVisible&&i.push(u))}}catch(l){o.e(l)}finally{o.f()}for(;n>0&&a>n&&i.length>0;){var f=i.shift();f.abort(),a--}}},{key:"_rebuildTree",value:function(){var t=this._cache,n=ze(t.values()),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;a.parent=null,a.children&&(a.children.length=0)}}catch(l){n.e(l)}finally{n.f()}var o=ze(t.values()),s;try{for(o.s();!(s=o.n()).done;){var u=s.value,f=this._getNearestAncestor(u);u.parent=f,f!=null&&f.children&&f.children.push(u)}}catch(l){o.e(l)}finally{o.f()}}},{key:"_resizeCache",value:function(){var t=this._cache,n=this.opts,i=n.maxCacheSize||(n.maxCacheByteSize?1/0:jw*this.selectedTiles.length),a=n.maxCacheByteSize||1/0,o=t.size>i||this._cacheByteSize>a;if(o){var s=ze(t),u;try{for(s.s();!(u=s.n()).done;){var f=G(u.value,2),l=f[0],h=f[1];if(!h.isVisible&&!h.isSelected){var d,p;this._cacheByteSize-=n.maxCacheByteSize?h.byteLength:0,t.delete(l),(d=(p=this.opts).onTileUnload)===null||d===void 0||d.call(p,h)}if(t.size<=i&&this._cacheByteSize<=a)break}}catch(m){s.e(m)}finally{s.f()}this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort(function(m,v){return m.zoom-v.zoom}),this._dirty=!1)}},{key:"_getTile",value:function(t,n){var i=this.getTileId(t),a=this._cache.get(i),o=!1;return!a&&n?(a=new Yi(t),Object.assign(a,this.getTileMetadata(a.index)),Object.assign(a,{id:i,zoom:this.getTileZoom(a.index)}),o=!0,this._cache.set(i,a),this._dirty=!0):a&&a.needsReload&&(o=!0),a&&o&&a.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),a}},{key:"_getNearestAncestor",value:function(t){for(var n=this._minZoom,i=n===void 0?0:n,a=t.index;this.getTileZoom(a)>i;){a=this.getParentIndex(a);var o=this._getTile(a);if(o)return o}return null}}]),e}();function zw(e){var r=ze(e),t;try{for(r.s();!(t=r.n()).done;){var n=t.value;n.state=0}}catch(l){r.e(l)}finally{r.f()}var i=ze(e),a;try{for(i.s();!(a=i.n()).done;){var o=a.value;o.isSelected&&!_g(o)&&cl(o)}}catch(l){i.e(l)}finally{i.f()}var s=ze(e),u;try{for(s.s();!(u=s.n()).done;){var f=u.value;f.isVisible=Boolean(f.state&Fo)}}catch(l){s.e(l)}finally{s.f()}}function Ww(e){var r=ze(e),t;try{for(r.s();!(t=r.n()).done;){var n=t.value;n.state=0}}catch(m){r.e(m)}finally{r.f()}var i=ze(e),a;try{for(i.s();!(a=i.n()).done;){var o=a.value;o.isSelected&&_g(o)}}catch(m){i.e(m)}finally{i.f()}var s=Array.from(e).sort(function(m,v){return m.zoom-v.zoom}),u=ze(s),f;try{for(u.s();!(f=u.n()).done;){var l=f.value;if(l.isVisible=Boolean(l.state&Fo),l.children&&(l.isVisible||l.state&Ag)){var h=ze(l.children),d;try{for(h.s();!(d=h.n()).done;){var p=d.value;p.state=Ag}}catch(m){h.e(m)}finally{h.f()}}else l.isSelected&&cl(l)}}catch(m){u.e(m)}finally{u.f()}}function _g(e){for(var r=e;r;){if(r.isLoaded||r.content)return r.state|=Fo,!0;r=r.parent}return!1}function cl(e){var r=ze(e.children),t;try{for(r.s();!(t=r.n()).done;){var n=t.value;n.isLoaded||n.content?n.state|=Fo:cl(n)}}catch(i){r.e(i)}finally{r.f()}}function bg(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Lo(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?bg(Object(t),!0).forEach(function(n){c(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):bg(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Jw(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=Xw(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
23
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return a=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function Xw(e,r){if(e){if(typeof e=="string")return Tg(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 Tg(e,r)}}function Tg(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 qw(e){var r=Kw();return function(){var n=L(e),i;if(r){var a=L(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return $(this,i)}}function Kw(){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 Yw={TilesetClass:ra,data:{type:"data",value:[]},dataComparator:Er.equal,renderSubLayers:{type:"function",value:function(r){return new xg.GeoJsonLayer(r)}},getTileData:{type:"function",optional:!0,value:null},onViewportLoad:{type:"function",optional:!0,value:null},onTileLoad:{type:"function",value:function(r){}},onTileUnload:{type:"function",value:function(r){}},onTileError:{type:"function",value:function(r){return console.error(r)}},extent:{type:"array",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:ta,zRange:null,maxRequests:6,zoomOffset:0},er=function(e){H(t,e);var r=qw(t);function t(){return T(this,t),r.apply(this,arguments)}return C(t,[{key:"initializeState",value:function(){this.state={tileset:null,isLoaded:!1}}},{key:"finalizeState",value:function(){var i,a;(i=this.state)===null||i===void 0||(a=i.tileset)===null||a===void 0||a.finalize()}},{key:"isLoaded",get:function(){var i,a;return(i=this.state)===null||i===void 0||(a=i.tileset)===null||a===void 0?void 0:a.selectedTiles.every(function(o){return o.isLoaded&&o.layers&&o.layers.every(function(s){return s.isLoaded})})}},{key:"shouldUpdateState",value:function(i){var a=i.changeFlags;return a.somethingChanged}},{key:"updateState",value:function(i){var a=i.changeFlags,o=this.state.tileset,s=a.propsOrDataChanged||a.updateTriggersChanged,u=a.dataChanged||a.updateTriggersChanged&&(a.updateTriggersChanged.all||a.updateTriggersChanged.getTileData);o?s&&(o.setOptions(this._getTilesetOptions()),u?o.reloadAll():this.state.tileset.tiles.forEach(function(f){f.layers=null})):(o=new this.props.TilesetClass(this._getTilesetOptions()),this.setState({tileset:o})),this._updateTileset()}},{key:"_getTilesetOptions",value:function(){var i=this.props,a=i.tileSize,o=i.maxCacheSize,s=i.maxCacheByteSize,u=i.refinementStrategy,f=i.extent,l=i.maxZoom,h=i.minZoom,d=i.maxRequests,p=i.zoomOffset;return{maxCacheSize:o,maxCacheByteSize:s,maxZoom:l,minZoom:h,tileSize:a,refinementStrategy:u,extent:f,maxRequests:d,zoomOffset:p,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}}},{key:"_updateTileset",value:function(){var i=this.state.tileset,a=this.props,o=a.zRange,s=a.modelMatrix,u=i.update(this.context.viewport,{zRange:o,modelMatrix:s}),f=i.isLoaded,l=this.state.isLoaded!==f,h=this.state.frameNumber!==u;f&&(l||h)&&this._onViewportLoad(),h&&this.setState({frameNumber:u}),this.state.isLoaded=f}},{key:"_onViewportLoad",value:function(){var i=this.state.tileset,a=this.props.onViewportLoad;a&&a(i.selectedTiles)}},{key:"_onTileLoad",value:function(i){this.props.onTileLoad(i),i.layers=null,this.setNeedsUpdate()}},{key:"_onTileError",value:function(i,a){this.props.onTileError(i),a.layers=null,this.setNeedsUpdate()}},{key:"_onTileUnload",value:function(i){this.props.onTileUnload(i)}},{key:"getTileData",value:function(i){var a=this.props,o=a.data,s=a.getTileData,u=a.fetch,f=i.signal;return i.url=typeof o=="string"||Array.isArray(o)?jt(o,i):null,s?s(i):u&&i.url?u(i.url,{propName:"data",layer:this,signal:f}):null}},{key:"renderSubLayers",value:function(i){return this.props.renderSubLayers(i)}},{key:"getSubLayerPropsByTile",value:function(i){return null}},{key:"getPickingInfo",value:function(i){var a=i.info,o=i.sourceLayer,s=o.props.tile;return a.picked&&(a.tile=s),a.sourceTile=s,a}},{key:"_updateAutoHighlight",value:function(i){var a=i.sourceTile;if(a&&a.layers){var o=Jw(a.layers),s;try{for(o.s();!(s=o.n()).done;){var u=s.value;u.updateAutoHighlight(i)}}catch(f){o.e(f)}finally{o.f()}}}},{key:"renderLayers",value:function(){var i=this;return this.state.tileset.tiles.map(function(a){var o=i.getSubLayerPropsByTile(a);if(!(!a.isLoaded&&!a.content))if(a.layers)o&&a.layers[0]&&Object.keys(o).some(function(u){return a.layers[0].props[u]!==o[u]})&&(a.layers=a.layers.map(function(u){return u.clone(o)}));else{var s=i.renderSubLayers(Lo(Lo(Lo({},i.props),i.getSubLayerProps({id:a.id})),{},{data:a.content,_offset:0,tile:a}));a.layers=(0,ko._flatten)(s,Boolean).map(function(u){return u.clone(Lo({tile:a},o))})}return a.layers})}},{key:"filterSubLayer",value:function(i){var a=i.layer,o=i.cullRect,s=a.props.tile;return this.state.tileset.isTileVisible(s,o)}}]),t}(ko.CompositeLayer);c(er,"defaultProps",Yw);c(er,"layerName","TileLayer");q();Y();N();var wg=X(Tt());function Eg(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Sg(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Eg(Object(t),!0).forEach(function(n){c(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Eg(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Zw(e){var r=$w();return function(){var n=L(e),i;if(r){var a=L(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return $(this,i)}}function $w(){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 Qw={fadeTrail:!0,trailLength:{type:"number",value:120,min:0},currentTime:{type:"number",value:0,min:0},getTimestamps:{type:"accessor",value:function(r){return r.timestamps}}},Do=function(e){H(t,e);var r=Zw(t);function t(){return T(this,t),r.apply(this,arguments)}return C(t,[{key:"getShaders",value:function(){var i=be(L(t.prototype),"getShaders",this).call(this);return i.inject={"vs:#decl":`uniform float trailLength;
23
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return a=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function Xw(e,r){if(e){if(typeof e=="string")return Tg(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 Tg(e,r)}}function Tg(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 qw(e){var r=Kw();return function(){var n=L(e),i;if(r){var a=L(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return $(this,i)}}function Kw(){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 Yw={TilesetClass:ra,data:{type:"data",value:[]},dataComparator:Er.equal,renderSubLayers:{type:"function",value:function(r){return new xg.GeoJsonLayer(r)}},getTileData:{type:"function",optional:!0,value:null},onViewportLoad:{type:"function",optional:!0,value:null},onTileLoad:{type:"function",value:function(r){}},onTileUnload:{type:"function",value:function(r){}},onTileError:{type:"function",value:function(r){return console.error(r)}},extent:{type:"array",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:ta,zRange:null,maxRequests:6,zoomOffset:0},er=function(e){H(t,e);var r=qw(t);function t(){return T(this,t),r.apply(this,arguments)}return C(t,[{key:"initializeState",value:function(){this.state={tileset:null,isLoaded:!1}}},{key:"finalizeState",value:function(){var i,a;(i=this.state)===null||i===void 0||(a=i.tileset)===null||a===void 0||a.finalize()}},{key:"isLoaded",get:function(){var i,a;return(i=this.state)===null||i===void 0||(a=i.tileset)===null||a===void 0?void 0:a.selectedTiles.every(function(o){return o.isLoaded&&o.layers&&o.layers.every(function(s){return s.isLoaded})})}},{key:"shouldUpdateState",value:function(i){var a=i.changeFlags;return a.somethingChanged}},{key:"updateState",value:function(i){var a=i.changeFlags,o=this.state.tileset,s=a.propsOrDataChanged||a.updateTriggersChanged,u=a.dataChanged||a.updateTriggersChanged&&(a.updateTriggersChanged.all||a.updateTriggersChanged.getTileData);o?s&&(o.setOptions(this._getTilesetOptions()),u?o.reloadAll():this.state.tileset.tiles.forEach(function(f){f.layers=null})):(o=new this.props.TilesetClass(this._getTilesetOptions()),this.setState({tileset:o})),this._updateTileset()}},{key:"_getTilesetOptions",value:function(){var i=this.props,a=i.tileSize,o=i.maxCacheSize,s=i.maxCacheByteSize,u=i.refinementStrategy,f=i.extent,l=i.maxZoom,h=i.minZoom,d=i.maxRequests,p=i.zoomOffset;return{maxCacheSize:o,maxCacheByteSize:s,maxZoom:l,minZoom:h,tileSize:a,refinementStrategy:u,extent:f,maxRequests:d,zoomOffset:p,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}}},{key:"_updateTileset",value:function(){var i=this.state.tileset,a=this.props,o=a.zRange,s=a.modelMatrix,u=i.update(this.context.viewport,{zRange:o,modelMatrix:s}),f=i.isLoaded,l=this.state.isLoaded!==f,h=this.state.frameNumber!==u;f&&(l||h)&&this._onViewportLoad(),h&&this.setState({frameNumber:u}),this.state.isLoaded=f}},{key:"_onViewportLoad",value:function(){var i=this.state.tileset,a=this.props.onViewportLoad;a&&a(i.selectedTiles)}},{key:"_onTileLoad",value:function(i){this.props.onTileLoad(i),i.layers=null,this.setNeedsUpdate()}},{key:"_onTileError",value:function(i,a){this.props.onTileError(i),a.layers=null,this.setNeedsUpdate()}},{key:"_onTileUnload",value:function(i){this.props.onTileUnload(i)}},{key:"getTileData",value:function(i){var a=this.props,o=a.data,s=a.getTileData,u=a.fetch,f=i.signal;return i.url=typeof o=="string"||Array.isArray(o)?jt(o,i):null,s?s(i):u&&i.url?u(i.url,{propName:"data",layer:this,signal:f}):null}},{key:"renderSubLayers",value:function(i){return this.props.renderSubLayers(i)}},{key:"getSubLayerPropsByTile",value:function(i){return null}},{key:"getPickingInfo",value:function(i){var a=i.info,o=i.sourceLayer,s=o.props.tile;return a.picked&&(a.tile=s),a.sourceTile=s,a}},{key:"_updateAutoHighlight",value:function(i){var a=i.sourceTile;if(a&&a.layers){var o=Jw(a.layers),s;try{for(o.s();!(s=o.n()).done;){var u=s.value;u.updateAutoHighlight(i)}}catch(f){o.e(f)}finally{o.f()}}}},{key:"renderLayers",value:function(){var i=this;return this.state.tileset.tiles.map(function(a){var o=i.getSubLayerPropsByTile(a);if(!(!a.isLoaded&&!a.content))if(a.layers)o&&a.layers[0]&&Object.keys(o).some(function(u){return a.layers[0].props[u]!==o[u]})&&(a.layers=a.layers.map(function(u){return u.clone(o)}));else{var s=i.renderSubLayers(Lo(Lo(Lo({},i.props),i.getSubLayerProps({id:a.id,updateTriggers:i.props.updateTriggers})),{},{data:a.content,_offset:0,tile:a}));a.layers=(0,ko._flatten)(s,Boolean).map(function(u){return u.clone(Lo({tile:a},o))})}return a.layers})}},{key:"filterSubLayer",value:function(i){var a=i.layer,o=i.cullRect,s=a.props.tile;return this.state.tileset.isTileVisible(s,o)}}]),t}(ko.CompositeLayer);c(er,"defaultProps",Yw);c(er,"layerName","TileLayer");q();Y();N();var wg=X(Tt());function Eg(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Sg(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Eg(Object(t),!0).forEach(function(n){c(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Eg(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Zw(e){var r=$w();return function(){var n=L(e),i;if(r){var a=L(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return $(this,i)}}function $w(){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 Qw={fadeTrail:!0,trailLength:{type:"number",value:120,min:0},currentTime:{type:"number",value:0,min:0},getTimestamps:{type:"accessor",value:function(r){return r.timestamps}}},Do=function(e){H(t,e);var r=Zw(t);function t(){return T(this,t),r.apply(this,arguments)}return C(t,[{key:"getShaders",value:function(){var i=be(L(t.prototype),"getShaders",this).call(this);return i.inject={"vs:#decl":`uniform float trailLength;
24
24
  attribute float instanceTimestamps;
25
25
  attribute float instanceNextTimestamps;
26
26
  varying float vTime;
@@ -37,7 +37,7 @@ varying float vTime;
37
37
  }
38
38
  `},i}},{key:"initializeState",value:function(){be(L(t.prototype),"initializeState",this).call(this);var i=this.getAttributeManager();i.addInstanced({timestamps:{size:1,accessor:"getTimestamps",shaderAttributes:{instanceTimestamps:{vertexOffset:0},instanceNextTimestamps:{vertexOffset:1}}}})}},{key:"draw",value:function(i){var a=this.props,o=a.fadeTrail,s=a.trailLength,u=a.currentTime;i.uniforms=Sg(Sg({},i.uniforms),{},{fadeTrail:o,trailLength:s,currentTime:u}),be(L(t.prototype),"draw",this).call(this,i)}}]),t}(wg.PathLayer);c(Do,"layerName","TripsLayer");c(Do,"defaultProps",Qw);q();Y();N();var Fg=X(hl()),Lg=X(xt());q();Y();N();Le();se();var qe=X(hl());var No=X(xt()),na=X(Tt());function eC(e){var r=tC();return function(){var n=L(e),i;if(r){var a=L(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return $(this,i)}}function tC(){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 Bg(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Go(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Bg(Object(t),!0).forEach(function(n){c(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Bg(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function dl(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=rC(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:i}}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 a=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return a=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function rC(e,r){if(e){if(typeof e=="string")return Mg(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 Mg(e,r)}}function Mg(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 nC=10;function Pg(e,r){r=r===void 0?e[0][0]:r;var t=dl(e),n;try{for(t.s();!(n=t.n()).done;){var i=n.value,a=i[0]-r;a>180?i[0]-=360:a<-180&&(i[0]+=360)}}catch(o){t.e(o)}finally{t.f()}}function iC(e,r,t){var n=(0,qe.h3ToGeo)(e),i=G(n,2),a=i[0],o=i[1],s=r.length;Pg(r,o);for(var u=r[0]===r[s-1]?s-1:s,f=0;f<u;f++)r[f][0]=Ar(o,r[f][0],t),r[f][1]=Ar(a,r[f][1],t)}function aC(e,r,t){var n=e(r,t),i=(0,qe.h3ToGeo)(n),a=G(i,2),o=a[0],s=a[1];return[s,o]}function Og(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,t=(0,qe.h3ToGeoBoundary)(e,!0);return r!==1?iC(e,t,r):Pg(t),t}function oC(e){var r=new Float64Array(e.length*2),t=0,n=dl(e),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;r[t++]=a[0],r[t++]=a[1]}}catch(o){n.e(o)}finally{n.f()}return r}function sC(e,r){var t;return e==null?t=r:te(e)==="object"?t=Go(Go({},e),{},{coverage:r}):t={getHexagon:e,coverage:r},t}var uC=Go(Go({},na.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}),nn=function(e){H(t,e);var r=eC(t);function t(){var n;T(this,t);for(var i=arguments.length,a=new Array(i),o=0;o<i;o++)a[o]=arguments[o];return n=r.call.apply(r,[this].concat(a)),c(ae(n),"state",void 0),n}return C(t,[{key:"initializeState",value:function(){t._checkH3Lib(),this.state={edgeLengthKM:0,resolution:-1}}},{key:"shouldUpdateState",value:function(i){var a=i.changeFlags;return this._shouldUseHighPrecision()?a.propsOrDataChanged:a.somethingChanged}},{key:"updateState",value:function(i){var a=i.props,o=i.changeFlags;if(a.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 i=-1,a=!1,o=!1,s=(0,No.createIterable)(this.props.data),u=s.iterable,f=s.objectInfo,l=dl(u),h;try{for(l.s();!(h=l.n()).done;){var d=h.value;f.index++;var p=this.props.getHexagon(d,f),m=(0,qe.h3GetResolution)(p);if(i<0){if(i=m,!this.props.highPrecision)break}else if(i!==m){o=!0;break}if((0,qe.h3IsPentagon)(p)){a=!0;break}}}catch(v){l.e(v)}finally{l.f()}return{resolution:i,edgeLengthKM:i>=0?(0,qe.edgeLength)(i,"km"):0,hasMultipleRes:o,hasPentagon:a}}},{key:"_shouldUseHighPrecision",value:function(){if(this.props.highPrecision==="auto"){var i=this.state,a=i.resolution,o=i.hasPentagon,s=i.hasMultipleRes,u=this.context.viewport;return Boolean(u?.resolution)||s||o||a>=0&&a<=5}return this.props.highPrecision}},{key:"_updateVertices",value:function(i){if(!this._shouldUseHighPrecision()){var a=this.state,o=a.resolution,s=a.edgeLengthKM,u=a.centerHex;if(!(o<0)){var f=this.props.centerHexagon||(0,qe.geoToH3)(i.latitude,i.longitude,o);if(u!==f){if(u){var l=(0,qe.h3Distance)(u,f);if(l>=0&&l*s<nC)return}var h=i.distanceScales.unitsPerMeter,d=Og(f),p=(0,qe.h3ToGeo)(f),m=G(p,2),v=m[0],g=m[1],y=i.projectFlat([g,v]),A=G(y,2),x=A[0],b=A[1];d=d.map(function(B){var w=i.projectFlat(B);return[(w[0]-x)/h[0],(w[1]-b)/h[1]]}),this.setState({centerHex:f,vertices:d})}}}}},{key:"renderLayers",value:function(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()}},{key:"_getForwardProps",value:function(){var i=this.props,a=i.elevationScale,o=i.material,s=i.coverage,u=i.extruded,f=i.wireframe,l=i.stroked,h=i.filled,d=i.lineWidthUnits,p=i.lineWidthScale,m=i.lineWidthMinPixels,v=i.lineWidthMaxPixels,g=i.getFillColor,y=i.getElevation,A=i.getLineColor,x=i.getLineWidth,b=i.transitions,B=i.updateTriggers;return{elevationScale:a,extruded:u,coverage:s,wireframe:f,stroked:l,filled:h,lineWidthUnits:d,lineWidthScale:p,lineWidthMinPixels:m,lineWidthMaxPixels:v,material:o,getElevation:y,getFillColor:g,getLineColor:A,getLineWidth:x,transitions:b,updateTriggers:{getFillColor:B.getFillColor,getElevation:B.getElevation,getLineColor:B.getLineColor,getLineWidth:B.getLineWidth}}}},{key:"_renderPolygonLayer",value:function(){var i=this.props,a=i.data,o=i.getHexagon,s=i.updateTriggers,u=i.coverage,f=this.getSubLayerClass("hexagon-cell-hifi",na.PolygonLayer),l=this._getForwardProps();return l.updateTriggers.getPolygon=sC(s.getHexagon,u),new f(l,this.getSubLayerProps({id:"hexagon-cell-hifi",updateTriggers:l.updateTriggers}),{data:a,_normalize:!1,_windingOrder:"CCW",positionFormat:"XY",getPolygon:function(d,p){var m=o(d,p);return oC(Og(m,u))}})}},{key:"_renderColumnLayer",value:function(){var i=this.props,a=i.data,o=i.getHexagon,s=i.updateTriggers,u=this.getSubLayerClass("hexagon-cell",na.ColumnLayer),f=this._getForwardProps();return f.updateTriggers.getPosition=s.getHexagon,new u(f,this.getSubLayerProps({id:"hexagon-cell",flatShading:!0,updateTriggers:f.updateTriggers}),{data:a,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:aC.bind(null,o)})}}]),t}(No.CompositeLayer);c(nn,"defaultProps",uC);c(nn,"layerName","H3HexagonLayer");c(nn,"_checkH3Lib",function(){});function Ig(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=fC(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:i}}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 a=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return a=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function fC(e,r){if(e){if(typeof e=="string")return Rg(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 Rg(e,r)}}function Rg(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 lC(e){var r=cC();return function(){var n=L(e),i;if(r){var a=L(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return $(this,i)}}function cC(){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 hC={getHexagons:{type:"accessor",value:function(r){return r.hexagons}}},Uo=function(e){H(t,e);var r=lC(t);function t(){return T(this,t),r.apply(this,arguments)}return C(t,[{key:"initializeState",value:function(){nn._checkH3Lib()}},{key:"updateState",value:function(i){var a=i.props,o=i.changeFlags;if(o.dataChanged||o.updateTriggersChanged&&o.updateTriggersChanged.getHexagons){var s=a.data,u=a.getHexagons,f=[],l=(0,Lg.createIterable)(s),h=l.iterable,d=l.objectInfo,p=Ig(h),m;try{for(p.s();!(m=p.n()).done;){var v=m.value;d.index++;var g=u(v,d),y=(0,Fg.h3SetToMultiPolygon)(g,!0),A=Ig(y),x;try{for(A.s();!(x=A.n()).done;){var b=x.value;f.push(this.getSubLayerRow({polygon:b},v,d.index))}}catch(B){A.e(B)}finally{A.f()}}}catch(B){p.e(B)}finally{p.f()}this.setState({polygons:f})}}},{key:"indexToBounds",value:function(){var i=this.props,a=i.getElevation,o=i.getFillColor,s=i.getLineColor,u=i.getLineWidth;return{data:this.state.polygons,getPolygon:function(l){return l.polygon},getElevation:this.getSubLayerAccessor(a),getFillColor:this.getSubLayerAccessor(o),getLineColor:this.getSubLayerAccessor(s),getLineWidth:this.getSubLayerAccessor(u)}}}]),t}(mt);c(Uo,"layerName","H3ClusterLayer");c(Uo,"defaultProps",hC);q();Y();N();var ld=X(re()),M_=X(pl()),Gr=X(xt()),O_=X(Tt()),P_=X(jo());q();Y();N();Le();N();q();Y();N();Le();Le();function ml(e){if(typeof window<"u"&&te(window.process)==="object"&&window.process.type==="renderer"||typeof process<"u"&&te(process.versions)==="object"&&Boolean(process.versions.electron))return!0;var r=(typeof navigator>"u"?"undefined":te(navigator))==="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,t=e||r;return!!(t&&t.indexOf("Electron")>=0)}function et(){var e=(typeof process>"u"?"undefined":te(process))==="object"&&String(process)==="[object process]"&&!process.browser;return!e||ml()}Le();var Sr={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":te(process))==="object"&&process};var dC=Sr.self||Sr.window||Sr.global,Kn=Sr.window||Sr.self||Sr.global,pC=Sr.document||{},an=Sr.process||{};var Ho="8.9.22",Ij=et();q();Y();N();function mC(e){try{var r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var Gg=function(){function e(r){T(this,e);var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";c(this,"storage",void 0),c(this,"id",void 0),c(this,"config",{}),this.storage=mC(n),this.id=r,this.config={},Object.assign(this.config,t),this._loadConfiguration()}return C(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 Ng(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 Ug(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 Vo(e,r,t){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(t=Math.min(t,n/e.width));var a=e.width*t,o=e.height*t,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(r," %c+"),s]}var zo;(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"})(zo||(zo={}));function jg(e){return typeof e=="string"?zo[e.toUpperCase()]||zo.WHITE:e}function Hg(e,r,t){return!et&&typeof e=="string"&&(r&&(r=jg(r),e="\x1B[".concat(r,"m").concat(e,"\x1B[39m")),t&&(r=jg(t),e="\x1B[".concat(t+10,"m").concat(e,"\x1B[49m"))),e}function vC(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=gC(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:i}}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 a=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return a=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function fC(e,r){if(e){if(typeof e=="string")return Rg(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 Rg(e,r)}}function Rg(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 lC(e){var r=cC();return function(){var n=L(e),i;if(r){var a=L(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return $(this,i)}}function cC(){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 hC={getHexagons:{type:"accessor",value:function(r){return r.hexagons}}},Uo=function(e){H(t,e);var r=lC(t);function t(){return T(this,t),r.apply(this,arguments)}return C(t,[{key:"initializeState",value:function(){nn._checkH3Lib()}},{key:"updateState",value:function(i){var a=i.props,o=i.changeFlags;if(o.dataChanged||o.updateTriggersChanged&&o.updateTriggersChanged.getHexagons){var s=a.data,u=a.getHexagons,f=[],l=(0,Lg.createIterable)(s),h=l.iterable,d=l.objectInfo,p=Ig(h),m;try{for(p.s();!(m=p.n()).done;){var v=m.value;d.index++;var g=u(v,d),y=(0,Fg.h3SetToMultiPolygon)(g,!0),A=Ig(y),x;try{for(A.s();!(x=A.n()).done;){var b=x.value;f.push(this.getSubLayerRow({polygon:b},v,d.index))}}catch(B){A.e(B)}finally{A.f()}}}catch(B){p.e(B)}finally{p.f()}this.setState({polygons:f})}}},{key:"indexToBounds",value:function(){var i=this.props,a=i.getElevation,o=i.getFillColor,s=i.getLineColor,u=i.getLineWidth;return{data:this.state.polygons,getPolygon:function(l){return l.polygon},getElevation:this.getSubLayerAccessor(a),getFillColor:this.getSubLayerAccessor(o),getLineColor:this.getSubLayerAccessor(s),getLineWidth:this.getSubLayerAccessor(u)}}}]),t}(mt);c(Uo,"layerName","H3ClusterLayer");c(Uo,"defaultProps",hC);q();Y();N();var ld=X(re()),M_=X(pl()),Gr=X(xt()),O_=X(Tt()),P_=X(jo());q();Y();N();Le();N();q();Y();N();Le();Le();function ml(e){if(typeof window<"u"&&te(window.process)==="object"&&window.process.type==="renderer"||typeof process<"u"&&te(process.versions)==="object"&&Boolean(process.versions.electron))return!0;var r=(typeof navigator>"u"?"undefined":te(navigator))==="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,t=e||r;return!!(t&&t.indexOf("Electron")>=0)}function et(){var e=(typeof process>"u"?"undefined":te(process))==="object"&&String(process)==="[object process]"&&!process.browser;return!e||ml()}Le();var Sr={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":te(process))==="object"&&process};var dC=Sr.self||Sr.window||Sr.global,Kn=Sr.window||Sr.self||Sr.global,pC=Sr.document||{},an=Sr.process||{};var Ho="8.9.23",Ij=et();q();Y();N();function mC(e){try{var r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var Gg=function(){function e(r){T(this,e);var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";c(this,"storage",void 0),c(this,"id",void 0),c(this,"config",{}),this.storage=mC(n),this.id=r,this.config={},Object.assign(this.config,t),this._loadConfiguration()}return C(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 Ng(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 Ug(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 Vo(e,r,t){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(t=Math.min(t,n/e.width));var a=e.width*t,o=e.height*t,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(r," %c+"),s]}var zo;(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"})(zo||(zo={}));function jg(e){return typeof e=="string"?zo[e.toUpperCase()]||zo.WHITE:e}function Hg(e,r,t){return!et&&typeof e=="string"&&(r&&(r=jg(r),e="\x1B[".concat(r,"m").concat(e,"\x1B[39m")),t&&(r=jg(t),e="\x1B[".concat(t+10,"m").concat(e,"\x1B[49m"))),e}function vC(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=gC(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:i}}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 a=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return a=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function gC(e,r){if(e){if(typeof e=="string")return Vg(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 Vg(e,r)}}function Vg(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 zg(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],t=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(t),i=vC(n),a;try{var o=function(){var u=a.value;typeof e[u]=="function"&&(r.find(function(f){return u===f})||(e[u]=e[u].bind(e)))};for(i.s();!(a=i.n()).done;)o()}catch(s){i.e(s)}finally{i.f()}}function Yn(e,r){if(!e)throw new Error(r||"Assertion failed")}function on(){var e;if(et&&"performance"in Kn){var r,t;e=Kn===null||Kn===void 0||(r=Kn.performance)===null||r===void 0||(t=r.now)===null||t===void 0?void 0:t.call(r)}else if("hrtime"in an){var n,i=an===null||an===void 0||(n=an.hrtime)===null||n===void 0?void 0:n.call(an);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var Zn={debug:et&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},yC={enabled:!0,level:0};function vt(){}var Wg={},Jg={once:!0},$n=function(){function e(){T(this,e);var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""},t=r.id;c(this,"id",void 0),c(this,"VERSION",Ho),c(this,"_startTs",on()),c(this,"_deltaTs",on()),c(this,"_storage",void 0),c(this,"userData",{}),c(this,"LOG_THROTTLE_TIMEOUT",0),this.id=t,this._storage=new Gg("__probe-".concat(this.id,"__"),yC),this.userData={},this.timeStamp("".concat(this.id," started")),zg(this),Object.seal(this)}return C(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((on()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((on()-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(c({},t,n))}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"assert",value:function(t,n){Yn(t,n)}},{key:"warn",value:function(t){return this._getLogFunction(0,t,Zn.warn,arguments,Jg)}},{key:"error",value:function(t){return this._getLogFunction(0,t,Zn.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,Zn.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(t,n){return this._getLogFunction(t,n,Zn.debug,arguments)}},{key:"info",value:function(t,n){return this._getLogFunction(t,n,console.info,arguments)}},{key:"once",value:function(t,n){for(var i=arguments.length,a=new Array(i>2?i-2:0),o=2;o<i;o++)a[o-2]=arguments[o];return this._getLogFunction(t,n,Zn.debug||Zn.info,arguments,Jg)}},{key:"table",value:function(t,n,i){return n?this._getLogFunction(t,n,console.table||vt,i&&[i],{tag:TC(n)}):vt}},{key:"image",value:function(t){var n=t.logLevel,i=t.priority,a=t.image,o=t.message,s=o===void 0?"":o,u=t.scale,f=u===void 0?1:u;return this._shouldLog(n||i)?et?bC({image:a,message:s,scale:f}):_C({image:a,message:s,scale:f}):vt}},{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||vt)}},{key:"group",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},a=Xg({logLevel:t,message:n,opts:i}),o=i.collapsed;return a.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(a)}},{key:"groupCollapsed",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,n,Object.assign({},i,{collapsed:!0}))}},{key:"groupEnd",value:function(t){return this._getLogFunction(t,"",console.groupEnd||vt)}},{key:"withGroup",value:function(t,n,i){this.group(t,n)();try{i()}finally{this.groupEnd(t)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(t){return this.isEnabled()&&this.getLevel()>=qg(t)}},{key:"_getLogFunction",value:function(t,n,i,a,o){if(this._shouldLog(t)){var s;o=Xg({logLevel:t,message:n,args:a,opts:o}),i=i||o.method,Yn(i),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=on();var u=o.tag||o.message;if(o.once)if(!Wg[u])Wg[u]=on();else return vt;return n=AC(this.id,o.message,o),(s=i).bind.apply(s,[console,n].concat(K(o.args)))}return vt}}]),e}();c($n,"VERSION",Ho);function qg(e){if(!e)return 0;var r;switch(te(e)){case"number":r=e;break;case"object":r=e.logLevel||e.priority||0;break;default:return 0}return Yn(Number.isFinite(r)&&r>=0),r}function Xg(e){var r=e.logLevel,t=e.message;e.logLevel=qg(r);for(var n=e.args?Array.from(e.args):[];n.length&&n.shift()!==t;);switch(te(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 i=te(e.message);return Yn(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function AC(e,r,t){if(typeof r=="string"){var n=t.time?Ug(Ng(t.total)):"";r=t.time?"".concat(e,": ").concat(n," ").concat(r):"".concat(e,": ").concat(r),r=Hg(r,t.color,t.background)}return r}function _C(e){var r=e.image,t=e.message,n=t===void 0?"":t,i=e.scale,a=i===void 0?1:i,o=null;try{o=module.require("asciify-image")}catch{}return o?function(){return o(r,{fit:"box",width:"".concat(Math.round(80*a),"%")}).then(function(s){return console.log(s)})}:vt}function bC(e){var r=e.image,t=e.message,n=t===void 0?"":t,i=e.scale,a=i===void 0?1:i;if(typeof r=="string"){var o=new Image;return o.onload=function(){var l,h=Vo(o,n,a);(l=console).log.apply(l,K(h))},o.src=r,vt}var s=r.nodeName||"";if(s.toLowerCase()==="img"){var u;return(u=console).log.apply(u,K(Vo(r,n,a))),vt}if(s.toLowerCase()==="canvas"){var f=new Image;return f.onload=function(){var l;return(l=console).log.apply(l,K(Vo(f,n,a)))},f.src=r.toDataURL(),vt}return vt}function TC(e){for(var r in e)for(var t in e[r])return t||"untitled";return"empty"}var dH=new $n({id:"@probe.gl/log"});var he=new $n({id:"luma.gl"});function Ue(e,r){if(!e)throw new Error(r||"luma.gl: assertion failed.")}var xC="Invalid WebGLRenderingContext";var EC="Requires WebGL2";function Wo(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function pe(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function vl(e){return pe(e)?e:null}function ia(e){return Ue(Wo(e),xC),e}function We(e){return Ue(pe(e),EC),e}var aa={};function SC(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function wC(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function CC(e,r){aa[e]=!0,r!==void 0&&SC(r)}function BC(e){var r=e.getError;e.getError=function(){var n;do n=r.apply(e),n!==0&&(aa[n]=!0);while(n!==0);for(n in aa)if(aa[n])return delete aa[n],parseInt(n,10);return 0}}var oa=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 i=new e.VertexAttrib(t);this.attribs[n]=i}this.maxAttrib=0};oa.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()};oa.VertexAttrib.prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var sn=function(r){var t=this;this.gl=r,BC(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(a){return a===t.VERTEX_ARRAY_BINDING_OES?t.currentVertexArrayObject===t.defaultVertexArrayObject?null:t.currentVertexArrayObject:n.getParameter.apply(this,arguments)},r.enableVertexAttribArray=function(a){var o=t.currentVertexArrayObject;o.maxAttrib=Math.max(o.maxAttrib,a);var s=o.attribs[a];return s.enabled=!0,n.enableVertexAttribArray.apply(this,arguments)},r.disableVertexAttribArray=function(a){var o=t.currentVertexArrayObject;o.maxAttrib=Math.max(o.maxAttrib,a);var s=o.attribs[a];return s.enabled=!1,n.disableVertexAttribArray.apply(this,arguments)},r.bindBuffer=function(a,o){switch(a){case 34962:t.currentArrayBuffer=o;break;case 34963:t.currentVertexArrayObject.elementArrayBuffer=o;break;default:}return n.bindBuffer.apply(this,arguments)},r.getVertexAttrib=function(a,o){var s=t.currentVertexArrayObject,u=s.attribs[a];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(a,o,s,u,f,l){var h=t.currentVertexArrayObject;h.maxAttrib=Math.max(h.maxAttrib,a);var d=h.attribs[a];return d.buffer=t.currentArrayBuffer,d.size=o,d.type=s,d.normalized=u,d.stride=f,d.offset=l,d.recache(),n.vertexAttribPointer.apply(this,arguments)},r.instrumentExtension&&r.instrumentExtension(this,"OES_vertex_array_object"),r.canvas&&r.canvas.addEventListener("webglcontextrestored",function(){wC("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};sn.prototype.VERTEX_ARRAY_BINDING_OES=34229;sn.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 oa(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)};sn.prototype.createVertexArrayOES=function(){var r=new oa(this);return this.vertexArrayObjects.push(r),r};sn.prototype.deleteVertexArrayOES=function(r){r.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(r),1),this.currentVertexArrayObject===r&&this.bindVertexArrayOES(null)};sn.prototype.isVertexArrayOES=function(r){return!!(r&&r instanceof oa&&r.hasBeenBound&&r.ext===this)};sn.prototype.bindVertexArrayOES=function(r){var t=this.gl;if(r&&!r.isAlive){CC(1282,"bindVertexArrayOES: attempt to bind deleted arrayObject");return}var n=this.original,i=this.currentVertexArrayObject;this.currentVertexArrayObject=r||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var a=this.currentVertexArrayObject;if(i!==a){(!i||a.elementArrayBuffer!==i.elementArrayBuffer)&&n.bindBuffer.call(t,34963,a.elementArrayBuffer);for(var o=this.currentArrayBuffer,s=Math.max(i?i.maxAttrib:0,a.maxAttrib),u=0;u<=s;u++){var f=a.attribs[u],l=i?i.attribs[u]:null;if((!i||f.enabled!==l.enabled)&&(f.enabled?n.enableVertexAttribArray.call(t,u):n.disableVertexAttribArray.call(t,u)),f.enabled){var h=!1;(!i||f.buffer!==l.buffer)&&(o!==f.buffer&&(n.bindBuffer.call(t,34962,f.buffer),o=f.buffer),h=!0),(h||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 Kg(e){if(typeof e.createVertexArray!="function"){var r=e.getSupportedExtensions;e.getSupportedExtensions=function(){var i=r.call(this)||[];return i.indexOf("OES_vertex_array_object")<0&&i.push("OES_vertex_array_object"),i};var t=e.getExtension;e.getExtension=function(i){var a=t.call(this,i);return a||(i!=="OES_vertex_array_object"?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new sn(this)),this.__OESVertexArrayObject))}}}N();N();var fe,Yg="OES_element_index",Zg="WEBGL_draw_buffers",MC="EXT_disjoint_timer_query",OC="EXT_disjoint_timer_query_webgl2",PC="EXT_texture_filter_anisotropic",$g="WEBGL_debug_renderer_info",IC=35723,RC=4352,FC=36795,LC=34047,kC=37445,DC=37446,Ee=function(r){return pe(r)?void 0:0},GC=(fe={},c(fe,3074,function(r){return pe(r)?void 0:36064}),c(fe,IC,function(e){return pe(e)?void 0:RC}),c(fe,35977,Ee),c(fe,32937,Ee),c(fe,FC,function(e,r){var t=pe(e)?e.getExtension(OC):e.getExtension(MC);return t&&t.GPU_DISJOINT_EXT?r(t.GPU_DISJOINT_EXT):0}),c(fe,kC,function(e,r){var t=e.getExtension($g);return r(t&&t.UNMASKED_VENDOR_WEBGL||7936)}),c(fe,DC,function(e,r){var t=e.getExtension($g);return r(t&&t.UNMASKED_RENDERER_WEBGL||7937)}),c(fe,LC,function(e,r){var t=e.luma.extensions[PC];return t?r(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1}),c(fe,32883,Ee),c(fe,35071,Ee),c(fe,37447,Ee),c(fe,36063,function(r,t){if(!pe(r)){var n=r.getExtension(Zg);return n?t(n.MAX_COLOR_ATTACHMENTS_WEBGL):0}}),c(fe,35379,Ee),c(fe,35374,Ee),c(fe,35377,Ee),c(fe,34852,function(r){if(!pe(r)){var t=r.getExtension(Zg);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}}),c(fe,36203,function(r){return r.getExtension(Yg)?2147483647:65535}),c(fe,33001,function(r){return r.getExtension(Yg)?16777216:65535}),c(fe,33e3,function(r){return 16777216}),c(fe,37157,Ee),c(fe,35373,Ee),c(fe,35657,Ee),c(fe,36183,Ee),c(fe,37137,Ee),c(fe,34045,Ee),c(fe,35978,Ee),c(fe,35979,Ee),c(fe,35968,Ee),c(fe,35376,Ee),c(fe,35375,Ee),c(fe,35659,Ee),c(fe,37154,Ee),c(fe,35371,Ee),c(fe,35658,Ee),c(fe,35076,Ee),c(fe,35077,Ee),c(fe,35380,Ee),fe);function Qg(e,r,t){var n=GC[t],i=typeof n=="function"?n(e,r,t):n,a=i!==void 0?i:r(t);return a}var Qn,NC="OES_vertex_array_object",ey="ANGLE_instanced_arrays",UC="WEBGL_draw_buffers",jC="EXT_disjoint_timer_query",HC="EXT_texture_filter_anisotropic",VC="VertexArray requires WebGL2 or OES_vertex_array_object extension";function zC(e,r){return{webgl2:pe(e),ext:e.getExtension(r)}}var gl=(Qn={},c(Qn,NC,{meta:{suffix:"OES"},createVertexArray:function(){Ue(!1,VC)},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),c(Qn,ey,{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(r,t){Ue(t===0,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),c(Qn,UC,{meta:{suffix:"WEBGL"},drawBuffers:function(){Ue(!1)}}),c(Qn,jC,{meta:{suffix:"EXT"},createQuery:function(){Ue(!1)},deleteQuery:function(){Ue(!1)},beginQuery:function(){Ue(!1)},endQuery:function(){},getQuery:function(r,t){return this.getQueryObject(r,t)},getQueryParameter:function(r,t){return this.getQueryObject(r,t)},getQueryObject:function(){}}),Qn),Jo={readBuffer:function(r,t,n){pe(r)&&t(n)},getVertexAttrib:function(r,t,n,i){var a=zC(r,ey),o=a.webgl2,s=a.ext,u;switch(i){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,i)},getProgramParameter:function(r,t,n,i){if(!pe(r))switch(i){case 35967:return 35981;case 35971:return 0;case 35382:return 0;default:}return t(n,i)},getInternalformatParameter:function(r,t,n,i,a){if(!pe(r))switch(a){case 32937:return new Int32Array([0]);default:}return r.getInternalformatParameter(n,i,a)},getTexParameter:function(r,t,n,i){switch(i){case 34046:var a=r.luma.extensions,o=a[HC];i=o&&o.TEXTURE_MAX_ANISOTROPY_EXT||34046;break;default:}return t(n,i)},getParameter:Qg,hint:function(r,t,n,i){return t(n,i)}};function ry(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=WC(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:i}}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 a=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return a=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function WC(e,r){if(e){if(typeof e=="string")return ty(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 ty(e,r)}}function ty(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 ny(e){e.luma=e.luma||{};var r=e.luma;return r.polyfilled||(Kg(e),JC(e),qC(e,gl),XC(e,{target:r,target2:e}),r.polyfilled=!0),e}globalThis.polyfillContext=ny;function JC(e){e.luma.extensions={};var r=e.getSupportedExtensions()||[],t=ry(r),n;try{for(t.s();!(n=t.n()).done;){var i=n.value;e.luma[i]=e.getExtension(i)}}catch(a){t.e(a)}finally{t.f()}}function XC(e,r){var t=r.target,n=r.target2;Object.keys(Jo).forEach(function(i){if(typeof Jo[i]=="function"){var a=e[i]?e[i].bind(e):function(){},o=Jo[i].bind(null,e,a);t[i]=o,n[i]=o}})}function qC(e,r){var t=ry(Object.getOwnPropertyNames(r)),n;try{for(t.s();!(n=t.n()).done;){var i=n.value;i!=="overrides"&&KC(e,{extension:i,target:e.luma,target2:e})}}catch(a){t.e(a)}finally{t.f()}}function KC(e,r){var t=r.extension,n=r.target,i=r.target2,a=gl[t];Ue(a);for(var o=a.meta,s=o===void 0?{}:o,u=s.suffix,f=u===void 0?"":u,l=e.getExtension(t),h=function(){var v=p[d],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 a[v]=="function"&&(y=a[v].bind(n))),y&&(n[v]=y,i[v]=y)},d=0,p=Object.keys(a);d<p.length;d++)h()}se();N();var Q,z,gt,Xo=(Q={},c(Q,3042,!1),c(Q,32773,new Float32Array([0,0,0,0])),c(Q,32777,32774),c(Q,34877,32774),c(Q,32969,1),c(Q,32968,0),c(Q,32971,1),c(Q,32970,0),c(Q,3106,new Float32Array([0,0,0,0])),c(Q,3107,[!0,!0,!0,!0]),c(Q,2884,!1),c(Q,2885,1029),c(Q,2929,!1),c(Q,2931,1),c(Q,2932,513),c(Q,2928,new Float32Array([0,1])),c(Q,2930,!0),c(Q,3024,!0),c(Q,36006,null),c(Q,2886,2305),c(Q,33170,4352),c(Q,2849,1),c(Q,32823,!1),c(Q,32824,0),c(Q,10752,0),c(Q,32938,1),c(Q,32939,!1),c(Q,3089,!1),c(Q,3088,new Int32Array([0,0,1024,1024])),c(Q,2960,!1),c(Q,2961,0),c(Q,2968,4294967295),c(Q,36005,4294967295),c(Q,2962,519),c(Q,2967,0),c(Q,2963,4294967295),c(Q,34816,519),c(Q,36003,0),c(Q,36004,4294967295),c(Q,2964,7680),c(Q,2965,7680),c(Q,2966,7680),c(Q,34817,7680),c(Q,34818,7680),c(Q,34819,7680),c(Q,2978,[0,0,1024,1024]),c(Q,3333,4),c(Q,3317,4),c(Q,37440,!1),c(Q,37441,!1),c(Q,37443,37444),c(Q,35723,4352),c(Q,36010,null),c(Q,35977,!1),c(Q,3330,0),c(Q,3332,0),c(Q,3331,0),c(Q,3314,0),c(Q,32878,0),c(Q,3316,0),c(Q,3315,0),c(Q,32877,0),Q),wr=function(r,t,n){return t?r.enable(n):r.disable(n)},iy=function(r,t,n){return r.hint(n,t)},ht=function(r,t,n){return r.pixelStorei(n,t)},YC=function(r,t){var n=pe(r)?36009:36160;return r.bindFramebuffer(n,t)},ZC=function(r,t){return r.bindFramebuffer(36008,t)};function sa(e){return Array.isArray(e)||ArrayBuffer.isView(e)}var ay=(z={},c(z,3042,wr),c(z,32773,function(r,t){return r.blendColor.apply(r,K(t))}),c(z,32777,"blendEquation"),c(z,34877,"blendEquation"),c(z,32969,"blendFunc"),c(z,32968,"blendFunc"),c(z,32971,"blendFunc"),c(z,32970,"blendFunc"),c(z,3106,function(r,t){return r.clearColor.apply(r,K(t))}),c(z,3107,function(r,t){return r.colorMask.apply(r,K(t))}),c(z,2884,wr),c(z,2885,function(r,t){return r.cullFace(t)}),c(z,2929,wr),c(z,2931,function(r,t){return r.clearDepth(t)}),c(z,2932,function(r,t){return r.depthFunc(t)}),c(z,2928,function(r,t){return r.depthRange.apply(r,K(t))}),c(z,2930,function(r,t){return r.depthMask(t)}),c(z,3024,wr),c(z,35723,iy),c(z,36006,YC),c(z,2886,function(r,t){return r.frontFace(t)}),c(z,33170,iy),c(z,2849,function(r,t){return r.lineWidth(t)}),c(z,32823,wr),c(z,32824,"polygonOffset"),c(z,10752,"polygonOffset"),c(z,35977,wr),c(z,32938,"sampleCoverage"),c(z,32939,"sampleCoverage"),c(z,3089,wr),c(z,3088,function(r,t){return r.scissor.apply(r,K(t))}),c(z,2960,wr),c(z,2961,function(r,t){return r.clearStencil(t)}),c(z,2968,function(r,t){return r.stencilMaskSeparate(1028,t)}),c(z,36005,function(r,t){return r.stencilMaskSeparate(1029,t)}),c(z,2962,"stencilFuncFront"),c(z,2967,"stencilFuncFront"),c(z,2963,"stencilFuncFront"),c(z,34816,"stencilFuncBack"),c(z,36003,"stencilFuncBack"),c(z,36004,"stencilFuncBack"),c(z,2964,"stencilOpFront"),c(z,2965,"stencilOpFront"),c(z,2966,"stencilOpFront"),c(z,34817,"stencilOpBack"),c(z,34818,"stencilOpBack"),c(z,34819,"stencilOpBack"),c(z,2978,function(r,t){return r.viewport.apply(r,K(t))}),c(z,3333,ht),c(z,3317,ht),c(z,37440,ht),c(z,37441,ht),c(z,37443,ht),c(z,3330,ht),c(z,3332,ht),c(z,3331,ht),c(z,36010,ZC),c(z,3314,ht),c(z,32878,ht),c(z,3316,ht),c(z,3315,ht),c(z,32877,ht),c(z,"framebuffer",function(r,t){var n=t&&"handle"in t?t.handle:t;return r.bindFramebuffer(36160,n)}),c(z,"blend",function(r,t){return t?r.enable(3042):r.disable(3042)}),c(z,"blendColor",function(r,t){return r.blendColor.apply(r,K(t))}),c(z,"blendEquation",function(r,t){t=sa(t)?t:[t,t],r.blendEquationSeparate.apply(r,K(t))}),c(z,"blendFunc",function(r,t){t=sa(t)&&t.length===2?[].concat(K(t),K(t)):t,r.blendFuncSeparate.apply(r,K(t))}),c(z,"clearColor",function(r,t){return r.clearColor.apply(r,K(t))}),c(z,"clearDepth",function(r,t){return r.clearDepth(t)}),c(z,"clearStencil",function(r,t){return r.clearStencil(t)}),c(z,"colorMask",function(r,t){return r.colorMask.apply(r,K(t))}),c(z,"cull",function(r,t){return t?r.enable(2884):r.disable(2884)}),c(z,"cullFace",function(r,t){return r.cullFace(t)}),c(z,"depthTest",function(r,t){return t?r.enable(2929):r.disable(2929)}),c(z,"depthFunc",function(r,t){return r.depthFunc(t)}),c(z,"depthMask",function(r,t){return r.depthMask(t)}),c(z,"depthRange",function(r,t){return r.depthRange.apply(r,K(t))}),c(z,"dither",function(r,t){return t?r.enable(3024):r.disable(3024)}),c(z,"derivativeHint",function(r,t){r.hint(35723,t)}),c(z,"frontFace",function(r,t){return r.frontFace(t)}),c(z,"mipmapHint",function(r,t){return r.hint(33170,t)}),c(z,"lineWidth",function(r,t){return r.lineWidth(t)}),c(z,"polygonOffsetFill",function(r,t){return t?r.enable(32823):r.disable(32823)}),c(z,"polygonOffset",function(r,t){return r.polygonOffset.apply(r,K(t))}),c(z,"sampleCoverage",function(r,t){return r.sampleCoverage.apply(r,K(t))}),c(z,"scissorTest",function(r,t){return t?r.enable(3089):r.disable(3089)}),c(z,"scissor",function(r,t){return r.scissor.apply(r,K(t))}),c(z,"stencilTest",function(r,t){return t?r.enable(2960):r.disable(2960)}),c(z,"stencilMask",function(r,t){t=sa(t)?t:[t,t];var n=t,i=G(n,2),a=i[0],o=i[1];r.stencilMaskSeparate(1028,a),r.stencilMaskSeparate(1029,o)}),c(z,"stencilFunc",function(r,t){t=sa(t)&&t.length===3?[].concat(K(t),K(t)):t;var n=t,i=G(n,6),a=i[0],o=i[1],s=i[2],u=i[3],f=i[4],l=i[5];r.stencilFuncSeparate(1028,a,o,s),r.stencilFuncSeparate(1029,u,f,l)}),c(z,"stencilOp",function(r,t){t=sa(t)&&t.length===3?[].concat(K(t),K(t)):t;var n=t,i=G(n,6),a=i[0],o=i[1],s=i[2],u=i[3],f=i[4],l=i[5];r.stencilOpSeparate(1028,a,o,s),r.stencilOpSeparate(1029,u,f,l)}),c(z,"viewport",function(r,t){return r.viewport.apply(r,K(t))}),z);function ke(e,r,t){return r[e]!==void 0?r[e]:t[e]}var oy={blendEquation:function(r,t,n){return r.blendEquationSeparate(ke(32777,t,n),ke(34877,t,n))},blendFunc:function(r,t,n){return r.blendFuncSeparate(ke(32969,t,n),ke(32968,t,n),ke(32971,t,n),ke(32970,t,n))},polygonOffset:function(r,t,n){return r.polygonOffset(ke(32824,t,n),ke(10752,t,n))},sampleCoverage:function(r,t,n){return r.sampleCoverage(ke(32938,t,n),ke(32939,t,n))},stencilFuncFront:function(r,t,n){return r.stencilFuncSeparate(1028,ke(2962,t,n),ke(2967,t,n),ke(2963,t,n))},stencilFuncBack:function(r,t,n){return r.stencilFuncSeparate(1029,ke(34816,t,n),ke(36003,t,n),ke(36004,t,n))},stencilOpFront:function(r,t,n){return r.stencilOpSeparate(1028,ke(2964,t,n),ke(2965,t,n),ke(2966,t,n))},stencilOpBack:function(r,t,n){return r.stencilOpSeparate(1029,ke(34817,t,n),ke(34818,t,n),ke(34819,t,n))}},yl={enable:function(r,t){return r(c({},t,!0))},disable:function(r,t){return r(c({},t,!1))},pixelStorei:function(r,t,n){return r(c({},t,n))},hint:function(r,t,n){return r(c({},t,n))},bindFramebuffer:function(r,t,n){var i;switch(t){case 36160:return r((i={},c(i,36006,n),c(i,36010,n),i));case 36009:return r(c({},36006,n));case 36008:return r(c({},36010,n));default:return null}},blendColor:function(r,t,n,i,a){return r(c({},32773,new Float32Array([t,n,i,a])))},blendEquation:function(r,t){var n;return r((n={},c(n,32777,t),c(n,34877,t),n))},blendEquationSeparate:function(r,t,n){var i;return r((i={},c(i,32777,t),c(i,34877,n),i))},blendFunc:function(r,t,n){var i;return r((i={},c(i,32969,t),c(i,32968,n),c(i,32971,t),c(i,32970,n),i))},blendFuncSeparate:function(r,t,n,i,a){var o;return r((o={},c(o,32969,t),c(o,32968,n),c(o,32971,i),c(o,32970,a),o))},clearColor:function(r,t,n,i,a){return r(c({},3106,new Float32Array([t,n,i,a])))},clearDepth:function(r,t){return r(c({},2931,t))},clearStencil:function(r,t){return r(c({},2961,t))},colorMask:function(r,t,n,i,a){return r(c({},3107,[t,n,i,a]))},cullFace:function(r,t){return r(c({},2885,t))},depthFunc:function(r,t){return r(c({},2932,t))},depthRange:function(r,t,n){return r(c({},2928,new Float32Array([t,n])))},depthMask:function(r,t){return r(c({},2930,t))},frontFace:function(r,t){return r(c({},2886,t))},lineWidth:function(r,t){return r(c({},2849,t))},polygonOffset:function(r,t,n){var i;return r((i={},c(i,32824,t),c(i,10752,n),i))},sampleCoverage:function(r,t,n){var i;return r((i={},c(i,32938,t),c(i,32939,n),i))},scissor:function(r,t,n,i,a){return r(c({},3088,new Int32Array([t,n,i,a])))},stencilMask:function(r,t){var n;return r((n={},c(n,2968,t),c(n,36005,t),n))},stencilMaskSeparate:function(r,t,n){return r(c({},t===1028?2968:36005,n))},stencilFunc:function(r,t,n,i){var a;return r((a={},c(a,2962,t),c(a,2967,n),c(a,2963,i),c(a,34816,t),c(a,36003,n),c(a,36004,i),a))},stencilFuncSeparate:function(r,t,n,i,a){var o;return r((o={},c(o,t===1028?2962:34816,n),c(o,t===1028?2967:36003,i),c(o,t===1028?2963:36004,a),o))},stencilOp:function(r,t,n,i){var a;return r((a={},c(a,2964,t),c(a,2965,n),c(a,2966,i),c(a,34817,t),c(a,34818,n),c(a,34819,i),a))},stencilOpSeparate:function(r,t,n,i,a){var o;return r((o={},c(o,t===1028?2964:34817,n),c(o,t===1028?2965:34818,i),c(o,t===1028?2966:34819,a),o))},viewport:function(r,t,n,i,a){return r(c({},2978,[t,n,i,a]))}},Ht=function(r,t){return r.isEnabled(t)},Al=(gt={},c(gt,3042,Ht),c(gt,2884,Ht),c(gt,2929,Ht),c(gt,3024,Ht),c(gt,32823,Ht),c(gt,32926,Ht),c(gt,32928,Ht),c(gt,3089,Ht),c(gt,2960,Ht),c(gt,35977,Ht),gt);q();Y();function _l(e){for(var r in e)return!1;return!0}function sy(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 i=0;i<e.length;++i)if(e[i]!==r[i])return!1;return!0}return!1}function uy(e,r){var t=e[r].bind(e);e[r]=function(){var i=arguments.length<=0?void 0:arguments[0];return i in e.state.cache&&e.state.enable?e.state.cache[i]:t.apply(void 0,arguments)},Object.defineProperty(e[r],"name",{value:"".concat(r,"-from-cache"),configurable:!1})}function $C(e,r,t){var n=e[r].bind(e);e[r]=function(){for(var a=arguments.length,o=new Array(a),s=0;s<a;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 QC(e){var r=e.useProgram.bind(e);e.useProgram=function(n){e.state.program!==n&&(r(n),e.state.program=n)}}var e2=function(){function e(r){T(this,e);var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.copyState,i=n===void 0?!1:n,a=t.log,o=a===void 0?function(){}:a;this.gl=r,this.program=null,this.stateStack=[],this.enable=!0,this.cache=i?xl(r):Object.assign({},Xo),this.log=o,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return C(e,[{key:"push",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})}},{key:"pop",value:function(){Ue(this.stateStack.length>0);var t=this.stateStack[this.stateStack.length-1];Ko(this.gl,t),this.stateStack.pop()}},{key:"_updateCache",value:function(t){var n=!1,i,a=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(var o in t){Ue(o!==void 0);var s=t[o],u=this.cache[o];sy(s,u)||(n=!0,i=u,a&&!(o in a)&&(a[o]=u),this.cache[o]=s)}return{valueChanged:n,oldValue:i}}}]),e}();function bl(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=r.enable,n=t===void 0?!0:t,i=r.copyState;if(Ue(i!==void 0),!e.state){var a=globalThis.polyfillContext;a&&a(e),e.state=new e2(e,{copyState:i}),QC(e);for(var o in yl){var s=yl[o];$C(e,o,s)}uy(e,"getParameter"),uy(e,"isEnabled")}return e.state.enable=n,e}function Tl(e){e.state||bl(e,{copyState:!1}),e.state.push()}function qo(e){Ue(e.state),e.state.pop()}function t2(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=r2(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:i}}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 a=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var f=t.next();return a=f.done,f},e:function(f){o=!0,s=f},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function r2(e,r){if(e){if(typeof e=="string")return fy(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 fy(e,r)}}function fy(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 Ko(e,r){if(Ue(Wo(e),"setParameters requires a WebGL context"),!_l(r)){var t={};for(var n in r){var i=Number(n),a=ay[n];a&&(typeof a=="string"?t[a]=!0:a(e,r[n],i))}var o=e.state&&e.state.cache;if(o)for(var s in t){var u=oy[s];u(e,r,o)}}}function xl(e,r){if(r=r||Xo,typeof r=="number"){var t=r,n=Al[t];return n?n(e,t):e.getParameter(t)}var i=Array.isArray(r)?r:Object.keys(r),a={},o=t2(i),s;try{for(o.s();!(s=o.n()).done;){var u=s.value,f=Al[u];a[u]=f?f(e,Number(u)):e.getParameter(Number(u))}}catch(l){o.e(l)}finally{o.f()}return a}function tr(e,r,t){if(_l(r))return t(e);var n=r.nocatch,i=n===void 0?!0:n;Tl(e),Ko(e,r);var a;if(i)a=t(e),qo(e);else try{a=t(e)}finally{qo(e)}return a}var sV=et();q();Y();q();Y();N();q();Y();N();function ua(){var e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){var r=process.hrtime();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var Yo=function(){function e(r,t){T(this,e),c(this,"name",void 0),c(this,"type",void 0),c(this,"sampleSize",1),c(this,"time",void 0),c(this,"count",void 0),c(this,"samples",void 0),c(this,"lastTiming",void 0),c(this,"lastSampleTime",void 0),c(this,"lastSampleCount",void 0),c(this,"_count",0),c(this,"_time",0),c(this,"_samples",0),c(this,"_startTime",0),c(this,"_timerPending",!1),this.name=r,this.type=t,this.reset()}return C(e,[{key:"setSampleSize",value:function(t){return this.sampleSize=t,this}},{key:"incrementCount",value:function(){return this.addCount(1),this}},{key:"decrementCount",value:function(){return this.subtractCount(1),this}},{key:"addCount",value:function(t){return this._count+=t,this._samples++,this._checkSampling(),this}},{key:"subtractCount",value:function(t){return this._count-=t,this._samples++,this._checkSampling(),this}},{key:"addTime",value:function(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}},{key:"timeStart",value:function(){return this._startTime=ua(),this._timerPending=!0,this}},{key:"timeEnd",value:function(){return this._timerPending?(this.addTime(ua()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}},{key:"getSampleAverageCount",value:function(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}},{key:"getSampleAverageTime",value:function(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}},{key:"getSampleHz",value:function(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}},{key:"getAverageCount",value:function(){return this.samples>0?this.count/this.samples:0}},{key:"getAverageTime",value:function(){return this.samples>0?this.time/this.samples:0}},{key:"getHz",value:function(){return this.time>0?this.samples/(this.time/1e3):0}},{key:"reset",value:function(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}},{key:"_checkSampling",value:function(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}]),e}();var El=function(){function e(r){T(this,e),c(this,"id",void 0),c(this,"stats",{}),this.id=r.id,this.stats={},this._initializeStats(r.stats),Object.seal(this)}return C(e,[{key:"get",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:t,type:n})}},{key:"size",get:function(){return Object.keys(this.stats).length}},{key:"reset",value:function(){for(var t in this.stats)this.stats[t].reset();return this}},{key:"forEach",value:function(t){for(var n in this.stats)t(this.stats[n])}},{key:"getTable",value:function(){var t={};return this.forEach(function(n){t[n.name]={time:n.time||0,count:n.count||0,average:n.getAverageTime()||0,hz:n.getHz()||0}}),t}},{key:"_initializeStats",value:function(){var t=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];n.forEach(function(i){return t._getOrCreate(i)})}},{key:"_getOrCreate",value:function(t){if(!t||!t.name)return null;var n=t.name,i=t.type;return this.stats[n]||(t instanceof Yo?this.stats[n]=t:this.stats[n]=new Yo(n,i)),this.stats[n]}}]),e}();var fa="8.5.20",n2="set luma.log.level=1 (or higher) to trace rendering",i2=function(){function e(){T(this,e),this.stats=new Map}return C(e,[{key:"get",value:function(t){return this.stats.has(t)||this.stats.set(t,new El({id:t})),this.stats.get(t)}}]),e}(),ei=new i2;if(globalThis.luma&&globalThis.luma.VERSION!==fa)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION," vs ").concat(fa));globalThis.luma||(et()&&he.log(1,"luma.gl ".concat(fa," - ").concat(n2))(),globalThis.luma=globalThis.luma||{VERSION:fa,version:fa,log:he,stats:ei,globals:{modules:{},nodeIO:{}}});var zV=globalThis.luma;N();q();Y();se();q();Y();q();Y();function ne(e,r){if(!e)throw new Error(r||"luma.gl: assertion failed.")}function Zo(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 ne(n!==void 0,"Accessing undefined constant GL.".concat(r)),n}function un(e,r){r=Number(r);for(var t in e)if(e[t]===r)return"GL.".concat(t);return String(r)}var Sl={};function $o(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"id";Sl[e]=Sl[e]||1;var r=Sl[e]++;return"".concat(e,"-").concat(r)}function wl(e){return ne(typeof e=="number","Input must be a number"),e&&(e&e-1)===0}function ly(e,r,t,n){var i="See luma.gl ".concat(t," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),a=Object.getPrototypeOf(e);n.forEach(function(o){a.methodName||(a[o]=function(){throw he.removed("Calling removed method ".concat(r,".").concat(o,": "),i)(),new Error(o)})})}function a2(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o2(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(f){throw f},f:i}}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.22",
5
+ "version": "8.9.23",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
@@ -56,5 +56,5 @@
56
56
  "@loaders.gl/core": "^3.4.2",
57
57
  "@luma.gl/core": "^8.0.0"
58
58
  },
59
- "gitHead": "cc0ff51f4f8b234c7b5015a0e0dced6217433a5b"
59
+ "gitHead": "ecd91b5ce4b3a37e63aa247c9fda200433dbd7a3"
60
60
  }
@@ -343,7 +343,8 @@ export default class TileLayer<DataT = any, ExtraPropsT extends {} = {}> extends
343
343
  const layers = this.renderSubLayers({
344
344
  ...this.props,
345
345
  ...this.getSubLayerProps({
346
- id: tile.id
346
+ id: tile.id,
347
+ updateTriggers: this.props.updateTriggers
347
348
  }),
348
349
  data: tile.content,
349
350
  _offset: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"tile-layer.d.ts","sourceRoot":"","sources":["../../src/tile-layer/tile-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tile-layer.d.ts","sourceRoot":"","sources":["../../src/tile-layer/tile-layer.ts"],"names":[],"mappings":"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"}
@@ -1,49 +0,0 @@
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;