@deck.gl/aggregation-layers 9.0.40 → 9.1.0-beta.3

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 (372) hide show
  1. package/dist/common/aggregation-layer.d.ts +30 -0
  2. package/dist/common/aggregation-layer.d.ts.map +1 -0
  3. package/dist/common/aggregation-layer.js +70 -0
  4. package/dist/common/aggregation-layer.js.map +1 -0
  5. package/dist/common/aggregator/aggregator.d.ts +76 -0
  6. package/dist/common/aggregator/aggregator.d.ts.map +1 -0
  7. package/dist/common/aggregator/aggregator.js +5 -0
  8. package/dist/common/aggregator/aggregator.js.map +1 -0
  9. package/dist/common/aggregator/cpu-aggregator/aggregate.d.ts +27 -0
  10. package/dist/common/aggregator/cpu-aggregator/aggregate.d.ts.map +1 -0
  11. package/dist/common/aggregator/cpu-aggregator/aggregate.js +67 -0
  12. package/dist/common/aggregator/cpu-aggregator/aggregate.js.map +1 -0
  13. package/dist/common/aggregator/cpu-aggregator/cpu-aggregator.d.ts +70 -0
  14. package/dist/common/aggregator/cpu-aggregator/cpu-aggregator.d.ts.map +1 -0
  15. package/dist/common/aggregator/cpu-aggregator/cpu-aggregator.js +140 -0
  16. package/dist/common/aggregator/cpu-aggregator/cpu-aggregator.js.map +1 -0
  17. package/dist/common/aggregator/cpu-aggregator/sort-bins.d.ts +15 -0
  18. package/dist/common/aggregator/cpu-aggregator/sort-bins.d.ts.map +1 -0
  19. package/dist/common/aggregator/cpu-aggregator/sort-bins.js +44 -0
  20. package/dist/common/aggregator/cpu-aggregator/sort-bins.js.map +1 -0
  21. package/dist/common/aggregator/cpu-aggregator/vertex-accessor.d.ts +21 -0
  22. package/dist/common/aggregator/cpu-aggregator/vertex-accessor.d.ts.map +1 -0
  23. package/dist/common/aggregator/cpu-aggregator/vertex-accessor.js +56 -0
  24. package/dist/common/aggregator/cpu-aggregator/vertex-accessor.js.map +1 -0
  25. package/dist/common/aggregator/gpu-aggregator/aggregation-transform-uniforms.d.ts +18 -0
  26. package/dist/common/aggregator/gpu-aggregator/aggregation-transform-uniforms.d.ts.map +1 -0
  27. package/dist/common/aggregator/gpu-aggregator/aggregation-transform-uniforms.js +21 -0
  28. package/dist/common/aggregator/gpu-aggregator/aggregation-transform-uniforms.js.map +1 -0
  29. package/dist/common/aggregator/gpu-aggregator/bin-sorter-uniforms.d.ts +14 -0
  30. package/dist/common/aggregator/gpu-aggregator/bin-sorter-uniforms.d.ts.map +1 -0
  31. package/dist/common/aggregator/gpu-aggregator/bin-sorter-uniforms.js +18 -0
  32. package/dist/common/aggregator/gpu-aggregator/bin-sorter-uniforms.js.map +1 -0
  33. package/dist/common/aggregator/gpu-aggregator/utils.d.ts +6 -0
  34. package/dist/common/aggregator/gpu-aggregator/utils.d.ts.map +1 -0
  35. package/dist/common/aggregator/gpu-aggregator/utils.js +25 -0
  36. package/dist/common/aggregator/gpu-aggregator/utils.js.map +1 -0
  37. package/dist/common/aggregator/gpu-aggregator/webgl-aggregation-transform.d.ts +24 -0
  38. package/dist/common/aggregator/gpu-aggregator/webgl-aggregation-transform.d.ts.map +1 -0
  39. package/dist/common/aggregator/gpu-aggregator/webgl-aggregation-transform.js +216 -0
  40. package/dist/common/aggregator/gpu-aggregator/webgl-aggregation-transform.js.map +1 -0
  41. package/dist/common/aggregator/gpu-aggregator/webgl-aggregator.d.ts +81 -0
  42. package/dist/common/aggregator/gpu-aggregator/webgl-aggregator.d.ts.map +1 -0
  43. package/dist/common/aggregator/gpu-aggregator/webgl-aggregator.js +202 -0
  44. package/dist/common/aggregator/gpu-aggregator/webgl-aggregator.js.map +1 -0
  45. package/dist/common/aggregator/gpu-aggregator/webgl-bin-sorter.d.ts +38 -0
  46. package/dist/common/aggregator/gpu-aggregator/webgl-bin-sorter.d.ts.map +1 -0
  47. package/dist/common/aggregator/gpu-aggregator/webgl-bin-sorter.js +224 -0
  48. package/dist/common/aggregator/gpu-aggregator/webgl-bin-sorter.js.map +1 -0
  49. package/dist/common/aggregator/index.d.ts +6 -0
  50. package/dist/common/aggregator/index.d.ts.map +1 -0
  51. package/dist/common/aggregator/index.js +6 -0
  52. package/dist/common/aggregator/index.js.map +1 -0
  53. package/dist/common/types.d.ts +11 -0
  54. package/dist/common/types.d.ts.map +1 -0
  55. package/dist/common/types.js +5 -0
  56. package/dist/common/types.js.map +1 -0
  57. package/dist/common/utils/bounds-utils.d.ts +10 -0
  58. package/dist/common/utils/bounds-utils.d.ts.map +1 -0
  59. package/dist/common/utils/bounds-utils.js +21 -0
  60. package/dist/common/utils/bounds-utils.js.map +1 -0
  61. package/dist/common/utils/color-utils.d.ts +10 -0
  62. package/dist/common/utils/color-utils.d.ts.map +1 -0
  63. package/dist/common/utils/color-utils.js +66 -0
  64. package/dist/common/utils/color-utils.js.map +1 -0
  65. package/dist/common/utils/prop-utils.d.ts.map +1 -0
  66. package/dist/common/utils/prop-utils.js +13 -0
  67. package/dist/common/utils/prop-utils.js.map +1 -0
  68. package/dist/common/utils/scale-utils.d.ts +46 -0
  69. package/dist/common/utils/scale-utils.d.ts.map +1 -0
  70. package/dist/common/utils/scale-utils.js +181 -0
  71. package/dist/common/utils/scale-utils.js.map +1 -0
  72. package/dist/contour-layer/bin-options-uniforms.d.ts +13 -0
  73. package/dist/contour-layer/bin-options-uniforms.d.ts.map +1 -0
  74. package/dist/contour-layer/bin-options-uniforms.js +18 -0
  75. package/dist/contour-layer/bin-options-uniforms.js.map +1 -0
  76. package/dist/contour-layer/contour-layer.d.ts +42 -50
  77. package/dist/contour-layer/contour-layer.d.ts.map +1 -1
  78. package/dist/contour-layer/contour-layer.js +233 -192
  79. package/dist/contour-layer/contour-layer.js.map +1 -0
  80. package/dist/contour-layer/contour-utils.d.ts +36 -15
  81. package/dist/contour-layer/contour-utils.d.ts.map +1 -1
  82. package/dist/contour-layer/contour-utils.js +25 -29
  83. package/dist/contour-layer/contour-utils.js.map +1 -0
  84. package/dist/contour-layer/marching-squares-codes.d.ts.map +1 -1
  85. package/dist/contour-layer/marching-squares-codes.js +4 -0
  86. package/dist/contour-layer/marching-squares-codes.js.map +1 -0
  87. package/dist/contour-layer/marching-squares.d.ts +22 -6
  88. package/dist/contour-layer/marching-squares.d.ts.map +1 -1
  89. package/dist/contour-layer/marching-squares.js +72 -68
  90. package/dist/contour-layer/marching-squares.js.map +1 -0
  91. package/dist/contour-layer/value-reader.d.ts +10 -0
  92. package/dist/contour-layer/value-reader.d.ts.map +1 -0
  93. package/dist/contour-layer/value-reader.js +47 -0
  94. package/dist/contour-layer/value-reader.js.map +1 -0
  95. package/dist/dist.dev.js +4844 -4083
  96. package/dist/grid-layer/bin-options-uniforms.d.ts +13 -0
  97. package/dist/grid-layer/bin-options-uniforms.d.ts.map +1 -0
  98. package/dist/grid-layer/bin-options-uniforms.js +18 -0
  99. package/dist/grid-layer/bin-options-uniforms.js.map +1 -0
  100. package/dist/grid-layer/grid-cell-layer-vertex.glsl.d.ts +3 -0
  101. package/dist/grid-layer/grid-cell-layer-vertex.glsl.d.ts.map +1 -0
  102. package/dist/grid-layer/grid-cell-layer-vertex.glsl.js +52 -0
  103. package/dist/grid-layer/grid-cell-layer-vertex.glsl.js.map +1 -0
  104. package/dist/grid-layer/grid-cell-layer.d.ts +32 -0
  105. package/dist/grid-layer/grid-cell-layer.d.ts.map +1 -0
  106. package/dist/grid-layer/grid-cell-layer.js +94 -0
  107. package/dist/grid-layer/grid-cell-layer.js.map +1 -0
  108. package/dist/grid-layer/grid-layer-uniforms.d.ts +21 -0
  109. package/dist/grid-layer/grid-layer-uniforms.d.ts.map +1 -0
  110. package/dist/grid-layer/grid-layer-uniforms.js +24 -0
  111. package/dist/grid-layer/grid-layer-uniforms.js.map +1 -0
  112. package/dist/grid-layer/grid-layer.d.ts +176 -14
  113. package/dist/grid-layer/grid-layer.d.ts.map +1 -1
  114. package/dist/grid-layer/grid-layer.js +343 -46
  115. package/dist/grid-layer/grid-layer.js.map +1 -0
  116. package/dist/{aggregation-layer.d.ts → heatmap-layer/aggregation-layer.d.ts} +1 -0
  117. package/dist/heatmap-layer/aggregation-layer.d.ts.map +1 -0
  118. package/dist/{aggregation-layer.js → heatmap-layer/aggregation-layer.js} +7 -21
  119. package/dist/heatmap-layer/aggregation-layer.js.map +1 -0
  120. package/dist/heatmap-layer/heatmap-layer-uniforms.d.ts +30 -0
  121. package/dist/heatmap-layer/heatmap-layer-uniforms.d.ts.map +1 -0
  122. package/dist/heatmap-layer/heatmap-layer-uniforms.js +33 -0
  123. package/dist/heatmap-layer/heatmap-layer-uniforms.js.map +1 -0
  124. package/dist/heatmap-layer/heatmap-layer-utils.d.ts +1 -1
  125. package/dist/heatmap-layer/heatmap-layer-utils.d.ts.map +1 -1
  126. package/dist/heatmap-layer/heatmap-layer-utils.js +4 -0
  127. package/dist/heatmap-layer/heatmap-layer-utils.js.map +1 -0
  128. package/dist/heatmap-layer/heatmap-layer.d.ts +6 -4
  129. package/dist/heatmap-layer/heatmap-layer.d.ts.map +1 -1
  130. package/dist/heatmap-layer/heatmap-layer.js +44 -33
  131. package/dist/heatmap-layer/heatmap-layer.js.map +1 -0
  132. package/dist/heatmap-layer/max-fs.glsl.d.ts.map +1 -1
  133. package/dist/heatmap-layer/max-fs.glsl.js +4 -0
  134. package/dist/heatmap-layer/max-fs.glsl.js.map +1 -0
  135. package/dist/heatmap-layer/max-vs.glsl.d.ts +1 -1
  136. package/dist/heatmap-layer/max-vs.glsl.d.ts.map +1 -1
  137. package/dist/heatmap-layer/max-vs.glsl.js +7 -4
  138. package/dist/heatmap-layer/max-vs.glsl.js.map +1 -0
  139. package/dist/heatmap-layer/triangle-layer-fragment.glsl.d.ts +1 -1
  140. package/dist/heatmap-layer/triangle-layer-fragment.glsl.d.ts.map +1 -1
  141. package/dist/heatmap-layer/triangle-layer-fragment.glsl.js +6 -23
  142. package/dist/heatmap-layer/triangle-layer-fragment.glsl.js.map +1 -0
  143. package/dist/heatmap-layer/triangle-layer-uniforms.d.ts +22 -0
  144. package/dist/heatmap-layer/triangle-layer-uniforms.d.ts.map +1 -0
  145. package/dist/heatmap-layer/triangle-layer-uniforms.js +23 -0
  146. package/dist/heatmap-layer/triangle-layer-uniforms.js.map +1 -0
  147. package/dist/heatmap-layer/triangle-layer-vertex.glsl.d.ts +1 -1
  148. package/dist/heatmap-layer/triangle-layer-vertex.glsl.d.ts.map +1 -1
  149. package/dist/heatmap-layer/triangle-layer-vertex.glsl.js +11 -30
  150. package/dist/heatmap-layer/triangle-layer-vertex.glsl.js.map +1 -0
  151. package/dist/heatmap-layer/triangle-layer.d.ts +4 -10
  152. package/dist/heatmap-layer/triangle-layer.d.ts.map +1 -1
  153. package/dist/heatmap-layer/triangle-layer.js +18 -30
  154. package/dist/heatmap-layer/triangle-layer.js.map +1 -0
  155. package/dist/heatmap-layer/weights-fs.glsl.d.ts.map +1 -1
  156. package/dist/heatmap-layer/weights-fs.glsl.js +4 -0
  157. package/dist/heatmap-layer/weights-fs.glsl.js.map +1 -0
  158. package/dist/heatmap-layer/weights-vs.glsl.d.ts +1 -1
  159. package/dist/heatmap-layer/weights-vs.glsl.d.ts.map +1 -1
  160. package/dist/heatmap-layer/weights-vs.glsl.js +7 -7
  161. package/dist/heatmap-layer/weights-vs.glsl.js.map +1 -0
  162. package/dist/hexagon-layer/bin-options-uniforms.d.ts +14 -0
  163. package/dist/hexagon-layer/bin-options-uniforms.d.ts.map +1 -0
  164. package/dist/hexagon-layer/bin-options-uniforms.js +18 -0
  165. package/dist/hexagon-layer/bin-options-uniforms.js.map +1 -0
  166. package/dist/hexagon-layer/hexagon-cell-layer-vertex.glsl.d.ts +3 -0
  167. package/dist/hexagon-layer/hexagon-cell-layer-vertex.glsl.d.ts.map +1 -0
  168. package/dist/hexagon-layer/hexagon-cell-layer-vertex.glsl.js +56 -0
  169. package/dist/hexagon-layer/hexagon-cell-layer-vertex.glsl.js.map +1 -0
  170. package/dist/hexagon-layer/hexagon-cell-layer.d.ts +29 -0
  171. package/dist/hexagon-layer/hexagon-cell-layer.d.ts.map +1 -0
  172. package/dist/hexagon-layer/hexagon-cell-layer.js +95 -0
  173. package/dist/hexagon-layer/hexagon-cell-layer.js.map +1 -0
  174. package/dist/hexagon-layer/hexagon-layer-uniforms.d.ts +19 -0
  175. package/dist/hexagon-layer/hexagon-layer-uniforms.d.ts.map +1 -0
  176. package/dist/hexagon-layer/hexagon-layer-uniforms.js +22 -0
  177. package/dist/hexagon-layer/hexagon-layer-uniforms.js.map +1 -0
  178. package/dist/hexagon-layer/hexagon-layer.d.ts +84 -54
  179. package/dist/hexagon-layer/hexagon-layer.d.ts.map +1 -1
  180. package/dist/hexagon-layer/hexagon-layer.js +308 -123
  181. package/dist/hexagon-layer/hexagon-layer.js.map +1 -0
  182. package/dist/hexagon-layer/hexbin.d.ts +17 -0
  183. package/dist/hexagon-layer/hexbin.d.ts.map +1 -0
  184. package/dist/hexagon-layer/hexbin.js +70 -0
  185. package/dist/hexagon-layer/hexbin.js.map +1 -0
  186. package/dist/index.cjs +3026 -2947
  187. package/dist/index.cjs.map +4 -4
  188. package/dist/index.d.ts +7 -13
  189. package/dist/index.d.ts.map +1 -1
  190. package/dist/index.js +6 -27
  191. package/dist/index.js.map +1 -0
  192. package/dist/screen-grid-layer/bin-options-uniforms.d.ts +11 -0
  193. package/dist/screen-grid-layer/bin-options-uniforms.d.ts.map +1 -0
  194. package/dist/screen-grid-layer/bin-options-uniforms.js +16 -0
  195. package/dist/screen-grid-layer/bin-options-uniforms.js.map +1 -0
  196. package/dist/screen-grid-layer/screen-grid-cell-layer.d.ts +11 -16
  197. package/dist/screen-grid-layer/screen-grid-cell-layer.d.ts.map +1 -1
  198. package/dist/screen-grid-layer/screen-grid-cell-layer.js +53 -134
  199. package/dist/screen-grid-layer/screen-grid-cell-layer.js.map +1 -0
  200. package/dist/screen-grid-layer/screen-grid-layer-fragment.glsl.d.ts +1 -1
  201. package/dist/screen-grid-layer/screen-grid-layer-fragment.glsl.d.ts.map +1 -1
  202. package/dist/screen-grid-layer/screen-grid-layer-fragment.glsl.js +5 -24
  203. package/dist/screen-grid-layer/screen-grid-layer-fragment.glsl.js.map +1 -0
  204. package/dist/screen-grid-layer/screen-grid-layer-uniforms.d.ts +17 -0
  205. package/dist/screen-grid-layer/screen-grid-layer-uniforms.d.ts.map +1 -0
  206. package/dist/screen-grid-layer/screen-grid-layer-uniforms.js +20 -0
  207. package/dist/screen-grid-layer/screen-grid-layer-uniforms.js.map +1 -0
  208. package/dist/screen-grid-layer/screen-grid-layer-vertex.glsl.d.ts +1 -1
  209. package/dist/screen-grid-layer/screen-grid-layer-vertex.glsl.d.ts.map +1 -1
  210. package/dist/screen-grid-layer/screen-grid-layer-vertex.glsl.js +22 -62
  211. package/dist/screen-grid-layer/screen-grid-layer-vertex.glsl.js.map +1 -0
  212. package/dist/screen-grid-layer/screen-grid-layer.d.ts +33 -40
  213. package/dist/screen-grid-layer/screen-grid-layer.d.ts.map +1 -1
  214. package/dist/screen-grid-layer/screen-grid-layer.js +158 -174
  215. package/dist/screen-grid-layer/screen-grid-layer.js.map +1 -0
  216. package/dist.min.js +401 -382
  217. package/package.json +10 -9
  218. package/src/common/aggregation-layer.ts +107 -0
  219. package/src/common/aggregator/aggregator.ts +88 -0
  220. package/src/common/aggregator/cpu-aggregator/aggregate.ts +101 -0
  221. package/src/common/aggregator/cpu-aggregator/cpu-aggregator.ts +203 -0
  222. package/src/common/aggregator/cpu-aggregator/sort-bins.ts +63 -0
  223. package/src/common/aggregator/cpu-aggregator/vertex-accessor.ts +86 -0
  224. package/src/common/aggregator/gpu-aggregator/aggregation-transform-uniforms.ts +33 -0
  225. package/src/common/aggregator/gpu-aggregator/bin-sorter-uniforms.ts +27 -0
  226. package/src/common/aggregator/gpu-aggregator/utils.ts +27 -0
  227. package/src/common/aggregator/gpu-aggregator/webgl-aggregation-transform.ts +247 -0
  228. package/src/common/aggregator/gpu-aggregator/webgl-aggregator.ts +274 -0
  229. package/src/common/aggregator/gpu-aggregator/webgl-bin-sorter.ts +258 -0
  230. package/src/common/aggregator/index.ts +10 -0
  231. package/src/{types.ts → common/types.ts} +10 -4
  232. package/src/common/utils/bounds-utils.ts +34 -0
  233. package/src/common/utils/color-utils.ts +86 -0
  234. package/src/common/utils/prop-utils.ts +13 -0
  235. package/src/common/utils/scale-utils.ts +236 -0
  236. package/src/contour-layer/bin-options-uniforms.ts +26 -0
  237. package/src/contour-layer/contour-layer.ts +300 -265
  238. package/src/contour-layer/contour-utils.ts +68 -39
  239. package/src/contour-layer/marching-squares-codes.ts +4 -0
  240. package/src/contour-layer/marching-squares.ts +93 -82
  241. package/src/contour-layer/value-reader.ts +65 -0
  242. package/src/grid-layer/bin-options-uniforms.ts +26 -0
  243. package/src/grid-layer/grid-cell-layer-vertex.glsl.ts +68 -0
  244. package/src/grid-layer/grid-cell-layer.ts +141 -0
  245. package/src/grid-layer/grid-layer-uniforms.ts +37 -0
  246. package/src/grid-layer/grid-layer.ts +614 -73
  247. package/src/{aggregation-layer.ts → heatmap-layer/aggregation-layer.ts} +6 -21
  248. package/src/heatmap-layer/heatmap-layer-uniforms.ts +50 -0
  249. package/src/heatmap-layer/heatmap-layer-utils.ts +9 -1
  250. package/src/heatmap-layer/heatmap-layer.ts +59 -36
  251. package/src/heatmap-layer/max-fs.glsl.ts +4 -0
  252. package/src/heatmap-layer/max-vs.glsl.ts +7 -4
  253. package/src/heatmap-layer/triangle-layer-fragment.glsl.ts +5 -23
  254. package/src/heatmap-layer/triangle-layer-uniforms.ts +37 -0
  255. package/src/heatmap-layer/triangle-layer-vertex.glsl.ts +10 -30
  256. package/src/heatmap-layer/triangle-layer.ts +26 -31
  257. package/src/heatmap-layer/weights-fs.glsl.ts +4 -0
  258. package/src/heatmap-layer/weights-vs.glsl.ts +7 -7
  259. package/src/hexagon-layer/bin-options-uniforms.ts +27 -0
  260. package/src/hexagon-layer/hexagon-cell-layer-vertex.glsl.ts +73 -0
  261. package/src/hexagon-layer/hexagon-cell-layer.ts +141 -0
  262. package/src/hexagon-layer/hexagon-layer-uniforms.ts +34 -0
  263. package/src/hexagon-layer/hexagon-layer.ts +454 -186
  264. package/src/hexagon-layer/hexbin.ts +79 -0
  265. package/src/index.ts +21 -34
  266. package/src/screen-grid-layer/bin-options-uniforms.ts +23 -0
  267. package/src/screen-grid-layer/screen-grid-cell-layer.ts +71 -156
  268. package/src/screen-grid-layer/screen-grid-layer-fragment.glsl.ts +4 -24
  269. package/src/screen-grid-layer/screen-grid-layer-uniforms.ts +31 -0
  270. package/src/screen-grid-layer/screen-grid-layer-vertex.glsl.ts +21 -64
  271. package/src/screen-grid-layer/screen-grid-layer.ts +194 -222
  272. package/dist/aggregation-layer.d.ts.map +0 -1
  273. package/dist/cpu-grid-layer/cpu-grid-layer.d.ts +0 -158
  274. package/dist/cpu-grid-layer/cpu-grid-layer.d.ts.map +0 -1
  275. package/dist/cpu-grid-layer/cpu-grid-layer.js +0 -130
  276. package/dist/cpu-grid-layer/grid-aggregator.d.ts +0 -35
  277. package/dist/cpu-grid-layer/grid-aggregator.d.ts.map +0 -1
  278. package/dist/cpu-grid-layer/grid-aggregator.js +0 -141
  279. package/dist/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.d.ts +0 -3
  280. package/dist/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.d.ts.map +0 -1
  281. package/dist/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js +0 -30
  282. package/dist/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.d.ts +0 -3
  283. package/dist/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.d.ts.map +0 -1
  284. package/dist/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.js +0 -112
  285. package/dist/gpu-grid-layer/gpu-grid-cell-layer.d.ts +0 -48
  286. package/dist/gpu-grid-layer/gpu-grid-cell-layer.d.ts.map +0 -1
  287. package/dist/gpu-grid-layer/gpu-grid-cell-layer.js +0 -146
  288. package/dist/gpu-grid-layer/gpu-grid-layer.d.ts +0 -99
  289. package/dist/gpu-grid-layer/gpu-grid-layer.d.ts.map +0 -1
  290. package/dist/gpu-grid-layer/gpu-grid-layer.js +0 -289
  291. package/dist/grid-aggregation-layer.d.ts +0 -67
  292. package/dist/grid-aggregation-layer.d.ts.map +0 -1
  293. package/dist/grid-aggregation-layer.js +0 -173
  294. package/dist/hexagon-layer/hexagon-aggregator.d.ts +0 -27
  295. package/dist/hexagon-layer/hexagon-aggregator.d.ts.map +0 -1
  296. package/dist/hexagon-layer/hexagon-aggregator.js +0 -112
  297. package/dist/types.d.ts +0 -12
  298. package/dist/types.d.ts.map +0 -1
  299. package/dist/types.js +0 -1
  300. package/dist/utils/aggregation-operation-utils.d.ts +0 -19
  301. package/dist/utils/aggregation-operation-utils.d.ts.map +0 -1
  302. package/dist/utils/aggregation-operation-utils.js +0 -94
  303. package/dist/utils/bin-sorter.d.ts +0 -52
  304. package/dist/utils/bin-sorter.d.ts.map +0 -1
  305. package/dist/utils/bin-sorter.js +0 -167
  306. package/dist/utils/color-utils.d.ts +0 -3
  307. package/dist/utils/color-utils.d.ts.map +0 -1
  308. package/dist/utils/color-utils.js +0 -53
  309. package/dist/utils/cpu-aggregator.d.ts +0 -169
  310. package/dist/utils/cpu-aggregator.d.ts.map +0 -1
  311. package/dist/utils/cpu-aggregator.js +0 -421
  312. package/dist/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.d.ts +0 -3
  313. package/dist/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.d.ts.map +0 -1
  314. package/dist/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js +0 -36
  315. package/dist/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.d.ts +0 -3
  316. package/dist/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.d.ts.map +0 -1
  317. package/dist/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js +0 -42
  318. package/dist/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.d.ts +0 -3
  319. package/dist/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.d.ts.map +0 -1
  320. package/dist/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js +0 -30
  321. package/dist/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.d.ts +0 -3
  322. package/dist/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.d.ts.map +0 -1
  323. package/dist/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js +0 -61
  324. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.d.ts +0 -38
  325. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.d.ts.map +0 -1
  326. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js +0 -41
  327. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.d.ts +0 -1
  328. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.d.ts.map +0 -1
  329. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js +0 -1
  330. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator.d.ts +0 -76
  331. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator.d.ts.map +0 -1
  332. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator.js +0 -555
  333. package/dist/utils/gpu-grid-aggregation/transform-mean-vs.glsl.d.ts +0 -3
  334. package/dist/utils/gpu-grid-aggregation/transform-mean-vs.glsl.d.ts.map +0 -1
  335. package/dist/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js +0 -32
  336. package/dist/utils/grid-aggregation-utils.d.ts +0 -30
  337. package/dist/utils/grid-aggregation-utils.d.ts.map +0 -1
  338. package/dist/utils/grid-aggregation-utils.js +0 -114
  339. package/dist/utils/prop-utils.d.ts.map +0 -1
  340. package/dist/utils/prop-utils.js +0 -28
  341. package/dist/utils/resource-utils.d.ts +0 -14
  342. package/dist/utils/resource-utils.d.ts.map +0 -1
  343. package/dist/utils/resource-utils.js +0 -38
  344. package/dist/utils/scale-utils.d.ts +0 -15
  345. package/dist/utils/scale-utils.d.ts.map +0 -1
  346. package/dist/utils/scale-utils.js +0 -184
  347. package/src/cpu-grid-layer/cpu-grid-layer.ts +0 -329
  348. package/src/cpu-grid-layer/grid-aggregator.ts +0 -184
  349. package/src/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.ts +0 -35
  350. package/src/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.ts +0 -143
  351. package/src/gpu-grid-layer/gpu-grid-cell-layer.ts +0 -201
  352. package/src/gpu-grid-layer/gpu-grid-layer.ts +0 -455
  353. package/src/grid-aggregation-layer.ts +0 -243
  354. package/src/hexagon-layer/hexagon-aggregator.ts +0 -127
  355. package/src/utils/aggregation-operation-utils.ts +0 -118
  356. package/src/utils/bin-sorter.ts +0 -218
  357. package/src/utils/color-utils.ts +0 -57
  358. package/src/utils/cpu-aggregator.ts +0 -503
  359. package/src/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.ts +0 -40
  360. package/src/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.ts +0 -54
  361. package/src/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.ts +0 -35
  362. package/src/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.ts +0 -79
  363. package/src/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.ts +0 -46
  364. package/src/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.ts +0 -0
  365. package/src/utils/gpu-grid-aggregation/gpu-grid-aggregator.md +0 -155
  366. package/src/utils/gpu-grid-aggregation/gpu-grid-aggregator.ts +0 -690
  367. package/src/utils/gpu-grid-aggregation/transform-mean-vs.glsl.ts +0 -38
  368. package/src/utils/grid-aggregation-utils.ts +0 -147
  369. package/src/utils/prop-utils.ts +0 -29
  370. package/src/utils/resource-utils.ts +0 -53
  371. package/src/utils/scale-utils.js +0 -219
  372. /package/dist/{utils → common/utils}/prop-utils.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"marching-squares-codes.d.ts","sourceRoot":"","sources":["../../src/contour-layer/marching-squares-codes.ts"],"names":[],"mappings":"AAsJA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;CAyCpC,CAAC;AAMF,eAAO,MAAM,wBAAwB;;;;;;CAqKpC,CAAC"}
