@deck.gl/aggregation-layers 9.0.0-beta.1 → 9.0.0-beta.11

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 (362) hide show
  1. package/{typed → dist}/aggregation-layer.d.ts +2 -2
  2. package/dist/aggregation-layer.d.ts.map +1 -0
  3. package/dist/aggregation-layer.js +153 -0
  4. package/{typed → dist}/contour-layer/contour-layer.d.ts +1 -1
  5. package/dist/contour-layer/contour-layer.d.ts.map +1 -0
  6. package/dist/contour-layer/contour-layer.js +240 -0
  7. package/dist/contour-layer/contour-utils.js +64 -0
  8. package/dist/contour-layer/marching-squares-codes.js +337 -0
  9. package/dist/contour-layer/marching-squares.js +147 -0
  10. package/{typed → dist}/cpu-grid-layer/cpu-grid-layer.d.ts +3 -3
  11. package/dist/cpu-grid-layer/cpu-grid-layer.d.ts.map +1 -0
  12. package/dist/cpu-grid-layer/cpu-grid-layer.js +129 -0
  13. package/dist/cpu-grid-layer/grid-aggregator.js +141 -0
  14. package/dist/dist.dev.js +1442 -10868
  15. package/dist/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js +30 -0
  16. package/dist/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.js +112 -0
  17. package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer.d.ts +1 -1
  18. package/dist/gpu-grid-layer/gpu-grid-cell-layer.d.ts.map +1 -0
  19. package/dist/gpu-grid-layer/gpu-grid-cell-layer.js +145 -0
  20. package/{typed → dist}/gpu-grid-layer/gpu-grid-layer.d.ts +4 -4
  21. package/dist/gpu-grid-layer/gpu-grid-layer.d.ts.map +1 -0
  22. package/dist/gpu-grid-layer/gpu-grid-layer.js +288 -0
  23. package/{typed → dist}/grid-aggregation-layer.d.ts +3 -3
  24. package/dist/grid-aggregation-layer.d.ts.map +1 -0
  25. package/dist/grid-aggregation-layer.js +172 -0
  26. package/{typed → dist}/grid-layer/grid-layer.d.ts +2 -2
  27. package/dist/grid-layer/grid-layer.d.ts.map +1 -0
  28. package/dist/grid-layer/grid-layer.js +63 -0
  29. package/{typed → dist}/heatmap-layer/heatmap-layer-utils.d.ts +0 -9
  30. package/dist/heatmap-layer/heatmap-layer-utils.d.ts.map +1 -0
  31. package/dist/heatmap-layer/heatmap-layer-utils.js +63 -0
  32. package/{typed → dist}/heatmap-layer/heatmap-layer.d.ts +5 -6
  33. package/dist/heatmap-layer/heatmap-layer.d.ts.map +1 -0
  34. package/dist/heatmap-layer/heatmap-layer.js +455 -0
  35. package/dist/heatmap-layer/max-fs.glsl.js +9 -0
  36. package/dist/heatmap-layer/max-vs.glsl.d.ts +3 -0
  37. package/{typed → dist}/heatmap-layer/max-vs.glsl.d.ts.map +1 -1
  38. package/dist/heatmap-layer/max-vs.glsl.js +15 -0
  39. package/dist/heatmap-layer/triangle-layer-fragment.glsl.d.ts +3 -0
  40. package/dist/heatmap-layer/triangle-layer-fragment.glsl.js +51 -0
  41. package/dist/heatmap-layer/triangle-layer-vertex.glsl.js +47 -0
  42. package/{typed → dist}/heatmap-layer/triangle-layer.d.ts +10 -2
  43. package/dist/heatmap-layer/triangle-layer.d.ts.map +1 -0
  44. package/dist/heatmap-layer/triangle-layer.js +59 -0
  45. package/dist/heatmap-layer/weights-fs.glsl.js +17 -0
  46. package/dist/heatmap-layer/weights-vs.glsl.d.ts +3 -0
  47. package/{typed → dist}/heatmap-layer/weights-vs.glsl.d.ts.map +1 -1
  48. package/dist/heatmap-layer/weights-vs.glsl.js +21 -0
  49. package/dist/hexagon-layer/hexagon-aggregator.js +112 -0
  50. package/{typed → dist}/hexagon-layer/hexagon-layer.d.ts +4 -4
  51. package/dist/hexagon-layer/hexagon-layer.d.ts.map +1 -0
  52. package/dist/hexagon-layer/hexagon-layer.js +173 -0
  53. package/dist/index.cjs +4328 -0
  54. package/dist/index.cjs.map +7 -0
  55. package/dist/index.d.ts +20 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +32 -0
  58. package/{typed → dist}/screen-grid-layer/screen-grid-cell-layer.d.ts +2 -3
  59. package/dist/screen-grid-layer/screen-grid-cell-layer.d.ts.map +1 -0
  60. package/dist/screen-grid-layer/screen-grid-cell-layer.js +164 -0
  61. package/dist/screen-grid-layer/screen-grid-layer-fragment.glsl.js +35 -0
  62. package/dist/screen-grid-layer/screen-grid-layer-vertex.glsl.js +72 -0
  63. package/{typed → dist}/screen-grid-layer/screen-grid-layer.d.ts +1 -4
  64. package/dist/screen-grid-layer/screen-grid-layer.d.ts.map +1 -0
  65. package/dist/screen-grid-layer/screen-grid-layer.js +209 -0
  66. package/dist/types.js +1 -0
  67. package/dist/utils/aggregation-operation-utils.js +94 -0
  68. package/{typed → dist}/utils/bin-sorter.d.ts +1 -1
  69. package/dist/utils/bin-sorter.js +167 -0
  70. package/dist/utils/color-utils.js +53 -0
  71. package/dist/utils/cpu-aggregator.js +421 -0
  72. package/dist/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js +36 -0
  73. package/dist/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js +42 -0
  74. package/dist/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js +30 -0
  75. package/dist/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js +61 -0
  76. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js +41 -0
  77. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js +1 -0
  78. package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator.d.ts.map +1 -1
  79. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator.js +555 -0
  80. package/dist/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js +32 -0
  81. package/dist/utils/grid-aggregation-utils.js +114 -0
  82. package/dist/utils/prop-utils.js +28 -0
  83. package/dist/utils/resource-utils.js +38 -0
  84. package/dist/utils/scale-utils.js +184 -0
  85. package/dist.min.js +299 -555
  86. package/package.json +19 -14
  87. package/src/aggregation-layer.ts +3 -2
  88. package/src/contour-layer/contour-layer.ts +2 -3
  89. package/src/cpu-grid-layer/cpu-grid-layer.ts +1 -2
  90. package/src/gpu-grid-layer/gpu-grid-cell-layer.ts +1 -1
  91. package/src/gpu-grid-layer/gpu-grid-layer.ts +2 -2
  92. package/src/heatmap-layer/heatmap-layer-utils.ts +0 -23
  93. package/src/heatmap-layer/heatmap-layer.ts +91 -127
  94. package/src/heatmap-layer/max-vs.glsl.ts +11 -5
  95. package/src/heatmap-layer/triangle-layer-fragment.glsl.ts +2 -2
  96. package/src/heatmap-layer/triangle-layer.ts +17 -23
  97. package/src/heatmap-layer/weights-vs.glsl.ts +4 -2
  98. package/src/hexagon-layer/hexagon-layer.ts +2 -3
  99. package/src/screen-grid-layer/screen-grid-cell-layer.ts +3 -6
  100. package/src/screen-grid-layer/screen-grid-layer.ts +1 -11
  101. package/src/utils/gpu-grid-aggregation/gpu-grid-aggregator.ts +16 -30
  102. package/dist/es5/aggregation-layer.js +0 -215
  103. package/dist/es5/aggregation-layer.js.map +0 -1
  104. package/dist/es5/contour-layer/contour-layer.js +0 -353
  105. package/dist/es5/contour-layer/contour-layer.js.map +0 -1
  106. package/dist/es5/contour-layer/contour-utils.js +0 -110
  107. package/dist/es5/contour-layer/contour-utils.js.map +0 -1
  108. package/dist/es5/contour-layer/marching-squares-codes.js +0 -152
  109. package/dist/es5/contour-layer/marching-squares-codes.js.map +0 -1
  110. package/dist/es5/contour-layer/marching-squares.js +0 -168
  111. package/dist/es5/contour-layer/marching-squares.js.map +0 -1
  112. package/dist/es5/cpu-grid-layer/cpu-grid-layer.js +0 -235
  113. package/dist/es5/cpu-grid-layer/cpu-grid-layer.js.map +0 -1
  114. package/dist/es5/cpu-grid-layer/grid-aggregator.js +0 -180
  115. package/dist/es5/cpu-grid-layer/grid-aggregator.js.map +0 -1
  116. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js +0 -9
  117. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js.map +0 -1
  118. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.js +0 -9
  119. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.js.map +0 -1
  120. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer.js +0 -247
  121. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer.js.map +0 -1
  122. package/dist/es5/gpu-grid-layer/gpu-grid-layer.js +0 -424
  123. package/dist/es5/gpu-grid-layer/gpu-grid-layer.js.map +0 -1
  124. package/dist/es5/grid-aggregation-layer.js +0 -280
  125. package/dist/es5/grid-aggregation-layer.js.map +0 -1
  126. package/dist/es5/grid-layer/grid-layer.js +0 -125
  127. package/dist/es5/grid-layer/grid-layer.js.map +0 -1
  128. package/dist/es5/heatmap-layer/heatmap-layer-utils.js +0 -122
  129. package/dist/es5/heatmap-layer/heatmap-layer-utils.js.map +0 -1
  130. package/dist/es5/heatmap-layer/heatmap-layer.js +0 -672
  131. package/dist/es5/heatmap-layer/heatmap-layer.js.map +0 -1
  132. package/dist/es5/heatmap-layer/max-fs.glsl.js +0 -9
  133. package/dist/es5/heatmap-layer/max-fs.glsl.js.map +0 -1
  134. package/dist/es5/heatmap-layer/max-vs.glsl.js +0 -9
  135. package/dist/es5/heatmap-layer/max-vs.glsl.js.map +0 -1
  136. package/dist/es5/heatmap-layer/triangle-layer-fragment.glsl.js +0 -9
  137. package/dist/es5/heatmap-layer/triangle-layer-fragment.glsl.js.map +0 -1
  138. package/dist/es5/heatmap-layer/triangle-layer-vertex.glsl.js +0 -9
  139. package/dist/es5/heatmap-layer/triangle-layer-vertex.glsl.js.map +0 -1
  140. package/dist/es5/heatmap-layer/triangle-layer.js +0 -122
  141. package/dist/es5/heatmap-layer/triangle-layer.js.map +0 -1
  142. package/dist/es5/heatmap-layer/weights-fs.glsl.js +0 -9
  143. package/dist/es5/heatmap-layer/weights-fs.glsl.js.map +0 -1
  144. package/dist/es5/heatmap-layer/weights-vs.glsl.js +0 -9
  145. package/dist/es5/heatmap-layer/weights-vs.glsl.js.map +0 -1
  146. package/dist/es5/hexagon-layer/hexagon-aggregator.js +0 -118
  147. package/dist/es5/hexagon-layer/hexagon-aggregator.js.map +0 -1
  148. package/dist/es5/hexagon-layer/hexagon-layer.js +0 -289
  149. package/dist/es5/hexagon-layer/hexagon-layer.js.map +0 -1
  150. package/dist/es5/index.js +0 -104
  151. package/dist/es5/index.js.map +0 -1
  152. package/dist/es5/screen-grid-layer/screen-grid-cell-layer.js +0 -244
  153. package/dist/es5/screen-grid-layer/screen-grid-cell-layer.js.map +0 -1
  154. package/dist/es5/screen-grid-layer/screen-grid-layer-fragment.glsl.js +0 -9
  155. package/dist/es5/screen-grid-layer/screen-grid-layer-fragment.glsl.js.map +0 -1
  156. package/dist/es5/screen-grid-layer/screen-grid-layer-vertex.glsl.js +0 -9
  157. package/dist/es5/screen-grid-layer/screen-grid-layer-vertex.glsl.js.map +0 -1
  158. package/dist/es5/screen-grid-layer/screen-grid-layer.js +0 -317
  159. package/dist/es5/screen-grid-layer/screen-grid-layer.js.map +0 -1
  160. package/dist/es5/types.js +0 -2
  161. package/dist/es5/types.js.map +0 -1
  162. package/dist/es5/utils/aggregation-operation-utils.js +0 -123
  163. package/dist/es5/utils/aggregation-operation-utils.js.map +0 -1
  164. package/dist/es5/utils/bin-sorter.js +0 -248
  165. package/dist/es5/utils/bin-sorter.js.map +0 -1
  166. package/dist/es5/utils/color-utils.js +0 -39
  167. package/dist/es5/utils/color-utils.js.map +0 -1
  168. package/dist/es5/utils/cpu-aggregator.js +0 -496
  169. package/dist/es5/utils/cpu-aggregator.js.map +0 -1
  170. package/dist/es5/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js +0 -9
  171. package/dist/es5/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js.map +0 -1
  172. package/dist/es5/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js +0 -9
  173. package/dist/es5/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js.map +0 -1
  174. package/dist/es5/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js +0 -9
  175. package/dist/es5/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js.map +0 -1
  176. package/dist/es5/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js +0 -9
  177. package/dist/es5/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js.map +0 -1
  178. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js +0 -63
  179. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js.map +0 -1
  180. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js +0 -2
  181. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js.map +0 -1
  182. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator.js +0 -732
  183. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator.js.map +0 -1
  184. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator.md +0 -155
  185. package/dist/es5/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js +0 -9
  186. package/dist/es5/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js.map +0 -1
  187. package/dist/es5/utils/grid-aggregation-utils.js +0 -118
  188. package/dist/es5/utils/grid-aggregation-utils.js.map +0 -1
  189. package/dist/es5/utils/prop-utils.js +0 -19
  190. package/dist/es5/utils/prop-utils.js.map +0 -1
  191. package/dist/es5/utils/resource-utils.js +0 -59
  192. package/dist/es5/utils/resource-utils.js.map +0 -1
  193. package/dist/es5/utils/scale-utils.js +0 -254
  194. package/dist/es5/utils/scale-utils.js.map +0 -1
  195. package/dist/esm/aggregation-layer.js +0 -156
  196. package/dist/esm/aggregation-layer.js.map +0 -1
  197. package/dist/esm/contour-layer/contour-layer.js +0 -316
  198. package/dist/esm/contour-layer/contour-layer.js.map +0 -1
  199. package/dist/esm/contour-layer/contour-utils.js +0 -81
  200. package/dist/esm/contour-layer/contour-utils.js.map +0 -1
  201. package/dist/esm/contour-layer/marching-squares-codes.js +0 -219
  202. package/dist/esm/contour-layer/marching-squares-codes.js.map +0 -1
  203. package/dist/esm/contour-layer/marching-squares.js +0 -151
  204. package/dist/esm/contour-layer/marching-squares.js.map +0 -1
  205. package/dist/esm/cpu-grid-layer/cpu-grid-layer.js +0 -186
  206. package/dist/esm/cpu-grid-layer/cpu-grid-layer.js.map +0 -1
  207. package/dist/esm/cpu-grid-layer/grid-aggregator.js +0 -142
  208. package/dist/esm/cpu-grid-layer/grid-aggregator.js.map +0 -1
  209. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js +0 -16
  210. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js.map +0 -1
  211. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.js +0 -122
  212. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.js.map +0 -1
  213. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer.js +0 -196
  214. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer.js.map +0 -1
  215. package/dist/esm/gpu-grid-layer/gpu-grid-layer.js +0 -399
  216. package/dist/esm/gpu-grid-layer/gpu-grid-layer.js.map +0 -1
  217. package/dist/esm/grid-aggregation-layer.js +0 -240
  218. package/dist/esm/grid-aggregation-layer.js.map +0 -1
  219. package/dist/esm/grid-layer/grid-layer.js +0 -80
  220. package/dist/esm/grid-layer/grid-layer.js.map +0 -1
  221. package/dist/esm/heatmap-layer/heatmap-layer-utils.js +0 -68
  222. package/dist/esm/heatmap-layer/heatmap-layer-utils.js.map +0 -1
  223. package/dist/esm/heatmap-layer/heatmap-layer.js +0 -626
  224. package/dist/esm/heatmap-layer/heatmap-layer.js.map +0 -1
  225. package/dist/esm/heatmap-layer/max-fs.glsl.js +0 -10
  226. package/dist/esm/heatmap-layer/max-fs.glsl.js.map +0 -1
  227. package/dist/esm/heatmap-layer/max-vs.glsl.js +0 -14
  228. package/dist/esm/heatmap-layer/max-vs.glsl.js.map +0 -1
  229. package/dist/esm/heatmap-layer/triangle-layer-fragment.glsl.js +0 -43
  230. package/dist/esm/heatmap-layer/triangle-layer-fragment.glsl.js.map +0 -1
  231. package/dist/esm/heatmap-layer/triangle-layer-vertex.glsl.js +0 -33
  232. package/dist/esm/heatmap-layer/triangle-layer-vertex.glsl.js.map +0 -1
  233. package/dist/esm/heatmap-layer/triangle-layer.js +0 -80
  234. package/dist/esm/heatmap-layer/triangle-layer.js.map +0 -1
  235. package/dist/esm/heatmap-layer/weights-fs.glsl.js +0 -22
  236. package/dist/esm/heatmap-layer/weights-fs.glsl.js.map +0 -1
  237. package/dist/esm/heatmap-layer/weights-vs.glsl.js +0 -25
  238. package/dist/esm/heatmap-layer/weights-vs.glsl.js.map +0 -1
  239. package/dist/esm/hexagon-layer/hexagon-aggregator.js +0 -87
  240. package/dist/esm/hexagon-layer/hexagon-aggregator.js.map +0 -1
  241. package/dist/esm/hexagon-layer/hexagon-layer.js +0 -232
  242. package/dist/esm/hexagon-layer/hexagon-layer.js.map +0 -1
  243. package/dist/esm/index.js +0 -13
  244. package/dist/esm/index.js.map +0 -1
  245. package/dist/esm/screen-grid-layer/screen-grid-cell-layer.js +0 -203
  246. package/dist/esm/screen-grid-layer/screen-grid-cell-layer.js.map +0 -1
  247. package/dist/esm/screen-grid-layer/screen-grid-layer-fragment.glsl.js +0 -21
  248. package/dist/esm/screen-grid-layer/screen-grid-layer-fragment.glsl.js.map +0 -1
  249. package/dist/esm/screen-grid-layer/screen-grid-layer-vertex.glsl.js +0 -66
  250. package/dist/esm/screen-grid-layer/screen-grid-layer-vertex.glsl.js.map +0 -1
  251. package/dist/esm/screen-grid-layer/screen-grid-layer.js +0 -285
  252. package/dist/esm/screen-grid-layer/screen-grid-layer.js.map +0 -1
  253. package/dist/esm/types.js +0 -2
  254. package/dist/esm/types.js.map +0 -1
  255. package/dist/esm/utils/aggregation-operation-utils.js +0 -91
  256. package/dist/esm/utils/aggregation-operation-utils.js.map +0 -1
  257. package/dist/esm/utils/bin-sorter.js +0 -165
  258. package/dist/esm/utils/bin-sorter.js.map +0 -1
  259. package/dist/esm/utils/color-utils.js +0 -28
  260. package/dist/esm/utils/color-utils.js.map +0 -1
  261. package/dist/esm/utils/cpu-aggregator.js +0 -487
  262. package/dist/esm/utils/cpu-aggregator.js.map +0 -1
  263. package/dist/esm/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js +0 -21
  264. package/dist/esm/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js.map +0 -1
  265. package/dist/esm/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js +0 -35
  266. package/dist/esm/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js.map +0 -1
  267. package/dist/esm/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js +0 -16
  268. package/dist/esm/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js.map +0 -1
  269. package/dist/esm/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js +0 -60
  270. package/dist/esm/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js.map +0 -1
  271. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js +0 -42
  272. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js.map +0 -1
  273. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js +0 -2
  274. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js.map +0 -1
  275. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator.js +0 -720
  276. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator.js.map +0 -1
  277. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator.md +0 -155
  278. package/dist/esm/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js +0 -19
  279. package/dist/esm/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js.map +0 -1
  280. package/dist/esm/utils/grid-aggregation-utils.js +0 -109
  281. package/dist/esm/utils/grid-aggregation-utils.js.map +0 -1
  282. package/dist/esm/utils/prop-utils.js +0 -12
  283. package/dist/esm/utils/prop-utils.js.map +0 -1
  284. package/dist/esm/utils/resource-utils.js +0 -44
  285. package/dist/esm/utils/resource-utils.js.map +0 -1
  286. package/dist/esm/utils/scale-utils.js +0 -192
  287. package/dist/esm/utils/scale-utils.js.map +0 -1
  288. package/typed/aggregation-layer.d.ts.map +0 -1
  289. package/typed/contour-layer/contour-layer.d.ts.map +0 -1
  290. package/typed/cpu-grid-layer/cpu-grid-layer.d.ts.map +0 -1
  291. package/typed/gpu-grid-layer/gpu-grid-cell-layer.d.ts.map +0 -1
  292. package/typed/gpu-grid-layer/gpu-grid-layer.d.ts.map +0 -1
  293. package/typed/grid-aggregation-layer.d.ts.map +0 -1
  294. package/typed/grid-layer/grid-layer.d.ts.map +0 -1
  295. package/typed/heatmap-layer/heatmap-layer-utils.d.ts.map +0 -1
  296. package/typed/heatmap-layer/heatmap-layer.d.ts.map +0 -1
  297. package/typed/heatmap-layer/max-vs.glsl.d.ts +0 -3
  298. package/typed/heatmap-layer/triangle-layer-fragment.glsl.d.ts +0 -3
  299. package/typed/heatmap-layer/triangle-layer.d.ts.map +0 -1
  300. package/typed/heatmap-layer/weights-vs.glsl.d.ts +0 -3
  301. package/typed/hexagon-layer/hexagon-layer.d.ts.map +0 -1
  302. package/typed/index.d.ts +0 -20
  303. package/typed/index.d.ts.map +0 -1
  304. package/typed/screen-grid-layer/screen-grid-cell-layer.d.ts.map +0 -1
  305. package/typed/screen-grid-layer/screen-grid-layer.d.ts.map +0 -1
  306. /package/{typed → dist}/contour-layer/contour-utils.d.ts +0 -0
  307. /package/{typed → dist}/contour-layer/contour-utils.d.ts.map +0 -0
  308. /package/{typed → dist}/contour-layer/marching-squares-codes.d.ts +0 -0
  309. /package/{typed → dist}/contour-layer/marching-squares-codes.d.ts.map +0 -0
  310. /package/{typed → dist}/contour-layer/marching-squares.d.ts +0 -0
  311. /package/{typed → dist}/contour-layer/marching-squares.d.ts.map +0 -0
  312. /package/{typed → dist}/cpu-grid-layer/grid-aggregator.d.ts +0 -0
  313. /package/{typed → dist}/cpu-grid-layer/grid-aggregator.d.ts.map +0 -0
  314. /package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.d.ts +0 -0
  315. /package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.d.ts.map +0 -0
  316. /package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.d.ts +0 -0
  317. /package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.d.ts.map +0 -0
  318. /package/{typed → dist}/heatmap-layer/max-fs.glsl.d.ts +0 -0
  319. /package/{typed → dist}/heatmap-layer/max-fs.glsl.d.ts.map +0 -0
  320. /package/{typed → dist}/heatmap-layer/triangle-layer-fragment.glsl.d.ts.map +0 -0
  321. /package/{typed → dist}/heatmap-layer/triangle-layer-vertex.glsl.d.ts +0 -0
  322. /package/{typed → dist}/heatmap-layer/triangle-layer-vertex.glsl.d.ts.map +0 -0
  323. /package/{typed → dist}/heatmap-layer/weights-fs.glsl.d.ts +0 -0
  324. /package/{typed → dist}/heatmap-layer/weights-fs.glsl.d.ts.map +0 -0
  325. /package/{typed → dist}/hexagon-layer/hexagon-aggregator.d.ts +0 -0
  326. /package/{typed → dist}/hexagon-layer/hexagon-aggregator.d.ts.map +0 -0
  327. /package/{typed → dist}/screen-grid-layer/screen-grid-layer-fragment.glsl.d.ts +0 -0
  328. /package/{typed → dist}/screen-grid-layer/screen-grid-layer-fragment.glsl.d.ts.map +0 -0
  329. /package/{typed → dist}/screen-grid-layer/screen-grid-layer-vertex.glsl.d.ts +0 -0
  330. /package/{typed → dist}/screen-grid-layer/screen-grid-layer-vertex.glsl.d.ts.map +0 -0
  331. /package/{typed → dist}/types.d.ts +0 -0
  332. /package/{typed → dist}/types.d.ts.map +0 -0
  333. /package/{typed → dist}/utils/aggregation-operation-utils.d.ts +0 -0
  334. /package/{typed → dist}/utils/aggregation-operation-utils.d.ts.map +0 -0
  335. /package/{typed → dist}/utils/bin-sorter.d.ts.map +0 -0
  336. /package/{typed → dist}/utils/color-utils.d.ts +0 -0
  337. /package/{typed → dist}/utils/color-utils.d.ts.map +0 -0
  338. /package/{typed → dist}/utils/cpu-aggregator.d.ts +0 -0
  339. /package/{typed → dist}/utils/cpu-aggregator.d.ts.map +0 -0
  340. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.d.ts +0 -0
  341. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.d.ts.map +0 -0
  342. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.d.ts +0 -0
  343. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.d.ts.map +0 -0
  344. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.d.ts +0 -0
  345. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.d.ts.map +0 -0
  346. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.d.ts +0 -0
  347. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.d.ts.map +0 -0
  348. /package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.d.ts +0 -0
  349. /package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.d.ts.map +0 -0
  350. /package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.d.ts +0 -0
  351. /package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.d.ts.map +0 -0
  352. /package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator.d.ts +0 -0
  353. /package/{typed → dist}/utils/gpu-grid-aggregation/transform-mean-vs.glsl.d.ts +0 -0
  354. /package/{typed → dist}/utils/gpu-grid-aggregation/transform-mean-vs.glsl.d.ts.map +0 -0
  355. /package/{typed → dist}/utils/grid-aggregation-utils.d.ts +0 -0
  356. /package/{typed → dist}/utils/grid-aggregation-utils.d.ts.map +0 -0
  357. /package/{typed → dist}/utils/prop-utils.d.ts +0 -0
  358. /package/{typed → dist}/utils/prop-utils.d.ts.map +0 -0
  359. /package/{typed → dist}/utils/resource-utils.d.ts +0 -0
  360. /package/{typed → dist}/utils/resource-utils.d.ts.map +0 -0
  361. /package/{typed → dist}/utils/scale-utils.d.ts +0 -0
  362. /package/{typed → dist}/utils/scale-utils.d.ts.map +0 -0
