@deck.gl/carto 9.0.34 → 9.1.0-beta.1

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 (242) hide show
  1. package/dist/api/basemap.d.ts +2 -1
  2. package/dist/api/basemap.d.ts.map +1 -1
  3. package/dist/api/basemap.js +3 -0
  4. package/dist/api/fetch-map.d.ts.map +1 -1
  5. package/dist/api/fetch-map.js +9 -11
  6. package/dist/api/index.d.ts +1 -4
  7. package/dist/api/index.d.ts.map +1 -1
  8. package/dist/api/index.js +3 -2
  9. package/dist/api/layer-map.d.ts.map +1 -1
  10. package/dist/api/layer-map.js +5 -2
  11. package/dist/api/parse-map.d.ts.map +1 -1
  12. package/dist/api/parse-map.js +3 -0
  13. package/dist/api/types.d.ts +0 -56
  14. package/dist/api/types.d.ts.map +1 -1
  15. package/dist/api/types.js +4 -20
  16. package/dist/basemap.d.ts +2 -1
  17. package/dist/basemap.d.ts.map +1 -1
  18. package/dist/basemap.js +4 -1
  19. package/dist/cartoRasterTile-worker.js +25 -2
  20. package/dist/cartoSpatialTile-worker.js +28 -3
  21. package/dist/cartoVectorTile-worker.js +29 -3
  22. package/dist/constants.d.ts +0 -3
  23. package/dist/constants.d.ts.map +1 -1
  24. package/dist/constants.js +3 -3
  25. package/dist/dist.dev.js +4512 -3855
  26. package/dist/index.cjs +328 -630
  27. package/dist/index.cjs.map +4 -4
  28. package/dist/index.d.ts +29 -16
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +12 -2
  31. package/dist/layers/cluster-tile-layer.d.ts +1 -1
  32. package/dist/layers/cluster-tile-layer.d.ts.map +1 -1
  33. package/dist/layers/cluster-tile-layer.js +4 -0
  34. package/dist/layers/cluster-utils.d.ts.map +1 -1
  35. package/dist/layers/cluster-utils.js +3 -0
  36. package/dist/layers/h3-tile-layer.d.ts +4 -4
  37. package/dist/layers/h3-tile-layer.d.ts.map +1 -1
  38. package/dist/layers/h3-tile-layer.js +15 -14
  39. package/dist/layers/h3-tileset-2d.d.ts.map +1 -1
  40. package/dist/layers/h3-tileset-2d.js +3 -0
  41. package/dist/layers/heatmap-tile-layer.d.ts +12 -2
  42. package/dist/layers/heatmap-tile-layer.d.ts.map +1 -1
  43. package/dist/layers/heatmap-tile-layer.js +85 -9
  44. package/dist/layers/heatmap.d.ts +69 -22
  45. package/dist/layers/heatmap.d.ts.map +1 -1
  46. package/dist/layers/heatmap.js +86 -102
  47. package/dist/layers/point-label-layer.d.ts.map +1 -1
  48. package/dist/layers/point-label-layer.js +5 -2
  49. package/dist/layers/post-process-utils.d.ts.map +1 -1
  50. package/dist/layers/post-process-utils.js +9 -5
  51. package/dist/layers/quadbin-layer.d.ts.map +1 -1
  52. package/dist/layers/quadbin-layer.js +3 -0
  53. package/dist/layers/quadbin-tile-layer.d.ts +4 -4
  54. package/dist/layers/quadbin-tile-layer.d.ts.map +1 -1
  55. package/dist/layers/quadbin-tile-layer.js +13 -12
  56. package/dist/layers/quadbin-tileset-2d.d.ts.map +1 -1
  57. package/dist/layers/quadbin-tileset-2d.js +3 -0
  58. package/dist/layers/quadbin-utils.d.ts.map +1 -1
  59. package/dist/layers/quadbin-utils.js +3 -0
  60. package/dist/layers/raster-layer-vertex.glsl.d.ts +1 -1
  61. package/dist/layers/raster-layer-vertex.glsl.d.ts.map +1 -1
  62. package/dist/layers/raster-layer-vertex.glsl.js +20 -25
  63. package/dist/layers/raster-layer.d.ts +6 -6
  64. package/dist/layers/raster-layer.d.ts.map +1 -1
  65. package/dist/layers/raster-layer.js +6 -1
  66. package/dist/layers/raster-tile-layer.d.ts +1 -1
  67. package/dist/layers/raster-tile-layer.d.ts.map +1 -1
  68. package/dist/layers/raster-tile-layer.js +14 -13
  69. package/dist/layers/schema/carto-properties-tile-loader.d.ts.map +1 -1
  70. package/dist/layers/schema/carto-properties-tile-loader.js +3 -0
  71. package/dist/layers/schema/carto-properties-tile.d.ts.map +1 -1
  72. package/dist/layers/schema/carto-properties-tile.js +3 -0
  73. package/dist/layers/schema/carto-raster-tile-loader.d.ts.map +1 -1
  74. package/dist/layers/schema/carto-raster-tile-loader.js +4 -1
  75. package/dist/layers/schema/carto-raster-tile.d.ts.map +1 -1
  76. package/dist/layers/schema/carto-raster-tile.js +3 -0
  77. package/dist/layers/schema/carto-spatial-tile-loader.d.ts.map +1 -1
  78. package/dist/layers/schema/carto-spatial-tile-loader.js +4 -1
  79. package/dist/layers/schema/carto-spatial-tile.d.ts.map +1 -1
  80. package/dist/layers/schema/carto-spatial-tile.js +3 -0
  81. package/dist/layers/schema/carto-tile.d.ts.map +1 -1
  82. package/dist/layers/schema/carto-tile.js +3 -0
  83. package/dist/layers/schema/carto-vector-tile-loader.d.ts.map +1 -1
  84. package/dist/layers/schema/carto-vector-tile-loader.js +4 -1
  85. package/dist/layers/schema/fast-pbf.d.ts.map +1 -1
  86. package/dist/layers/schema/fast-pbf.js +3 -0
  87. package/dist/layers/schema/spatialjson-utils.d.ts.map +1 -1
  88. package/dist/layers/schema/spatialjson-utils.js +3 -0
  89. package/dist/layers/schema/tile-loader-utils.d.ts.map +1 -1
  90. package/dist/layers/schema/tile-loader-utils.js +3 -0
  91. package/dist/layers/spatial-index-tile-layer.d.ts.map +1 -1
  92. package/dist/layers/spatial-index-tile-layer.js +3 -0
  93. package/dist/layers/utils.d.ts +2 -2
  94. package/dist/layers/utils.d.ts.map +1 -1
  95. package/dist/layers/utils.js +3 -0
  96. package/dist/layers/vector-tile-layer.d.ts +1 -1
  97. package/dist/layers/vector-tile-layer.d.ts.map +1 -1
  98. package/dist/layers/vector-tile-layer.js +3 -0
  99. package/dist/style/color-bins-style.d.ts.map +1 -1
  100. package/dist/style/color-bins-style.js +3 -0
  101. package/dist/style/color-categories-style.d.ts.map +1 -1
  102. package/dist/style/color-categories-style.js +3 -0
  103. package/dist/style/color-continuous-style.d.ts.map +1 -1
  104. package/dist/style/color-continuous-style.js +3 -0
  105. package/dist/style/palette.d.ts.map +1 -1
  106. package/dist/style/palette.js +3 -0
  107. package/dist/style/utils.d.ts.map +1 -1
  108. package/dist/style/utils.js +3 -0
  109. package/dist/utils.d.ts.map +1 -1
  110. package/dist/utils.js +3 -0
  111. package/dist/workers/cartoRasterTile.js +3 -0
  112. package/dist/workers/cartoSpatialTile.js +3 -0
  113. package/dist/workers/cartoVectorTile.js +3 -0
  114. package/dist.min.js +115 -101
  115. package/package.json +13 -11
  116. package/src/api/basemap.ts +6 -1
  117. package/src/api/fetch-map.ts +23 -15
  118. package/src/api/index.ts +5 -13
  119. package/src/api/layer-map.ts +6 -2
  120. package/src/api/parse-map.ts +4 -0
  121. package/src/api/types.ts +4 -75
  122. package/src/basemap.ts +6 -2
  123. package/src/constants.ts +4 -4
  124. package/src/index.ts +28 -9
  125. package/src/layers/cluster-tile-layer.ts +6 -1
  126. package/src/layers/cluster-utils.ts +4 -0
  127. package/src/layers/h3-tile-layer.ts +18 -16
  128. package/src/layers/h3-tileset-2d.ts +4 -0
  129. package/src/layers/heatmap-tile-layer.ts +115 -11
  130. package/src/layers/heatmap.ts +41 -99
  131. package/src/layers/point-label-layer.ts +6 -2
  132. package/src/layers/post-process-utils.ts +10 -5
  133. package/src/layers/quadbin-layer.ts +4 -0
  134. package/src/layers/quadbin-tile-layer.ts +16 -14
  135. package/src/layers/quadbin-tileset-2d.ts +4 -0
  136. package/src/layers/quadbin-utils.ts +4 -0
  137. package/src/layers/raster-layer-vertex.glsl.ts +21 -27
  138. package/src/layers/raster-layer.ts +7 -1
  139. package/src/layers/raster-tile-layer.ts +16 -14
  140. package/src/layers/schema/carto-properties-tile-loader.ts +4 -0
  141. package/src/layers/schema/carto-properties-tile.ts +4 -0
  142. package/src/layers/schema/carto-raster-tile-loader.ts +4 -0
  143. package/src/layers/schema/carto-raster-tile.ts +4 -0
  144. package/src/layers/schema/carto-spatial-tile-loader.ts +4 -0
  145. package/src/layers/schema/carto-spatial-tile.ts +4 -0
  146. package/src/layers/schema/carto-tile.ts +4 -0
  147. package/src/layers/schema/carto-vector-tile-loader.ts +4 -0
  148. package/src/layers/schema/fast-pbf.ts +4 -0
  149. package/src/layers/schema/spatialjson-utils.ts +4 -0
  150. package/src/layers/schema/tile-loader-utils.ts +4 -0
  151. package/src/layers/spatial-index-tile-layer.ts +4 -0
  152. package/src/layers/utils.ts +5 -1
  153. package/src/layers/vector-tile-layer.ts +5 -1
  154. package/src/style/color-bins-style.ts +4 -0
  155. package/src/style/color-categories-style.ts +4 -0
  156. package/src/style/color-continuous-style.ts +4 -0
  157. package/src/style/palette.ts +4 -0
  158. package/src/style/utils.ts +4 -0
  159. package/src/utils.ts +4 -0
  160. package/src/workers/cartoRasterTile.ts +4 -0
  161. package/src/workers/cartoSpatialTile.ts +4 -0
  162. package/src/workers/cartoVectorTile.ts +4 -0
  163. package/dist/api/carto-api-error.d.ts +0 -19
  164. package/dist/api/carto-api-error.d.ts.map +0 -1
  165. package/dist/api/carto-api-error.js +0 -48
  166. package/dist/api/common.d.ts +0 -5
  167. package/dist/api/common.d.ts.map +0 -1
  168. package/dist/api/common.js +0 -5
  169. package/dist/api/endpoints.d.ts +0 -23
  170. package/dist/api/endpoints.d.ts.map +0 -1
  171. package/dist/api/endpoints.js +0 -22
  172. package/dist/api/query.d.ts +0 -4
  173. package/dist/api/query.d.ts.map +0 -1
  174. package/dist/api/query.js +0 -26
  175. package/dist/api/request-with-parameters.d.ts +0 -9
  176. package/dist/api/request-with-parameters.d.ts.map +0 -1
  177. package/dist/api/request-with-parameters.js +0 -86
  178. package/dist/sources/base-source.d.ts +0 -5
  179. package/dist/sources/base-source.d.ts.map +0 -1
  180. package/dist/sources/base-source.js +0 -60
  181. package/dist/sources/boundary-query-source.d.ts +0 -10
  182. package/dist/sources/boundary-query-source.d.ts.map +0 -1
  183. package/dist/sources/boundary-query-source.js +0 -18
  184. package/dist/sources/boundary-table-source.d.ts +0 -8
  185. package/dist/sources/boundary-table-source.d.ts.map +0 -1
  186. package/dist/sources/boundary-table-source.js +0 -15
  187. package/dist/sources/h3-query-source.d.ts +0 -4
  188. package/dist/sources/h3-query-source.d.ts.map +0 -1
  189. package/dist/sources/h3-query-source.js +0 -22
  190. package/dist/sources/h3-table-source.d.ts +0 -4
  191. package/dist/sources/h3-table-source.d.ts.map +0 -1
  192. package/dist/sources/h3-table-source.js +0 -19
  193. package/dist/sources/h3-tileset-source.d.ts +0 -4
  194. package/dist/sources/h3-tileset-source.d.ts.map +0 -1
  195. package/dist/sources/h3-tileset-source.js +0 -6
  196. package/dist/sources/index.d.ts +0 -28
  197. package/dist/sources/index.d.ts.map +0 -1
  198. package/dist/sources/index.js +0 -13
  199. package/dist/sources/quadbin-query-source.d.ts +0 -4
  200. package/dist/sources/quadbin-query-source.d.ts.map +0 -1
  201. package/dist/sources/quadbin-query-source.js +0 -22
  202. package/dist/sources/quadbin-table-source.d.ts +0 -4
  203. package/dist/sources/quadbin-table-source.d.ts.map +0 -1
  204. package/dist/sources/quadbin-table-source.js +0 -19
  205. package/dist/sources/quadbin-tileset-source.d.ts +0 -4
  206. package/dist/sources/quadbin-tileset-source.d.ts.map +0 -1
  207. package/dist/sources/quadbin-tileset-source.js +0 -6
  208. package/dist/sources/raster-source.d.ts +0 -4
  209. package/dist/sources/raster-source.d.ts.map +0 -1
  210. package/dist/sources/raster-source.js +0 -9
  211. package/dist/sources/types.d.ts +0 -219
  212. package/dist/sources/types.d.ts.map +0 -1
  213. package/dist/sources/types.js +0 -1
  214. package/dist/sources/vector-query-source.d.ts +0 -4
  215. package/dist/sources/vector-query-source.d.ts.map +0 -1
  216. package/dist/sources/vector-query-source.js +0 -22
  217. package/dist/sources/vector-table-source.d.ts +0 -4
  218. package/dist/sources/vector-table-source.d.ts.map +0 -1
  219. package/dist/sources/vector-table-source.js +0 -19
  220. package/dist/sources/vector-tileset-source.d.ts +0 -4
  221. package/dist/sources/vector-tileset-source.d.ts.map +0 -1
  222. package/dist/sources/vector-tileset-source.js +0 -6
  223. package/src/api/carto-api-error.ts +0 -68
  224. package/src/api/common.ts +0 -6
  225. package/src/api/endpoints.ts +0 -69
  226. package/src/api/query.ts +0 -42
  227. package/src/api/request-with-parameters.ts +0 -117
  228. package/src/sources/base-source.ts +0 -79
  229. package/src/sources/boundary-query-source.ts +0 -39
  230. package/src/sources/boundary-table-source.ts +0 -33
  231. package/src/sources/h3-query-source.ts +0 -55
  232. package/src/sources/h3-table-source.ts +0 -51
  233. package/src/sources/h3-tileset-source.ts +0 -14
  234. package/src/sources/index.ts +0 -45
  235. package/src/sources/quadbin-query-source.ts +0 -56
  236. package/src/sources/quadbin-table-source.ts +0 -52
  237. package/src/sources/quadbin-tileset-source.ts +0 -14
  238. package/src/sources/raster-source.ts +0 -17
  239. package/src/sources/types.ts +0 -231
  240. package/src/sources/vector-query-source.ts +0 -57
  241. package/src/sources/vector-table-source.ts +0 -51
  242. package/src/sources/vector-tileset-source.ts +0 -14
