@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
@@ -1,143 +1,127 @@
1
- const glsl = (s) => `${s}`;
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
2
4
  /**
3
5
  * @filter Heatmap
4
6
  * @param radiusPixels Blur radius in pixels, controls smoothness of heatmap
5
7
  * @param colorDomain Domain to apply to values prior to applying color scale
6
- * @param color1-6 Colors to use in color scale
8
+ * @param colorTexture 1D RGB lookup texture for color scale
9
+ * @param intensity Multiplier to apply to value
10
+ * @param opacity Output opacity
7
11
  */
8
- const fs = `\
12
+ const fs = /* glsl */ `\
9
13
  uniform heatmapUniforms {
10
- vec2 delta;
11
- float radiusPixels;
12
- vec2 colorDomain;
13
- vec3 color1;
14
- vec3 color2;
15
- vec3 color3;
16
- vec3 color4;
17
- vec3 color5;
18
- vec3 color6;
19
- float intensity;
20
- float opacity;
14
+ vec2 colorDomain;
15
+ vec2 delta;
16
+ float intensity;
17
+ float opacity;
18
+ float radiusPixels;
21
19
  } heatmap;
22
- const vec4 STOPS = vec4(0.2, 0.4, 0.6, 0.8);
20
+
21
+ uniform sampler2D colorTexture;
22
+
23
23
  vec3 colorGradient(float value) {
24
- vec3 c1;
25
- vec3 c2;
26
- vec2 range;
27
- if (value < STOPS.x) {
28
- range = vec2(0.0, STOPS.x);
29
- c1 = heatmap.color1; c2 = heatmap.color2;
30
- } else if (value < STOPS.y) {
31
- range = STOPS.xy;
32
- c1 = heatmap.color2; c2 = heatmap.color3;
33
- } else if (value < STOPS.z) {
34
- range = STOPS.yz;
35
- c1 = heatmap.color3; c2 = heatmap.color4;
36
- } else if (value < STOPS.w) {
37
- range = STOPS.zw;
38
- c1 = heatmap.color4; c2 = heatmap.color5;
39
- } else {
40
- range = vec2(STOPS.w, 1.0);
41
- c1 = heatmap.color5; c2 = heatmap.color6;
42
- }
43
- float f = (clamp(value, 0.0, 1.0) - range.x) / (range.y - range.x);
44
- return mix(c1, c2, f) / 255.0;
24
+ return texture(colorTexture, vec2(value, 0.5)).rgb;
45
25
  }
26
+
46
27
  const vec3 SHIFT = vec3(1.0, 256.0, 256.0 * 256.0);
47
28
  const float MAX_VAL = SHIFT.z * 255.0;
48
29
  const float SCALE = MAX_VAL / 8.0;
49
30
  vec4 pack(float value) {
50
- return vec4(mod(vec3(value, floor(value / SHIFT.yz)), 256.0), 255.0) / 255.0;
31
+ return vec4(mod(vec3(value, floor(value / SHIFT.yz)), 256.0), 255.0) / 255.0;
51
32
  }
52
33
  float unpack(vec3 color) {
53
- return 255.0 * dot(color, SHIFT);
34
+ return 255.0 * dot(color, SHIFT);
54
35
  }
36
+
55
37
  vec4 heatmap_sampleColor(sampler2D source, vec2 texSize, vec2 texCoord) {
56
- bool firstPass = (heatmap.delta.y < 0.5);
57
- float accumulator = 0.0;
58
- float SUPPORT = clamp(heatmap.radiusPixels / 2.0, 8.0, 32.0);
59
- float sigma = SUPPORT / 3.0;
60
- float a = -0.5 / (sigma * sigma);
61
- float w0 = 0.3989422804014327 / sigma;
62
- for (float t = -SUPPORT; t <= SUPPORT; t++) {
63
- vec2 percent = (t * heatmap.delta - 0.5) / SUPPORT;
64
- vec2 delta = percent * heatmap.radiusPixels / texSize;
65
- vec4 offsetColor = texture(source, texCoord + delta);
66
- float value = unpack(offsetColor.rgb);
67
- float weight = w0 * exp(a * t * t);
68
- accumulator += value * weight;
69
- }
70
- if (firstPass) {
71
- return pack(accumulator);
72
- }
73
- float density = 10.0 * heatmap.intensity * accumulator / SCALE;
74
- vec2 domain = heatmap.colorDomain;
75
- float f = (density - domain[0]) / (domain[1] - domain[0]);
76
- vec4 color = vec4(0.0);
77
- color.rgb = colorGradient(f);
78
- color.a = smoothstep(0.0, 0.1, f);
79
- color.a = pow(color.a, 1.0 / 2.2);
80
- color.a *= heatmap.opacity;
81
- return color;
38
+ bool firstPass = (heatmap.delta.y < 0.5);
39
+ float accumulator = 0.0;
40
+
41
+ // Controls quality of heatmap, larger values increase quality at expense of performance
42
+ float SUPPORT = clamp(heatmap.radiusPixels / 2.0, 8.0, 32.0);
43
+
44
+ // Gaussian normalization parameters
45
+ float sigma = SUPPORT / 3.0;
46
+ float a = -0.5 / (sigma * sigma);
47
+ float w0 = 0.3989422804014327 / sigma; // 1D normalization
48
+ for (float t = -SUPPORT; t <= SUPPORT; t++) {
49
+ vec2 percent = (t * heatmap.delta - 0.5) / SUPPORT;
50
+ vec2 delta = percent * heatmap.radiusPixels / texSize;
51
+ vec4 offsetColor = texture(source, texCoord + delta);
52
+
53
+ // Unpack float
54
+ float value = unpack(offsetColor.rgb);
55
+
56
+ // Gaussian
57
+ float weight = w0 * exp(a * t * t);
58
+
59
+ accumulator += value * weight;
60
+ }
61
+
62
+ if (firstPass) {
63
+ return pack(accumulator);
64
+ }
65
+
66
+ // Undo scaling to obtain normalized density
67
+ float density = 10.0 * heatmap.intensity * accumulator / SCALE;
68
+
69
+ // Domain also in normalized density units
70
+ vec2 domain = heatmap.colorDomain;
71
+
72
+ // Apply domain
73
+ float f = (density - domain[0]) / (domain[1] - domain[0]);
74
+
75
+ // sqrt/log scaling??
76
+ // float f = (log(density) - log(domain[0] + 1.0)) / (log(domain[1] + 1.0) - log(domain[0] + 1.0));
77
+ // f = sqrt(f);
78
+
79
+ // Color map
80
+ vec4 color = vec4(0.0);
81
+ color.rgb = colorGradient(f);
82
+
83
+ color.a = smoothstep(0.0, 0.1, f);
84
+ color.a = pow(color.a, 1.0 / 2.2);
85
+ color.a *= heatmap.opacity;
86
+
87
+ return color;
82
88
  }