1
+ {"version":3,"file":"marching-squares-codes.d.ts","sourceRoot":"","sources":["../../src/contour-layer/marching-squares-codes.ts"],"names":[],"mappings":"AA0JA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;CAyCpC,CAAC;AAMF,eAAO,MAAM,wBAAwB;;;;;;CAqKpC,CAAC"}
@@ -1,3 +1,6 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  // Code to Offsets Map needed to implement Marching Squares algorithm
2
5
  // Ref: https://en.wikipedia.org/wiki/Marching_squares
3
6
  // Table to map code to the intersection offsets
@@ -335,3 +338,4 @@ export const ISOBANDS_CODE_OFFSET_MAP = {
335
338
  2: [NW_TRAPEZOID, SE_TRAPEZOID]
336
339
  }
337
340
  };
341
+ //# sourceMappingURL=marching-squares-codes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marching-squares-codes.js","sourceRoot":"","sources":["../../src/contour-layer/marching-squares-codes.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,26 @@
1
- export declare const CONTOUR_TYPE: {
2
- ISO_LINES: number;
3
- ISO_BANDS: number;
4
- };
5
- export declare function getCode(opts: any): {
1
+ export declare function getCode(opts: {
2
+ getValue: (x: number, y: number) => number;
3
+ threshold: number | number[];
4
+ x: number;
5
+ xRange: [number, number];
6
+ y: number;
7
+ yRange: [number, number];
8
+ }): {
6
9
  code: number;
7
10
  meanCode: number;
8
11
  };
9
- export declare function getVertices(opts: any): number[][] | number[][][];
12
+ export declare function getPolygons(opts: {
13
+ x: number;
14
+ y: number;
15
+ z: number;
16
+ code: number;
17
+ meanCode: number;
18
+ }): number[][][];
19
+ export declare function getLines(opts: {
20
+ x: number;
21
+ y: number;
22
+ z: number;
23
+ code: number;
24
+ meanCode: number;
25
+ }): number[][];
10
26
  //# sourceMappingURL=marching-squares.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"marching-squares.d.ts","sourceRoot":"","sources":["../../src/contour-layer/marching-squares.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY;;;CAGxB,CAAC;AAyBF,wBAAgB,OAAO,CAAC,IAAI,KAAA;;;EAyE3B;AAKD,wBAAgB,WAAW,CAAC,IAAI,KAAA,6BA4D/B"}
1
+ {"version":3,"file":"marching-squares.d.ts","sourceRoot":"","sources":["../../src/contour-layer/marching-squares.ts"],"names":[],"mappings":"AA6BA,wBAAgB,OAAO,CAAC,IAAI,EAAE;IAC5B,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1B,GAAG;IACF,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAuEA;AAKD,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,gBAgCA;AAID,wBAAgB,QAAQ,CAAC,IAAI,EAAE;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,cA0B/F"}
@@ -1,18 +1,15 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  // All utility methods needed to implement Marching Squares algorithm
2
5
  // Ref: https://en.wikipedia.org/wiki/Marching_squares
3
- import { log } from '@deck.gl/core';
4
6
  import { ISOLINES_CODE_OFFSET_MAP, ISOBANDS_CODE_OFFSET_MAP } from "./marching-squares-codes.js";
5
- export const CONTOUR_TYPE = {
6
- ISO_LINES: 1,
7
- ISO_BANDS: 2
8
- };
9
- const DEFAULT_THRESHOLD_DATA = {
10
- zIndex: 0,
11
- zOffset: 0.005
12
- };
13
7
  // Utility methods
14
8
  function getVertexCode(weight, threshold) {
15
9
  // threshold must be a single value or a range (array of size 2)
10
+ if (Number.isNaN(weight)) {
11
+ return 0;
12
+ }
16
13
  // Iso-bands
17
14
  if (Array.isArray(threshold)) {
18
15
  if (weight < threshold[0]) {
@@ -30,52 +27,53 @@ export function getCode(opts) {
30
27
  // Origin is on bottom-left , and X increase to right, Y to top
31
28
  // When processing one cell, we process 4 cells, by extending row to top and on column to right
32
29
  // to create a 2X2 cell grid
33
- const { cellWeights, x, y, width, height } = opts;
34
- let threshold = opts.threshold;
35
- if (opts.thresholdValue) {
36
- log.deprecated('thresholdValue', 'threshold')();
37
- threshold = opts.thresholdValue;
38
- }
39
- const isLeftBoundary = x < 0;
40
- const isRightBoundary = x >= width - 1;
41
- const isBottomBoundary = y < 0;
42
- const isTopBoundary = y >= height - 1;
30
+ const { x, y, xRange, yRange, getValue, threshold } = opts;
31
+ const isLeftBoundary = x < xRange[0];
32
+ const isRightBoundary = x >= xRange[1] - 1;
33
+ const isBottomBoundary = y < yRange[0];
34
+ const isTopBoundary = y >= yRange[1] - 1;
43
35
  const isBoundary = isLeftBoundary || isRightBoundary || isBottomBoundary || isTopBoundary;
44
- const weights = {};
45
- const codes = {};
36
+ let weights = 0;
37
+ let current;
38
+ let right;
39
+ let top;
40
+ let topRight;
46
41
  // TOP
47
42
  if (isLeftBoundary || isTopBoundary) {
48
- codes.top = 0;
43
+ top = 0;
49
44
  }
50
45
  else {
51
- weights.top = cellWeights[(y + 1) * width + x];
52
- codes.top = getVertexCode(weights.top, threshold);
46
+ const w = getValue(x, y + 1);
47
+ top = getVertexCode(w, threshold);
48
+ weights += w;
53
49
  }
54
50
  // TOP-RIGHT
55
51
  if (isRightBoundary || isTopBoundary) {
56
- codes.topRight = 0;
52
+ topRight = 0;
57
53
  }
58
54
  else {
59
- weights.topRight = cellWeights[(y + 1) * width + x + 1];
60
- codes.topRight = getVertexCode(weights.topRight, threshold);
55
+ const w = getValue(x + 1, y + 1);
56
+ topRight = getVertexCode(w, threshold);
57
+ weights += w;
61
58
  }
62
59
  // RIGHT
63
60
  if (isRightBoundary || isBottomBoundary) {
64
- codes.right = 0;
61
+ right = 0;
65
62
  }
66
63
  else {
67
- weights.right = cellWeights[y * width + x + 1];
68
- codes.right = getVertexCode(weights.right, threshold);
64
+ const w = getValue(x + 1, y);
65
+ right = getVertexCode(w, threshold);
66
+ weights += w;
69
67
  }
70
68
  // CURRENT
71
69
  if (isLeftBoundary || isBottomBoundary) {
72
- codes.current = 0;
70
+ current = 0;
73
71
  }
74
72
  else {
75
- weights.current = cellWeights[y * width + x];
76
- codes.current = getVertexCode(weights.current, threshold);
73
+ const w = getValue(x, y);
74
+ current = getVertexCode(w, threshold);
75
+ weights += w;
77
76
  }
78
- const { top, topRight, right, current } = codes;
79
77
  let code = -1;
80
78
  if (Number.isFinite(threshold)) {
81
79
  code = (top << 3) | (topRight << 2) | (right << 1) | current;
@@ -88,60 +86,66 @@ export function getCode(opts) {
88
86
  // only occur when we are not processing a cell on boundary
89
87
  // because when on a boundary either, bottom-row, top-row, left-column or right-column will have both 0 codes
90
88
  if (!isBoundary) {
91
- meanCode = getVertexCode((weights.top + weights.topRight + weights.right + weights.current) / 4, threshold);
89
+ meanCode = getVertexCode(weights / 4, threshold);
92
90
  }
93
91
  return { code, meanCode };
94
92
  }
95
93
  /* eslint-enable complexity, max-statements*/
96
94
  // Returns intersection vertices for given cellindex
97
95
  // [x, y] refers current marching cell, reference vertex is always top-right corner
98
- export function getVertices(opts) {
99
- const { gridOrigin, cellSize, x, y, code, meanCode, type = CONTOUR_TYPE.ISO_LINES } = opts;
100
- const thresholdData = { ...DEFAULT_THRESHOLD_DATA, ...opts.thresholdData };
101
- let offsets = type === CONTOUR_TYPE.ISO_BANDS
102
- ? ISOBANDS_CODE_OFFSET_MAP[code]
103
- : ISOLINES_CODE_OFFSET_MAP[code];
96
+ export function getPolygons(opts) {
97
+ const { x, y, z, code, meanCode } = opts;
98
+ let offsets = ISOBANDS_CODE_OFFSET_MAP[code];
104
99
  // handle saddle cases
105
100
  if (!Array.isArray(offsets)) {
106
101
  offsets = offsets[meanCode];
107
102
  }
108
103
  // Reference vertex is at top-right move to top-right corner
109
- const vZ = thresholdData.zIndex * thresholdData.zOffset;
110
- const rX = (x + 1) * cellSize[0];
111
- const rY = (y + 1) * cellSize[1];
112
- const refVertexX = gridOrigin[0] + rX;
113
- const refVertexY = gridOrigin[1] + rY;
104
+ const rX = x + 1;
105
+ const rY = y + 1;
114
106
  // offsets format
115
- // ISO_LINES: [[1A, 1B], [2A, 2B]],
116
- // ISO_BANDS: [[1A, 1B, 1C, ...], [2A, 2B, 2C, ...]],
107
+ // [[1A, 1B, 1C, ...], [2A, 2B, 2C, ...]],
117
108
  // vertices format
118
- // ISO_LINES: [[x1A, y1A], [x1B, y1B], [x2A, x2B], ...],
119
- // ISO_BANDS: => confirms to SolidPolygonLayer's simple polygon format
120
- // [
121
- // [[x1A, y1A], [x1B, y1B], [x1C, y1C] ... ],
109
+ // [
110
+ // [[x1A, y1A], [x1B, y1B], [x1C, y1C] ... ],
122
111
  // ...
123
- // ]
124
- if (type === CONTOUR_TYPE.ISO_BANDS) {
125
- const polygons = [];
126
- offsets.forEach(polygonOffsets => {
127
- const polygon = [];
128
- polygonOffsets.forEach(xyOffset => {
129
- const vX = refVertexX + xyOffset[0] * cellSize[0];
130
- const vY = refVertexY + xyOffset[1] * cellSize[1];
131
- polygon.push([vX, vY, vZ]);
132
- });
133
- polygons.push(polygon);
112
+ // ]
113
+ const polygons = [];
114
+ offsets.forEach(polygonOffsets => {
115
+ const polygon = [];
116
+ polygonOffsets.forEach(xyOffset => {
117
+ const vX = rX + xyOffset[0];
118
+ const vY = rY + xyOffset[1];
119
+ polygon.push([vX, vY, z]);
134
120
  });
135
- return polygons;
121
+ polygons.push(polygon);
122
+ });
123
+ return polygons;
124
+ }
125
+ // Returns intersection vertices for given cellindex
126
+ // [x, y] refers current marching cell, reference vertex is always top-right corner
127
+ export function getLines(opts) {
128
+ const { x, y, z, code, meanCode } = opts;
129
+ let offsets = ISOLINES_CODE_OFFSET_MAP[code];
130
+ // handle saddle cases
131
+ if (!Array.isArray(offsets)) {
132
+ offsets = offsets[meanCode];
136
133
  }
137
- // default case is ISO_LINES
134
+ // Reference vertex is at top-right move to top-right corner
135
+ const rX = x + 1;
136
+ const rY = y + 1;
137
+ // offsets format
138
+ // [[1A, 1B], [2A, 2B]],
139
+ // vertices format
140
+ // [[x1A, y1A], [x1B, y1B], [x2A, x2B], ...],
138
141
  const lines = [];
139
142
  offsets.forEach(xyOffsets => {
140
143
  xyOffsets.forEach(offset => {
141
- const vX = refVertexX + offset[0] * cellSize[0];
142
- const vY = refVertexY + offset[1] * cellSize[1];
143
- lines.push([vX, vY, vZ]);
144
+ const vX = rX + offset[0];
145
+ const vY = rY + offset[1];
146
+ lines.push([vX, vY, z]);
144
147
  });
145
148
  });
146
149
  return lines;
147
150
  }
151
+ //# sourceMappingURL=marching-squares.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marching-squares.js","sourceRoot":"","sources":["../../src/contour-layer/marching-squares.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Aggregator } from "../common/aggregator/index.js";
2
+ type ValueReader = (x: number, y: number) => number;
3
+ /** Returns an accessor to the aggregated values from bin id */
4
+ export declare function getAggregatorValueReader(opts: {
5
+ aggregator: Aggregator;
6
+ binIdRange: [number, number][];
7
+ channel: 0 | 1 | 2;
8
+ }): ValueReader | null;
9
+ export {};
10
+ //# sourceMappingURL=value-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-reader.d.ts","sourceRoot":"","sources":["../../src/contour-layer/value-reader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAiC,sCAAmC;AAGtF,KAAK,WAAW,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;AAEpD,+DAA+D;AAC/D,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC/B,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACpB,GAAG,WAAW,GAAG,IAAI,CAkBrB"}
@@ -0,0 +1,47 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { CPUAggregator, WebGLAggregator } from "../common/aggregator/index.js";
5
+ /** Returns an accessor to the aggregated values from bin id */
6
+ export function getAggregatorValueReader(opts) {
7
+ const { aggregator, binIdRange, channel } = opts;
8
+ if (aggregator instanceof WebGLAggregator) {
9
+ const buffer = aggregator.getResult(channel)?.buffer;
10
+ if (buffer) {
11
+ const values = new Float32Array(buffer.readSyncWebGL().buffer);
12
+ return getWebGLAggregatorValueReader(values, binIdRange);
13
+ }
14
+ }
15
+ if (aggregator instanceof CPUAggregator) {
16
+ const values = aggregator.getResult(channel)?.value;
17
+ const ids = aggregator.getBins()?.value;
18
+ if (ids && values) {
19
+ return getCPUAggregatorValueReader(values, ids, aggregator.binCount);
20
+ }
21
+ }
22
+ return null;
23
+ }
24
+ function getWebGLAggregatorValueReader(values, binIdRange) {
25
+ const [[minX, maxX], [minY, maxY]] = binIdRange;
26
+ const width = maxX - minX;
27
+ const height = maxY - minY;
28
+ return (x, y) => {
29
+ x -= minX;
30
+ y -= minY;
31
+ if (x < 0 || x >= width || y < 0 || y >= height) {
32
+ return NaN;
33
+ }
34
+ return values[y * width + x];
35
+ };
36
+ }
37
+ function getCPUAggregatorValueReader(values, ids, count) {
38
+ const idMap = {};
39
+ for (let i = 0; i < count; i++) {
40
+ const x = ids[i * 2];
41
+ const y = ids[i * 2 + 1];
42
+ idMap[x] = idMap[x] || {};
43
+ idMap[x][y] = values[i];
44
+ }
45
+ return (x, y) => idMap[x]?.[y] ?? NaN;
46
+ }
47
+ //# sourceMappingURL=value-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-reader.js","sourceRoot":"","sources":["../../src/contour-layer/value-reader.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAa,aAAa,EAAE,eAAe,EAAC,sCAAmC;AAKtF,+DAA+D;AAC/D,MAAM,UAAU,wBAAwB,CAAC,IAIxC;IACC,MAAM,EAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC;IAE/C,IAAI,UAAU,YAAY,eAAe,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QACrD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC;YAC/D,OAAO,6BAA6B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,IAAI,UAAU,YAAY,aAAa,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;QACpD,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;QACxC,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;YAClB,OAAO,2BAA2B,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,6BAA6B,CACpC,MAAoB,EACpB,UAA8B;IAE9B,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QAC9B,CAAC,IAAI,IAAI,CAAC;QACV,CAAC,IAAI,IAAI,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YAChD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,MAAkB,EAClB,GAAe,EACf,KAAa;IAEb,MAAM,KAAK,GAA2C,EAAE,CAAC;IACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;AACxD,CAAC"}