package/dist/index.d.ts CHANGED
@@ -15,28 +15,41 @@ declare const CARTO_LAYERS: {
15
15
  VectorTileLayer: typeof VectorTileLayer;
16
16
  };
17
17
  export { CARTO_LAYERS, ClusterTileLayer, H3TileLayer, HeatmapTileLayer, _PointLabelLayer, QuadbinTileLayer, RasterTileLayer, VectorTileLayer };
18
+ export { default as _QuadbinLayer } from "./layers/quadbin-layer.js";
19
+ export { default as _RasterLayer } from "./layers/raster-layer.js";
20
+ export { default as _SpatialIndexTileLayer } from "./layers/spatial-index-tile-layer.js";
21
+ export type { ClusterTileLayerProps } from "./layers/cluster-tile-layer.js";
22
+ export type { H3TileLayerProps } from "./layers/h3-tile-layer.js";
23
+ export type { HeatmapTileLayerProps } from "./layers/heatmap-tile-layer.js";
24
+ export type { PointLabelLayerProps } from "./layers/point-label-layer.js";
25
+ export type { QuadbinLayerProps } from "./layers/quadbin-layer.js";
26
+ export type { QuadbinTileLayerProps } from "./layers/quadbin-tile-layer.js";
27
+ export type { RasterLayerProps } from "./layers/raster-layer.js";
28
+ export type { RasterTileLayerProps } from "./layers/raster-tile-layer.js";
29
+ export type { SpatialIndexTileLayerProps } from "./layers/spatial-index-tile-layer.js";
30
+ export type { VectorTileLayerProps } from "./layers/vector-tile-layer.js";
18
31
  export { default as BASEMAP, GOOGLE_BASEMAPS as _GOOGLE_BASEMAPS, getStyleUrl as _getStyleUrl, fetchStyle as _fetchStyle, applyLayerGroupFilters as _applyLayerGroupFilters, STYLE_LAYER_GROUPS as _STYLE_LAYER_GROUPS } from "./basemap.js";