83
89
  `;
84
- const defaultColorRange = [
85
- [255, 255, 178],
86
- [254, 217, 118],
87
- [254, 178, 76],
88
- [253, 141, 60],
89
- [240, 59, 32],
90
- [189, 0, 38]
91
- ];
92
90
  export const heatmap = {
93
91
  name: 'heatmap',
94
92
  uniformPropTypes: {
95
- delta: { value: [0, 1] },
96
- radiusPixels: { value: 20, min: 0, softMax: 100 },
97
93
  colorDomain: { value: [0, 1] },
98
- color1: { value: [0, 0, 0] },
99
- color2: { value: [0, 0, 0] },
100
- color3: { value: [0, 0, 0] },
101
- color4: { value: [0, 0, 0] },
102
- color5: { value: [0, 0, 0] },
103
- color6: { value: [0, 0, 0] },
94
+ delta: { value: [0, 1] },
104
95
  intensity: { value: 1, min: 0.1, max: 10 },
105
- opacity: { value: 1, min: 0, max: 1 }
96
+ opacity: { value: 1, min: 0, max: 1 },
97
+ radiusPixels: { value: 20, min: 0, softMax: 100 }
106
98
  },
107
99
  uniformTypes: {
108
- delta: 'vec2<f32>',
109
- radiusPixels: 'f32',
110
100
  colorDomain: 'vec2<f32>',
111
- color1: 'vec3<f32>',
112
- color2: 'vec3<f32>',
113
- color3: 'vec3<f32>',
114
- color4: 'vec3<f32>',
115
- color5: 'vec3<f32>',
116
- color6: 'vec3<f32>',
101
+ delta: 'vec2<f32>',
117
102
  intensity: 'f32',
118
- opacity: 'f32'
103
+ opacity: 'f32',
104
+ radiusPixels: 'f32'
119
105
  },
120
- // @ts-expect-error stricter luma gl types
106
+ // @ts-ignore TODO v9.1
121
107
  getUniforms: opts => {
122
- const { delta = [1, 0], colorRange = defaultColorRange, radiusPixels = 20, colorDomain = [0, 1], intensity = 1, opacity = 1 } = opts;
123
- const [color1, color2, color3, color4, color5, color6] = colorRange;
108
+ if (!opts)
109
+ return {};
110
+ const { colorDomain = [0, 1], colorTexture, delta = [1, 0], intensity = 1, opacity = 1, radiusPixels = 20 } = opts;
124
111
  return {
125
- delta,
126
- color1,
127
- color2,
128
- color3,
129
- color4,
130
- color5,
131
- color6,
132
- radiusPixels,
133
112
  colorDomain,
113
+ colorTexture,
114
+ delta,
134
115
  intensity,
135
- opacity
116
+ opacity,
117
+ radiusPixels
136
118
  };
137
119
  },
138
120
  fs,
139
121
  passes: [
122
+ // @ts-expect-error Seems typing in luma.gl should be Partial<>
140
123
  { sampler: true, uniforms: { delta: [1, 0] } },
124
+ // @ts-expect-error Seems typing in luma.gl should be Partial<>
141
125
  { sampler: true, uniforms: { delta: [0, 1] } }
142
126
  ]
143
127
  };
@@ -1 +1 @@
1
- {"version":3,"file":"point-label-layer.d.ts","sourceRoot":"","sources":["../../src/layers/point-label-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,KAAK,EACL,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,KAAK,EACL,UAAU,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,SAAS,EACT,cAAc,EAEf,MAAM,iBAAiB,CAAC;AAyBzB,cAAM,iBAAkB,SAAQ,SAAS;IACvC,MAAM,CAAC,SAAS,SAAuB;IAEvC,cAAc,CAAC,EAAC,KAAK,EAAE,UAAU,EAAC;;;KAAA;CAQnC;AAQD,mDAAmD;AACnD,MAAM,MAAM,oBAAoB,CAAC,KAAK,GAAG,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,GAC9E,cAAc,GACd,mBAAmB,CAAC;AAEtB,2CAA2C;AAC3C,KAAK,qBAAqB,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG;IAC1D;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpC;;OAEG;IACH,gBAAgB,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C;;;OAGG;IACH,qBAAqB,CAAC,EAAE,KAAK,CAAC;IAC9B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,eAAe,CAClC,KAAK,GAAG,GAAG,EACX,UAAU,SAAS,EAAE,GAAG,EAAE,CAC1B,SAAQ,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,MAAM,CAAC,SAAS,SAAqB;IACrC,MAAM,CAAC,YAAY,8CAAgB;IAEnC,oBAAoB,CAAC,SAAS,KAAA;IA0C9B,0BAA0B;IA2B1B,eAAe,CAAC,EAAE,KAAA,EAAE,EAAC,cAAc,EAAE,sBAA2B,EAAE,GAAG,KAAK,EAAC;;;KAAA,GAAG,iBAAiB;IA2D/F,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;CAmC1C"}
1
+ {"version":3,"file":"point-label-layer.d.ts","sourceRoot":"","sources":["../../src/layers/point-label-layer.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,QAAQ,EACR,KAAK,EACL,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,KAAK,EACL,UAAU,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,SAAS,EACT,cAAc,EAEf,MAAM,iBAAiB,CAAC;AAyBzB,cAAM,iBAAkB,SAAQ,SAAS;IACvC,MAAM,CAAC,SAAS,SAAuB;IAEvC,cAAc,CAAC,EAAC,KAAK,EAAE,UAAU,EAAC;;;KAAA;CAQnC;AAQD,mDAAmD;AACnD,MAAM,MAAM,oBAAoB,CAAC,KAAK,GAAG,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,GAC9E,cAAc,GACd,mBAAmB,CAAC;AAEtB,2CAA2C;AAC3C,KAAK,qBAAqB,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG;IAC1D;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpC;;OAEG;IACH,gBAAgB,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C;;;OAGG;IACH,qBAAqB,CAAC,EAAE,KAAK,CAAC;IAC9B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,eAAe,CAClC,KAAK,GAAG,GAAG,EACX,UAAU,SAAS,EAAE,GAAG,EAAE,CAC1B,SAAQ,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,MAAM,CAAC,SAAS,SAAqB;IACrC,MAAM,CAAC,YAAY,8CAAgB;IAEnC,oBAAoB,CAAC,SAAS,KAAA;IA0C9B,0BAA0B;IA2B1B,eAAe,CAAC,EAAE,KAAA,EAAE,EAAC,cAAc,EAAE,sBAA2B,EAAE,GAAG,KAAK,EAAC;;;KAAA,GAAG,iBAAiB;IA2D/F,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;CAmC1C"}
@@ -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 { TextLayer, _TextBackgroundLayer as TextBackgroundLayer } from '@deck.gl/layers';
3
6
  const [LEFT, TOP, RIGHT, BOTTOM] = [0, 1, 2, 3];
@@ -7,8 +10,8 @@ class EnhancedTextBackgroundLayer extends TextBackgroundLayer {
7
10
  let vs = shaders.vs;
8
11
  // Modify shader so that the padding is offset by the pixel offset to ensure the padding
9
12
  // always captures the anchor point. As padding is uniform we cannot pass it a per-label value
10
- vs = vs.replaceAll('padding.', '_padding.');
11
- vs = vs.replace('void main(void) {', 'void main(void) {\n vec4 _padding = padding + instancePixelOffsets.xyxy * vec4(1.0, 1.0, -1.0, -1.0);');
13
+ vs = vs.replaceAll('textBackground.padding.', '_padding.');
14
+ vs = vs.replace('void main(void) {', 'void main(void) {\n vec4 _padding = textBackground.padding + instancePixelOffsets.xyxy * vec4(1.0, 1.0, -1.0, -1.0);');
12
15
  return { ...shaders, vs };
13
16
  }
14
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"post-process-utils.d.ts","sourceRoot":"","sources":["../../src/layers/post-process-utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,KAAK,EAGL,UAAU,EAGX,MAAM,eAAe,CAAC;AAoBvB,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,CAAC;AACxE,KAAK,sBAAsB,GAAG,cAAc,GAAG;IAC7C,YAAY,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC;CAC/C,CAAC;AAwBF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,SAAS,KAAA;;;8BAIN,GAAG;;;;EAiBjC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,WAAW,CAAC,sBAAsB,CAAC,EAC/E,SAAS,EAAE,CAAC,EACZ,MAAM,EAAE,GAAG,GACV,CAAC,CAwFH"}
1
+ {"version":3,"file":"post-process-utils.d.ts","sourceRoot":"","sources":["../../src/layers/post-process-utils.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,cAAc,EACd,KAAK,EAGL,UAAU,EAGX,MAAM,eAAe,CAAC;AAoBvB,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,CAAC;AACxE,KAAK,sBAAsB,GAAG,cAAc,GAAG;IAC7C,YAAY,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC;CAC/C,CAAC;AAwBF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,SAAS,KAAA;;;8BAIN,GAAG;;;;EAiBjC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,WAAW,CAAC,sBAAsB,CAAC,EAC/E,SAAS,EAAE,CAAC,EACZ,MAAM,EAAE,GAAG,GACV,CAAC,CAyFH"}
@@ -1,3 +1,6 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { Layer, PostProcessEffect } from '@deck.gl/core';
2
5
  const TEXTURE_PROPS = {
3
6
  format: 'rgba8unorm',
@@ -36,8 +39,8 @@ export function RTTModifier(BaseLayer) {
36
39
  var _a;
37
40
  return _a = class RTTLayer extends BaseLayer {
38
41
  draw(opts) {
39
- const { moduleParameters } = opts;
40
- const { picking } = moduleParameters;
42
+ const { shaderModuleProps } = opts;
43
+ const { picking } = shaderModuleProps;
41
44
  const postProcessLayer = getPostProcessLayer(this);
42
45
  if (!picking.isActive) {
43
46
  postProcessLayer.enableRTT(opts);
@@ -89,10 +92,11 @@ export function PostProcessModifier(BaseLayer, effect) {
89
92
  }
90
93
  _resizeBuffers(opts) {
91
94
  // TODO we could likely render to a smaller buffer for better perf
92
- const { moduleParameters } = opts;
95
+ const { shaderModuleProps } = opts;
93
96
  const { viewport } = this.context;
94
- const width = moduleParameters.devicePixelRatio * viewport.width;
95
- const height = moduleParameters.devicePixelRatio * viewport.height;
97
+ const { devicePixelRatio } = shaderModuleProps.project;
98
+ const width = devicePixelRatio * viewport.width;
99
+ const height = devicePixelRatio * viewport.height;
96
100
  this.internalState.renderBuffers.forEach((fbo) => fbo.resize({ width, height }));
97
101
  }
98
102
  enableRTT(opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"quadbin-layer.d.ts","sourceRoot":"","sources":["../../src/layers/quadbin-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAC7D,OAAO,EACL,aAAa,IAAI,YAAY,EAC7B,kBAAkB,IAAI,iBAAiB,EACxC,MAAM,qBAAqB,CAAC;AAO7B,gDAAgD;AAChD,MAAM,MAAM,iBAAiB,CAAC,KAAK,GAAG,OAAO,IAAI,kBAAkB,CAAC,KAAK,CAAC,GACxE,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAE3B,wCAAwC;AACxC,KAAK,kBAAkB,CAAC,KAAK,IAAI;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,YAAY,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,SAAS,EAAE,GAAG,EAAE,CAAE,SAAQ,YAAY,CAC7F,KAAK,EACL,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CACjD;IACC,MAAM,CAAC,SAAS,SAAkB;IAClC,MAAM,CAAC,YAAY,2CAAgB;IAEnC,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI;CAcvD"}
1
+ {"version":3,"file":"quadbin-layer.d.ts","sourceRoot":"","sources":["../../src/layers/quadbin-layer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAC7D,OAAO,EACL,aAAa,IAAI,YAAY,EAC7B,kBAAkB,IAAI,iBAAiB,EACxC,MAAM,qBAAqB,CAAC;AAO7B,gDAAgD;AAChD,MAAM,MAAM,iBAAiB,CAAC,KAAK,GAAG,OAAO,IAAI,kBAAkB,CAAC,KAAK,CAAC,GACxE,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAE3B,wCAAwC;AACxC,KAAK,kBAAkB,CAAC,KAAK,IAAI;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,YAAY,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,SAAS,EAAE,GAAG,EAAE,CAAE,SAAQ,YAAY,CAC7F,KAAK,EACL,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CACjD;IACC,MAAM,CAAC,SAAS,SAAkB;IAClC,MAAM,CAAC,YAAY,2CAAgB;IAEnC,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI;CAcvD"}
@@ -1,3 +1,6 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { _GeoCellLayer as GeoCellLayer } from '@deck.gl/geo-layers';
2
5
  import { getQuadbinPolygon } from "./quadbin-utils.js";
3
6
  const defaultProps = {
@@ -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 QuadbinLayer, { QuadbinLayerProps } from "./quadbin-layer.js";
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) => QuadbinLayer<any, {
6
6
  getQuadbin: (d: any) => any;
7
7
  }> | null;
@@ -15,7 +15,7 @@ export default class QuadbinTileLayer<DataT = any, ExtraProps extends {} = {}> e
15
15
  static layerName: string;
16
16
  static defaultProps: DefaultProps<QuadbinTileLayerProps<unknown>>;
17
17
  getLoadOptions(): any;
18
- renderLayers(): Layer | null | LayersList;
18
+ renderLayers(): SpatialIndexTileLayer | null;
19
19
  }
20
20
  export {};
21
21
  //# sourceMappingURL=quadbin-tile-layer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quadbin-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/quadbin-tile-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AACnG,OAAO,YAAY,EAAE,EAAC,iBAAiB,EAAC,2BAAwB;AAEhE,OAA8B,EAAC,0BAA0B,EAAC,sCAAmC;AAE7F,OAAO,KAAK,EAAC,cAAc,EAAC,4BAAyB;AAIrD,eAAO,MAAM,eAAe;;SAO3B,CAAC;AAOF,oDAAoD;AACpD,MAAM,MAAM,qBAAqB,CAAC,KAAK,GAAG,OAAO,IAAI,sBAAsB,CAAC,KAAK,CAAC,GAChF,mBAAmB,CAAC;AAEtB,4CAA4C;AAC5C,KAAK,sBAAsB,CAAC,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GACzE,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,gBAAgB,CACnC,KAAK,GAAG,GAAG,EACX,UAAU,SAAS,EAAE,GAAG,EAAE,CAC1B,SAAQ,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,MAAM,CAAC,SAAS,SAAsB;IACtC,MAAM,CAAC,YAAY,+CAAgB;IAEnC,cAAc,IAAI,GAAG;IAQrB,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;CAkB1C"}
1
+ {"version":3,"file":"quadbin-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/quadbin-tile-layer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAqB,YAAY,EAAC,MAAM,eAAe,CAAC;AACnG,OAAO,YAAY,EAAE,EAAC,iBAAiB,EAAC,2BAAwB;AAEhE,OAAO,qBAAqB,EAAE,EAAC,0BAA0B,EAAC,sCAAmC;AAE7F,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAItD,eAAO,MAAM,eAAe;;SAO3B,CAAC;AAOF,oDAAoD;AACpD,MAAM,MAAM,qBAAqB,CAAC,KAAK,GAAG,OAAO,IAAI,sBAAsB,CAAC,KAAK,CAAC,GAChF,mBAAmB,CAAC;AAEtB,4CAA4C;AAC5C,KAAK,sBAAsB,CAAC,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GACzE,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,gBAAgB,CACnC,KAAK,GAAG,GAAG,EACX,UAAU,SAAS,EAAE,GAAG,EAAE,CAC1B,SAAQ,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,MAAM,CAAC,SAAS,SAAsB;IACtC,MAAM,CAAC,YAAY,+CAAgB;IAEnC,cAAc,IAAI,GAAG;IAQrB,YAAY,IAAI,qBAAqB,GAAG,IAAI;CAgB7C"}
@@ -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 QuadbinLayer from "./quadbin-layer.js";
3
6
  import QuadbinTileset2D from "./quadbin-tileset-2d.js";
@@ -31,18 +34,16 @@ class QuadbinTileLayer extends CompositeLayer {
31
34
  if (!tileJSON)
32
35
  return null;
33
36
  const { tiles: data, maxresolution: maxZoom } = tileJSON;
34
- return [
35
- // @ts-ignore
36
- new SpatialIndexTileLayer(this.props, {
37
- id: `quadbin-tile-layer-${this.props.id}`,
38
- data,
39
- // TODO: Tileset2D should be generic over TileIndex type
40
- TilesetClass: QuadbinTileset2D,
41
- renderSubLayers,
42
- maxZoom,
43
- loadOptions: this.getLoadOptions()
44
- })
45
- ];
37
+ const SubLayerClass = this.getSubLayerClass('spatial-index-tile', SpatialIndexTileLayer);
38
+ return new SubLayerClass(this.props, {
39
+ id: `quadbin-tile-layer-${this.props.id}`,
40
+ data,
41
+ // TODO: Tileset2D should be generic over TileIndex type
42
+ TilesetClass: QuadbinTileset2D,
43
+ renderSubLayers,
44
+ maxZoom,
45
+ loadOptions: this.getLoadOptions()
46
+ });
46
47
  }
47
48
  }
48
49
  QuadbinTileLayer.layerName = 'QuadbinTileLayer';
@@ -1 +1 @@
1
- {"version":3,"file":"quadbin-tileset-2d.d.ts","sourceRoot":"","sources":["../../src/layers/quadbin-tileset-2d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,IAAI,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAK5D,KAAK,gBAAgB,GAAG;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,SAAS;IAErD,cAAc,CAAC,IAAI,KAAA,GAAG,gBAAgB,EAAE;IAQxC,SAAS,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,EAAE,gBAAgB,GAAG,MAAM;IAK3C,eAAe,CAAC,EAAC,CAAC,EAAC,EAAE,gBAAgB;IAKrC,WAAW,CAAC,EAAC,CAAC,EAAC,EAAE,gBAAgB,GAAG,MAAM;IAK1C,cAAc,CAAC,EAAC,CAAC,EAAC,EAAE,gBAAgB,GAAG,gBAAgB;CAGxD"}
1
+ {"version":3,"file":"quadbin-tileset-2d.d.ts","sourceRoot":"","sources":["../../src/layers/quadbin-tileset-2d.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,IAAI,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAK5D,KAAK,gBAAgB,GAAG;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,SAAS;IAErD,cAAc,CAAC,IAAI,KAAA,GAAG,gBAAgB,EAAE;IAQxC,SAAS,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,EAAE,gBAAgB,GAAG,MAAM;IAK3C,eAAe,CAAC,EAAC,CAAC,EAAC,EAAE,gBAAgB;IAKrC,WAAW,CAAC,EAAC,CAAC,EAAC,EAAE,gBAAgB,GAAG,MAAM;IAK1C,cAAc,CAAC,EAAC,CAAC,EAAC,EAAE,gBAAgB,GAAG,gBAAgB;CAGxD"}
@@ -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 { bigIntToHex, cellToParent, cellToTile, getResolution, tileToCell } from 'quadbin';
3
6
  export default class QuadbinTileset2D extends Tileset2D {
@@ -1 +1 @@
1
- {"version":3,"file":"quadbin-utils.d.ts","sourceRoot":"","sources":["../../src/layers/quadbin-utils.ts"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAIzE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAM5F;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,EAAE,CAKzE"}
1
+ {"version":3,"file":"quadbin-utils.d.ts","sourceRoot":"","sources":["../../src/layers/quadbin-utils.ts"],"names":[],"mappings":"AASA,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAIzE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAM5F;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,EAAE,CAKzE"}
@@ -1,3 +1,6 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { worldToLngLat } from '@math.gl/web-mercator';
2
5
  import { cellToTile } from 'quadbin';
3
6
  const TILE_SIZE = 512;
@@ -1,3 +1,3 @@
1
- declare const _default: "#version 300 es\n#define SHADER_NAME raster-layer-vertex-shader\n\nin vec3 positions;\nin vec3 normals;\n\nin float instanceElevations;\nin vec4 instanceFillColors;\nin vec4 instanceLineColors;\n\nin vec3 instancePickingColors;\n\n// Custom uniforms\nuniform float opacity;\nuniform bool extruded;\nuniform bool stroked;\nuniform bool isStroke;\nuniform float coverage;\nuniform float elevationScale;\nuniform float widthScale;\nuniform vec3 offset;\n\n// Result\nout vec4 vColor;\n#ifdef FLAT_SHADING\nout vec4 position_commonspace;\n#endif\n\nvoid main(void) {\n // Rather than positioning using attribute, layout pixel grid using gl_InstanceID\n vec2 common_position = offset.xy;\n float scale = offset.z;\n\n int yIndex = - (gl_InstanceID / BLOCK_WIDTH);\n int xIndex = gl_InstanceID + (yIndex * BLOCK_WIDTH);\n common_position += scale * vec2(float(xIndex), float(yIndex));\n\n vec4 color = isStroke ? instanceLineColors : instanceFillColors;\n\n // if alpha == 0.0 or z < 0.0, do not render element\n float shouldRender = float(color.a > 0.0 && instanceElevations >= 0.0);\n float cellWidth = coverage * scale;\n\n // Get position directly from quadbin, rather than projecting\n // Important to set geometry.position before using project_ methods below\n // as geometry.worldPosition is not set (we don't know our lat/long)\n geometry.position = vec4(common_position, 0.0, 1.0);\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n geometry.position.xyz -= project_uCommonOrigin;\n }\n\n // calculate elevation, if 3d not enabled set to 0\n // cylindar geometry height are between -1.0 to 1.0, transform it to between 0, 1\n float elevation = 0.0;\n // calculate stroke offset\n float strokeOffsetRatio = 1.0;\n\n if (extruded) {\n elevation = instanceElevations * (positions.z + 1.0) / 2.0 * elevationScale;\n } else if (stroked) {\n float halfOffset = project_pixel_size(widthScale) / cellWidth;\n if (isStroke) {\n strokeOffsetRatio -= sign(positions.z) * halfOffset;\n } else {\n strokeOffsetRatio -= halfOffset;\n }\n }\n\n geometry.pickingColor = instancePickingColors;\n\n // project center of column\n vec2 offset = (vec2(0.5) + positions.xy * strokeOffsetRatio) * cellWidth * shouldRender;\n vec3 pos = vec3(offset, project_size(elevation));\n DECKGL_FILTER_SIZE(pos, geometry);\n\n geometry.position.xyz += pos;\n gl_Position = project_common_position_to_clipspace(geometry.position);\n\n geometry.normal = project_normal(normals);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n // Light calculations\n if (extruded && !isStroke) {\n#ifdef FLAT_SHADING\n position_commonspace = geometry.position;\n vColor = vec4(color.rgb, color.a * opacity);\n#else\n vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, color.a * opacity);\n#endif\n } else {\n vColor = vec4(color.rgb, color.a * opacity);\n }\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n";
1
+ declare const _default: "#version 300 es\n#define SHADER_NAME raster-layer-vertex-shader\n\nin vec3 positions;\nin vec3 normals;\n\nin float instanceElevations;\nin vec4 instanceFillColors;\nin vec4 instanceLineColors;\n\nin vec3 instancePickingColors;\n\n// Result\nout vec4 vColor;\n#ifdef FLAT_SHADING\nout vec4 position_commonspace;\n#endif\n\nvoid main(void) {\n // Rather than positioning using attribute, layout pixel grid using gl_InstanceID\n vec2 common_position = column.offset.xy;\n float scale = column.widthScale; // Re-use widthScale prop to pass cell scale\n\n int yIndex = - (gl_InstanceID / BLOCK_WIDTH);\n int xIndex = gl_InstanceID + (yIndex * BLOCK_WIDTH);\n common_position += scale * vec2(float(xIndex), float(yIndex - 1));\n\n vec4 color = column.isStroke ? instanceLineColors : instanceFillColors;\n\n // if alpha == 0.0 or z < 0.0, do not render element\n float shouldRender = float(color.a > 0.0 && instanceElevations >= 0.0);\n float cellWidth = column.coverage * scale;\n\n // Get position directly from quadbin, rather than projecting\n // Important to set geometry.position before using project_ methods below\n // as geometry.worldPosition is not set (we don't know our lat/long)\n geometry.position = vec4(common_position, 0.0, 1.0);\n if (project.projectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n geometry.position.xyz -= project.commonOrigin;\n }\n\n // calculate elevation, if 3d not enabled set to 0\n // cylindar geometry height are between -1.0 to 1.0, transform it to between 0, 1\n float elevation = 0.0;\n // calculate stroke offset\n float strokeOffsetRatio = 1.0;\n\n if (column.extruded) {\n elevation = instanceElevations * (positions.z + 1.0) / 2.0 * column.elevationScale;\n } else if (column.stroked) {\n float halfOffset = project_pixel_size(column.widthScale) / cellWidth;\n if (column.isStroke) {\n strokeOffsetRatio -= sign(positions.z) * halfOffset;\n } else {\n strokeOffsetRatio -= halfOffset;\n }\n }\n\n geometry.pickingColor = instancePickingColors;\n\n // project center of column\n vec2 offset = (vec2(0.5) + positions.xy * strokeOffsetRatio) * cellWidth * shouldRender;\n vec3 pos = vec3(offset, project_size(elevation));\n DECKGL_FILTER_SIZE(pos, geometry);\n\n geometry.position.xyz += pos;\n gl_Position = project_common_position_to_clipspace(geometry.position);\n\n geometry.normal = project_normal(normals);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n // Light calculations\n if (column.extruded && !column.isStroke) {\n#ifdef FLAT_SHADING\n position_commonspace = geometry.position;\n vColor = vec4(color.rgb, color.a * layer.opacity);\n#else\n vec3 lightColor = lighting_getLightColor(color.rgb, project.cameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, color.a * layer.opacity);\n#endif\n } else {\n vColor = vec4(color.rgb, color.a * layer.opacity);\n }\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n";
2
2
  export default _default;
3
3
  //# sourceMappingURL=raster-layer-vertex.glsl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"raster-layer-vertex.glsl.d.ts","sourceRoot":"","sources":["../../src/layers/raster-layer-vertex.glsl.ts"],"names":[],"mappings":";AAAA,wBAiGE"}
1
+ {"version":3,"file":"raster-layer-vertex.glsl.d.ts","sourceRoot":"","sources":["../../src/layers/raster-layer-vertex.glsl.ts"],"names":[],"mappings":";AAIA,wBAuFE"}
@@ -1,3 +1,6 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  export default `\
2
5
  #version 300 es