@@ -18,13 +18,14 @@
18
18
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
19
  // THE SOFTWARE.
20
20
 
21
- import type {Device, Texture} from '@luma.gl/core';
22
- import {Model, Geometry} from '@luma.gl/engine';
21
+ import type {Buffer, Device, Texture} from '@luma.gl/core';
22
+ import {Model} from '@luma.gl/engine';
23
23
  import {Layer, LayerContext, project32} from '@deck.gl/core';
24
24
  import vs from './triangle-layer-vertex.glsl';
25
25
  import fs from './triangle-layer-fragment.glsl';
26
26
 
27
27
  type _TriangleLayerProps = {
28
+ data: {attributes: {positions: Buffer; texCoords: Buffer}};
28
29
  colorDomain: number[];
29
30
  aggregationMode: string;
30
31
  threshold: number;
@@ -32,7 +33,7 @@ type _TriangleLayerProps = {
32
33
  vertexCount: number;
33
34
  colorTexture: Texture;
34
35
  maxTexture: Texture;
35
- texture: Texture;
36
+ weightsTexture: Texture;
36
37
  };
37
38
 
38
39
  export default class TriangleLayer extends Layer<_TriangleLayerProps> {
@@ -40,6 +41,8 @@ export default class TriangleLayer extends Layer<_TriangleLayerProps> {
40
41
 
41
42
  state!: {
42
43
  model: Model;
44
+ positions: Buffer;
45
+ texCoords: Buffer;
43
46
  };
44
47
 
45
48
  getShaders() {
@@ -47,40 +50,31 @@ export default class TriangleLayer extends Layer<_TriangleLayerProps> {
47
50
  }
48
51
 
49
52
  initializeState({device}: LayerContext): void {
50
- const attributeManager = this.getAttributeManager()!;
51
- attributeManager.add({
52
- positions: {size: 3, noAlloc: true},
53
- texCoords: {size: 2, noAlloc: true}
54
- });
55
- this.setState({
56
- model: this._getModel(device)
57
- });
53
+ this.setState({model: this._getModel(device)});
58
54
  }
59
55
 
60
56
  _getModel(device: Device): Model {
61
- const {vertexCount} = this.props;
57
+ const {vertexCount, data, weightsTexture, maxTexture, colorTexture} = this.props;
62
58
 
63
59
  return new Model(device, {
64
60
  ...this.getShaders(),
65
61
  id: this.props.id,
66
- geometry: new Geometry({
67
- topology: 'triangle-fan-webgl',
68
- vertexCount
69
- })
62
+ bindings: {weightsTexture, maxTexture, colorTexture},
63
+ attributes: data.attributes,
64
+ bufferLayout: [
65
+ {name: 'positions', format: 'float32x3'},
66
+ {name: 'texCoords', format: 'float32x2'}
67
+ ],
68
+ topology: 'triangle-fan-webgl',
69
+ vertexCount
70
70
  });
71
71
  }
72
72
 
73
73
  draw({uniforms}): void {
74
74
  const {model} = this.state;
75
-
76
- const {texture, maxTexture, colorTexture, intensity, threshold, aggregationMode, colorDomain} =
77
- this.props;
78
-
75
+ const {intensity, threshold, aggregationMode, colorDomain} = this.props;
79
76
  model.setUniforms({
80
77
  ...uniforms,
81
- texture,
82
- maxTexture,
83
- colorTexture,
84
78
  intensity,
85
79
  threshold,
86
80
  aggregationMode,
@@ -8,17 +8,19 @@ uniform float radiusPixels;
8
8
  uniform float textureWidth;
9
9
  uniform vec4 commonBounds;
10
10
  uniform float weightsScale;
11
+
11
12
  void main()
12
13
  {
13
14
  weightsTexture = vec4(weights * weightsScale, 0., 0., 1.);
14
15
 
15
- float radiusTexels = project_pixel_size(radiusPixels) * textureWidth / (commonBounds.z - commonBounds.x);
16
+ float radiusTexels = project_pixel_size(radiusPixels) * textureWidth / (commonBounds.z - commonBounds.x);
16
17
  gl_PointSize = radiusTexels * 2.;
17
18
 
18
19
  vec3 commonPosition = project_position(positions, positions64Low);
19
20
 
20
- // map xy from commonBounds to [-1, 1]
21
+ // // map xy from commonBounds to [-1, 1]
21
22
  gl_Position.xy = (commonPosition.xy - commonBounds.xy) / (commonBounds.zw - commonBounds.xy) ;
22
23
  gl_Position.xy = (gl_Position.xy * 2.) - (1.);
24
+ gl_Position.w = 1.0;
23
25
  }
24
26
  `;
@@ -29,7 +29,6 @@ import {
29
29
  DefaultProps
30
30
  } from '@deck.gl/core';
31
31
  import {ColumnLayer} from '@deck.gl/layers';
32
- import {GL} from '@luma.gl/constants';
33
32
 
34
33
  import {defaultColorRange} from '../utils/color-utils';
35
34
 
@@ -249,7 +248,7 @@ type _HexagonLayerProps<DataT = unknown> = {
249
248
  /** Aggregates data into a hexagon-based heatmap. The color and height of a hexagon are determined based on the objects it contains. */
250
249
  export default class HexagonLayer<DataT, ExtraPropsT extends {} = {}> extends AggregationLayer<
251
250
  DataT,
252
- ExtraPropsT & Required<_HexagonLayerProps>
251
+ ExtraPropsT & Required<_HexagonLayerProps<DataT>>
253
252
  > {
254
253
  static layerName = 'HexagonLayer';
255
254
  static defaultProps = defaultProps;
@@ -272,7 +271,7 @@ export default class HexagonLayer<DataT, ExtraPropsT extends {} = {}> extends Ag
272
271
  };
273
272
  const attributeManager = this.getAttributeManager()!;
274
273
  attributeManager.add({
275
- positions: {size: 3, type: GL.DOUBLE, accessor: 'getPosition'}
274
+ positions: {size: 3, type: 'float64', accessor: 'getPosition'}
276
275
  });
277
276
  // color and elevation attributes can't be added as attributes
278
277
  // they are calculated using 'getValue' accessor that takes an array of pints.
@@ -18,7 +18,7 @@
18
18
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
19
  // THE SOFTWARE.
20
20
 
21
- import {Device, Texture} from '@luma.gl/core';
21
+ import {Texture} from '@luma.gl/core';
22
22
  import {Model, Geometry} from '@luma.gl/engine';
23
23
  import {Layer, LayerProps, log, picking, UpdateParameters, DefaultProps} from '@deck.gl/core';
24
24
  import {defaultColorRange, colorRangeToFlatArray} from '../utils/color-utils';
@@ -54,10 +54,6 @@ export default class ScreenGridCellLayer<DataT = any, ExtraPropsT extends {} = {
54
54
  static layerName = 'ScreenGridCellLayer';
55
55
  static defaultProps = defaultProps;
56
56
 
57
- static isSupported(device: Device) {
58
- return device.features.has('texture-formats-float32-webgl1');
59
- }
60
-
61
57
  state!: {
62
58
  model?: Model;
63
59
  };
@@ -161,7 +157,8 @@ export default class ScreenGridCellLayer<DataT = any, ExtraPropsT extends {} = {
161
157
  0, 1, 0,
162
158
  ])
163
159
  }
164
- })
160
+ }),
161
+ isInstanced: true
165
162
  });
166
163
  }
167
164
 
@@ -32,7 +32,6 @@ import {
32
32
  DefaultProps
33
33
  } from '@deck.gl/core';
34
34
  import type {Buffer, Texture} from '@luma.gl/core';
35
- import {GL} from '@luma.gl/constants';
36
35
  import GPUGridAggregator from '../utils/gpu-grid-aggregation/gpu-grid-aggregator';
37
36
  import {AGGREGATION_OPERATION, getValueFunc} from '../utils/aggregation-operation-utils';
38
37
  import ScreenGridCellLayer from './screen-grid-cell-layer';
@@ -121,9 +120,6 @@ export type _ScreenGridLayerProps<DataT> = {
121
120
  /**
122
121
  * Perform aggregation is performed on GPU.
123
122
  *
124
- * NOTE: GPU Aggregation requires WebGL2 support by the browser.
125
- * When `gpuAggregation` is set to true and browser doesn't support WebGL2, aggregation falls back to CPU.
126
- *
127
123
  * @default true
128
124
  */
129
125
  gpuAggregation?: boolean;
@@ -157,12 +153,6 @@ export default class ScreenGridLayer<
157
153
  };
158
154
 
159
155
  initializeState() {
160
- if (!ScreenGridCellLayer.isSupported(this.context.device)) {
161
- // max aggregated value is sampled from a float texture
162
- this.setState({supported: false});
163
- log.error(`ScreenGridLayer: ${this.id} is not supported on this browser`)();
164
- return;
165
- }
166
156
  super.initializeAggregationLayer({
167
157
  dimensions: DIMENSIONS,
168
158
  // @ts-expect-error
@@ -191,7 +181,7 @@ export default class ScreenGridLayer<
191
181
  [POSITION_ATTRIBUTE_NAME]: {
192
182
  size: 3,
193
183
  accessor: 'getPosition',
194
- type: GL.DOUBLE,
184
+ type: 'float64',
195
185
  fp64: this.use64bitPositions()
196
186
  },
197
187
  // this attribute is used in gpu aggregation path only
@@ -21,9 +21,8 @@
21
21
  import type {Device, DeviceFeature} from '@luma.gl/core';
22
22
  import {Model, TextureTransform} from '@luma.gl/engine';
23
23
  import {fp64arithmetic} from '@luma.gl/shadertools';
24
- import {readPixelsToBuffer, withGLParameters, clear} from '@luma.gl/webgl';
25
24
  import {GL} from '@luma.gl/constants';
26
- import {log, project32, _mergeShaders as mergeShaders, getShaderAssembler} from '@deck.gl/core';
25
+ import {project32, _mergeShaders as mergeShaders, getShaderAssembler} from '@deck.gl/core';
27
26
 
28
27
  import {
29
28
  DEFAULT_RUN_PARAMS,
@@ -52,11 +51,8 @@ const ARRAY_BUFFER_MAP = {
52
51
  };
53
52
 
54
53
  const REQUIRED_FEATURES: DeviceFeature[] = [
55
- 'webgl2',
56
- 'blend-minmax-webgl1',
57
- 'texture-renderable-float32-webgl',
58
- 'texture-blend-float-webgl1',
59
- 'texture-formats-float32-webgl1'
54
+ 'float32-renderable-webgl',
55
+ 'texture-blend-float-webgl'
60
56
  ];
61
57
 
62
58
  export type GPUGridAggregatorProps = {
@@ -180,15 +176,10 @@ export default class GPUGridAggregator {
180
176
  this.device = device;
181
177
 
182
178
  const REQUIRED_FEATURES: DeviceFeature[] = [
183
- 'blend-minmax-webgl1', // set min/max blend modes
184
- 'texture-renderable-float32-webgl', // render to float texture
185
- 'texture-formats-float32-webgl1' // sample from a float texture
179
+ 'float32-renderable-webgl' // render to float texture
186
180
  ];
187
181
 
188
- // gl_InstanceID usage in min/max calculation shaders
189
- this._hasGPUSupport =
190
- this.device.info.type === 'webgl2' &&
191
- REQUIRED_FEATURES.every(feature => device.features.has(feature));
182
+ this._hasGPUSupport = REQUIRED_FEATURES.every(feature => device.features.has(feature));
192
183
  if (this._hasGPUSupport) {
193
184
  this._setupModels();
194
185
  }
@@ -227,9 +218,6 @@ export default class GPUGridAggregator {
227
218
  // reset results
228
219
  this.setState({results: {}});
229
220
  const aggregationParams = this._normalizeAggregationParams(opts);
230
- if (!this._hasGPUSupport) {
231
- log.log(1, 'GPUGridAggregator: not supported')();
232
- }
233
221
  return this._runAggregation(aggregationParams);
234
222
  }
235
223
 
@@ -302,26 +290,26 @@ export default class GPUGridAggregator {
302
290
  results[id] = {};
303
291
  const {needMin, needMax, combineMaxMin} = weights[id];
304
292
  results[id].aggregationTexture = textures[id];
305
- results[id].aggregationBuffer = readPixelsToBuffer(framebuffers[id], {
293
+ results[id].aggregationBuffer = this.device.readPixelsToBufferWebGL(framebuffers[id], {
306
294
  target: weights[id].aggregationBuffer, // update if a buffer is provided
307
295
  sourceType: GL.FLOAT
308
296
  });
309
297
  if (needMin && needMax && combineMaxMin) {
310
- results[id].maxMinBuffer = readPixelsToBuffer(maxMinFramebuffers[id], {
298
+ results[id].maxMinBuffer = this.device.readPixelsToBufferWebGL(maxMinFramebuffers[id], {
311
299
  target: weights[id].maxMinBuffer, // update if a buffer is provided
312
300
  sourceType: GL.FLOAT
313
301
  });
314
302
  results[id].maxMinTexture = resources[`${id}-maxMinTexture`];
315
303
  } else {
316
304
  if (needMin) {
317
- results[id].minBuffer = readPixelsToBuffer(minFramebuffers[id], {
305
+ results[id].minBuffer = this.device.readPixelsToBufferWebGL(minFramebuffers[id], {
318
306
  target: weights[id].minBuffer, // update if a buffer is provided
319
307
  sourceType: GL.FLOAT
320
308
  });
321
309
  results[id].minTexture = resources[`${id}-minTexture`];
322
310
  }
323
311
  if (needMax) {
324
- results[id].maxBuffer = readPixelsToBuffer(maxFramebuffers[id], {
312
+ results[id].maxBuffer = this.device.readPixelsToBufferWebGL(maxFramebuffers[id], {
325
313
  target: weights[id].maxBuffer, // update if a buffer is provided
326
314
  sourceType: GL.FLOAT
327
315
  });
@@ -409,19 +397,18 @@ export default class GPUGridAggregator {
409
397
 
410
398
  // render all aggregated grid-cells to generate Min, Max or MaxMin data texture
411
399
  _renderToMaxMinTexture(opts) {
412
- const {id, parameters, gridSize, minOrMaxFb, combineMaxMin, clearParams = {}} = opts;
400
+ const {id, gridSize, minOrMaxFb, combineMaxMin, clearParams = {}} = opts;
413
401
  const {framebuffers} = this.state;
414
402
  const {allAggregationModel} = this;
415
403
 
416
- withGLParameters(
417
- this.device,
404
+ this.device.withParametersWebGL(
418
405
  {
419
406
  ...clearParams,
420
407
  framebuffer: minOrMaxFb,
421
408
  viewport: [0, 0, gridSize[0], gridSize[1]]
422
409
  },
423
410
  () => {
424
- clear(this.device, {color: true});
411
+ this.device.clearWebGL({color: true});
425
412
 
426
413
  // allAggregationModel.setParameters(parameters);
427
414
  allAggregationModel.setUniforms({gridSize, combineMaxMin});
@@ -444,15 +431,14 @@ export default class GPUGridAggregator {
444
431
  operation === AGGREGATION_OPERATION.MIN
445
432
  ? [MAX_32_BIT_FLOAT, MAX_32_BIT_FLOAT, MAX_32_BIT_FLOAT, 0]
446
433
  : [0, 0, 0, 0];
447
- withGLParameters(
448
- this.device,
434
+ this.device.withParametersWebGL(
449
435
  {
450
436
  framebuffer: framebuffers[id],
451
437
  viewport: [0, 0, gridSize[0], gridSize[1]],
452
438
  clearColor
453
439
  },
454
440
  () => {
455
- clear(this.device, {color: true});
441
+ this.device.clearWebGL({color: true});
456
442
 
457
443
  const attributes = {weights: weightAttributes[id]};
458
444
  gridAggregationModel.draw({
@@ -483,7 +469,7 @@ export default class GPUGridAggregator {
483
469
  }
484
470
  });
485
471
 
486
- // update framebuffer with mean results so readPixelsToBuffer returns mean values
472
+ // update framebuffer with mean results so device.readPixelsToBufferWebGL returns mean values
487
473
  framebuffers[id].attach({[GL.COLOR_ATTACHMENT0]: textures[id]});
488
474
  }
489
475
  }
@@ -607,7 +593,7 @@ export default class GPUGridAggregator {
607
593
  if (results[id]) {
608
594
  for (const bufferName of BUFFER_NAMES) {
609
595
  if (results[id][bufferName] && weights[id][bufferName] !== results[id][bufferName]) {
610
- // No result buffer is provided in weights object, `readPixelsToBuffer` has created a new Buffer object
596
+ // No result buffer is provided in weights object, `device.readPixelsToBufferWebGL` has created a new Buffer object
611
597
  // collect the new buffer for garabge collection
612
598
  const name = `gpu-result-${id}-${bufferName}`;
613
599
  if (resources[name]) {
@@ -1,215 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _core = require("@deck.gl/core");
21
-
22
- var _propUtils = require("./utils/prop-utils");
23
-
24
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
25
-
26
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
27
-
28
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
29
-
30
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
31
-
32
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
33
-
34
- var AggregationLayer = function (_CompositeLayer) {
35
- (0, _inherits2.default)(AggregationLayer, _CompositeLayer);
36
-
37
- var _super = _createSuper(AggregationLayer);
38
-
39
- function AggregationLayer() {
40
- var _this;
41
-
42
- (0, _classCallCheck2.default)(this, AggregationLayer);
43
-
44
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
45
- args[_key] = arguments[_key];
46
- }
47
-
48
- _this = _super.call.apply(_super, [this].concat(args));
49
- _this.state = void 0;
50
- return _this;
51
- }
52
-
53
- var _proto = AggregationLayer.prototype;
54
-
55
- _proto.initializeAggregationLayer = function initializeAggregationLayer(dimensions) {
56
- (0, _get2.default)((0, _getPrototypeOf2.default)(AggregationLayer.prototype), "initializeState", this).call(this, this.context);
57
- this.setState({
58
- ignoreProps: (0, _propUtils.filterProps)(this.constructor._propTypes, dimensions.data.props),
59
- dimensions: dimensions
60
- });
61
- };
62
-
63
- _proto.updateState = function updateState(opts) {
64
- (0, _get2.default)((0, _getPrototypeOf2.default)(AggregationLayer.prototype), "updateState", this).call(this, opts);
65
- var changeFlags = opts.changeFlags;
66
-
67
- if (changeFlags.extensionsChanged) {
68
- var shaders = this.getShaders({});
69
-
70
- if (shaders && shaders.defines) {
71
- shaders.defines.NON_INSTANCED_MODEL = 1;
72
- }
73
-
74
- this.updateShaders(shaders);
75
- }
76
-
77
- this._updateAttributes();
78
- };
79
-
80
- _proto.updateAttributes = function updateAttributes(changedAttributes) {
81
- this.setState({
82
- changedAttributes: changedAttributes
83
- });
84
- };
85
-
86
- _proto.getAttributes = function getAttributes() {
87
- return this.getAttributeManager().getAttributes();
88
- };
89
-
90
- _proto.getModuleSettings = function getModuleSettings() {
91
- var _this$context = this.context,
92
- viewport = _this$context.viewport,
93
- mousePosition = _this$context.mousePosition,
94
- device = _this$context.device;
95
- var moduleSettings = Object.assign(Object.create(this.props), {
96
- viewport: viewport,
97
- mousePosition: mousePosition,
98
- picking: {
99
- isActive: 0
100
- },
101
- devicePixelRatio: device.canvasContext.cssToDeviceRatio()
102
- });
103
- return moduleSettings;
104
- };
105
-
106
- _proto.updateShaders = function updateShaders(shaders) {};
107
-
108
- _proto.isAggregationDirty = function isAggregationDirty(updateOpts) {
109
- var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
110
- var props = updateOpts.props,
111
- oldProps = updateOpts.oldProps,
112
- changeFlags = updateOpts.changeFlags;
113
- var _params$compareAll = params.compareAll,
114
- compareAll = _params$compareAll === void 0 ? false : _params$compareAll,
115
- dimension = params.dimension;
116
- var ignoreProps = this.state.ignoreProps;
117
- var dataProps = dimension.props,
118
- _dimension$accessors = dimension.accessors,
119
- accessors = _dimension$accessors === void 0 ? [] : _dimension$accessors;
120
- var updateTriggersChanged = changeFlags.updateTriggersChanged;
121
-
122
- if (changeFlags.dataChanged) {
123
- return true;
124
- }
125
-
126
- if (updateTriggersChanged) {
127
- if (updateTriggersChanged.all) {
128
- return true;
129
- }
130
-
131
- var _iterator = _createForOfIteratorHelper(accessors),
132
- _step;
133
-
134
- try {
135
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
136
- var accessor = _step.value;
137
-
138
- if (updateTriggersChanged[accessor]) {
139
- return true;
140
- }
141
- }
142
- } catch (err) {
143
- _iterator.e(err);
144
- } finally {
145
- _iterator.f();
146
- }
147
- }
148
-
149
- if (compareAll) {
150
- if (changeFlags.extensionsChanged) {
151
- return true;
152
- }
153
-
154
- return (0, _core._compareProps)({
155
- oldProps: oldProps,
156
- newProps: props,
157
- ignoreProps: ignoreProps,
158
- propTypes: this.constructor._propTypes
159
- });
160
- }
161
-
162
- var _iterator2 = _createForOfIteratorHelper(dataProps),
163
- _step2;
164
-
165
- try {
166
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
167
- var name = _step2.value;
168
-
169
- if (props[name] !== oldProps[name]) {
170
- return true;
171
- }
172
- }
173
- } catch (err) {
174
- _iterator2.e(err);
175
- } finally {
176
- _iterator2.f();
177
- }
178
-
179
- return false;
180
- };
181
-
182
- _proto.isAttributeChanged = function isAttributeChanged(name) {
183
- var changedAttributes = this.state.changedAttributes;
184
-
185
- if (!name) {
186
- return !isObjectEmpty(changedAttributes);
187
- }
188
-
189
- return changedAttributes && changedAttributes[name] !== undefined;
190
- };
191
-
192
- _proto._getAttributeManager = function _getAttributeManager() {
193
- return new _core.AttributeManager(this.context.device, {
194
- id: this.props.id,
195
- stats: this.context.stats
196
- });
197
- };
198
-
199
- return AggregationLayer;
200
- }(_core.CompositeLayer);
201
-
202
- exports.default = AggregationLayer;
203
- AggregationLayer.layerName = 'AggregationLayer';
204
-
205
- function isObjectEmpty(obj) {
206
- var isEmpty = true;
207
-
208
- for (var key in obj) {
209
- isEmpty = false;
210
- break;
211
- }
212
-
213
- return isEmpty;
214
- }
215
- //# sourceMappingURL=aggregation-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/aggregation-layer.ts"],"names":["AggregationLayer","state","initializeAggregationLayer","dimensions","context","setState","ignoreProps","constructor","_propTypes","data","props","updateState","opts","changeFlags","extensionsChanged","shaders","getShaders","defines","NON_INSTANCED_MODEL","updateShaders","_updateAttributes","updateAttributes","changedAttributes","getAttributes","getAttributeManager","getModuleSettings","viewport","mousePosition","device","moduleSettings","Object","assign","create","picking","isActive","devicePixelRatio","canvasContext","cssToDeviceRatio","isAggregationDirty","updateOpts","params","oldProps","compareAll","dimension","dataProps","accessors","updateTriggersChanged","dataChanged","all","accessor","newProps","propTypes","name","isAttributeChanged","isObjectEmpty","undefined","_getAttributeManager","AttributeManager","id","stats","CompositeLayer","layerName","obj","isEmpty","key"],"mappings":"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","sourcesContent":["// Copyright (c) 2015 - 2017 Uber Technologies, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\nimport {\n CompositeLayer,\n AttributeManager,\n LayerDataSource,\n _compareProps as compareProps,\n UpdateParameters,\n CompositeLayerProps\n} from '@deck.gl/core';\nimport {filterProps} from './utils/prop-utils';\n\nexport type AggregationLayerProps<DataT> = CompositeLayerProps & {\n data: LayerDataSource<DataT>;\n};\n\nexport default abstract class AggregationLayer<\n DataT,\n ExtraPropsT extends {} = {}\n> extends CompositeLayer<Required<AggregationLayer<DataT>> & ExtraPropsT> {\n static layerName = 'AggregationLayer';\n\n state!: {\n ignoreProps?: Record<string, any>;\n dimensions?: any;\n changedAttributes?: Record<string, any>;\n };\n\n initializeAggregationLayer(dimensions: any) {\n super.initializeState(this.context);\n\n this.setState({\n // Layer props , when changed doesn't require updating aggregation\n ignoreProps: filterProps((this.constructor as any)._propTypes, dimensions.data.props),\n dimensions\n });\n }\n\n updateState(opts: UpdateParameters<this>) {\n super.updateState(opts);\n const {changeFlags} = opts;\n if (changeFlags.extensionsChanged) {\n const shaders = this.getShaders({});\n if (shaders && shaders.defines) {\n shaders.defines.NON_INSTANCED_MODEL = 1;\n }\n this.updateShaders(shaders);\n }\n\n // Explictly call to update attributes as 'CompositeLayer' doesn't call this\n this._updateAttributes();\n }\n\n updateAttributes(changedAttributes) {\n // Super classes, can refer to state.changedAttributes to determine what\n // attributes changed\n this.setState({changedAttributes});\n }\n\n getAttributes() {\n return this.getAttributeManager()!.getAttributes();\n }\n\n getModuleSettings() {\n // For regular layer draw this happens during draw cycle (_drawLayersInViewport) not during update cycle\n // For aggregation layers this is called during updateState to update aggregation data\n // NOTE: it is similar to LayerPass._getModuleParameters() but doesn't inlcude `effects` it is not needed for aggregation\n const {viewport, mousePosition, device} = this.context;\n const moduleSettings = Object.assign(Object.create(this.props), {\n viewport,\n mousePosition,\n picking: {\n isActive: 0\n },\n // @ts-expect-error TODO - assuming WebGL context\n devicePixelRatio: device.canvasContext.cssToDeviceRatio()\n });\n return moduleSettings;\n }\n\n updateShaders(shaders) {\n // Default implemention is empty, subclasses can update their Model objects if needed\n }\n\n /**\n * Checks if aggregation is dirty\n * @param {Object} updateOpts - object {props, oldProps, changeFlags}\n * @param {Object} params - object {dimension, compareAll}\n * @param {Object} params.dimension - {props, accessors} array of props and/or accessors\n * @param {Boolean} params.compareAll - when `true` it will include non layer props for comparision\n * @returns {Boolean} - returns true if dimensions' prop or accessor is changed\n **/\n isAggregationDirty(\n updateOpts,\n params: {compareAll?: boolean; dimension?: any} = {}\n ): string | boolean {\n const {props, oldProps, changeFlags} = updateOpts;\n const {compareAll = false, dimension} = params;\n const {ignoreProps} = this.state;\n const {props: dataProps, accessors = []} = dimension;\n const {updateTriggersChanged} = changeFlags;\n if (changeFlags.dataChanged) {\n return true;\n }\n if (updateTriggersChanged) {\n if (updateTriggersChanged.all) {\n return true;\n }\n for (const accessor of accessors) {\n if (updateTriggersChanged[accessor]) {\n return true;\n }\n }\n }\n if (compareAll) {\n if (changeFlags.extensionsChanged) {\n return true;\n }\n // Compare non layer props too (like extension props)\n // ignoreprops refers to all Layer props other than aggregation props that need to be comapred\n return compareProps({\n oldProps,\n newProps: props,\n ignoreProps,\n propTypes: (this.constructor as any)._propTypes\n });\n }\n // Compare props of the dimension\n for (const name of dataProps) {\n if (props[name] !== oldProps[name]) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Checks if an attribute is changed\n * @param {String} name - name of the attribute\n * @returns {Boolean} - `true` if attribute `name` is changed, `false` otherwise,\n * If `name` is not passed or `undefiend`, `true` if any attribute is changed, `false` otherwise\n **/\n isAttributeChanged(name?: string) {\n const {changedAttributes} = this.state;\n if (!name) {\n // if name not specified return true if any attribute is changed\n return !isObjectEmpty(changedAttributes);\n }\n return changedAttributes && changedAttributes[name] !== undefined;\n }\n\n // Private\n\n // override Composite layer private method to create AttributeManager instance\n _getAttributeManager() {\n return new AttributeManager(this.context.device, {\n id: this.props.id,\n stats: this.context.stats\n });\n }\n}\n\n// Helper methods\n\n// Returns true if given object is empty, false otherwise.\nfunction isObjectEmpty(obj) {\n let isEmpty = true;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n for (const key in obj) {\n isEmpty = false;\n break;\n }\n return isEmpty;\n}\n"],"file":"aggregation-layer.js"}