@deck.gl/aggregation-layers 9.0.0-alpha.7 → 9.0.0-beta.10

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 (364) hide show
  1. package/{typed → dist}/aggregation-layer.d.ts.map +1 -1
  2. package/dist/aggregation-layer.js +153 -0
  3. package/{typed → dist}/contour-layer/contour-layer.d.ts +1 -1
  4. package/dist/contour-layer/contour-layer.d.ts.map +1 -0
  5. package/dist/contour-layer/contour-layer.js +240 -0
  6. package/dist/contour-layer/contour-utils.js +64 -0
  7. package/dist/contour-layer/marching-squares-codes.js +337 -0
  8. package/dist/contour-layer/marching-squares.js +147 -0
  9. package/{typed → dist}/cpu-grid-layer/cpu-grid-layer.d.ts +3 -3
  10. package/dist/cpu-grid-layer/cpu-grid-layer.d.ts.map +1 -0
  11. package/dist/cpu-grid-layer/cpu-grid-layer.js +129 -0
  12. package/dist/cpu-grid-layer/grid-aggregator.js +141 -0
  13. package/dist/dist.dev.js +1447 -10846
  14. package/dist/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js +30 -0
  15. package/dist/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.js +112 -0
  16. package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer.d.ts +1 -1
  17. package/dist/gpu-grid-layer/gpu-grid-cell-layer.d.ts.map +1 -0
  18. package/dist/gpu-grid-layer/gpu-grid-cell-layer.js +145 -0
  19. package/{typed → dist}/gpu-grid-layer/gpu-grid-layer.d.ts +4 -4
  20. package/dist/gpu-grid-layer/gpu-grid-layer.d.ts.map +1 -0
  21. package/dist/gpu-grid-layer/gpu-grid-layer.js +288 -0
  22. package/{typed → dist}/grid-aggregation-layer.d.ts +3 -3
  23. package/dist/grid-aggregation-layer.d.ts.map +1 -0
  24. package/dist/grid-aggregation-layer.js +172 -0
  25. package/{typed → dist}/grid-layer/grid-layer.d.ts +2 -2
  26. package/dist/grid-layer/grid-layer.d.ts.map +1 -0
  27. package/dist/grid-layer/grid-layer.js +63 -0
  28. package/{typed → dist}/heatmap-layer/heatmap-layer-utils.d.ts +0 -9
  29. package/dist/heatmap-layer/heatmap-layer-utils.d.ts.map +1 -0
  30. package/dist/heatmap-layer/heatmap-layer-utils.js +63 -0
  31. package/{typed → dist}/heatmap-layer/heatmap-layer.d.ts +5 -6
  32. package/dist/heatmap-layer/heatmap-layer.d.ts.map +1 -0
  33. package/dist/heatmap-layer/heatmap-layer.js +455 -0
  34. package/dist/heatmap-layer/max-fs.glsl.js +9 -0
  35. package/dist/heatmap-layer/max-vs.glsl.d.ts +3 -0
  36. package/{typed → dist}/heatmap-layer/max-vs.glsl.d.ts.map +1 -1
  37. package/dist/heatmap-layer/max-vs.glsl.js +15 -0
  38. package/dist/heatmap-layer/triangle-layer-fragment.glsl.d.ts +3 -0
  39. package/dist/heatmap-layer/triangle-layer-fragment.glsl.js +51 -0
  40. package/dist/heatmap-layer/triangle-layer-vertex.glsl.js +47 -0
  41. package/{typed → dist}/heatmap-layer/triangle-layer.d.ts +10 -2
  42. package/dist/heatmap-layer/triangle-layer.d.ts.map +1 -0
  43. package/dist/heatmap-layer/triangle-layer.js +59 -0
  44. package/dist/heatmap-layer/weights-fs.glsl.js +17 -0
  45. package/dist/heatmap-layer/weights-vs.glsl.d.ts +3 -0
  46. package/{typed → dist}/heatmap-layer/weights-vs.glsl.d.ts.map +1 -1
  47. package/dist/heatmap-layer/weights-vs.glsl.js +21 -0
  48. package/dist/hexagon-layer/hexagon-aggregator.js +112 -0
  49. package/{typed → dist}/hexagon-layer/hexagon-layer.d.ts +4 -4
  50. package/dist/hexagon-layer/hexagon-layer.d.ts.map +1 -0
  51. package/dist/hexagon-layer/hexagon-layer.js +173 -0
  52. package/dist/index.cjs +4327 -0
  53. package/dist/index.cjs.map +7 -0
  54. package/dist/index.d.ts +20 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +32 -0
  57. package/{typed → dist}/screen-grid-layer/screen-grid-cell-layer.d.ts +2 -3
  58. package/dist/screen-grid-layer/screen-grid-cell-layer.d.ts.map +1 -0
  59. package/dist/screen-grid-layer/screen-grid-cell-layer.js +163 -0
  60. package/dist/screen-grid-layer/screen-grid-layer-fragment.glsl.js +35 -0
  61. package/dist/screen-grid-layer/screen-grid-layer-vertex.glsl.js +72 -0
  62. package/{typed → dist}/screen-grid-layer/screen-grid-layer.d.ts +1 -4
  63. package/dist/screen-grid-layer/screen-grid-layer.d.ts.map +1 -0
  64. package/dist/screen-grid-layer/screen-grid-layer.js +209 -0
  65. package/dist/types.js +1 -0
  66. package/dist/utils/aggregation-operation-utils.js +94 -0
  67. package/{typed → dist}/utils/bin-sorter.d.ts +1 -1
  68. package/dist/utils/bin-sorter.js +167 -0
  69. package/dist/utils/color-utils.js +53 -0
  70. package/dist/utils/cpu-aggregator.js +421 -0
  71. package/dist/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js +36 -0
  72. package/dist/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js +42 -0
  73. package/dist/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js +30 -0
  74. package/dist/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js +61 -0
  75. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js +41 -0
  76. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js +1 -0
  77. package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator.d.ts.map +1 -1
  78. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator.js +555 -0
  79. package/dist/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js +32 -0
  80. package/dist/utils/grid-aggregation-utils.js +114 -0
  81. package/dist/utils/prop-utils.js +28 -0
  82. package/{typed → dist}/utils/resource-utils.d.ts.map +1 -1
  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 -1
  88. package/src/contour-layer/contour-layer.ts +4 -5
  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 +3 -3
  92. package/src/grid-layer/grid-layer.ts +4 -2
  93. package/src/heatmap-layer/heatmap-layer-utils.ts +0 -23
  94. package/src/heatmap-layer/heatmap-layer.ts +92 -128
  95. package/src/heatmap-layer/max-vs.glsl.ts +11 -5
  96. package/src/heatmap-layer/triangle-layer-fragment.glsl.ts +2 -2
  97. package/src/heatmap-layer/triangle-layer.ts +17 -24
  98. package/src/heatmap-layer/weights-vs.glsl.ts +4 -2
  99. package/src/hexagon-layer/hexagon-layer.ts +2 -3
  100. package/src/screen-grid-layer/screen-grid-cell-layer.ts +0 -4
  101. package/src/screen-grid-layer/screen-grid-layer.ts +2 -12
  102. package/src/utils/cpu-aggregator.ts +1 -1
  103. package/src/utils/gpu-grid-aggregation/gpu-grid-aggregator.ts +14 -28
  104. package/src/utils/resource-utils.ts +2 -8
  105. package/dist/es5/aggregation-layer.js +0 -213
  106. package/dist/es5/aggregation-layer.js.map +0 -1
  107. package/dist/es5/contour-layer/contour-layer.js +0 -353
  108. package/dist/es5/contour-layer/contour-layer.js.map +0 -1
  109. package/dist/es5/contour-layer/contour-utils.js +0 -110
  110. package/dist/es5/contour-layer/contour-utils.js.map +0 -1
  111. package/dist/es5/contour-layer/marching-squares-codes.js +0 -152
  112. package/dist/es5/contour-layer/marching-squares-codes.js.map +0 -1
  113. package/dist/es5/contour-layer/marching-squares.js +0 -168
  114. package/dist/es5/contour-layer/marching-squares.js.map +0 -1
  115. package/dist/es5/cpu-grid-layer/cpu-grid-layer.js +0 -235
  116. package/dist/es5/cpu-grid-layer/cpu-grid-layer.js.map +0 -1
  117. package/dist/es5/cpu-grid-layer/grid-aggregator.js +0 -180
  118. package/dist/es5/cpu-grid-layer/grid-aggregator.js.map +0 -1
  119. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js +0 -9
  120. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js.map +0 -1
  121. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.js +0 -9
  122. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.js.map +0 -1
  123. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer.js +0 -247
  124. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer.js.map +0 -1
  125. package/dist/es5/gpu-grid-layer/gpu-grid-layer.js +0 -424
  126. package/dist/es5/gpu-grid-layer/gpu-grid-layer.js.map +0 -1
  127. package/dist/es5/grid-aggregation-layer.js +0 -280
  128. package/dist/es5/grid-aggregation-layer.js.map +0 -1
  129. package/dist/es5/grid-layer/grid-layer.js +0 -125
  130. package/dist/es5/grid-layer/grid-layer.js.map +0 -1
  131. package/dist/es5/heatmap-layer/heatmap-layer-utils.js +0 -122
  132. package/dist/es5/heatmap-layer/heatmap-layer-utils.js.map +0 -1
  133. package/dist/es5/heatmap-layer/heatmap-layer.js +0 -672
  134. package/dist/es5/heatmap-layer/heatmap-layer.js.map +0 -1
  135. package/dist/es5/heatmap-layer/max-fs.glsl.js +0 -9
  136. package/dist/es5/heatmap-layer/max-fs.glsl.js.map +0 -1
  137. package/dist/es5/heatmap-layer/max-vs.glsl.js +0 -9
  138. package/dist/es5/heatmap-layer/max-vs.glsl.js.map +0 -1
  139. package/dist/es5/heatmap-layer/triangle-layer-fragment.glsl.js +0 -9
  140. package/dist/es5/heatmap-layer/triangle-layer-fragment.glsl.js.map +0 -1
  141. package/dist/es5/heatmap-layer/triangle-layer-vertex.glsl.js +0 -9
  142. package/dist/es5/heatmap-layer/triangle-layer-vertex.glsl.js.map +0 -1
  143. package/dist/es5/heatmap-layer/triangle-layer.js +0 -122
  144. package/dist/es5/heatmap-layer/triangle-layer.js.map +0 -1
  145. package/dist/es5/heatmap-layer/weights-fs.glsl.js +0 -9
  146. package/dist/es5/heatmap-layer/weights-fs.glsl.js.map +0 -1
  147. package/dist/es5/heatmap-layer/weights-vs.glsl.js +0 -9
  148. package/dist/es5/heatmap-layer/weights-vs.glsl.js.map +0 -1
  149. package/dist/es5/hexagon-layer/hexagon-aggregator.js +0 -118
  150. package/dist/es5/hexagon-layer/hexagon-aggregator.js.map +0 -1
  151. package/dist/es5/hexagon-layer/hexagon-layer.js +0 -289
  152. package/dist/es5/hexagon-layer/hexagon-layer.js.map +0 -1
  153. package/dist/es5/index.js +0 -104
  154. package/dist/es5/index.js.map +0 -1
  155. package/dist/es5/screen-grid-layer/screen-grid-cell-layer.js +0 -244
  156. package/dist/es5/screen-grid-layer/screen-grid-cell-layer.js.map +0 -1
  157. package/dist/es5/screen-grid-layer/screen-grid-layer-fragment.glsl.js +0 -9
  158. package/dist/es5/screen-grid-layer/screen-grid-layer-fragment.glsl.js.map +0 -1
  159. package/dist/es5/screen-grid-layer/screen-grid-layer-vertex.glsl.js +0 -9
  160. package/dist/es5/screen-grid-layer/screen-grid-layer-vertex.glsl.js.map +0 -1
  161. package/dist/es5/screen-grid-layer/screen-grid-layer.js +0 -317
  162. package/dist/es5/screen-grid-layer/screen-grid-layer.js.map +0 -1
  163. package/dist/es5/types.js +0 -2
  164. package/dist/es5/types.js.map +0 -1
  165. package/dist/es5/utils/aggregation-operation-utils.js +0 -123
  166. package/dist/es5/utils/aggregation-operation-utils.js.map +0 -1
  167. package/dist/es5/utils/bin-sorter.js +0 -248
  168. package/dist/es5/utils/bin-sorter.js.map +0 -1
  169. package/dist/es5/utils/color-utils.js +0 -39
  170. package/dist/es5/utils/color-utils.js.map +0 -1
  171. package/dist/es5/utils/cpu-aggregator.js +0 -496
  172. package/dist/es5/utils/cpu-aggregator.js.map +0 -1
  173. package/dist/es5/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js +0 -9
  174. package/dist/es5/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js.map +0 -1
  175. package/dist/es5/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js +0 -9
  176. package/dist/es5/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js.map +0 -1
  177. package/dist/es5/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js +0 -9
  178. package/dist/es5/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js.map +0 -1
  179. package/dist/es5/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js +0 -9
  180. package/dist/es5/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js.map +0 -1
  181. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js +0 -63
  182. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js.map +0 -1
  183. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js +0 -2
  184. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js.map +0 -1
  185. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator.js +0 -732
  186. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator.js.map +0 -1
  187. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator.md +0 -155
  188. package/dist/es5/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js +0 -9
  189. package/dist/es5/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js.map +0 -1
  190. package/dist/es5/utils/grid-aggregation-utils.js +0 -118
  191. package/dist/es5/utils/grid-aggregation-utils.js.map +0 -1
  192. package/dist/es5/utils/prop-utils.js +0 -19
  193. package/dist/es5/utils/prop-utils.js.map +0 -1
  194. package/dist/es5/utils/resource-utils.js +0 -61
  195. package/dist/es5/utils/resource-utils.js.map +0 -1
  196. package/dist/es5/utils/scale-utils.js +0 -254
  197. package/dist/es5/utils/scale-utils.js.map +0 -1
  198. package/dist/esm/aggregation-layer.js +0 -154
  199. package/dist/esm/aggregation-layer.js.map +0 -1
  200. package/dist/esm/contour-layer/contour-layer.js +0 -316
  201. package/dist/esm/contour-layer/contour-layer.js.map +0 -1
  202. package/dist/esm/contour-layer/contour-utils.js +0 -81
  203. package/dist/esm/contour-layer/contour-utils.js.map +0 -1
  204. package/dist/esm/contour-layer/marching-squares-codes.js +0 -219
  205. package/dist/esm/contour-layer/marching-squares-codes.js.map +0 -1
  206. package/dist/esm/contour-layer/marching-squares.js +0 -151
  207. package/dist/esm/contour-layer/marching-squares.js.map +0 -1
  208. package/dist/esm/cpu-grid-layer/cpu-grid-layer.js +0 -186
  209. package/dist/esm/cpu-grid-layer/cpu-grid-layer.js.map +0 -1
  210. package/dist/esm/cpu-grid-layer/grid-aggregator.js +0 -142
  211. package/dist/esm/cpu-grid-layer/grid-aggregator.js.map +0 -1
  212. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js +0 -16
  213. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js.map +0 -1
  214. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.js +0 -122
  215. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.js.map +0 -1
  216. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer.js +0 -196
  217. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer.js.map +0 -1
  218. package/dist/esm/gpu-grid-layer/gpu-grid-layer.js +0 -399
  219. package/dist/esm/gpu-grid-layer/gpu-grid-layer.js.map +0 -1
  220. package/dist/esm/grid-aggregation-layer.js +0 -240
  221. package/dist/esm/grid-aggregation-layer.js.map +0 -1
  222. package/dist/esm/grid-layer/grid-layer.js +0 -80
  223. package/dist/esm/grid-layer/grid-layer.js.map +0 -1
  224. package/dist/esm/heatmap-layer/heatmap-layer-utils.js +0 -68
  225. package/dist/esm/heatmap-layer/heatmap-layer-utils.js.map +0 -1
  226. package/dist/esm/heatmap-layer/heatmap-layer.js +0 -626
  227. package/dist/esm/heatmap-layer/heatmap-layer.js.map +0 -1
  228. package/dist/esm/heatmap-layer/max-fs.glsl.js +0 -10
  229. package/dist/esm/heatmap-layer/max-fs.glsl.js.map +0 -1
  230. package/dist/esm/heatmap-layer/max-vs.glsl.js +0 -14
  231. package/dist/esm/heatmap-layer/max-vs.glsl.js.map +0 -1
  232. package/dist/esm/heatmap-layer/triangle-layer-fragment.glsl.js +0 -43
  233. package/dist/esm/heatmap-layer/triangle-layer-fragment.glsl.js.map +0 -1
  234. package/dist/esm/heatmap-layer/triangle-layer-vertex.glsl.js +0 -33
  235. package/dist/esm/heatmap-layer/triangle-layer-vertex.glsl.js.map +0 -1
  236. package/dist/esm/heatmap-layer/triangle-layer.js +0 -80
  237. package/dist/esm/heatmap-layer/triangle-layer.js.map +0 -1
  238. package/dist/esm/heatmap-layer/weights-fs.glsl.js +0 -22
  239. package/dist/esm/heatmap-layer/weights-fs.glsl.js.map +0 -1
  240. package/dist/esm/heatmap-layer/weights-vs.glsl.js +0 -25
  241. package/dist/esm/heatmap-layer/weights-vs.glsl.js.map +0 -1
  242. package/dist/esm/hexagon-layer/hexagon-aggregator.js +0 -87
  243. package/dist/esm/hexagon-layer/hexagon-aggregator.js.map +0 -1
  244. package/dist/esm/hexagon-layer/hexagon-layer.js +0 -232
  245. package/dist/esm/hexagon-layer/hexagon-layer.js.map +0 -1
  246. package/dist/esm/index.js +0 -13
  247. package/dist/esm/index.js.map +0 -1
  248. package/dist/esm/screen-grid-layer/screen-grid-cell-layer.js +0 -203
  249. package/dist/esm/screen-grid-layer/screen-grid-cell-layer.js.map +0 -1
  250. package/dist/esm/screen-grid-layer/screen-grid-layer-fragment.glsl.js +0 -21
  251. package/dist/esm/screen-grid-layer/screen-grid-layer-fragment.glsl.js.map +0 -1
  252. package/dist/esm/screen-grid-layer/screen-grid-layer-vertex.glsl.js +0 -66
  253. package/dist/esm/screen-grid-layer/screen-grid-layer-vertex.glsl.js.map +0 -1
  254. package/dist/esm/screen-grid-layer/screen-grid-layer.js +0 -285
  255. package/dist/esm/screen-grid-layer/screen-grid-layer.js.map +0 -1
  256. package/dist/esm/types.js +0 -2
  257. package/dist/esm/types.js.map +0 -1
  258. package/dist/esm/utils/aggregation-operation-utils.js +0 -91
  259. package/dist/esm/utils/aggregation-operation-utils.js.map +0 -1
  260. package/dist/esm/utils/bin-sorter.js +0 -165
  261. package/dist/esm/utils/bin-sorter.js.map +0 -1
  262. package/dist/esm/utils/color-utils.js +0 -28
  263. package/dist/esm/utils/color-utils.js.map +0 -1
  264. package/dist/esm/utils/cpu-aggregator.js +0 -487
  265. package/dist/esm/utils/cpu-aggregator.js.map +0 -1
  266. package/dist/esm/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js +0 -21
  267. package/dist/esm/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js.map +0 -1
  268. package/dist/esm/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js +0 -35
  269. package/dist/esm/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js.map +0 -1
  270. package/dist/esm/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js +0 -16
  271. package/dist/esm/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js.map +0 -1
  272. package/dist/esm/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js +0 -60
  273. package/dist/esm/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js.map +0 -1
  274. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js +0 -42
  275. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js.map +0 -1
  276. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js +0 -2
  277. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js.map +0 -1
  278. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator.js +0 -720
  279. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator.js.map +0 -1
  280. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator.md +0 -155
  281. package/dist/esm/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js +0 -19
  282. package/dist/esm/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js.map +0 -1
  283. package/dist/esm/utils/grid-aggregation-utils.js +0 -109
  284. package/dist/esm/utils/grid-aggregation-utils.js.map +0 -1
  285. package/dist/esm/utils/prop-utils.js +0 -12
  286. package/dist/esm/utils/prop-utils.js.map +0 -1
  287. package/dist/esm/utils/resource-utils.js +0 -45
  288. package/dist/esm/utils/resource-utils.js.map +0 -1
  289. package/dist/esm/utils/scale-utils.js +0 -192
  290. package/dist/esm/utils/scale-utils.js.map +0 -1
  291. package/typed/contour-layer/contour-layer.d.ts.map +0 -1
  292. package/typed/cpu-grid-layer/cpu-grid-layer.d.ts.map +0 -1
  293. package/typed/gpu-grid-layer/gpu-grid-cell-layer.d.ts.map +0 -1
  294. package/typed/gpu-grid-layer/gpu-grid-layer.d.ts.map +0 -1
  295. package/typed/grid-aggregation-layer.d.ts.map +0 -1
  296. package/typed/grid-layer/grid-layer.d.ts.map +0 -1
  297. package/typed/heatmap-layer/heatmap-layer-utils.d.ts.map +0 -1
  298. package/typed/heatmap-layer/heatmap-layer.d.ts.map +0 -1
  299. package/typed/heatmap-layer/max-vs.glsl.d.ts +0 -3
  300. package/typed/heatmap-layer/triangle-layer-fragment.glsl.d.ts +0 -3
  301. package/typed/heatmap-layer/triangle-layer.d.ts.map +0 -1
  302. package/typed/heatmap-layer/weights-vs.glsl.d.ts +0 -3
  303. package/typed/hexagon-layer/hexagon-layer.d.ts.map +0 -1
  304. package/typed/index.d.ts +0 -20
  305. package/typed/index.d.ts.map +0 -1
  306. package/typed/screen-grid-layer/screen-grid-cell-layer.d.ts.map +0 -1
  307. package/typed/screen-grid-layer/screen-grid-layer.d.ts.map +0 -1
  308. /package/{typed → dist}/aggregation-layer.d.ts +0 -0
  309. /package/{typed → dist}/contour-layer/contour-utils.d.ts +0 -0
  310. /package/{typed → dist}/contour-layer/contour-utils.d.ts.map +0 -0
  311. /package/{typed → dist}/contour-layer/marching-squares-codes.d.ts +0 -0
  312. /package/{typed → dist}/contour-layer/marching-squares-codes.d.ts.map +0 -0
  313. /package/{typed → dist}/contour-layer/marching-squares.d.ts +0 -0
  314. /package/{typed → dist}/contour-layer/marching-squares.d.ts.map +0 -0
  315. /package/{typed → dist}/cpu-grid-layer/grid-aggregator.d.ts +0 -0
  316. /package/{typed → dist}/cpu-grid-layer/grid-aggregator.d.ts.map +0 -0
  317. /package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.d.ts +0 -0
  318. /package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.d.ts.map +0 -0
  319. /package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.d.ts +0 -0
  320. /package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.d.ts.map +0 -0
  321. /package/{typed → dist}/heatmap-layer/max-fs.glsl.d.ts +0 -0
  322. /package/{typed → dist}/heatmap-layer/max-fs.glsl.d.ts.map +0 -0
  323. /package/{typed → dist}/heatmap-layer/triangle-layer-fragment.glsl.d.ts.map +0 -0
  324. /package/{typed → dist}/heatmap-layer/triangle-layer-vertex.glsl.d.ts +0 -0
  325. /package/{typed → dist}/heatmap-layer/triangle-layer-vertex.glsl.d.ts.map +0 -0
  326. /package/{typed → dist}/heatmap-layer/weights-fs.glsl.d.ts +0 -0
  327. /package/{typed → dist}/heatmap-layer/weights-fs.glsl.d.ts.map +0 -0
  328. /package/{typed → dist}/hexagon-layer/hexagon-aggregator.d.ts +0 -0
  329. /package/{typed → dist}/hexagon-layer/hexagon-aggregator.d.ts.map +0 -0
  330. /package/{typed → dist}/screen-grid-layer/screen-grid-layer-fragment.glsl.d.ts +0 -0
  331. /package/{typed → dist}/screen-grid-layer/screen-grid-layer-fragment.glsl.d.ts.map +0 -0
  332. /package/{typed → dist}/screen-grid-layer/screen-grid-layer-vertex.glsl.d.ts +0 -0
  333. /package/{typed → dist}/screen-grid-layer/screen-grid-layer-vertex.glsl.d.ts.map +0 -0
  334. /package/{typed → dist}/types.d.ts +0 -0
  335. /package/{typed → dist}/types.d.ts.map +0 -0
  336. /package/{typed → dist}/utils/aggregation-operation-utils.d.ts +0 -0
  337. /package/{typed → dist}/utils/aggregation-operation-utils.d.ts.map +0 -0
  338. /package/{typed → dist}/utils/bin-sorter.d.ts.map +0 -0
  339. /package/{typed → dist}/utils/color-utils.d.ts +0 -0
  340. /package/{typed → dist}/utils/color-utils.d.ts.map +0 -0
  341. /package/{typed → dist}/utils/cpu-aggregator.d.ts +0 -0
  342. /package/{typed → dist}/utils/cpu-aggregator.d.ts.map +0 -0
  343. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.d.ts +0 -0
  344. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.d.ts.map +0 -0
  345. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.d.ts +0 -0
  346. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.d.ts.map +0 -0
  347. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.d.ts +0 -0
  348. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.d.ts.map +0 -0
  349. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.d.ts +0 -0
  350. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.d.ts.map +0 -0
  351. /package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.d.ts +0 -0
  352. /package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.d.ts.map +0 -0
  353. /package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.d.ts +0 -0
  354. /package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.d.ts.map +0 -0
  355. /package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator.d.ts +0 -0
  356. /package/{typed → dist}/utils/gpu-grid-aggregation/transform-mean-vs.glsl.d.ts +0 -0
  357. /package/{typed → dist}/utils/gpu-grid-aggregation/transform-mean-vs.glsl.d.ts.map +0 -0
  358. /package/{typed → dist}/utils/grid-aggregation-utils.d.ts +0 -0
  359. /package/{typed → dist}/utils/grid-aggregation-utils.d.ts.map +0 -0
  360. /package/{typed → dist}/utils/prop-utils.d.ts +0 -0
  361. /package/{typed → dist}/utils/prop-utils.d.ts.map +0 -0
  362. /package/{typed → dist}/utils/resource-utils.d.ts +0 -0
  363. /package/{typed → dist}/utils/scale-utils.d.ts +0 -0
  364. /package/{typed → dist}/utils/scale-utils.d.ts.map +0 -0