3
6
  #define SHADER_NAME raster-layer-vertex-shader
@@ -7,38 +10,30 @@ in float instanceElevations;
7
10
  in vec4 instanceFillColors;
8
11
  in vec4 instanceLineColors;
9
12
  in vec3 instancePickingColors;
10
- uniform float opacity;
11
- uniform bool extruded;
12
- uniform bool stroked;
13
- uniform bool isStroke;
14
- uniform float coverage;
15
- uniform float elevationScale;
16
- uniform float widthScale;
17
- uniform vec3 offset;
18
13
  out vec4 vColor;
19
14
  #ifdef FLAT_SHADING
20
15
  out vec4 position_commonspace;
21
16
  #endif
22
17
  void main(void) {
23
- vec2 common_position = offset.xy;
24
- float scale = offset.z;
18
+ vec2 common_position = column.offset.xy;
19
+ float scale = column.widthScale;
25
20
  int yIndex = - (gl_InstanceID / BLOCK_WIDTH);
26
21
  int xIndex = gl_InstanceID + (yIndex * BLOCK_WIDTH);
27
- common_position += scale * vec2(float(xIndex), float(yIndex));
28
- vec4 color = isStroke ? instanceLineColors : instanceFillColors;
22
+ common_position += scale * vec2(float(xIndex), float(yIndex - 1));
23
+ vec4 color = column.isStroke ? instanceLineColors : instanceFillColors;
29
24
  float shouldRender = float(color.a > 0.0 && instanceElevations >= 0.0);
30
- float cellWidth = coverage * scale;
25
+ float cellWidth = column.coverage * scale;
31
26
  geometry.position = vec4(common_position, 0.0, 1.0);
32
- if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {
33
- geometry.position.xyz -= project_uCommonOrigin;
27
+ if (project.projectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {
28
+ geometry.position.xyz -= project.commonOrigin;
34
29
  }
35
30
  float elevation = 0.0;
36
31
  float strokeOffsetRatio = 1.0;
37
- if (extruded) {
38
- elevation = instanceElevations * (positions.z + 1.0) / 2.0 * elevationScale;
39
- } else if (stroked) {
40
- float halfOffset = project_pixel_size(widthScale) / cellWidth;
41
- if (isStroke) {
32
+ if (column.extruded) {
33
+ elevation = instanceElevations * (positions.z + 1.0) / 2.0 * column.elevationScale;
34
+ } else if (column.stroked) {
35
+ float halfOffset = project_pixel_size(column.widthScale) / cellWidth;
36
+ if (column.isStroke) {
42
37
  strokeOffsetRatio -= sign(positions.z) * halfOffset;
43
38
  } else {
44
39
  strokeOffsetRatio -= halfOffset;
@@ -52,16 +47,16 @@ geometry.position.xyz += pos;
52
47
  gl_Position = project_common_position_to_clipspace(geometry.position);
53
48
  geometry.normal = project_normal(normals);
54
49
  DECKGL_FILTER_GL_POSITION(gl_Position, geometry);
55
- if (extruded && !isStroke) {
50
+ if (column.extruded && !column.isStroke) {
56
51
  #ifdef FLAT_SHADING
57
52
  position_commonspace = geometry.position;
58
- vColor = vec4(color.rgb, color.a * opacity);
53
+ vColor = vec4(color.rgb, color.a * layer.opacity);
59
54
  #else
60
- vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);
61
- vColor = vec4(lightColor, color.a * opacity);
55
+ vec3 lightColor = lighting_getLightColor(color.rgb, project.cameraPosition, geometry.position.xyz, geometry.normal);
56
+ vColor = vec4(lightColor, color.a * layer.opacity);
62
57
  #endif
63
58
  } else {
64
- vColor = vec4(color.rgb, color.a * opacity);
59
+ vColor = vec4(color.rgb, color.a * layer.opacity);
65
60
  }
66
61
  DECKGL_FILTER_COLOR(vColor, geometry);
67
62
  }
@@ -20,17 +20,17 @@ export default class RasterLayer<DataT = any, ExtraProps = {}> extends Composite
20
20
  protected getSubLayerAccessor<In, Out>(accessor: Accessor<In, Out>): Accessor<In, Out>;
21
21
  getPickingInfo(params: any): {
22
22
  color: Uint8Array | null;
23
- layer: Layer<{}> | null;
24
- sourceLayer?: Layer<{}> | null | undefined;
25
- viewport?: import("@deck.gl/core").Viewport | undefined;
23
+ layer: Layer | null;
24
+ sourceLayer?: Layer | null;
25
+ viewport?: import("@deck.gl/core").Viewport;
26
26
  index: number;
27
27
  picked: boolean;
28
28
  object?: any;
29
29
  x: number;
30
30
  y: number;
31
- pixel?: [number, number] | undefined;
32
- coordinate?: number[] | undefined;
33
- devicePixel?: [number, number] | undefined;
31
+ pixel?: [number, number];
32
+ coordinate?: number[];
33
+ devicePixel?: [number, number];
34
34
  pixelRatio: number;
35
35
  };
36
36
  _updateAutoHighlight(info: PickingInfo): void;
@@ -1 +1 @@
1
- {"version":3,"file":"raster-layer.d.ts","sourceRoot":"","sources":["../../src/layers/raster-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,KAAK,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAc,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAyD9D,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,CAAC,KAAK,GAAG,OAAO,IAAI,iBAAiB,GAC/D,gBAAgB,CAAC,KAAK,CAAC,GACvB,mBAAmB,CAAC;AAEtB,uCAAuC;AACvC,KAAK,iBAAiB,GAAG;IACvB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAYF,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,GAAG,EAAE,CAAE,SAAQ,cAAc,CACnF,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAC/C;IACC,MAAM,CAAC,SAAS,SAAiB;IACjC,MAAM,CAAC,YAAY,0CAAgB;IAEnC,KAAK,EAAG;QACN,sBAAsB,EAAE,MAAM,CAAC;QAC/B,cAAc,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;IAEF,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;IA4CzC,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;IAetF,cAAc,CAAC,MAAM,EAAE,GAAG;;;;;;;;;;;;;;;IAa1B,oBAAoB,CAAC,IAAI,EAAE,WAAW;CAoBvC"}
1
+ {"version":3,"file":"raster-layer.d.ts","sourceRoot":"","sources":["../../src/layers/raster-layer.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,KAAK,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAc,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAyD9D,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,CAAC,KAAK,GAAG,OAAO,IAAI,iBAAiB,GAC/D,gBAAgB,CAAC,KAAK,CAAC,GACvB,mBAAmB,CAAC;AAEtB,uCAAuC;AACvC,KAAK,iBAAiB,GAAG;IACvB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAYF,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,GAAG,EAAE,CAAE,SAAQ,cAAc,CACnF,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAC/C;IACC,MAAM,CAAC,SAAS,SAAiB;IACjC,MAAM,CAAC,YAAY,0CAAgB;IAEnC,KAAK,EAAG;QACN,sBAAsB,EAAE,MAAM,CAAC;QAC/B,cAAc,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;IAEF,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;IA8CzC,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;IAetF,cAAc,CAAC,MAAM,EAAE,GAAG;;;;;;;;;;;;;;;IAa1B,oBAAoB,CAAC,IAAI,EAAE,WAAW;CAoBvC"}
@@ -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 { ColumnLayer } from '@deck.gl/layers';
3
6
  import { quadbinToOffset } from "./quadbin-utils.js";
@@ -62,7 +65,8 @@ class RasterLayer extends CompositeLayer {
62
65
  return null;
63
66
  const blockSize = data.blockSize ?? 0;
64
67
  const [xOffset, yOffset, scale] = quadbinToOffset(tileIndex);
65
- const offset = [xOffset, yOffset, scale / blockSize];
68
+ const offset = [xOffset, yOffset];
69
+ const lineWidthScale = scale / blockSize;
66
70
  // Filled Column Layer
67
71
  const CellLayer = this.getSubLayerClass('column', RasterColumnLayer);
68
72
  const { highlightedObjectIndex, highlightColor } = this.state;
@@ -80,6 +84,7 @@ class RasterLayer extends CompositeLayer {
80
84
  },
81
85
  dataComparator: wrappedDataComparator,
82
86
  offset,
87
+ lineWidthScale, // Re-use widthScale prop to pass cell scale,
83
88
  highlightedObjectIndex,
84
89
  highlightColor
85
90
  });
@@ -1,6 +1,6 @@
1
1
  import { CompositeLayer, CompositeLayerProps, DefaultProps, Layer, LayersList } from '@deck.gl/core';
2
2
  import RasterLayer, { RasterLayerProps } from "./raster-layer.js";
3
- import type { TilejsonResult } from "../sources/types.js";
3
+ import type { TilejsonResult } from '@carto/api-client';
4
4
  import { TileLayerProps } from '@deck.gl/geo-layers';
5
5
  export declare const renderSubLayers: (props: any) => RasterLayer<any, {
6
6
  tileIndex: any;
@@ -1 +1 @@
1
- {"version":3,"file":"raster-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/raster-tile-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AACnG,OAAO,WAAW,EAAE,EAAC,gBAAgB,EAAC,0BAAuB;AAE7D,OAAO,KAAK,EAAC,cAAc,EAAC,4BAAyB;AAGrD,OAAO,EAAY,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAE9D,eAAO,MAAM,eAAe;;SAI3B,CAAC;AAOF,mDAAmD;AACnD,MAAM,MAAM,oBAAoB,CAAC,KAAK,GAAG,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,GAC9E,mBAAmB,CAAC;AAEtB,2CAA2C;AAC3C,KAAK,qBAAqB,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GACvE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG;IACpC,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACvD,CAAC;AAEJ,MAAM,CAAC,OAAO,OAAO,eAAe,CAClC,KAAK,GAAG,GAAG,EACX,UAAU,SAAS,EAAE,GAAG,EAAE,CAC1B,SAAQ,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,MAAM,CAAC,SAAS,SAAqB;IACrC,MAAM,CAAC,YAAY,8CAAgB;IAEnC,cAAc,IAAI,GAAG;IAOrB,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;CAmB1C"}
1
+ {"version":3,"file":"raster-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/raster-tile-layer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AACnG,OAAO,WAAW,EAAE,EAAC,gBAAgB,EAAC,0BAAuB;AAE7D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAY,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAE9D,eAAO,MAAM,eAAe;;SAI3B,CAAC;AAOF,mDAAmD;AACnD,MAAM,MAAM,oBAAoB,CAAC,KAAK,GAAG,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,GAC9E,mBAAmB,CAAC;AAEtB,2CAA2C;AAC3C,KAAK,qBAAqB,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GACvE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG;IACpC,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACvD,CAAC;AAEJ,MAAM,CAAC,OAAO,OAAO,eAAe,CAClC,KAAK,GAAG,GAAG,EACX,UAAU,SAAS,EAAE,GAAG,EAAE,CAC1B,SAAQ,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,MAAM,CAAC,SAAS,SAAqB;IACrC,MAAM,CAAC,YAAY,8CAAgB;IAEnC,cAAc,IAAI,GAAG;IAOrB,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 { CompositeLayer } from '@deck.gl/core';
2
5
  import RasterLayer from "./raster-layer.js";
3
6
  import QuadbinTileset2D from "./quadbin-tileset-2d.js";
@@ -26,19 +29,17 @@ class RasterTileLayer extends CompositeLayer {
26
29
  if (!tileJSON)
27
30
  return null;
28
31
  const { tiles: data, minzoom: minZoom, maxzoom: maxZoom } = tileJSON;
29
- return [
30
- // @ts-ignore
31
- new TileLayer(this.props, {
32
- id: `raster-tile-layer-${this.props.id}`,
33
- data,
34
- // TODO: Tileset2D should be generic over TileIndex type
35
- TilesetClass: QuadbinTileset2D,
36
- renderSubLayers,
37
- minZoom,
38
- maxZoom,
39
- loadOptions: this.getLoadOptions()
40
- })
41
- ];
32
+ const SubLayerClass = this.getSubLayerClass('tile', TileLayer);
33
+ return new SubLayerClass(this.props, {
34
+ id: `raster-tile-layer-${this.props.id}`,
35
+ data,
36
+ // TODO: Tileset2D should be generic over TileIndex type
37
+ TilesetClass: QuadbinTileset2D,
38
+ renderSubLayers,
39
+ minZoom,
40
+ maxZoom,
41
+ loadOptions: this.getLoadOptions()
42
+ });
42
43
  }
43
44
  }
44
45
  RasterTileLayer.layerName = 'RasterTileLayer';
@@ -1 +1 @@
1
- {"version":3,"file":"carto-properties-tile-loader.d.ts","sourceRoot":"","sources":["../../../src/layers/schema/carto-properties-tile-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAKzE,QAAA,MAAM,yBAAyB,EAAE,gBAYhC,CAAC;AAOF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"carto-properties-tile-loader.d.ts","sourceRoot":"","sources":["../../../src/layers/schema/carto-properties-tile-loader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAKzE,QAAA,MAAM,yBAAyB,EAAE,gBAYhC,CAAC;AAOF,eAAe,yBAAyB,CAAC"}