19
32
  export { default as colorBins } from "./style/color-bins-style.js";
20
33
  export { default as colorCategories } from "./style/color-categories-style.js";
21
34
  export { default as colorContinuous } from "./style/color-continuous-style.js";
22
- export { CartoAPIError, fetchMap, query } from "./api/index.js";
35
+ export { fetchMap } from "./api/index.js";
23
36
  export { fetchBasemapProps } from "./api/basemap.js";
24
- export type { APIErrorContext, FetchMapOptions, FetchMapResult, Format, MapType, RequestType, QueryParameters, QueryOptions, Basemap as _Basemap, MapLibreBasemap as _MapLibreBasemap, GoogleBasemap as _GoogleBasemap } from "./api/index.js";
25
- import { boundaryQuerySource, boundaryTableSource, h3QuerySource, h3TableSource, h3TilesetSource, rasterSource, quadbinQuerySource, quadbinTableSource, quadbinTilesetSource, vectorQuerySource, vectorTableSource, vectorTilesetSource, SOURCE_DEFAULTS } from "./sources/index.js";
37
+ export type { FetchMapOptions, FetchMapResult, Basemap as _Basemap, MapLibreBasemap as _MapLibreBasemap, GoogleBasemap as _GoogleBasemap } from "./api/index.js";
38
+ import { boundaryQuerySource, boundaryTableSource, h3QuerySource, h3TableSource, h3TilesetSource, rasterSource, quadbinQuerySource, quadbinTableSource, quadbinTilesetSource, vectorQuerySource, vectorTableSource, vectorTilesetSource, SOURCE_DEFAULTS } from '@carto/api-client';
26
39
  declare const CARTO_SOURCES: {
27
- boundaryQuerySource: (options: import("./sources/boundary-query-source").BoundaryQuerySourceOptions) => Promise<import("./sources/types").TilejsonResult>;
28
- boundaryTableSource: (options: import("./sources/boundary-table-source").BoundaryTableSourceOptions) => Promise<import("./sources/types").TilejsonResult>;
29
- h3QuerySource: (options: import("./sources/h3-query-source").H3QuerySourceOptions) => Promise<import("./sources/types").TilejsonResult>;
30
- h3TableSource: (options: import("./sources/h3-table-source").H3TableSourceOptions) => Promise<import("./sources/types").TilejsonResult>;
31
- h3TilesetSource: (options: import("./sources/h3-tileset-source").H3TilesetSourceOptions) => Promise<import("./sources/types").TilejsonResult>;
32
- rasterSource: (options: import("./sources/raster-source").RasterSourceOptions) => Promise<import("./sources/types").TilejsonResult>;
33
- quadbinQuerySource: (options: import("./sources/quadbin-query-source").QuadbinQuerySourceOptions) => Promise<import("./sources/types").TilejsonResult>;
34
- quadbinTableSource: (options: import("./sources/quadbin-table-source").QuadbinTableSourceOptions) => Promise<import("./sources/types").TilejsonResult>;
35
- quadbinTilesetSource: (options: import("./sources/quadbin-tileset-source").QuadbinTilesetSourceOptions) => Promise<import("./sources/types").TilejsonResult>;
36
- vectorQuerySource: (options: import("./sources/vector-query-source").VectorQuerySourceOptions) => Promise<import("./sources/types").TilejsonResult>;
37
- vectorTableSource: (options: import("./sources/vector-table-source").VectorTableSourceOptions) => Promise<import("./sources/types").TilejsonResult>;
38
- vectorTilesetSource: (options: import("./sources/vector-tileset-source").VectorTilesetSourceOptions) => Promise<import("./sources/types").TilejsonResult>;
40
+ boundaryQuerySource: (options: import("@carto/api-client").BoundaryQuerySourceOptions) => Promise<import("@carto/api-client").TilejsonResult>;
41
+ boundaryTableSource: (options: import("@carto/api-client").BoundaryTableSourceOptions) => Promise<import("@carto/api-client").TilejsonResult>;
42
+ h3QuerySource: (options: import("@carto/api-client").H3QuerySourceOptions) => Promise<import("@carto/api-client").TilejsonResult & import("@carto/api-client").WidgetQuerySourceResult>;
43
+ h3TableSource: (options: import("@carto/api-client").H3TableSourceOptions) => Promise<import("@carto/api-client").TilejsonResult & import("@carto/api-client").WidgetTableSourceResult>;
44
+ h3TilesetSource: (options: import("@carto/api-client").H3TilesetSourceOptions) => Promise<import("@carto/api-client").TilejsonResult>;
45
+ rasterSource: (options: import("@carto/api-client").RasterSourceOptions) => Promise<import("@carto/api-client").TilejsonResult>;
46
+ quadbinQuerySource: (options: import("@carto/api-client").QuadbinQuerySourceOptions) => Promise<import("@carto/api-client").TilejsonResult & import("@carto/api-client").WidgetQuerySourceResult>;
47
+ quadbinTableSource: (options: import("@carto/api-client").QuadbinTableSourceOptions) => Promise<import("@carto/api-client").TilejsonResult & import("@carto/api-client").WidgetTableSourceResult>;
48
+ quadbinTilesetSource: (options: import("@carto/api-client").QuadbinTilesetSourceOptions) => Promise<import("@carto/api-client").TilejsonResult>;
49
+ vectorQuerySource: (options: import("@carto/api-client").VectorQuerySourceOptions) => Promise<import("@carto/api-client").TilejsonResult & import("@carto/api-client").WidgetQuerySourceResult>;
50
+ vectorTableSource: (options: import("@carto/api-client").VectorTableSourceOptions) => Promise<import("@carto/api-client").TilejsonResult & import("@carto/api-client").WidgetTableSourceResult>;
51
+ vectorTilesetSource: (options: import("@carto/api-client").VectorTilesetSourceOptions) => Promise<import("@carto/api-client").TilejsonResult>;
39
52
  };
40
53
  export { boundaryQuerySource, boundaryTableSource, h3QuerySource, h3TableSource, h3TilesetSource, rasterSource, quadbinQuerySource, quadbinTableSource, quadbinTilesetSource, vectorQuerySource, vectorTableSource, vectorTilesetSource, CARTO_SOURCES, SOURCE_DEFAULTS };