@@ -1,732 +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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _engine = require("@luma.gl/engine");
15
-
16
- var _shadertools = require("@luma.gl/shadertools");
17
-
18
- var _webgl = require("@luma.gl/webgl");
19
-
20
- var _constants = require("@luma.gl/constants");
21
-
22
- var _core = require("@deck.gl/core");
23
-
24
- var _gpuGridAggregatorConstants = require("./gpu-grid-aggregator-constants");
25
-
26
- var _aggregationOperationUtils = require("../aggregation-operation-utils");
27
-
28
- var _aggregateToGridVs = _interopRequireDefault(require("./aggregate-to-grid-vs.glsl"));
29
-
30
- var _aggregateToGridFs = _interopRequireDefault(require("./aggregate-to-grid-fs.glsl"));
31
-
32
- var _aggregateAllVs = _interopRequireDefault(require("./aggregate-all-vs.glsl"));
33
-
34
- var _aggregateAllFs = _interopRequireDefault(require("./aggregate-all-fs.glsl"));
35
-
36
- var _transformMeanVs = _interopRequireDefault(require("./transform-mean-vs.glsl"));
37
-
38
- var _resourceUtils = require("./../resource-utils");
39
-
40
- 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; } } }; }
41
-
42
- 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); }
43
-
44
- 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; }
45
-
46
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
47
-
48
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
49
-
50
- var BUFFER_NAMES = ['aggregationBuffer', 'maxMinBuffer', 'minBuffer', 'maxBuffer'];
51
- var ARRAY_BUFFER_MAP = {
52
- maxData: 'maxBuffer',
53
- minData: 'minBuffer',
54
- maxMinData: 'maxMinBuffer'
55
- };
56
- var REQUIRED_FEATURES = ['webgl2', 'blend-minmax-webgl1', 'texture-renderable-float32-webgl', 'texture-blend-float-webgl1', 'texture-formats-float32-webgl1'];
57
-
58
- var GPUGridAggregator = function () {
59
- GPUGridAggregator.getAggregationData = function getAggregationData(_ref) {
60
- var aggregationData = _ref.aggregationData,
61
- maxData = _ref.maxData,
62
- minData = _ref.minData,
63
- maxMinData = _ref.maxMinData,
64
- pixelIndex = _ref.pixelIndex;
65
- var index = pixelIndex * _gpuGridAggregatorConstants.PIXEL_SIZE;
66
- var results = {};
67
-
68
- if (aggregationData) {
69
- results.cellCount = aggregationData[index + 3];
70
- results.cellWeight = aggregationData[index];
71
- }
72
-
73
- if (maxMinData) {
74
- results.maxCellWieght = maxMinData[0];
75
- results.minCellWeight = maxMinData[3];
76
- } else {
77
- if (maxData) {
78
- results.maxCellWieght = maxData[0];
79
- results.totalCount = maxData[3];
80
- }
81
-
82
- if (minData) {
83
- results.minCellWeight = minData[0];
84
- results.totalCount = minData[3];
85
- }
86
- }
87
-
88
- return results;
89
- };
90
-
91
- GPUGridAggregator.getCellData = function getCellData(_ref2) {
92
- var countsData = _ref2.countsData,
93
- _ref2$size = _ref2.size,
94
- size = _ref2$size === void 0 ? 1 : _ref2$size;
95
- var numCells = countsData.length / 4;
96
- var cellWeights = new Float32Array(numCells * size);
97
- var cellCounts = new Uint32Array(numCells);
98
-
99
- for (var i = 0; i < numCells; i++) {
100
- for (var sizeIndex = 0; sizeIndex < size; sizeIndex++) {
101
- cellWeights[i * size + sizeIndex] = countsData[i * 4 + sizeIndex];
102
- }
103
-
104
- cellCounts[i] = countsData[i * 4 + 3];
105
- }
106
-
107
- return {
108
- cellCounts: cellCounts,
109
- cellWeights: cellWeights
110
- };
111
- };
112
-
113
- GPUGridAggregator.isSupported = function isSupported(device) {
114
- return REQUIRED_FEATURES.every(function (feature) {
115
- return device.features.has(feature);
116
- });
117
- };
118
-
119
- function GPUGridAggregator(device) {
120
- var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
121
- (0, _classCallCheck2.default)(this, GPUGridAggregator);
122
- this.state = {
123
- weightAttributes: {},
124
- textures: {},
125
- meanTextures: {},
126
- buffers: {},
127
- framebuffers: {},
128
- maxMinFramebuffers: {},
129
- minFramebuffers: {},
130
- maxFramebuffers: {},
131
- equations: {},
132
- shaderOptions: {},
133
- modelDirty: false,
134
- resources: {},
135
- results: {}
136
- };
137
- this.id = void 0;
138
- this.device = void 0;
139
- this._hasGPUSupport = void 0;
140
- this.gridAggregationModel = void 0;
141
- this.allAggregationModel = void 0;
142
- this.meanTransform = void 0;
143
- this.id = props.id || 'gpu-grid-aggregator';
144
- this.device = device;
145
- var REQUIRED_FEATURES = ['blend-minmax-webgl1', 'texture-renderable-float32-webgl', 'texture-formats-float32-webgl1'];
146
- this._hasGPUSupport = this.device.info.type === 'webgl2' && REQUIRED_FEATURES.every(function (feature) {
147
- return device.features.has(feature);
148
- });
149
-
150
- if (this._hasGPUSupport) {
151
- this._setupModels();
152
- }
153
- }
154
-
155
- var _proto = GPUGridAggregator.prototype;
156
-
157
- _proto.delete = function _delete() {
158
- var gridAggregationModel = this.gridAggregationModel,
159
- allAggregationModel = this.allAggregationModel,
160
- meanTransform = this.meanTransform;
161
- var _this$state = this.state,
162
- textures = _this$state.textures,
163
- framebuffers = _this$state.framebuffers,
164
- maxMinFramebuffers = _this$state.maxMinFramebuffers,
165
- minFramebuffers = _this$state.minFramebuffers,
166
- maxFramebuffers = _this$state.maxFramebuffers,
167
- meanTextures = _this$state.meanTextures,
168
- resources = _this$state.resources;
169
- gridAggregationModel === null || gridAggregationModel === void 0 ? void 0 : gridAggregationModel.destroy();
170
- allAggregationModel === null || allAggregationModel === void 0 ? void 0 : allAggregationModel.destroy();
171
- meanTransform === null || meanTransform === void 0 ? void 0 : meanTransform.destroy();
172
- deleteResources([framebuffers, textures, maxMinFramebuffers, minFramebuffers, maxFramebuffers, meanTextures, resources]);
173
- };
174
-
175
- _proto.run = function run() {
176
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
177
- this.setState({
178
- results: {}
179
- });
180
-
181
- var aggregationParams = this._normalizeAggregationParams(opts);
182
-
183
- if (!this._hasGPUSupport) {
184
- _core.log.log(1, 'GPUGridAggregator: not supported')();
185
- }
186
-
187
- return this._runAggregation(aggregationParams);
188
- };
189
-
190
- _proto.getData = function getData(weightId) {
191
- var data = {};
192
- var results = this.state.results;
193
-
194
- if (!results[weightId].aggregationData) {
195
- results[weightId].aggregationData = results[weightId].aggregationBuffer.getData();
196
- }
197
-
198
- data.aggregationData = results[weightId].aggregationData;
199
-
200
- for (var arrayName in ARRAY_BUFFER_MAP) {
201
- var bufferName = ARRAY_BUFFER_MAP[arrayName];
202
-
203
- if (results[weightId][arrayName] || results[weightId][bufferName]) {
204
- results[weightId][arrayName] = results[weightId][arrayName] || results[weightId][bufferName].getData();
205
- data[arrayName] = results[weightId][arrayName];
206
- }
207
- }
208
-
209
- return data;
210
- };
211
-
212
- _proto.updateShaders = function updateShaders() {
213
- var shaderOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
214
- this.setState({
215
- shaderOptions: shaderOptions,
216
- modelDirty: true
217
- });
218
- };
219
-
220
- _proto._normalizeAggregationParams = function _normalizeAggregationParams(opts) {
221
- var aggregationParams = _objectSpread(_objectSpread({}, _gpuGridAggregatorConstants.DEFAULT_RUN_PARAMS), opts);
222
-
223
- var weights = aggregationParams.weights;
224
-
225
- if (weights) {
226
- aggregationParams.weights = normalizeWeightParams(weights);
227
- }
228
-
229
- return aggregationParams;
230
- };
231
-
232
- _proto.setState = function setState(updateObject) {
233
- Object.assign(this.state, updateObject);
234
- };
235
-
236
- _proto._getAggregateData = function _getAggregateData(opts) {
237
- var results = {};
238
- var _this$state2 = this.state,
239
- textures = _this$state2.textures,
240
- framebuffers = _this$state2.framebuffers,
241
- maxMinFramebuffers = _this$state2.maxMinFramebuffers,
242
- minFramebuffers = _this$state2.minFramebuffers,
243
- maxFramebuffers = _this$state2.maxFramebuffers,
244
- resources = _this$state2.resources;
245
- var weights = opts.weights;
246
-
247
- for (var id in weights) {
248
- results[id] = {};
249
- var _weights$id = weights[id],
250
- needMin = _weights$id.needMin,
251
- needMax = _weights$id.needMax,
252
- combineMaxMin = _weights$id.combineMaxMin;
253
- results[id].aggregationTexture = textures[id];
254
- results[id].aggregationBuffer = (0, _webgl.readPixelsToBuffer)(framebuffers[id], {
255
- target: weights[id].aggregationBuffer,
256
- sourceType: 5126
257
- });
258
-
259
- if (needMin && needMax && combineMaxMin) {
260
- results[id].maxMinBuffer = (0, _webgl.readPixelsToBuffer)(maxMinFramebuffers[id], {
261
- target: weights[id].maxMinBuffer,
262
- sourceType: 5126
263
- });
264
- results[id].maxMinTexture = resources["".concat(id, "-maxMinTexture")];
265
- } else {
266
- if (needMin) {
267
- results[id].minBuffer = (0, _webgl.readPixelsToBuffer)(minFramebuffers[id], {
268
- target: weights[id].minBuffer,
269
- sourceType: 5126
270
- });
271
- results[id].minTexture = resources["".concat(id, "-minTexture")];
272
- }
273
-
274
- if (needMax) {
275
- results[id].maxBuffer = (0, _webgl.readPixelsToBuffer)(maxFramebuffers[id], {
276
- target: weights[id].maxBuffer,
277
- sourceType: 5126
278
- });
279
- results[id].maxTexture = resources["".concat(id, "-maxTexture")];
280
- }
281
- }
282
- }
283
-
284
- this._trackGPUResultBuffers(results, weights);
285
-
286
- return results;
287
- };
288
-
289
- _proto._renderAggregateData = function _renderAggregateData(opts) {
290
- var cellSize = opts.cellSize,
291
- projectPoints = opts.projectPoints,
292
- attributes = opts.attributes,
293
- moduleSettings = opts.moduleSettings,
294
- numCol = opts.numCol,
295
- numRow = opts.numRow,
296
- weights = opts.weights,
297
- translation = opts.translation,
298
- scaling = opts.scaling;
299
- var _this$state3 = this.state,
300
- maxMinFramebuffers = _this$state3.maxMinFramebuffers,
301
- minFramebuffers = _this$state3.minFramebuffers,
302
- maxFramebuffers = _this$state3.maxFramebuffers;
303
- var gridSize = [numCol, numRow];
304
- var parameters = {
305
- blend: true,
306
- depthTest: false,
307
- blendFunc: [1, 1]
308
- };
309
- var uniforms = {
310
- cellSize: cellSize,
311
- gridSize: gridSize,
312
- projectPoints: projectPoints,
313
- translation: translation,
314
- scaling: scaling
315
- };
316
-
317
- for (var id in weights) {
318
- var _weights$id2 = weights[id],
319
- needMin = _weights$id2.needMin,
320
- needMax = _weights$id2.needMax;
321
- var combineMaxMin = needMin && needMax && weights[id].combineMaxMin;
322
-
323
- this._renderToWeightsTexture({
324
- id: id,
325
- parameters: parameters,
326
- moduleSettings: moduleSettings,
327
- uniforms: uniforms,
328
- gridSize: gridSize,
329
- attributes: attributes,
330
- weights: weights
331
- });
332
-
333
- if (combineMaxMin) {
334
- this._renderToMaxMinTexture({
335
- id: id,
336
- parameters: _objectSpread(_objectSpread({}, parameters), {}, {
337
- blendEquation: _gpuGridAggregatorConstants.MAX_MIN_BLEND_EQUATION
338
- }),
339
- gridSize: gridSize,
340
- minOrMaxFb: maxMinFramebuffers[id],
341
- clearParams: {
342
- clearColor: [0, 0, 0, _gpuGridAggregatorConstants.MAX_32_BIT_FLOAT]
343
- },
344
- combineMaxMin: combineMaxMin
345
- });
346
- } else {
347
- if (needMin) {
348
- this._renderToMaxMinTexture({
349
- id: id,
350
- parameters: _objectSpread(_objectSpread({}, parameters), {}, {
351
- blendEquation: _gpuGridAggregatorConstants.MIN_BLEND_EQUATION
352
- }),
353
- gridSize: gridSize,
354
- minOrMaxFb: minFramebuffers[id],
355
- clearParams: {
356
- clearColor: [_gpuGridAggregatorConstants.MAX_32_BIT_FLOAT, _gpuGridAggregatorConstants.MAX_32_BIT_FLOAT, _gpuGridAggregatorConstants.MAX_32_BIT_FLOAT, 0]
357
- },
358
- combineMaxMin: combineMaxMin
359
- });
360
- }
361
-
362
- if (needMax) {
363
- this._renderToMaxMinTexture({
364
- id: id,
365
- parameters: _objectSpread(_objectSpread({}, parameters), {}, {
366
- blendEquation: _gpuGridAggregatorConstants.MAX_BLEND_EQUATION
367
- }),
368
- gridSize: gridSize,
369
- minOrMaxFb: maxFramebuffers[id],
370
- clearParams: {
371
- clearColor: [0, 0, 0, 0]
372
- },
373
- combineMaxMin: combineMaxMin
374
- });
375
- }
376
- }
377
- }
378
- };
379
-
380
- _proto._renderToMaxMinTexture = function _renderToMaxMinTexture(opts) {
381
- var _this = this;
382
-
383
- var id = opts.id,
384
- parameters = opts.parameters,
385
- gridSize = opts.gridSize,
386
- minOrMaxFb = opts.minOrMaxFb,
387
- combineMaxMin = opts.combineMaxMin,
388
- _opts$clearParams = opts.clearParams,
389
- clearParams = _opts$clearParams === void 0 ? {} : _opts$clearParams;
390
- var framebuffers = this.state.framebuffers;
391
- var allAggregationModel = this.allAggregationModel;
392
- (0, _webgl.withGLParameters)(this.device, _objectSpread(_objectSpread({}, clearParams), {}, {
393
- framebuffer: minOrMaxFb,
394
- viewport: [0, 0, gridSize[0], gridSize[1]]
395
- }), function () {
396
- (0, _webgl.clear)(_this.device, {
397
- color: true
398
- });
399
- allAggregationModel.setUniforms({
400
- gridSize: gridSize,
401
- combineMaxMin: combineMaxMin
402
- });
403
- allAggregationModel.setBindings({
404
- uSampler: framebuffers[id].texture
405
- });
406
- allAggregationModel.draw();
407
- });
408
- };
409
-
410
- _proto._renderToWeightsTexture = function _renderToWeightsTexture(opts) {
411
- var _this2 = this;
412
-
413
- var id = opts.id,
414
- parameters = opts.parameters,
415
- moduleSettings = opts.moduleSettings,
416
- uniforms = opts.uniforms,
417
- gridSize = opts.gridSize,
418
- weights = opts.weights;
419
- var _this$state4 = this.state,
420
- framebuffers = _this$state4.framebuffers,
421
- equations = _this$state4.equations,
422
- weightAttributes = _this$state4.weightAttributes;
423
- var gridAggregationModel = this.gridAggregationModel;
424
- var operation = weights[id].operation;
425
- var clearColor = operation === _aggregationOperationUtils.AGGREGATION_OPERATION.MIN ? [_gpuGridAggregatorConstants.MAX_32_BIT_FLOAT, _gpuGridAggregatorConstants.MAX_32_BIT_FLOAT, _gpuGridAggregatorConstants.MAX_32_BIT_FLOAT, 0] : [0, 0, 0, 0];
426
- (0, _webgl.withGLParameters)(this.device, {
427
- framebuffer: framebuffers[id],
428
- viewport: [0, 0, gridSize[0], gridSize[1]],
429
- clearColor: clearColor
430
- }, function () {
431
- (0, _webgl.clear)(_this2.device, {
432
- color: true
433
- });
434
- var attributes = {
435
- weights: weightAttributes[id]
436
- };
437
- gridAggregationModel.draw({
438
- parameters: _objectSpread(_objectSpread({}, parameters), {}, {
439
- blendEquation: equations[id]
440
- }),
441
- moduleSettings: moduleSettings,
442
- uniforms: uniforms,
443
- attributes: attributes
444
- });
445
- });
446
-
447
- if (operation === _aggregationOperationUtils.AGGREGATION_OPERATION.MEAN) {
448
- var _this$state5 = this.state,
449
- meanTextures = _this$state5.meanTextures,
450
- textures = _this$state5.textures;
451
- var transformOptions = {
452
- _sourceTextures: {
453
- aggregationValues: meanTextures[id]
454
- },
455
- _targetTexture: textures[id],
456
- elementCount: textures[id].width * textures[id].height
457
- };
458
-
459
- if (this.meanTransform) {
460
- this.meanTransform.update(transformOptions);
461
- } else {
462
- this.meanTransform = getMeanTransform(this.device, transformOptions);
463
- }
464
-
465
- this.meanTransform.run({
466
- parameters: {
467
- blend: false,
468
- depthTest: false
469
- }
470
- });
471
- framebuffers[id].attach((0, _defineProperty2.default)({}, 36064, textures[id]));
472
- }
473
- };
474
-
475
- _proto._runAggregation = function _runAggregation(opts) {
476
- this._updateModels(opts);
477
-
478
- this._setupFramebuffers(opts);
479
-
480
- this._renderAggregateData(opts);
481
-
482
- var results = this._getAggregateData(opts);
483
-
484
- this.setState({
485
- results: results
486
- });
487
- return results;
488
- };
489
-
490
- _proto._setupFramebuffers = function _setupFramebuffers(opts) {
491
- var _this$state6 = this.state,
492
- textures = _this$state6.textures,
493
- framebuffers = _this$state6.framebuffers,
494
- maxMinFramebuffers = _this$state6.maxMinFramebuffers,
495
- minFramebuffers = _this$state6.minFramebuffers,
496
- maxFramebuffers = _this$state6.maxFramebuffers,
497
- meanTextures = _this$state6.meanTextures,
498
- equations = _this$state6.equations;
499
- var weights = opts.weights;
500
- var numCol = opts.numCol,
501
- numRow = opts.numRow;
502
- var framebufferSize = {
503
- width: numCol,
504
- height: numRow
505
- };
506
-
507
- for (var id in weights) {
508
- var _weights$id3 = weights[id],
509
- needMin = _weights$id3.needMin,
510
- needMax = _weights$id3.needMax,
511
- combineMaxMin = _weights$id3.combineMaxMin,
512
- operation = _weights$id3.operation;
513
- textures[id] = weights[id].aggregationTexture || textures[id] || (0, _resourceUtils.getFloatTexture)(this.device, {
514
- id: "".concat(id, "-texture"),
515
- width: numCol,
516
- height: numRow
517
- });
518
- textures[id].resize(framebufferSize);
519
- var texture = textures[id];
520
-
521
- if (operation === _aggregationOperationUtils.AGGREGATION_OPERATION.MEAN) {
522
- meanTextures[id] = meanTextures[id] || (0, _resourceUtils.getFloatTexture)(this.device, {
523
- id: "".concat(id, "-mean-texture"),
524
- width: numCol,
525
- height: numRow
526
- });
527
- meanTextures[id].resize(framebufferSize);
528
- texture = meanTextures[id];
529
- }
530
-
531
- if (framebuffers[id]) {
532
- framebuffers[id].attach((0, _defineProperty2.default)({}, 36064, texture));
533
- } else {
534
- framebuffers[id] = (0, _resourceUtils.getFramebuffer)(this.device, {
535
- id: "".concat(id, "-fb"),
536
- width: numCol,
537
- height: numRow,
538
- texture: texture
539
- });
540
- }
541
-
542
- framebuffers[id].resize(framebufferSize);
543
- equations[id] = _gpuGridAggregatorConstants.EQUATION_MAP[operation] || _gpuGridAggregatorConstants.EQUATION_MAP[_aggregationOperationUtils.AGGREGATION_OPERATION.SUM];
544
-
545
- if (needMin || needMax) {
546
- if (needMin && needMax && combineMaxMin) {
547
- if (!maxMinFramebuffers[id]) {
548
- texture = weights[id].maxMinTexture || this._getMinMaxTexture("".concat(id, "-maxMinTexture"));
549
- maxMinFramebuffers[id] = (0, _resourceUtils.getFramebuffer)(this.device, {
550
- id: "".concat(id, "-maxMinFb"),
551
- texture: texture
552
- });
553
- }
554
- } else {
555
- if (needMin) {
556
- if (!minFramebuffers[id]) {
557
- texture = weights[id].minTexture || this._getMinMaxTexture("".concat(id, "-minTexture"));
558
- minFramebuffers[id] = (0, _resourceUtils.getFramebuffer)(this.device, {
559
- id: "".concat(id, "-minFb"),
560
- texture: texture
561
- });
562
- }
563
- }
564
-
565
- if (needMax) {
566
- if (!maxFramebuffers[id]) {
567
- texture = weights[id].maxTexture || this._getMinMaxTexture("".concat(id, "-maxTexture"));
568
- maxFramebuffers[id] = (0, _resourceUtils.getFramebuffer)(this.device, {
569
- id: "".concat(id, "-maxFb"),
570
- texture: texture
571
- });
572
- }
573
- }
574
- }
575
- }
576
- }
577
- };
578
-
579
- _proto._getMinMaxTexture = function _getMinMaxTexture(name) {
580
- var resources = this.state.resources;
581
-
582
- if (!resources[name]) {
583
- resources[name] = (0, _resourceUtils.getFloatTexture)(this.device, {
584
- id: 'resourceName'
585
- });
586
- }
587
-
588
- return resources[name];
589
- };
590
-
591
- _proto._setupModels = function _setupModels() {
592
- var _this$gridAggregation;
593
-
594
- var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
595
- _ref3$numCol = _ref3.numCol,
596
- numCol = _ref3$numCol === void 0 ? 0 : _ref3$numCol,
597
- _ref3$numRow = _ref3.numRow,
598
- numRow = _ref3$numRow === void 0 ? 0 : _ref3$numRow;
599
-
600
- var shaderOptions = this.state.shaderOptions;
601
- (_this$gridAggregation = this.gridAggregationModel) === null || _this$gridAggregation === void 0 ? void 0 : _this$gridAggregation.destroy();
602
- this.gridAggregationModel = getAggregationModel(this.device, shaderOptions);
603
-
604
- if (!this.allAggregationModel) {
605
- var instanceCount = numCol * numRow;
606
- this.allAggregationModel = getAllAggregationModel(this.device, instanceCount);
607
- }
608
- };
609
-
610
- _proto._setupWeightAttributes = function _setupWeightAttributes(opts) {
611
- var weightAttributes = this.state.weightAttributes;
612
- var weights = opts.weights;
613
-
614
- for (var id in weights) {
615
- weightAttributes[id] = opts.attributes[id];
616
- }
617
- };
618
-
619
- _proto._trackGPUResultBuffers = function _trackGPUResultBuffers(results, weights) {
620
- var resources = this.state.resources;
621
-
622
- for (var id in results) {
623
- if (results[id]) {
624
- var _iterator = _createForOfIteratorHelper(BUFFER_NAMES),
625
- _step;
626
-
627
- try {
628
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
629
- var bufferName = _step.value;
630
-
631
- if (results[id][bufferName] && weights[id][bufferName] !== results[id][bufferName]) {
632
- var name = "gpu-result-".concat(id, "-").concat(bufferName);
633
-
634
- if (resources[name]) {
635
- resources[name].delete();
636
- }
637
-
638
- resources[name] = results[id][bufferName];
639
- }
640
- }
641
- } catch (err) {
642
- _iterator.e(err);
643
- } finally {
644
- _iterator.f();
645
- }
646
- }
647
- }
648
- };
649
-
650
- _proto._updateModels = function _updateModels(opts) {
651
- var vertexCount = opts.vertexCount,
652
- attributes = opts.attributes,
653
- numCol = opts.numCol,
654
- numRow = opts.numRow;
655
- var modelDirty = this.state.modelDirty;
656
-
657
- if (modelDirty) {
658
- this._setupModels(opts);
659
-
660
- this.setState({
661
- modelDirty: false
662
- });
663
- }
664
-
665
- this._setupWeightAttributes(opts);
666
-
667
- this.gridAggregationModel.setVertexCount(vertexCount);
668
- this.gridAggregationModel.setAttributes(attributes);
669
- this.allAggregationModel.setInstanceCount(numCol * numRow);
670
- };
671
-
672
- return GPUGridAggregator;
673
- }();
674
-
675
- exports.default = GPUGridAggregator;
676
-
677
- function normalizeWeightParams(weights) {
678
- var result = {};
679
-
680
- for (var id in weights) {
681
- result[id] = _objectSpread(_objectSpread({}, _gpuGridAggregatorConstants.DEFAULT_WEIGHT_PARAMS), weights[id]);
682
- }
683
-
684
- return result;
685
- }
686
-
687
- function deleteResources(resources) {
688
- resources = Array.isArray(resources) ? resources : [resources];
689
- resources.forEach(function (obj) {
690
- for (var name in obj) {
691
- obj[name].delete();
692
- }
693
- });
694
- }
695
-
696
- function getAggregationModel(device, shaderOptions) {
697
- var shaders = (0, _core._mergeShaders)({
698
- vs: _aggregateToGridVs.default,
699
- fs: _aggregateToGridFs.default,
700
- modules: [_shadertools.fp64arithmetic, _core.project32]
701
- }, shaderOptions);
702
- return new _engine.Model(device, _objectSpread({
703
- id: 'Grid-Aggregation-Model',
704
- vertexCount: 1,
705
- drawMode: 0,
706
- shaderAssembler: (0, _core.getShaderAssembler)()
707
- }, shaders));
708
- }
709
-
710
- function getAllAggregationModel(device, instanceCount) {
711
- return new _engine.Model(device, {
712
- id: 'All-Aggregation-Model',
713
- vs: _aggregateAllVs.default,
714
- fs: _aggregateAllFs.default,
715
- modules: [_shadertools.fp64arithmetic],
716
- vertexCount: 1,
717
- topology: 'point-list',
718
- isInstanced: true,
719
- instanceCount: instanceCount,
720
- attributes: {
721
- position: [0, 0]
722
- }
723
- });
724
- }
725
-
726
- function getMeanTransform(device, opts) {
727
- return new _engine.TextureTransform(device, _objectSpread({
728
- vs: _transformMeanVs.default,
729
- _targetTextureVarying: 'meanValues'
730
- }, opts));
731
- }
732
- //# sourceMappingURL=gpu-grid-aggregator.js.map