@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
@@ -1,496 +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 _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
-
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
- var _binSorter = _interopRequireDefault(require("./bin-sorter"));
17
-
18
- var _scaleUtils = require("./scale-utils");
19
-
20
- var _aggregationOperationUtils = require("./aggregation-operation-utils");
21
-
22
- 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; }
23
-
24
- 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; }
25
-
26
- function noop() {}
27
-
28
- var dimensionSteps = ['getBins', 'getDomain', 'getScaleFunc'];
29
- var _defaultDimensions = [{
30
- key: 'fillColor',
31
- accessor: 'getFillColor',
32
- pickingInfo: 'colorValue',
33
- getBins: {
34
- triggers: {
35
- value: {
36
- prop: 'getColorValue',
37
- updateTrigger: 'getColorValue'
38
- },
39
- weight: {
40
- prop: 'getColorWeight',
41
- updateTrigger: 'getColorWeight'
42
- },
43
- aggregation: {
44
- prop: 'colorAggregation'
45
- },
46
- filterData: {
47
- prop: '_filterData',
48
- updateTrigger: '_filterData'
49
- }
50
- }
51
- },
52
- getDomain: {
53
- triggers: {
54
- lowerPercentile: {
55
- prop: 'lowerPercentile'
56
- },
57
- upperPercentile: {
58
- prop: 'upperPercentile'
59
- },
60
- scaleType: {
61
- prop: 'colorScaleType'
62
- }
63
- }
64
- },
65
- getScaleFunc: {
66
- triggers: {
67
- domain: {
68
- prop: 'colorDomain'
69
- },
70
- range: {
71
- prop: 'colorRange'
72
- }
73
- },
74
- onSet: {
75
- props: 'onSetColorDomain'
76
- }
77
- },
78
- nullValue: [0, 0, 0, 0]
79
- }, {
80
- key: 'elevation',
81
- accessor: 'getElevation',
82
- pickingInfo: 'elevationValue',
83
- getBins: {
84
- triggers: {
85
- value: {
86
- prop: 'getElevationValue',
87
- updateTrigger: 'getElevationValue'
88
- },
89
- weight: {
90
- prop: 'getElevationWeight',
91
- updateTrigger: 'getElevationWeight'
92
- },
93
- aggregation: {
94
- prop: 'elevationAggregation'
95
- },
96
- filterData: {
97
- prop: '_filterData',
98
- updateTrigger: '_filterData'
99
- }
100
- }
101
- },
102
- getDomain: {
103
- triggers: {
104
- lowerPercentile: {
105
- prop: 'elevationLowerPercentile'
106
- },
107
- upperPercentile: {
108
- prop: 'elevationUpperPercentile'
109
- },
110
- scaleType: {
111
- prop: 'elevationScaleType'
112
- }
113
- }
114
- },
115
- getScaleFunc: {
116
- triggers: {
117
- domain: {
118
- prop: 'elevationDomain'
119
- },
120
- range: {
121
- prop: 'elevationRange'
122
- }
123
- },
124
- onSet: {
125
- props: 'onSetElevationDomain'
126
- }
127
- },
128
- nullValue: -1
129
- }];
130
-
131
- var defaultGetCellSize = function defaultGetCellSize(props) {
132
- return props.cellSize;
133
- };
134
-
135
- var CPUAggregator = function () {
136
- function CPUAggregator(opts) {
137
- (0, _classCallCheck2.default)(this, CPUAggregator);
138
- this.state = {
139
- layerData: {
140
- data: undefined
141
- },
142
- dimensions: {}
143
- };
144
- this.changeFlags = {};
145
- this.dimensionUpdaters = {};
146
- this._getCellSize = void 0;
147
- this._getAggregator = void 0;
148
- this._getCellSize = opts.getCellSize || defaultGetCellSize;
149
- this._getAggregator = opts.getAggregator;
150
-
151
- this._addDimension(opts.dimensions || _defaultDimensions);
152
- }
153
-
154
- CPUAggregator.defaultDimensions = function defaultDimensions() {
155
- return _defaultDimensions;
156
- };
157
-
158
- var _proto = CPUAggregator.prototype;
159
-
160
- _proto.updateState = function updateState(opts, aggregationParams) {
161
- var oldProps = opts.oldProps,
162
- props = opts.props,
163
- changeFlags = opts.changeFlags;
164
- this.updateGetValueFuncs(oldProps, props, changeFlags);
165
- var reprojectNeeded = this.needsReProjectPoints(oldProps, props, changeFlags);
166
- var aggregationDirty = false;
167
-
168
- if (changeFlags.dataChanged || reprojectNeeded) {
169
- this.getAggregatedData(props, aggregationParams);
170
- aggregationDirty = true;
171
- } else {
172
- var dimensionChanges = this.getDimensionChanges(oldProps, props, changeFlags) || [];
173
- dimensionChanges.forEach(function (f) {
174
- return typeof f === 'function' && f();
175
- });
176
- aggregationDirty = true;
177
- }
178
-
179
- this.setState({
180
- aggregationDirty: aggregationDirty
181
- });
182
- return this.state;
183
- };
184
-
185
- _proto.setState = function setState(updateObject) {
186
- this.state = _objectSpread(_objectSpread({}, this.state), updateObject);
187
- };
188
-
189
- _proto.setDimensionState = function setDimensionState(key, updateObject) {
190
- this.setState({
191
- dimensions: _objectSpread(_objectSpread({}, this.state.dimensions), {}, (0, _defineProperty2.default)({}, key, _objectSpread(_objectSpread({}, this.state.dimensions[key]), updateObject)))
192
- });
193
- };
194
-
195
- _proto.normalizeResult = function normalizeResult() {
196
- var result = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
197
-
198
- if (result.hexagons) {
199
- return _objectSpread({
200
- data: result.hexagons
201
- }, result);
202
- } else if (result.layerData) {
203
- return _objectSpread({
204
- data: result.layerData
205
- }, result);
206
- }
207
-
208
- return result;
209
- };
210
-
211
- _proto.getAggregatedData = function getAggregatedData(props, aggregationParams) {
212
- var aggregator = this._getAggregator(props);
213
-
214
- var result = aggregator(props, aggregationParams);
215
- this.setState({
216
- layerData: this.normalizeResult(result)
217
- });
218
- this.changeFlags = {
219
- layerData: true
220
- };
221
- this.getSortedBins(props);
222
- };
223
-
224
- _proto.updateGetValueFuncs = function updateGetValueFuncs(oldProps, props, changeFlags) {
225
- for (var key in this.dimensionUpdaters) {
226
- var _this$dimensionUpdate = this.dimensionUpdaters[key].getBins.triggers,
227
- value = _this$dimensionUpdate.value,
228
- weight = _this$dimensionUpdate.weight,
229
- aggregation = _this$dimensionUpdate.aggregation;
230
- var getValue = props[value.prop];
231
- var getValueChanged = this.needUpdateDimensionStep(this.dimensionUpdaters[key].getBins, oldProps, props, changeFlags);
232
-
233
- if (getValueChanged) {
234
- if (getValue) {
235
- getValue = (0, _aggregationOperationUtils.wrapGetValueFunc)(getValue, {
236
- data: props.data
237
- });
238
- } else {
239
- getValue = (0, _aggregationOperationUtils.getValueFunc)(props[aggregation.prop], props[weight.prop], {
240
- data: props.data
241
- });
242
- }
243
- }
244
-
245
- if (getValue) {
246
- this.setDimensionState(key, {
247
- getValue: getValue
248
- });
249
- }
250
- }
251
- };
252
-
253
- _proto.needsReProjectPoints = function needsReProjectPoints(oldProps, props, changeFlags) {
254
- return this._getCellSize(oldProps) !== this._getCellSize(props) || this._getAggregator(oldProps) !== this._getAggregator(props) || changeFlags.updateTriggersChanged && (changeFlags.updateTriggersChanged.all || changeFlags.updateTriggersChanged.getPosition);
255
- };
256
-
257
- _proto.addDimension = function addDimension(dimensions) {
258
- this._addDimension(dimensions);
259
- };
260
-
261
- _proto._addDimension = function _addDimension() {
262
- var _this = this;
263
-
264
- var dimensions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
265
- dimensions.forEach(function (dimension) {
266
- var key = dimension.key;
267
- _this.dimensionUpdaters[key] = _this.getDimensionUpdaters(dimension);
268
- _this.state.dimensions[key] = {
269
- getValue: null,
270
- domain: null,
271
- sortedBins: null,
272
- scaleFunc: noop
273
- };
274
- });
275
- };
276
-
277
- _proto.getDimensionUpdaters = function getDimensionUpdaters(_ref) {
278
- var key = _ref.key,
279
- accessor = _ref.accessor,
280
- pickingInfo = _ref.pickingInfo,
281
- getBins = _ref.getBins,
282
- getDomain = _ref.getDomain,
283
- getScaleFunc = _ref.getScaleFunc,
284
- nullValue = _ref.nullValue;
285
- return {
286
- key: key,
287
- accessor: accessor,
288
- pickingInfo: pickingInfo,
289
- getBins: _objectSpread({
290
- updater: this.getDimensionSortedBins.bind(this)
291
- }, getBins),
292
- getDomain: _objectSpread({
293
- updater: this.getDimensionValueDomain.bind(this)
294
- }, getDomain),
295
- getScaleFunc: _objectSpread({
296
- updater: this.getDimensionScale.bind(this)
297
- }, getScaleFunc),
298
- attributeAccessor: this.getSubLayerDimensionAttribute(key, nullValue)
299
- };
300
- };
301
-
302
- _proto.needUpdateDimensionStep = function needUpdateDimensionStep(dimensionStep, oldProps, props, changeFlags) {
303
- return Object.values(dimensionStep.triggers).some(function (item) {
304
- if (item.updateTrigger) {
305
- return changeFlags.dataChanged || changeFlags.updateTriggersChanged && (changeFlags.updateTriggersChanged.all || changeFlags.updateTriggersChanged[item.updateTrigger]);
306
- }
307
-
308
- return oldProps[item.prop] !== props[item.prop];
309
- });
310
- };
311
-
312
- _proto.getDimensionChanges = function getDimensionChanges(oldProps, props, changeFlags) {
313
- var _this2 = this;
314
-
315
- var updaters = [];
316
-
317
- var _loop = function _loop(key) {
318
- var needUpdate = dimensionSteps.find(function (step) {
319
- return _this2.needUpdateDimensionStep(_this2.dimensionUpdaters[key][step], oldProps, props, changeFlags);
320
- });
321
-
322
- if (needUpdate) {
323
- updaters.push(_this2.dimensionUpdaters[key][needUpdate].updater.bind(_this2, props, _this2.dimensionUpdaters[key]));
324
- }
325
- };
326
-
327
- for (var key in this.dimensionUpdaters) {
328
- _loop(key);
329
- }
330
-
331
- return updaters.length ? updaters : null;
332
- };
333
-
334
- _proto.getUpdateTriggers = function getUpdateTriggers(props) {
335
- var _this3 = this;
336
-
337
- var _updateTriggers = props.updateTriggers || {};
338
-
339
- var updateTriggers = {};
340
-
341
- var _loop2 = function _loop2(key) {
342
- var accessor = _this3.dimensionUpdaters[key].accessor;
343
- updateTriggers[accessor] = {};
344
- dimensionSteps.forEach(function (step) {
345
- Object.values(_this3.dimensionUpdaters[key][step].triggers).forEach(function (_ref2) {
346
- var prop = _ref2.prop,
347
- updateTrigger = _ref2.updateTrigger;
348
-
349
- if (updateTrigger) {
350
- var fromProp = _updateTriggers[updateTrigger];
351
-
352
- if ((0, _typeof2.default)(fromProp) === 'object' && !Array.isArray(fromProp)) {
353
- Object.assign(updateTriggers[accessor], fromProp);
354
- } else if (fromProp !== undefined) {
355
- updateTriggers[accessor][prop] = fromProp;
356
- }
357
- } else {
358
- updateTriggers[accessor][prop] = props[prop];
359
- }
360
- });
361
- });
362
- };
363
-
364
- for (var key in this.dimensionUpdaters) {
365
- _loop2(key);
366
- }
367
-
368
- return updateTriggers;
369
- };
370
-
371
- _proto.getSortedBins = function getSortedBins(props) {
372
- for (var key in this.dimensionUpdaters) {
373
- this.getDimensionSortedBins(props, this.dimensionUpdaters[key]);
374
- }
375
- };
376
-
377
- _proto.getDimensionSortedBins = function getDimensionSortedBins(props, dimensionUpdater) {
378
- var key = dimensionUpdater.key;
379
- var getValue = this.state.dimensions[key].getValue;
380
- var sortedBins = new _binSorter.default(this.state.layerData.data || [], {
381
- getValue: getValue,
382
- filterData: props._filterData
383
- });
384
- this.setDimensionState(key, {
385
- sortedBins: sortedBins
386
- });
387
- this.getDimensionValueDomain(props, dimensionUpdater);
388
- };
389
-
390
- _proto.getDimensionValueDomain = function getDimensionValueDomain(props, dimensionUpdater) {
391
- var getDomain = dimensionUpdater.getDomain,
392
- key = dimensionUpdater.key;
393
- var _getDomain$triggers = getDomain.triggers,
394
- lowerPercentile = _getDomain$triggers.lowerPercentile,
395
- upperPercentile = _getDomain$triggers.upperPercentile,
396
- scaleType = _getDomain$triggers.scaleType;
397
- var valueDomain = this.state.dimensions[key].sortedBins.getValueDomainByScale(props[scaleType.prop], [props[lowerPercentile.prop], props[upperPercentile.prop]]);
398
- this.setDimensionState(key, {
399
- valueDomain: valueDomain
400
- });
401
- this.getDimensionScale(props, dimensionUpdater);
402
- };
403
-
404
- _proto.getDimensionScale = function getDimensionScale(props, dimensionUpdater) {
405
- var key = dimensionUpdater.key,
406
- getScaleFunc = dimensionUpdater.getScaleFunc,
407
- getDomain = dimensionUpdater.getDomain;
408
- var _getScaleFunc$trigger = getScaleFunc.triggers,
409
- domain = _getScaleFunc$trigger.domain,
410
- range = _getScaleFunc$trigger.range;
411
- var scaleType = getDomain.triggers.scaleType;
412
- var onSet = getScaleFunc.onSet;
413
- var dimensionRange = props[range.prop];
414
- var dimensionDomain = props[domain.prop] || this.state.dimensions[key].valueDomain;
415
- var getScaleFunction = (0, _scaleUtils.getScaleFunctionByScaleType)(scaleType && props[scaleType.prop]);
416
- var scaleFunc = getScaleFunction(dimensionDomain, dimensionRange);
417
-
418
- if ((0, _typeof2.default)(onSet) === 'object' && typeof props[onSet.props] === 'function') {
419
- props[onSet.props](scaleFunc.domain());
420
- }
421
-
422
- this.setDimensionState(key, {
423
- scaleFunc: scaleFunc
424
- });
425
- };
426
-
427
- _proto.getSubLayerDimensionAttribute = function getSubLayerDimensionAttribute(key, nullValue) {
428
- var _this4 = this;
429
-
430
- return function (cell) {
431
- var _this4$state$dimensio = _this4.state.dimensions[key],
432
- sortedBins = _this4$state$dimensio.sortedBins,
433
- scaleFunc = _this4$state$dimensio.scaleFunc;
434
- var bin = sortedBins.binMap[cell.index];
435
-
436
- if (bin && bin.counts === 0) {
437
- return nullValue;
438
- }
439
-
440
- var cv = bin && bin.value;
441
- var domain = scaleFunc.domain();
442
- var isValueInDomain = cv >= domain[0] && cv <= domain[domain.length - 1];
443
- return isValueInDomain ? scaleFunc(cv) : nullValue;
444
- };
445
- };
446
-
447
- _proto.getSubLayerAccessors = function getSubLayerAccessors(props) {
448
- var accessors = {};
449
-
450
- for (var key in this.dimensionUpdaters) {
451
- var accessor = this.dimensionUpdaters[key].accessor;
452
- accessors[accessor] = this.getSubLayerDimensionAttribute(props, key);
453
- }
454
-
455
- return accessors;
456
- };
457
-
458
- _proto.getPickingInfo = function getPickingInfo(_ref3) {
459
- var info = _ref3.info;
460
- var isPicked = info.picked && info.index > -1;
461
- var object = null;
462
-
463
- if (isPicked) {
464
- var cell = this.state.layerData.data[info.index];
465
- var binInfo = {};
466
-
467
- for (var key in this.dimensionUpdaters) {
468
- var pickingInfo = this.dimensionUpdaters[key].pickingInfo;
469
- var sortedBins = this.state.dimensions[key].sortedBins;
470
- var value = sortedBins.binMap[cell.index] && sortedBins.binMap[cell.index].value;
471
- binInfo[pickingInfo] = value;
472
- }
473
-
474
- object = Object.assign(binInfo, cell, {
475
- points: cell.filteredPoints || cell.points
476
- });
477
- }
478
-
479
- info.picked = Boolean(object);
480
- info.object = object;
481
- return info;
482
- };
483
-
484
- _proto.getAccessor = function getAccessor(dimensionKey) {
485
- if (!this.dimensionUpdaters.hasOwnProperty(dimensionKey)) {
486
- return noop;
487
- }
488
-
489
- return this.dimensionUpdaters[dimensionKey].attributeAccessor;
490
- };
491
-
492
- return CPUAggregator;
493
- }();
494
-
495
- exports.default = CPUAggregator;
496
- //# sourceMappingURL=cpu-aggregator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/cpu-aggregator.ts"],"names":["noop","dimensionSteps","defaultDimensions","key","accessor","pickingInfo","getBins","triggers","value","prop","updateTrigger","weight","aggregation","filterData","getDomain","lowerPercentile","upperPercentile","scaleType","getScaleFunc","domain","range","onSet","props","nullValue","defaultGetCellSize","cellSize","CPUAggregator","opts","state","layerData","data","undefined","dimensions","changeFlags","dimensionUpdaters","_getCellSize","_getAggregator","getCellSize","getAggregator","_addDimension","updateState","aggregationParams","oldProps","updateGetValueFuncs","reprojectNeeded","needsReProjectPoints","aggregationDirty","dataChanged","getAggregatedData","dimensionChanges","getDimensionChanges","forEach","f","setState","updateObject","setDimensionState","normalizeResult","result","hexagons","aggregator","getSortedBins","getValue","getValueChanged","needUpdateDimensionStep","updateTriggersChanged","all","getPosition","addDimension","dimension","getDimensionUpdaters","sortedBins","scaleFunc","updater","getDimensionSortedBins","bind","getDimensionValueDomain","getDimensionScale","attributeAccessor","getSubLayerDimensionAttribute","dimensionStep","Object","values","some","item","updaters","needUpdate","find","step","push","length","getUpdateTriggers","_updateTriggers","updateTriggers","fromProp","Array","isArray","assign","dimensionUpdater","BinSorter","_filterData","valueDomain","getValueDomainByScale","dimensionRange","dimensionDomain","getScaleFunction","cell","bin","binMap","index","counts","cv","isValueInDomain","getSubLayerAccessors","accessors","getPickingInfo","info","isPicked","picked","object","binInfo","points","filteredPoints","Boolean","getAccessor","dimensionKey","hasOwnProperty"],"mappings":"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","sourcesContent":["// Copyright (c) 2015 - 2018 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.\nimport BinSorter from './bin-sorter';\nimport {getScaleFunctionByScaleType} from './scale-utils';\nimport {getValueFunc, wrapGetValueFunc} from './aggregation-operation-utils';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n\nconst dimensionSteps = ['getBins', 'getDomain', 'getScaleFunc'];\nconst defaultDimensions = [\n {\n key: 'fillColor',\n accessor: 'getFillColor',\n pickingInfo: 'colorValue',\n getBins: {\n triggers: {\n value: {\n prop: 'getColorValue',\n updateTrigger: 'getColorValue'\n },\n weight: {\n prop: 'getColorWeight',\n updateTrigger: 'getColorWeight'\n },\n aggregation: {\n prop: 'colorAggregation'\n },\n filterData: {\n prop: '_filterData',\n updateTrigger: '_filterData'\n }\n }\n },\n getDomain: {\n triggers: {\n lowerPercentile: {\n prop: 'lowerPercentile'\n },\n upperPercentile: {\n prop: 'upperPercentile'\n },\n scaleType: {\n prop: 'colorScaleType'\n }\n }\n },\n getScaleFunc: {\n triggers: {\n domain: {prop: 'colorDomain'},\n range: {prop: 'colorRange'}\n },\n onSet: {\n props: 'onSetColorDomain'\n }\n },\n nullValue: [0, 0, 0, 0]\n },\n {\n key: 'elevation',\n accessor: 'getElevation',\n pickingInfo: 'elevationValue',\n getBins: {\n triggers: {\n value: {\n prop: 'getElevationValue',\n updateTrigger: 'getElevationValue'\n },\n weight: {\n prop: 'getElevationWeight',\n updateTrigger: 'getElevationWeight'\n },\n aggregation: {\n prop: 'elevationAggregation'\n },\n filterData: {\n prop: '_filterData',\n updateTrigger: '_filterData'\n }\n }\n },\n getDomain: {\n triggers: {\n lowerPercentile: {\n prop: 'elevationLowerPercentile'\n },\n upperPercentile: {\n prop: 'elevationUpperPercentile'\n },\n scaleType: {\n prop: 'elevationScaleType'\n }\n }\n },\n getScaleFunc: {\n triggers: {\n domain: {prop: 'elevationDomain'},\n range: {prop: 'elevationRange'}\n },\n onSet: {\n props: 'onSetElevationDomain'\n }\n },\n nullValue: -1\n }\n];\nconst defaultGetCellSize = props => props.cellSize;\nexport default class CPUAggregator {\n state: {\n layerData: {\n data?: any[];\n };\n dimensions: Record<string, any>;\n } = {\n layerData: {\n data: undefined\n },\n dimensions: {\n // color: {\n // getValue: null,\n // domain: null,\n // sortedBins: null,\n // scaleFunc: noop\n // },\n // elevation: {\n // getValue: null,\n // domain: null,\n // sortedBins: null,\n // scaleFunc: noop\n // }\n }\n };\n changeFlags: Record<string, any> = {};\n dimensionUpdaters: Record<string, any> = {};\n\n _getCellSize;\n _getAggregator;\n\n constructor(opts) {\n this._getCellSize = opts.getCellSize || defaultGetCellSize;\n this._getAggregator = opts.getAggregator;\n this._addDimension(opts.dimensions || defaultDimensions);\n }\n\n static defaultDimensions() {\n return defaultDimensions;\n }\n\n updateState(opts, aggregationParams) {\n const {oldProps, props, changeFlags} = opts;\n this.updateGetValueFuncs(oldProps, props, changeFlags);\n const reprojectNeeded = this.needsReProjectPoints(oldProps, props, changeFlags);\n let aggregationDirty = false;\n if (changeFlags.dataChanged || reprojectNeeded) {\n // project data into bin and aggregate wegiths per bin\n this.getAggregatedData(props, aggregationParams);\n aggregationDirty = true;\n } else {\n const dimensionChanges = this.getDimensionChanges(oldProps, props, changeFlags) || [];\n // this here is layer\n dimensionChanges.forEach(f => typeof f === 'function' && f());\n aggregationDirty = true;\n }\n this.setState({aggregationDirty});\n\n return this.state;\n }\n\n // Update private state\n setState(updateObject) {\n this.state = {...this.state, ...updateObject};\n }\n\n // Update private state.dimensions\n setDimensionState(key, updateObject) {\n this.setState({\n dimensions: {\n ...this.state.dimensions,\n [key]: {...this.state.dimensions[key], ...updateObject}\n }\n });\n }\n\n normalizeResult(result: {hexagons?; layerData?} = {}) {\n // support previous hexagonAggregator API\n if (result.hexagons) {\n return {data: result.hexagons, ...result};\n } else if (result.layerData) {\n return {data: result.layerData, ...result};\n }\n\n return result;\n }\n\n getAggregatedData(props, aggregationParams) {\n const aggregator = this._getAggregator(props);\n\n const result = aggregator(props, aggregationParams);\n this.setState({\n layerData: this.normalizeResult(result)\n });\n this.changeFlags = {\n layerData: true\n };\n this.getSortedBins(props);\n }\n\n updateGetValueFuncs(oldProps, props, changeFlags) {\n for (const key in this.dimensionUpdaters) {\n const {value, weight, aggregation} = this.dimensionUpdaters[key].getBins.triggers;\n let getValue = props[value.prop];\n const getValueChanged = this.needUpdateDimensionStep(\n this.dimensionUpdaters[key].getBins,\n oldProps,\n props,\n changeFlags\n );\n\n if (getValueChanged) {\n if (getValue) {\n getValue = wrapGetValueFunc(getValue, {data: props.data});\n } else {\n // If `getValue` is not provided from props, build it with aggregation and weight.\n getValue = getValueFunc(props[aggregation.prop], props[weight.prop], {data: props.data});\n }\n }\n\n if (getValue) {\n this.setDimensionState(key, {getValue});\n }\n }\n }\n\n needsReProjectPoints(oldProps, props, changeFlags) {\n return (\n this._getCellSize(oldProps) !== this._getCellSize(props) ||\n this._getAggregator(oldProps) !== this._getAggregator(props) ||\n (changeFlags.updateTriggersChanged &&\n (changeFlags.updateTriggersChanged.all || changeFlags.updateTriggersChanged.getPosition))\n );\n }\n\n // Adds dimensions\n addDimension(dimensions) {\n this._addDimension(dimensions);\n }\n\n _addDimension(dimensions = []) {\n dimensions.forEach(dimension => {\n const {key} = dimension;\n this.dimensionUpdaters[key] = this.getDimensionUpdaters(dimension);\n this.state.dimensions[key] = {\n getValue: null,\n domain: null,\n sortedBins: null,\n scaleFunc: noop\n };\n });\n }\n\n getDimensionUpdaters({key, accessor, pickingInfo, getBins, getDomain, getScaleFunc, nullValue}) {\n return {\n key,\n accessor,\n pickingInfo,\n getBins: {updater: this.getDimensionSortedBins.bind(this), ...getBins},\n getDomain: {updater: this.getDimensionValueDomain.bind(this), ...getDomain},\n getScaleFunc: {updater: this.getDimensionScale.bind(this), ...getScaleFunc},\n attributeAccessor: this.getSubLayerDimensionAttribute(key, nullValue)\n };\n }\n\n needUpdateDimensionStep(dimensionStep, oldProps, props, changeFlags) {\n // whether need to update current dimension step\n // dimension step is the value, domain, scaleFunction of each dimension\n // each step is an object with properties links to layer prop and whether the prop is\n // controlled by updateTriggers\n // getBins: {\n // value: {\n // prop: 'getElevationValue',\n // updateTrigger: 'getElevationValue'\n // },\n // weight: {\n // prop: 'getElevationWeight',\n // updateTrigger: 'getElevationWeight'\n // },\n // aggregation: {\n // prop: 'elevationAggregation'\n // }\n // }\n return Object.values(dimensionStep.triggers).some((item: any) => {\n if (item.updateTrigger) {\n // check based on updateTriggers change first\n // if data has changed, always update value\n return (\n changeFlags.dataChanged ||\n (changeFlags.updateTriggersChanged &&\n (changeFlags.updateTriggersChanged.all ||\n changeFlags.updateTriggersChanged[item.updateTrigger]))\n );\n }\n // fallback to direct comparison\n return oldProps[item.prop] !== props[item.prop];\n });\n }\n\n getDimensionChanges(oldProps: any, props: any, changeFlags: any): Function[] | null {\n // const {dimensionUpdaters} = this.state;\n const updaters: Function[] = [];\n\n // get dimension to be updated\n for (const key in this.dimensionUpdaters) {\n // return the first triggered updater for each dimension\n const needUpdate = dimensionSteps.find(step =>\n this.needUpdateDimensionStep(\n this.dimensionUpdaters[key][step],\n oldProps,\n props,\n changeFlags\n )\n );\n\n if (needUpdate) {\n updaters.push(\n this.dimensionUpdaters[key][needUpdate].updater.bind(\n this,\n props,\n this.dimensionUpdaters[key]\n )\n );\n }\n }\n\n return updaters.length ? updaters : null;\n }\n\n getUpdateTriggers(props) {\n const _updateTriggers = props.updateTriggers || {};\n const updateTriggers = {};\n\n for (const key in this.dimensionUpdaters) {\n const {accessor} = this.dimensionUpdaters[key];\n // fold dimension triggers into each accessor\n updateTriggers[accessor] = {};\n\n dimensionSteps.forEach(step => {\n Object.values(this.dimensionUpdaters[key][step].triggers).forEach(\n ({prop, updateTrigger}: any) => {\n if (updateTrigger) {\n // if prop is based on updateTrigger e.g. getColorValue, getColorWeight\n // and updateTriggers is passed in from layer prop\n // fold the updateTriggers into accessor\n const fromProp = _updateTriggers[updateTrigger];\n if (typeof fromProp === 'object' && !Array.isArray(fromProp)) {\n // if updateTrigger is an object spread it\n Object.assign(updateTriggers[accessor], fromProp);\n } else if (fromProp !== undefined) {\n updateTriggers[accessor][prop] = fromProp;\n }\n } else {\n // if prop is not based on updateTrigger\n updateTriggers[accessor][prop] = props[prop];\n }\n }\n );\n });\n }\n\n return updateTriggers;\n }\n\n getSortedBins(props) {\n for (const key in this.dimensionUpdaters) {\n this.getDimensionSortedBins(props, this.dimensionUpdaters[key]);\n }\n }\n\n getDimensionSortedBins(props, dimensionUpdater) {\n const {key} = dimensionUpdater;\n const {getValue} = this.state.dimensions[key];\n\n const sortedBins = new BinSorter(this.state.layerData.data || [], {\n getValue,\n filterData: props._filterData\n });\n this.setDimensionState(key, {sortedBins});\n this.getDimensionValueDomain(props, dimensionUpdater);\n }\n\n getDimensionValueDomain(props, dimensionUpdater) {\n const {getDomain, key} = dimensionUpdater;\n const {\n triggers: {lowerPercentile, upperPercentile, scaleType}\n } = getDomain;\n const valueDomain = this.state.dimensions[key].sortedBins.getValueDomainByScale(\n props[scaleType.prop],\n [props[lowerPercentile.prop], props[upperPercentile.prop]]\n );\n\n this.setDimensionState(key, {valueDomain});\n this.getDimensionScale(props, dimensionUpdater);\n }\n\n getDimensionScale(props, dimensionUpdater) {\n const {key, getScaleFunc, getDomain} = dimensionUpdater;\n const {domain, range} = getScaleFunc.triggers;\n const {scaleType} = getDomain.triggers;\n const {onSet} = getScaleFunc;\n const dimensionRange = props[range.prop];\n const dimensionDomain = props[domain.prop] || this.state.dimensions[key].valueDomain;\n const getScaleFunction = getScaleFunctionByScaleType(scaleType && props[scaleType.prop]);\n const scaleFunc = getScaleFunction(dimensionDomain, dimensionRange);\n\n if (typeof onSet === 'object' && typeof props[onSet.props] === 'function') {\n props[onSet.props](scaleFunc.domain());\n }\n\n this.setDimensionState(key, {scaleFunc});\n }\n\n getSubLayerDimensionAttribute(key, nullValue) {\n return cell => {\n const {sortedBins, scaleFunc} = this.state.dimensions[key];\n const bin = sortedBins.binMap[cell.index];\n\n if (bin && bin.counts === 0) {\n // no points left in bin after filtering\n return nullValue;\n }\n const cv = bin && bin.value;\n const domain = scaleFunc.domain();\n\n const isValueInDomain = cv >= domain[0] && cv <= domain[domain.length - 1];\n\n // if cell value is outside domain, set alpha to 0\n return isValueInDomain ? scaleFunc(cv) : nullValue;\n };\n }\n\n getSubLayerAccessors(props) {\n const accessors = {};\n for (const key in this.dimensionUpdaters) {\n const {accessor} = this.dimensionUpdaters[key];\n accessors[accessor] = this.getSubLayerDimensionAttribute(props, key);\n }\n\n return accessors;\n }\n\n getPickingInfo({info}) {\n const isPicked = info.picked && info.index > -1;\n let object = null;\n\n if (isPicked) {\n // const {sortedColorBins, sortedElevationBins} = this.state;\n\n // @ts-expect-error\n const cell = this.state.layerData.data[info.index];\n\n const binInfo = {};\n for (const key in this.dimensionUpdaters) {\n const {pickingInfo} = this.dimensionUpdaters[key];\n const {sortedBins} = this.state.dimensions[key];\n const value = sortedBins.binMap[cell.index] && sortedBins.binMap[cell.index].value;\n binInfo[pickingInfo] = value;\n }\n\n object = Object.assign(binInfo, cell, {\n points: cell.filteredPoints || cell.points\n });\n }\n\n // override object with picked cell\n info.picked = Boolean(object);\n info.object = object;\n\n return info;\n }\n\n getAccessor(dimensionKey) {\n if (!this.dimensionUpdaters.hasOwnProperty(dimensionKey)) {\n return noop;\n }\n return this.dimensionUpdaters[dimensionKey].attributeAccessor;\n }\n}\n"],"file":"cpu-aggregator.js"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _default = "#version 300 es\n#define SHADER_NAME gpu-aggregation-all-fs\n\nprecision highp float;\n\nin vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform bool combineMaxMin;\nout vec4 fragColor;\nvoid main(void) {\n vec4 textureColor = texture(uSampler, vec2(vTextureCoord.s, vTextureCoord.t));\n if (textureColor.a == 0.) {\n discard;\n }\n fragColor.rgb = textureColor.rgb;\n fragColor.a = combineMaxMin ? textureColor.r : textureColor.a;\n}\n";
8
- exports.default = _default;
9
- //# sourceMappingURL=aggregate-all-fs.glsl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"aggregate-all-fs.glsl.js"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _default = "#version 300 es\n#define SHADER_NAME gpu-aggregation-all-vs-64\n\nin vec2 position;\nuniform ivec2 gridSize;\nout vec2 vTextureCoord;\n\nvoid main(void) {\n vec2 pos = vec2(-1.0, -1.0);\n vec2 offset = 1.0 / vec2(gridSize);\n pos = pos + offset;\n\n gl_Position = vec4(pos, 0.0, 1.0);\n\n int yIndex = gl_InstanceID / gridSize[0];\n int xIndex = gl_InstanceID - (yIndex * gridSize[0]);\n\n vec2 yIndexFP64 = vec2(float(yIndex), 0.);\n vec2 xIndexFP64 = vec2(float(xIndex), 0.);\n vec2 gridSizeYFP64 = vec2(gridSize[1], 0.);\n vec2 gridSizeXFP64 = vec2(gridSize[0], 0.);\n\n vec2 texCoordXFP64 = div_fp64(yIndexFP64, gridSizeYFP64);\n vec2 texCoordYFP64 = div_fp64(xIndexFP64, gridSizeXFP64);\n\n vTextureCoord = vec2(texCoordYFP64.x, texCoordXFP64.x);\n gl_PointSize = 1.0;\n}\n";
8
- exports.default = _default;
9
- //# sourceMappingURL=aggregate-all-vs.glsl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"aggregate-all-vs.glsl.js"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _default = "#version 300 es\n#define SHADER_NAME gpu-aggregation-to-grid-fs\n\nprecision highp float;\n\nin vec3 vWeights;\n\nout vec4 fragColor;\n\nvoid main(void) {\n fragColor = vec4(vWeights, 1.0);\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n";
8
- exports.default = _default;
9
- //# sourceMappingURL=aggregate-to-grid-fs.glsl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"aggregate-to-grid-fs.glsl.js"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _default = "#version 300 es\n#define SHADER_NAME gpu-aggregation-to-grid-vs\n\nin vec3 positions;\nin vec3 positions64Low;\nin vec3 weights;\nuniform vec2 cellSize;\nuniform vec2 gridSize;\nuniform bool projectPoints;\nuniform vec2 translation;\nuniform vec3 scaling;\n\nout vec3 vWeights;\n\nvec2 project_to_pixel(vec4 pos) {\n vec4 result;\n pos.xy = pos.xy/pos.w;\n result = pos + vec4(translation, 0., 0.);\n result.xy = scaling.z > 0. ? result.xy * scaling.xy : result.xy;\n return result.xy;\n}\n\nvoid main(void) {\n\n vWeights = weights;\n\n vec4 windowPos = vec4(positions, 1.);\n if (projectPoints) {\n windowPos = project_position_to_clipspace(positions, positions64Low, vec3(0));\n }\n\n vec2 pos = project_to_pixel(windowPos);\n\n vec2 pixelXY64[2];\n pixelXY64[0] = vec2(pos.x, 0.);\n pixelXY64[1] = vec2(pos.y, 0.);\n vec2 gridXY64[2];\n gridXY64[0] = div_fp64(pixelXY64[0], vec2(cellSize.x, 0));\n gridXY64[1] = div_fp64(pixelXY64[1], vec2(cellSize.y, 0));\n float x = floor(gridXY64[0].x);\n float y = floor(gridXY64[1].x);\n pos = vec2(x, y);\n pos = (pos * (2., 2.) / (gridSize)) - (1., 1.);\n vec2 offset = 1.0 / gridSize;\n pos = pos + offset;\n\n gl_Position = vec4(pos, 0.0, 1.0);\n gl_PointSize = 1.0;\n}\n";
8
- exports.default = _default;
9
- //# sourceMappingURL=aggregate-to-grid-vs.glsl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"aggregate-to-grid-vs.glsl.js"}