41
- export type { GeojsonResult, JsonResult, TilejsonResult, SourceOptions, QuerySourceOptions, TableSourceOptions, TilesetSourceOptions, BoundaryQuerySourceOptions, BoundaryTableSourceOptions, H3QuerySourceOptions, H3TableSourceOptions, H3TilesetSourceOptions, RasterSourceOptions, QuadbinQuerySourceOptions, QuadbinTableSourceOptions, QuadbinTilesetSourceOptions, VectorQuerySourceOptions, VectorTableSourceOptions, VectorTilesetSourceOptions } from "./sources/index.js";
54
+ export type { GeojsonResult, JsonResult, TilejsonResult, SourceOptions, QuerySourceOptions, TableSourceOptions, TilesetSourceOptions, BoundaryQuerySourceOptions, BoundaryTableSourceOptions, H3QuerySourceOptions, H3TableSourceOptions, H3TilesetSourceOptions, RasterSourceOptions, QuadbinQuerySourceOptions, QuadbinTableSourceOptions, QuadbinTilesetSourceOptions, VectorQuerySourceOptions, VectorTableSourceOptions, VectorTilesetSourceOptions } from '@carto/api-client';
42
55
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,uCAAoC;AACxE,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,kCAA+B;AAC9D,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,uCAAoC;AACxE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,sCAAmC;AACvE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,uCAAoC;AACxE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,sCAAmC;AACtE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,sCAAmC;AACtE,QAAA,MAAM,YAAY;;;;;;;;CAQjB,CAAC;AACF,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,eAAe,EAChB,CAAC;AAEF,OAAO,EACL,OAAO,IAAI,OAAO,EAClB,eAAe,IAAI,gBAAgB,EACnC,WAAW,IAAI,YAAY,EAC3B,UAAU,IAAI,WAAW,EACzB,sBAAsB,IAAI,uBAAuB,EACjD,kBAAkB,IAAI,mBAAmB,EAC1C,qBAAkB;AACnB,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,oCAAiC;AAC9D,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,0CAAuC;AAC1E,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,0CAAuC;AAC1E,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAC,uBAAoB;AAC3D,OAAO,EAAC,iBAAiB,EAAC,yBAAsB;AAChD,YAAY,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,MAAM,EACN,OAAO,EACP,WAAW,EACX,eAAe,EACf,YAAY,EACZ,OAAO,IAAI,QAAQ,EACnB,eAAe,IAAI,gBAAgB,EACnC,aAAa,IAAI,cAAc,EAChC,uBAAoB;AAErB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EAChB,2BAAwB;AAEzB,QAAA,MAAM,aAAa;;;;;;;;;;;;;CAalB,CAAC;AAEF,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,eAAe,EAChB,CAAC;AAEF,YAAY,EACV,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC3B,2BAAwB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,uCAAoC;AACxE,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,kCAA+B;AAC9D,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,uCAAoC;AACxE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,sCAAmC;AACvE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,uCAAoC;AACxE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,sCAAmC;AACtE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,sCAAmC;AAGtE,QAAA,MAAM,YAAY;;;;;;;;CAQjB,CAAC;AACF,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,eAAe,EAChB,CAAC;AAGF,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,kCAA+B;AAChE,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,iCAA8B;AAC9D,OAAO,EAAC,OAAO,IAAI,sBAAsB,EAAC,6CAA0C;AAGpF,YAAY,EAAC,qBAAqB,EAAC,uCAAoC;AACvE,YAAY,EAAC,gBAAgB,EAAC,kCAA+B;AAC7D,YAAY,EAAC,qBAAqB,EAAC,uCAAoC;AACvE,YAAY,EAAC,oBAAoB,EAAC,sCAAmC;AACrE,YAAY,EAAC,iBAAiB,EAAC,kCAA+B;AAC9D,YAAY,EAAC,qBAAqB,EAAC,uCAAoC;AACvE,YAAY,EAAC,gBAAgB,EAAC,iCAA8B;AAC5D,YAAY,EAAC,oBAAoB,EAAC,sCAAmC;AACrE,YAAY,EAAC,0BAA0B,EAAC,6CAA0C;AAClF,YAAY,EAAC,oBAAoB,EAAC,sCAAmC;AAGrE,OAAO,EACL,OAAO,IAAI,OAAO,EAClB,eAAe,IAAI,gBAAgB,EACnC,WAAW,IAAI,YAAY,EAC3B,UAAU,IAAI,WAAW,EACzB,sBAAsB,IAAI,uBAAuB,EACjD,kBAAkB,IAAI,mBAAmB,EAC1C,qBAAkB;AACnB,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,oCAAiC;AAC9D,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,0CAAuC;AAC1E,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,0CAAuC;AAC1E,OAAO,EAAC,QAAQ,EAAC,uBAAoB;AACrC,OAAO,EAAC,iBAAiB,EAAC,yBAAsB;AAChD,YAAY,EACV,eAAe,EACf,cAAc,EACd,OAAO,IAAI,QAAQ,EACnB,eAAe,IAAI,gBAAgB,EACnC,aAAa,IAAI,cAAc,EAChC,uBAAoB;AAErB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,QAAA,MAAM,aAAa;;;;;;;;;;;;;CAalB,CAAC;AAEF,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,eAAe,EAChB,CAAC;AAEF,YAAY,EACV,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,7 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ // CARTO Layers
1
5
  import { default as ClusterTileLayer } from "./layers/cluster-tile-layer.js";
2
6
  import { default as H3TileLayer } from "./layers/h3-tile-layer.js";
3
7
  import { default as HeatmapTileLayer } from "./layers/heatmap-tile-layer.js";
@@ -5,6 +9,7 @@ import { default as _PointLabelLayer } from "./layers/point-label-layer.js";
5
9
  import { default as QuadbinTileLayer } from "./layers/quadbin-tile-layer.js";
6
10
  import { default as RasterTileLayer } from "./layers/raster-tile-layer.js";
7
11
  import { default as VectorTileLayer } from "./layers/vector-tile-layer.js";
12
+ // Exports for playground/bindings
8
13
  const CARTO_LAYERS = {
9
14
  ClusterTileLayer,
10
15
  H3TileLayer,
@@ -15,13 +20,18 @@ const CARTO_LAYERS = {
15
20
  VectorTileLayer
16
21
  };
17
22
  export { CARTO_LAYERS, ClusterTileLayer, H3TileLayer, HeatmapTileLayer, _PointLabelLayer, QuadbinTileLayer, RasterTileLayer, VectorTileLayer };
23
+ // Internal Layers
24
+ export { default as _QuadbinLayer } from "./layers/quadbin-layer.js";
25
+ export { default as _RasterLayer } from "./layers/raster-layer.js";
26
+ export { default as _SpatialIndexTileLayer } from "./layers/spatial-index-tile-layer.js";
27
+ // Helpers
18
28
  export { default as BASEMAP, GOOGLE_BASEMAPS as _GOOGLE_BASEMAPS, getStyleUrl as _getStyleUrl, fetchStyle as _fetchStyle, applyLayerGroupFilters as _applyLayerGroupFilters, STYLE_LAYER_GROUPS as _STYLE_LAYER_GROUPS } from "./basemap.js";
19
29
  export { default as colorBins } from "./style/color-bins-style.js";
20
30
  export { default as colorCategories } from "./style/color-categories-style.js";
21
31
  export { default as colorContinuous } from "./style/color-continuous-style.js";
22
- export { CartoAPIError, fetchMap, query } from "./api/index.js";
32
+ export { fetchMap } from "./api/index.js";
23
33
  export { fetchBasemapProps } from "./api/basemap.js";
24
- import { boundaryQuerySource, boundaryTableSource, h3QuerySource, h3TableSource, h3TilesetSource, rasterSource, quadbinQuerySource, quadbinTableSource, quadbinTilesetSource, vectorQuerySource, vectorTableSource, vectorTilesetSource, SOURCE_DEFAULTS } from "./sources/index.js";
34
+ import { boundaryQuerySource, boundaryTableSource, h3QuerySource, h3TableSource, h3TilesetSource, rasterSource, quadbinQuerySource, quadbinTableSource, quadbinTilesetSource, vectorQuerySource, vectorTableSource, vectorTilesetSource, SOURCE_DEFAULTS } from '@carto/api-client';
25
35
  const CARTO_SOURCES = {
26
36
  boundaryQuerySource,
27
37
  boundaryTableSource,
@@ -3,7 +3,7 @@ import { TileLayerProps, TileLayerPickingInfo } from '@deck.gl/geo-layers';
3
3
  import type { Feature, Geometry } from 'geojson';
4
4
  import { Accessor, DefaultProps, CompositeLayer, Layer, LayersList, PickingInfo } from '@deck.gl/core';
5
5
  import { ClusteredFeaturePropertiesT, ParsedQuadbinCell, ParsedQuadbinTile } from "./cluster-utils.js";
6
- import type { TilejsonResult } from "../sources/types.js";
6
+ import type { TilejsonResult } from '@carto/api-client';
7
7
  export type ClusterTileLayerPickingInfo<FeaturePropertiesT = {}> = TileLayerPickingInfo<ParsedQuadbinTile<FeaturePropertiesT>, PickingInfo<Feature<Geometry, FeaturePropertiesT>>>;
8
8
  /** All properties supported by ClusterTileLayer. */
9
9
  export type ClusterTileLayerProps<FeaturePropertiesT = unknown> = _ClusterTileLayerProps<FeaturePropertiesT> & Omit<TileLayerProps<ParsedQuadbinTile<FeaturePropertiesT>>, 'data'>;
@@ -1 +1 @@
1
- {"version":3,"file":"cluster-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/cluster-tile-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAGL,cAAc,EACd,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAE/C,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,cAAc,EAGd,KAAK,EACL,UAAU,EACV,WAAW,EACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAEL,2BAA2B,EAI3B,iBAAiB,EACjB,iBAAiB,EAClB,2BAAwB;AAMzB,OAAO,KAAK,EAAC,cAAc,EAAC,4BAAyB;AAgBrD,MAAM,MAAM,2BAA2B,CAAC,kBAAkB,GAAG,EAAE,IAAI,oBAAoB,CACrF,iBAAiB,CAAC,kBAAkB,CAAC,EACrC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CACnD,CAAC;AAEF,oDAAoD;AACpD,MAAM,MAAM,qBAAqB,CAAC,kBAAkB,GAAG,OAAO,IAC5D,sBAAsB,CAAC,kBAAkB,CAAC,GACxC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAExE,4CAA4C;AAC5C,KAAK,sBAAsB,CAAC,kBAAkB,IAAI,IAAI,CACpD,iBAAiB,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,CAAC,EAClE,MAAM,CACP,GAAG;IACF,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEtD;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEhF;;;;OAIG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAC;CACrE,CAAC;AAiHF,MAAM,CAAC,OAAO,OAAO,gBAAgB,CACnC,kBAAkB,GAAG,GAAG,EACxB,UAAU,SAAS,EAAE,GAAG,EAAE,CAC1B,SAAQ,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACzF,MAAM,CAAC,SAAS,SAAsB;IACtC,MAAM,CAAC,YAAY,+CAAgB;IAEnC,cAAc,IAAI,GAAG;IAQrB,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;CAiB1C"}
1
+ {"version":3,"file":"cluster-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/cluster-tile-layer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAGL,cAAc,EACd,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAE/C,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,cAAc,EAGd,KAAK,EACL,UAAU,EACV,WAAW,EACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAEL,2BAA2B,EAI3B,iBAAiB,EACjB,iBAAiB,EAClB,2BAAwB;AAMzB,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAgBtD,MAAM,MAAM,2BAA2B,CAAC,kBAAkB,GAAG,EAAE,IAAI,oBAAoB,CACrF,iBAAiB,CAAC,kBAAkB,CAAC,EACrC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CACnD,CAAC;AAEF,oDAAoD;AACpD,MAAM,MAAM,qBAAqB,CAAC,kBAAkB,GAAG,OAAO,IAC5D,sBAAsB,CAAC,kBAAkB,CAAC,GACxC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAExE,4CAA4C;AAC5C,KAAK,sBAAsB,CAAC,kBAAkB,IAAI,IAAI,CACpD,iBAAiB,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,CAAC,EAClE,MAAM,CACP,GAAG;IACF,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEtD;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEhF;;;;OAIG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAC;CACrE,CAAC;AAkHF,MAAM,CAAC,OAAO,OAAO,gBAAgB,CACnC,kBAAkB,GAAG,GAAG,EACxB,UAAU,SAAS,EAAE,GAAG,EAAE,CAC1B,SAAQ,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACzF,MAAM,CAAC,SAAS,SAAsB;IACtC,MAAM,CAAC,YAAY,+CAAgB;IAEnC,cAAc,IAAI,GAAG;IAQrB,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;CAiB1C"}
@@ -1,3 +1,6 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { GeoJsonLayer } from '@deck.gl/layers';
2
5
  import { TileLayer } from '@deck.gl/geo-layers';
3
6
  import { registerLoaders } from '@loaders.gl/core';
@@ -26,6 +29,7 @@ class ClusterGeoJsonLayer extends TileLayer {
26
29
  super.initializeState();
27
30
  this.state.aggregationCache = new WeakMap();
28
31
  }
32
+ // eslint-disable-next-line max-statements
29
33
  renderLayers() {
30
34
  const visibleTiles = this.state.tileset?.tiles.filter((tile) => {
31
35
  return tile.isLoaded && tile.content && this.state.tileset.isTileVisible(tile);
@@ -1 +1 @@
1
- {"version":3,"file":"cluster-utils.d.ts","sourceRoot":"","sources":["../../src/layers/cluster-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,IAAI,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAC,QAAQ,EAAM,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC;AAE3D,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAC9E,MAAM,MAAM,qBAAqB,CAAC,kBAAkB,IAAI;IACtD,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,MAAM,kBAAkB,CAAC;CAChC,EAAE,CAAC;AACJ,MAAM,MAAM,2BAA2B,CAAC,kBAAkB,IAAI,kBAAkB,GAAG;IACjF,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B,CAAC;AACF,MAAM,MAAM,iBAAiB,CAAC,kBAAkB,IAAI;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAA;CAAC,CAAC;AACjG,MAAM,MAAM,iBAAiB,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,CAAC;AAE5F;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,kBAAkB,EAC9C,IAAI,EAAE,YAAY,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,EACzD,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,EAAE,CAAC,EACpF,iBAAiB,EAAE,MAAM,EACzB,UAAU,uDAAgD,EAC1D,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC9E,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,GACjE,OAAO,CAoET;AAED,wBAAgB,4BAA4B,CAAC,kBAAkB,SAAS,EAAE,EACxE,IAAI,EAAE,YAAY,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,GACxD,qBAAqB,CAAC,kBAAkB,CAAC,CAa3C;AAED,wBAAgB,uBAAuB,CAAC,kBAAkB,EACxD,IAAI,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,EAAE,EACvD,UAAU,EAAE,qBAAqB,CAAC,kBAAkB,CAAC;SAEM,MAAM;SAAO,MAAM;GAY/E;AAWD,KAAK,gCAAgC,CAAC,kBAAkB,IAAI,IAAI,CAC9D,uBAAuB,EACvB,QAAQ,CACT,GAAG;IACF,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC,GAAG;QAC1C,UAAU,CAAC,EAAE;YACX,KAAK,EAAE,MAAM,CAAC,MAAM,kBAAkB,EAAE;gBAAC,GAAG,EAAE,MAAM,CAAC;gBAAC,GAAG,EAAE,MAAM,CAAA;aAAC,CAAC,CAAC;SACrE,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,kBAAkB,EACjD,IAAI,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,EAAE,GACtD,gCAAgC,CAAC,kBAAkB,CAAC,CA8BtD"}
1
+ {"version":3,"file":"cluster-utils.d.ts","sourceRoot":"","sources":["../../src/layers/cluster-utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,aAAa,IAAI,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAC,QAAQ,EAAM,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC;AAE3D,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAC9E,MAAM,MAAM,qBAAqB,CAAC,kBAAkB,IAAI;IACtD,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,MAAM,kBAAkB,CAAC;CAChC,EAAE,CAAC;AACJ,MAAM,MAAM,2BAA2B,CAAC,kBAAkB,IAAI,kBAAkB,GAAG;IACjF,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B,CAAC;AACF,MAAM,MAAM,iBAAiB,CAAC,kBAAkB,IAAI;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAA;CAAC,CAAC;AACjG,MAAM,MAAM,iBAAiB,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,CAAC;AAE5F;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,kBAAkB,EAC9C,IAAI,EAAE,YAAY,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,EACzD,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,EAAE,CAAC,EACpF,iBAAiB,EAAE,MAAM,EACzB,UAAU,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,YAAK,EAC1D,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC9E,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,GACjE,OAAO,CAoET;AAED,wBAAgB,4BAA4B,CAAC,kBAAkB,SAAS,EAAE,EACxE,IAAI,EAAE,YAAY,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,GACxD,qBAAqB,CAAC,kBAAkB,CAAC,CAa3C;AAED,wBAAgB,uBAAuB,CAAC,kBAAkB,EACxD,IAAI,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,EAAE,EACvD,UAAU,EAAE,qBAAqB,CAAC,kBAAkB,CAAC;SAEM,MAAM;SAAO,MAAM;GAY/E;AAWD,KAAK,gCAAgC,CAAC,kBAAkB,IAAI,IAAI,CAC9D,uBAAuB,EACvB,QAAQ,CACT,GAAG;IACF,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC,GAAG;QAC1C,UAAU,CAAC,EAAE;YACX,KAAK,EAAE,MAAM,CAAC,MAAM,kBAAkB,EAAE;gBAAC,GAAG,EAAE,MAAM,CAAC;gBAAC,GAAG,EAAE,MAAM,CAAA;aAAC,CAAC,CAAC;SACrE,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,kBAAkB,EACjD,IAAI,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,EAAE,GACtD,gCAAgC,CAAC,kBAAkB,CAAC,CA8BtD"}
@@ -1,3 +1,6 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { cellToParent } from 'quadbin';
2
5
  import { log } from '@deck.gl/core';
3
6
  /**
@@ -1,7 +1,7 @@
1
- import { CompositeLayer, CompositeLayerProps, Layer, LayersList, DefaultProps } from '@deck.gl/core';
1
+ import { CompositeLayer, CompositeLayerProps, DefaultProps } from '@deck.gl/core';
2
2
  import { H3HexagonLayer, H3HexagonLayerProps } from '@deck.gl/geo-layers';
3
- import { SpatialIndexTileLayerProps } from "./spatial-index-tile-layer.js";
4
- import type { TilejsonResult } from "../sources/types.js";
3
+ import SpatialIndexTileLayer, { SpatialIndexTileLayerProps } from "./spatial-index-tile-layer.js";
4
+ import type { TilejsonResult } from '@carto/api-client';
5
5
  export declare const renderSubLayers: (props: any) => H3HexagonLayer<any, {
6
6
  getHexagon: (d: any) => any;
7
7
  centerHexagon: any;
@@ -18,7 +18,7 @@ export default class H3TileLayer<DataT = any, ExtraPropsT extends {} = {}> exten
18
18
  static defaultProps: DefaultProps<H3TileLayerProps<unknown>>;
19
19
  initializeState(): void;
20
20
  getLoadOptions(): any;
21
- renderLayers(): Layer | null | LayersList;
21
+ renderLayers(): SpatialIndexTileLayer | null;
22
22
  }
23
23
  export {};
24
24
  //# sourceMappingURL=h3-tile-layer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"h3-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/h3-tile-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AACnG,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAExE,OAA8B,EAAC,0BAA0B,EAAC,sCAAmC;AAC7F,OAAO,KAAK,EAAC,cAAc,EAAC,4BAAyB;AAIrD,eAAO,MAAM,eAAe;;;;SAU3B,CAAC;AAOF,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,CAAC,KAAK,GAAG,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC;AAE/F,uCAAuC;AACvC,KAAK,iBAAiB,CAAC,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GACtE,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG;IAChD,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACvD,CAAC;AAEJ,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,KAAK,GAAG,GAAG,EAAE,WAAW,SAAS,EAAE,GAAG,EAAE,CAAE,SAAQ,cAAc,CAC/F,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CACjD;IACC,MAAM,CAAC,SAAS,SAAiB;IACjC,MAAM,CAAC,YAAY,0CAAgB;IAEnC,eAAe,IAAI,IAAI;IAIvB,cAAc,IAAI,GAAG;IAQrB,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;CAsC1C"}
1
+ {"version":3,"file":"h3-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/h3-tile-layer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAqB,YAAY,EAAC,MAAM,eAAe,CAAC;AACnG,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAExE,OAAO,qBAAqB,EAAE,EAAC,0BAA0B,EAAC,sCAAmC;AAC7F,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAItD,eAAO,MAAM,eAAe;;;;SAU3B,CAAC;AAOF,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,CAAC,KAAK,GAAG,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC;AAE/F,uCAAuC;AACvC,KAAK,iBAAiB,CAAC,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GACtE,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG;IAChD,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACvD,CAAC;AAEJ,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,KAAK,GAAG,GAAG,EAAE,WAAW,SAAS,EAAE,GAAG,EAAE,CAAE,SAAQ,cAAc,CAC/F,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CACjD;IACC,MAAM,CAAC,SAAS,SAAiB;IACjC,MAAM,CAAC,YAAY,0CAAgB;IAEnC,eAAe,IAAI,IAAI;IAIvB,cAAc,IAAI,GAAG;IAQrB,YAAY,IAAI,qBAAqB,GAAG,IAAI;CAoC7C"}
@@ -1,3 +1,6 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { CompositeLayer } from '@deck.gl/core';
2
5
  import { H3HexagonLayer } from '@deck.gl/geo-layers';
3
6
  import H3Tileset2D, { getHexagonResolution } from "./h3-tileset-2d.js";
@@ -44,22 +47,20 @@ class H3TileLayer extends CompositeLayer {
44
47
  if (this.props.maxZoom) {
45
48
  maxresolution = Math.min(maxresolution, getHexagonResolution({ zoom: this.props.maxZoom, latitude: 0 }, this.props.tileSize));
46
49
  }
50
+ const SubLayerClass = this.getSubLayerClass('spatial-index-tile', SpatialIndexTileLayer);
47
51
  // The naming is unfortunate, but minZoom & maxZoom in the context
48
52
  // of a Tileset2D refer to the resolution levels, not the Mercator zooms
49
- return [
50
- // @ts-ignore
51
- new SpatialIndexTileLayer(this.props, {
52
- id: `h3-tile-layer-${this.props.id}`,
53
- data,
54
- // TODO: Tileset2D should be generic over TileIndex type
55
- TilesetClass: H3Tileset2D,
56
- renderSubLayers,
57
- // minZoom and maxZoom are H3 resolutions, however we must use this naming as that is what the Tileset2D class expects
58
- minZoom: minresolution,
59
- maxZoom: maxresolution,
60
- loadOptions: this.getLoadOptions()
61
- })
62
- ];
53
+ return new SubLayerClass(this.props, {
54
+ id: `h3-tile-layer-${this.props.id}`,
55
+ data,
56
+ // TODO: Tileset2D should be generic over TileIndex type
57
+ TilesetClass: H3Tileset2D,
58
+ renderSubLayers,
59
+ // minZoom and maxZoom are H3 resolutions, however we must use this naming as that is what the Tileset2D class expects
60
+ minZoom: minresolution,
61
+ maxZoom: maxresolution,
62
+ loadOptions: this.getLoadOptions()
63
+ });
63
64
  }
64
65
  }
65
66
  H3TileLayer.layerName = 'H3TileLayer';
@@ -1 +1 @@
1
- {"version":3,"file":"h3-tileset-2d.d.ts","sourceRoot":"","sources":["../../src/layers/h3-tileset-2d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,IAAI,SAAS,EAAE,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAa5E,MAAM,MAAM,WAAW,GAAG;IAAC,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AA6EtC,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,EAC1C,QAAQ,EAAE,MAAM,GACf,MAAM,CASR;AAED,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,SAAS;IAChD;;;;OAIG;IAEH,cAAc,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAC;;;;KAAA,GAAG,WAAW,EAAE;IA2B3D,SAAS,CAAC,EAAC,CAAC,EAAC,EAAE,WAAW,GAAG,MAAM;IAKnC,eAAe,CAAC,EAAC,CAAC,EAAC,EAAE,WAAW;;;IAKhC,WAAW,CAAC,EAAC,CAAC,EAAC,EAAE,WAAW,GAAG,MAAM;IAKrC,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;CAKhD"}
1
+ {"version":3,"file":"h3-tileset-2d.d.ts","sourceRoot":"","sources":["../../src/layers/h3-tileset-2d.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,IAAI,SAAS,EAAE,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAa5E,MAAM,MAAM,WAAW,GAAG;IAAC,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AA6EtC,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,EAC1C,QAAQ,EAAE,MAAM,GACf,MAAM,CASR;AAED,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,SAAS;IAChD;;;;OAIG;IAEH,cAAc,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAC;;;;KAAA,GAAG,WAAW,EAAE;IA2B3D,SAAS,CAAC,EAAC,CAAC,EAAC,EAAE,WAAW,GAAG,MAAM;IAKnC,eAAe,CAAC,EAAC,CAAC,EAAC,EAAE,WAAW;;;IAKhC,WAAW,CAAC,EAAC,CAAC,EAAC,EAAE,WAAW,GAAG,MAAM;IAKrC,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;CAKhD"}
@@ -1,3 +1,6 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { _Tileset2D as Tileset2D } from '@deck.gl/geo-layers';
2
5
  import { polygonToCells, latLngToCell, getResolution, cellToBoundary, cellToParent, gridDisk, edgeLength, UNITS, originToDirectedEdges } from 'h3-js';
3
6
  const MAX_LATITUDE = 85.051128;
@@ -1,14 +1,21 @@
1
- import { Accessor, CompositeLayer, CompositeLayerProps, DefaultProps, Layer } from '@deck.gl/core';
1
+ import { Accessor, Color, CompositeLayer, CompositeLayerProps, DefaultProps, Layer, UpdateParameters } from '@deck.gl/core';
2
2
  import { HeatmapProps } from "./heatmap.js";
3
3
  import { QuadbinTileLayerProps } from "./quadbin-tile-layer.js";
4
- import { TilejsonResult } from "../sources.js";
4
+ import { TilejsonResult } from '@carto/api-client';
5
5
  import { _Tile2DHeader as Tile2DHeader } from '@deck.gl/geo-layers';
6
+ import { Texture } from '@luma.gl/core';
6
7
  /** All properties supported by HeatmapTileLayer. */
7
8
  export type HeatmapTileLayerProps<DataT = unknown> = _HeatmapTileLayerProps<DataT> & CompositeLayerProps & {
8
9
  data: null | TilejsonResult | Promise<TilejsonResult>;
9
10
  };
10
11
  /** Properties added by HeatmapTileLayer. */
11
12
  type _HeatmapTileLayerProps<DataT> = QuadbinTileLayerProps<DataT> & HeatmapProps & {
13
+ /**
14
+ * Specified as an array of colors [color1, color2, ...].
15
+ *
16
+ * @default `6-class YlOrRd` - [colorbrewer](http://colorbrewer2.org/#type=sequential&scheme=YlOrRd&n=6)
17
+ */
18
+ colorRange: Color[];
12
19
  /**
13
20
  * The weight of each object.
14
21
  *
@@ -22,6 +29,7 @@ declare class HeatmapTileLayer<DataT = any, ExtraProps extends {} = {}> extends
22
29
  static layerName: string;
23
30
  static defaultProps: DefaultProps<HeatmapTileLayerProps<unknown>>;
24
31
  state: {
32
+ colorTexture?: Texture;
25
33
  isLoaded: boolean;
26
34
  tiles: Set<Tile2DHeader>;
27
35
  viewportChanged?: boolean;
@@ -30,7 +38,9 @@ declare class HeatmapTileLayer<DataT = any, ExtraProps extends {} = {}> extends
30
38
  shouldUpdateState({ changeFlags }: {
31
39
  changeFlags: any;
32
40
  }): boolean;
41
+ updateState(opts: UpdateParameters<this>): void;
33
42
  renderLayers(): Layer;
43
+ _updateColorTexture(opts: any): void;
34
44
  }
35
45
  export default HeatmapTileLayer;
36
46
  //# sourceMappingURL=heatmap-tile-layer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"heatmap-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/heatmap-tile-layer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,KAAK,EAAC,MAAM,eAAe,CAAC;AAGjG,OAAO,EAAC,YAAY,EAAU,qBAAkB;AAEhD,OAAyB,EAAC,qBAAqB,EAAC,gCAA6B;AAE7E,OAAO,EAAC,cAAc,EAAC,sBAAmB;AAC1C,OAAO,EAAC,aAAa,IAAI,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAkElE,oDAAoD;AACpD,MAAM,MAAM,qBAAqB,CAAC,KAAK,GAAG,OAAO,IAAI,sBAAsB,CAAC,KAAK,CAAC,GAChF,mBAAmB,GAAG;IACpB,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACvD,CAAC;AAEJ,4CAA4C;AAC5C,KAAK,sBAAsB,CAAC,KAAK,IAAI,qBAAqB,CAAC,KAAK,CAAC,GAC/D,YAAY,GAAG;IACb;;;;OAIG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEpC,8DAA8D;IAC9D,kBAAkB,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC5D,CAAC;AAEJ,cAAM,gBAAgB,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,SAAS,EAAE,GAAG,EAAE,CAAE,SAAQ,cAAc,CACpF,UAAU,GAAG,QAAQ,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CACrD;IACC,MAAM,CAAC,SAAS,SAAsB;IACtC,MAAM,CAAC,YAAY,+CAAgB;IAEnC,KAAK,EAAG;QACN,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACzB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,eAAe;IAQf,iBAAiB,CAAC,EAAC,WAAW,EAAC;;KAAA,GAAG,OAAO;IAMzC,YAAY,IAAI,KAAK;CAgHtB;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"heatmap-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/heatmap-tile-layer.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,QAAQ,EACR,KAAK,EACL,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,KAAK,EACL,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAC,YAAY,EAAU,qBAAkB;AAEhD,OAAyB,EAAC,qBAAqB,EAAC,gCAA6B;AAE7E,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAC,aAAa,IAAI,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAC,OAAO,EAAe,MAAM,eAAe,CAAC;AAuHpD,oDAAoD;AACpD,MAAM,MAAM,qBAAqB,CAAC,KAAK,GAAG,OAAO,IAAI,sBAAsB,CAAC,KAAK,CAAC,GAChF,mBAAmB,GAAG;IACpB,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACvD,CAAC;AAEJ,4CAA4C;AAC5C,KAAK,sBAAsB,CAAC,KAAK,IAAI,qBAAqB,CAAC,KAAK,CAAC,GAC/D,YAAY,GAAG;IACb;;;;OAIG;IACH,UAAU,EAAE,KAAK,EAAE,CAAC;IAEpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEpC,8DAA8D;IAC9D,kBAAkB,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC5D,CAAC;AAEJ,cAAM,gBAAgB,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,SAAS,EAAE,GAAG,EAAE,CAAE,SAAQ,cAAc,CACpF,UAAU,GAAG,QAAQ,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CACrD;IACC,MAAM,CAAC,SAAS,SAAsB;IACtC,MAAM,CAAC,YAAY,+CAAgB;IAEnC,KAAK,EAAG;QACN,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACzB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,eAAe;IAQf,iBAAiB,CAAC,EAAC,WAAW,EAAC;;KAAA,GAAG,OAAO;IAMzC,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAQxC,YAAY,IAAI,KAAK;IAiHrB,mBAAmB,CAAC,IAAI,KAAA;CAoBzB;AAED,eAAe,gBAAgB,CAAC"}
@@ -1,3 +1,6 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { getResolution } from 'quadbin';
2
5
  import { CompositeLayer } from '@deck.gl/core';
3
6
  import { SolidPolygonLayer } from '@deck.gl/layers';
@@ -5,6 +8,24 @@ import { heatmap } from "./heatmap.js";
5
8
  import { RTTModifier, PostProcessModifier } from "./post-process-utils.js";
6
9
  import QuadbinTileLayer from "./quadbin-tile-layer.js";
7
10
  import { TilejsonPropType } from "./utils.js";
11
+ const defaultColorRange = [
12
+ [255, 255, 178],
13
+ [254, 217, 118],
14
+ [254, 178, 76],
15
+ [253, 141, 60],
16
+ [240, 59, 32],
17
+ [189, 0, 38]
18
+ ];
19
+ const TEXTURE_PROPS = {
20
+ format: 'rgba8unorm',
21
+ mipmaps: false,
22
+ sampler: {
23
+ minFilter: 'linear',
24
+ magFilter: 'linear',
25
+ addressModeU: 'clamp-to-edge',
26
+ addressModeV: 'clamp-to-edge'
27
+ }
28
+ };
8
29
  /**
9
30
  * Computes the unit density (inverse of cell area)
10
31
  */
@@ -12,21 +33,45 @@ function unitDensityForCell(cell) {
12
33
  const cellResolution = Number(getResolution(cell));
13
34
  return Math.pow(4.0, cellResolution);
14
35
  }
36
+ /**
37
+ * Converts a colorRange array to a flat array with 4 components per color
38
+ */
39
+ function colorRangeToFlatArray(colorRange) {
40
+ const flatArray = new Uint8Array(colorRange.length * 4);
41
+ let index = 0;
42
+ for (let i = 0; i < colorRange.length; i++) {
43
+ const color = colorRange[i];
44
+ flatArray[index++] = color[0];
45
+ flatArray[index++] = color[1];
46
+ flatArray[index++] = color[2];
47
+ flatArray[index++] = Number.isFinite(color[3]) ? color[3] : 255;
48
+ }
49
+ return flatArray;
50
+ }
51
+ const uniformBlock = `\
52
+ uniform densityUniforms {
53
+ float factor;
54
+ } density;
55
+ `;
56
+ const densityUniforms = {
57
+ name: 'density',
58
+ vs: uniformBlock,
59
+ uniformTypes: {
60
+ factor: 'f32'
61
+ }
62
+ };
15
63
  // Modified polygon layer to draw offscreen and output value expected by heatmap
16
64
  class RTTSolidPolygonLayer extends RTTModifier(SolidPolygonLayer) {
17
65
  getShaders(type) {
18
66
  const shaders = super.getShaders(type);
19
67
  shaders.inject = {
20
- 'vs:#decl': `
21
- uniform float densityFactor;
22
- `,
23
68
  'vs:#main-end': `
24
69
  // Value from getWeight accessor
25
70
  float weight = elevations;
26
71
 
27
72
  // Keep "power" delivered to screen constant when tiles update
28
- // by outputting normalized density
29
- weight *= densityFactor;
73
+ // by outputting normalized density
74
+ weight *= density.factor;
30
75
 
31
76
  // Pack float into 3 channels to pass to heatmap shader
32
77
  // SCALE value important, as we don't want to saturate
@@ -39,14 +84,17 @@ uniform float densityFactor;
39
84
  vColor = vec4(mod(vec3(weight, floor(weight / SHIFT.yz)), 256.0), 255.0) / 255.0;
40
85
  `
41
86
  };
87
+ shaders.modules = [...shaders.modules, densityUniforms];
42
88
  return shaders;
43
89
  }
44
90
  draw(opts) {
45
91
  const cell = this.props.data[0];
46
92
  const maxDensity = this.props.elevationScale;
47
- const densityFactor = unitDensityForCell(cell.id) / maxDensity;
93
+ const densityProps = {
94
+ factor: unitDensityForCell(cell.id) / maxDensity
95
+ };
48
96
  for (const model of this.state.models) {
49
- model.setUniforms({ densityFactor });
97
+ model.shaderInputs.setProps({ density: densityProps });
50
98
  }
51
99
  super.draw(opts);
52
100
  }
@@ -59,6 +107,7 @@ const defaultProps = {
59
107
  getWeight: { type: 'accessor', value: 1 },
60
108
  onMaxDensityChange: { type: 'function', optional: true, value: null },
61
109
  colorDomain: { type: 'array', value: [0, 1] },
110
+ colorRange: defaultColorRange,
62
111
  intensity: { type: 'number', value: 1 },
63
112
  radiusPixels: { type: 'number', min: 0, max: 100, value: 20 }
64
113
  };
@@ -75,8 +124,15 @@ class HeatmapTileLayer extends CompositeLayer {
75
124
  this.setState({ viewportChanged });
76
125
  return changeFlags.somethingChanged;
77
126
  }
127
+ updateState(opts) {
128
+ const { props, oldProps } = opts;
129
+ super.updateState(opts);
130
+ if (props.colorRange !== oldProps.colorRange) {
131
+ this._updateColorTexture(opts);
132
+ }
133
+ }
78
134
  renderLayers() {
79
- const { data, getWeight, colorDomain, colorRange, intensity, radiusPixels, _subLayerProps, updateTriggers, onMaxDensityChange, onViewportLoad, onTileLoad, onTileUnload, ...tileLayerProps } = this.props;
135
+ const { data, getWeight, colorDomain, intensity, radiusPixels, _subLayerProps, updateTriggers, onMaxDensityChange, onViewportLoad, onTileLoad, onTileUnload, ...tileLayerProps } = this.props;
80
136
  // Inject modified polygon layer as sublayer into TileLayer
81
137
  const subLayerProps = {
82
138
  ..._subLayerProps,
@@ -116,11 +172,11 @@ class HeatmapTileLayer extends CompositeLayer {
116
172
  getElevation: getWeight,
117
173
  elevationScale: maxDensity,
118
174
  colorDomain,
119
- colorRange,
120
175
  radiusPixels,
121
176
  intensity,
122
177
  _subLayerProps: subLayerProps,
123
178
  refinementStrategy: 'no-overlap',
179
+ colorTexture: this.state.colorTexture,
124
180
  // Disable line rendering
125
181
  extruded: false,
126
182
  stroked: false,
@@ -159,6 +215,26 @@ class HeatmapTileLayer extends CompositeLayer {
159
215
  transitions: { elevationScale: { type: 'spring', stiffness: 0.3, damping: 0.5 } }
160
216
  }));
161
217
  }
218
+ _updateColorTexture(opts) {
219
+ const { colorRange } = opts.props;
220
+ let { colorTexture } = this.state;
221
+ const colors = colorRangeToFlatArray(colorRange);
222
+ if (colorTexture && colorTexture?.width === colorRange.length) {
223
+ // TODO(v9): Unclear whether `setSubImageData` is a public API, or what to use if not.
224
+ colorTexture.setSubImageData({ data: colors });
225
+ }
226
+ else {
227
+ colorTexture?.destroy();
228
+ // @ts-ignore TODO v9.1
229
+ colorTexture = this.context.device.createTexture({
230
+ ...TEXTURE_PROPS,
231
+ data: colors,
232
+ width: colorRange.length,
233
+ height: 1
234
+ });
235
+ }
236
+ this.setState({ colorTexture });
237
+ }
162
238
  }
163
239
  HeatmapTileLayer.layerName = 'HeatmapTileLayer';
164
240
  HeatmapTileLayer.defaultProps = defaultProps;
@@ -1,5 +1,4 @@
1
- import type { ShaderPass } from '@luma.gl/shadertools';
2
- import { Color } from '@deck.gl/core';
1
+ import { Texture } from '@luma.gl/core';
3
2
  export type HeatmapProps = {
4
3
  /**
5
4
  * Radius of the heatmap blur in pixels, to which the weight of a cell is distributed.
@@ -8,35 +7,83 @@ export type HeatmapProps = {
8
7
  */
9
8
  radiusPixels?: number;
10
9
  /**
11
- * Controls how weight values are mapped to the `colorRange`, as an array of two numbers [`minValue`, `maxValue`].
10
+ * Controls how weight values are mapped to the colors in `colorTexture`, as an array of two numbers [`minValue`, `maxValue`].
12
11
  *
13
12
  * @default [0, 1]
14
13
  */
15
14
  colorDomain?: [number, number];
16
- /**
17
- * Specified as an array of colors [color1, color2, ...].
18
- *
19
- * @default `6-class YlOrRd` - [colorbrewer](http://colorbrewer2.org/#type=sequential&scheme=YlOrRd&n=6)
20
- */
21
- colorRange: Color[];
22
15
  /**
23
16
  * Value that is multiplied with the total weight at a pixel to obtain the final weight. A value larger than 1 biases the output color towards the higher end of the spectrum, and a value less than 1 biases the output color towards the lower end of the spectrum.
24
17
  */
25
18
  intensity?: number;
19
+ /**
20
+ * Color LUT for color gradient
21
+ */
22
+ colorTexture: Texture;
26
23
  opacity: number;
27
24
  };
28
- export type HeatmapUniforms = {
29
- delta?: [number, number];
30
- radiusPixels?: number;
31
- colorDomain?: [number, number];
32
- color1?: [number, number, number];
33
- color2?: [number, number, number];
34
- color3?: [number, number, number];
35
- color4?: [number, number, number];
36
- color5?: [number, number, number];
37
- color6?: [number, number, number];
38
- intensity: number;
39
- opacity?: number;
25
+ type PassProps = {
26
+ delta: [number, number];
27
+ };
28
+ export declare const heatmap: {
29
+ readonly name: "heatmap";
30
+ readonly uniformPropTypes: {
31
+ readonly colorDomain: {
32
+ readonly value: readonly [0, 1];
33
+ };
34
+ readonly delta: {
35
+ readonly value: readonly [0, 1];
36
+ };
37
+ readonly intensity: {
38
+ readonly value: 1;
39
+ readonly min: 0.1;
40
+ readonly max: 10;
41
+ };
42
+ readonly opacity: {
43
+ readonly value: 1;
44
+ readonly min: 0;
45
+ readonly max: 1;
46
+ };
47
+ readonly radiusPixels: {
48
+ readonly value: 20;
49
+ readonly min: 0;
50
+ readonly softMax: 100;
51
+ };
52
+ };
53
+ readonly uniformTypes: {
54
+ readonly colorDomain: "vec2<f32>";
55
+ readonly delta: "vec2<f32>";
56
+ readonly intensity: "f32";
57
+ readonly opacity: "f32";
58
+ readonly radiusPixels: "f32";
59
+ };
60
+ readonly getUniforms: (opts: Partial<HeatmapProps & PassProps>) => {
61
+ colorDomain?: undefined;
62
+ colorTexture?: undefined;
63
+ delta?: undefined;
64
+ intensity?: undefined;
65
+ opacity?: undefined;
66
+ radiusPixels?: undefined;
67
+ } | {
68
+ colorDomain: [number, number];
69
+ colorTexture: Texture | undefined;
70
+ delta: [number, number];
71
+ intensity: number;
72
+ opacity: number;
73
+ radiusPixels: number;
74
+ };
75
+ readonly fs: "uniform heatmapUniforms {\n vec2 colorDomain;\n vec2 delta;\n float intensity;\n float opacity;\n float radiusPixels;\n} heatmap;\n\nuniform sampler2D colorTexture;\n\nvec3 colorGradient(float value) {\n return texture(colorTexture, vec2(value, 0.5)).rgb;\n}\n\nconst vec3 SHIFT = vec3(1.0, 256.0, 256.0 * 256.0);\nconst float MAX_VAL = SHIFT.z * 255.0;\nconst float SCALE = MAX_VAL / 8.0;\nvec4 pack(float value) {\n return vec4(mod(vec3(value, floor(value / SHIFT.yz)), 256.0), 255.0) / 255.0;\n}\nfloat unpack(vec3 color) {\n return 255.0 * dot(color, SHIFT);\n}\n\nvec4 heatmap_sampleColor(sampler2D source, vec2 texSize, vec2 texCoord) {\n bool firstPass = (heatmap.delta.y < 0.5);\n float accumulator = 0.0;\n\n // Controls quality of heatmap, larger values increase quality at expense of performance\n float SUPPORT = clamp(heatmap.radiusPixels / 2.0, 8.0, 32.0);\n\n // Gaussian normalization parameters\n float sigma = SUPPORT / 3.0;\n float a = -0.5 / (sigma * sigma);\n float w0 = 0.3989422804014327 / sigma; // 1D normalization\n for (float t = -SUPPORT; t <= SUPPORT; t++) {\n vec2 percent = (t * heatmap.delta - 0.5) / SUPPORT;\n vec2 delta = percent * heatmap.radiusPixels / texSize;\n vec4 offsetColor = texture(source, texCoord + delta);\n\n // Unpack float\n float value = unpack(offsetColor.rgb);\n\n // Gaussian\n float weight = w0 * exp(a * t * t);\n \n accumulator += value * weight;\n }\n\n if (firstPass) {\n return pack(accumulator);\n }\n\n // Undo scaling to obtain normalized density\n float density = 10.0 * heatmap.intensity * accumulator / SCALE;\n \n // Domain also in normalized density units\n vec2 domain = heatmap.colorDomain;\n\n // Apply domain\n float f = (density - domain[0]) / (domain[1] - domain[0]);\n\n // sqrt/log scaling??\n // float f = (log(density) - log(domain[0] + 1.0)) / (log(domain[1] + 1.0) - log(domain[0] + 1.0));\n // f = sqrt(f);\n\n // Color map\n vec4 color = vec4(0.0);\n color.rgb = colorGradient(f);\n\n color.a = smoothstep(0.0, 0.1, f);\n color.a = pow(color.a, 1.0 / 2.2);\n color.a *= heatmap.opacity;\n\n return color;\n}\n";
76
+ readonly passes: [{
77
+ readonly sampler: true;
78
+ readonly uniforms: {
79
+ readonly delta: [1, 0];
80
+ };
81
+ }, {
82
+ readonly sampler: true;
83
+ readonly uniforms: {
84
+ readonly delta: [0, 1];
85
+ };
86
+ }];
40
87
  };
41
- export declare const heatmap: ShaderPass<HeatmapProps, HeatmapUniforms>;
88
+ export {};
42
89
  //# sourceMappingURL=heatmap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"heatmap.d.ts","sourceRoot":"","sources":["../../src/layers/heatmap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,KAAK,EAAC,MAAM,eAAe,CAAC;AA6HpC,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B;;;;OAIG;IACH,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,UAAU,CAAC,YAAY,EAAE,eAAe,CA0D7D,CAAC"}
1
+ {"version":3,"file":"heatmap.d.ts","sourceRoot":"","sources":["../../src/layers/heatmap.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AA0FtC,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CqC,CAAC"}