@deck.gl/aggregation-layers 9.0.0-beta.1 → 9.0.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 (336) hide show
  1. package/dist/aggregation-layer.js +153 -0
  2. package/dist/contour-layer/contour-layer.js +241 -0
  3. package/dist/contour-layer/contour-utils.js +64 -0
  4. package/dist/contour-layer/marching-squares-codes.js +337 -0
  5. package/dist/contour-layer/marching-squares.js +147 -0
  6. package/dist/cpu-grid-layer/cpu-grid-layer.js +130 -0
  7. package/dist/cpu-grid-layer/grid-aggregator.js +141 -0
  8. package/dist/dist.dev.js +1187 -10528
  9. package/dist/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js +34 -0
  10. package/dist/{esm/gpu-grid-layer → gpu-grid-layer}/gpu-grid-cell-layer-vertex.glsl.js +20 -1
  11. package/dist/gpu-grid-layer/gpu-grid-cell-layer.js +145 -0
  12. package/dist/gpu-grid-layer/gpu-grid-layer.js +288 -0
  13. package/dist/grid-aggregation-layer.js +172 -0
  14. package/dist/grid-layer/grid-layer.js +63 -0
  15. package/{typed → dist}/heatmap-layer/heatmap-layer-utils.d.ts +0 -9
  16. package/dist/heatmap-layer/heatmap-layer-utils.d.ts.map +1 -0
  17. package/dist/heatmap-layer/heatmap-layer-utils.js +63 -0
  18. package/{typed → dist}/heatmap-layer/heatmap-layer.d.ts +4 -4
  19. package/dist/heatmap-layer/heatmap-layer.d.ts.map +1 -0
  20. package/dist/heatmap-layer/heatmap-layer.js +471 -0
  21. package/dist/{esm/heatmap-layer → heatmap-layer}/max-fs.glsl.js +0 -1
  22. package/dist/heatmap-layer/max-vs.glsl.d.ts +3 -0
  23. package/{typed → dist}/heatmap-layer/max-vs.glsl.d.ts.map +1 -1
  24. package/dist/heatmap-layer/max-vs.glsl.js +19 -0
  25. package/dist/heatmap-layer/triangle-layer-fragment.glsl.d.ts +3 -0
  26. package/dist/heatmap-layer/triangle-layer-fragment.glsl.js +61 -0
  27. package/dist/heatmap-layer/triangle-layer-vertex.glsl.js +52 -0
  28. package/{typed → dist}/heatmap-layer/triangle-layer.d.ts +10 -2
  29. package/dist/heatmap-layer/triangle-layer.d.ts.map +1 -0
  30. package/dist/heatmap-layer/triangle-layer.js +59 -0
  31. package/dist/{esm/heatmap-layer → heatmap-layer}/weights-fs.glsl.js +0 -1
  32. package/dist/heatmap-layer/weights-vs.glsl.d.ts +3 -0
  33. package/{typed → dist}/heatmap-layer/weights-vs.glsl.d.ts.map +1 -1
  34. package/dist/{esm/heatmap-layer → heatmap-layer}/weights-vs.glsl.js +4 -3
  35. package/dist/hexagon-layer/hexagon-aggregator.js +112 -0
  36. package/dist/hexagon-layer/hexagon-layer.js +174 -0
  37. package/dist/index.cjs +4494 -0
  38. package/dist/index.cjs.map +7 -0
  39. package/dist/index.js +32 -0
  40. package/dist/screen-grid-layer/screen-grid-cell-layer.js +166 -0
  41. package/dist/screen-grid-layer/screen-grid-layer-fragment.glsl.js +40 -0
  42. package/dist/{esm/screen-grid-layer → screen-grid-layer}/screen-grid-layer-vertex.glsl.js +19 -1
  43. package/dist/screen-grid-layer/screen-grid-layer.js +216 -0
  44. package/dist/types.js +1 -0
  45. package/dist/utils/aggregation-operation-utils.js +94 -0
  46. package/dist/utils/bin-sorter.js +167 -0
  47. package/dist/utils/color-utils.js +53 -0
  48. package/dist/utils/cpu-aggregator.js +421 -0
  49. package/dist/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js +39 -0
  50. package/dist/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js +53 -0
  51. package/dist/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js +34 -0
  52. package/dist/{esm/utils → utils}/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js +19 -1
  53. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js +41 -0
  54. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js +1 -0
  55. package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator.d.ts.map +1 -1
  56. package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator.js +566 -0
  57. package/dist/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js +37 -0
  58. package/dist/utils/grid-aggregation-utils.js +114 -0
  59. package/dist/utils/prop-utils.js +28 -0
  60. package/dist/utils/resource-utils.js +38 -0
  61. package/dist/utils/scale-utils.js +184 -0
  62. package/dist.min.js +74 -178
  63. package/package.json +18 -11
  64. package/src/heatmap-layer/heatmap-layer-utils.ts +0 -23
  65. package/src/heatmap-layer/heatmap-layer.ts +87 -105
  66. package/src/heatmap-layer/max-vs.glsl.ts +11 -5
  67. package/src/heatmap-layer/triangle-layer-fragment.glsl.ts +2 -2
  68. package/src/heatmap-layer/triangle-layer.ts +17 -23
  69. package/src/heatmap-layer/weights-vs.glsl.ts +4 -2
  70. package/src/utils/gpu-grid-aggregation/gpu-grid-aggregator.ts +10 -13
  71. package/dist/es5/aggregation-layer.js +0 -215
  72. package/dist/es5/aggregation-layer.js.map +0 -1
  73. package/dist/es5/contour-layer/contour-layer.js +0 -353
  74. package/dist/es5/contour-layer/contour-layer.js.map +0 -1
  75. package/dist/es5/contour-layer/contour-utils.js +0 -110
  76. package/dist/es5/contour-layer/contour-utils.js.map +0 -1
  77. package/dist/es5/contour-layer/marching-squares-codes.js +0 -152
  78. package/dist/es5/contour-layer/marching-squares-codes.js.map +0 -1
  79. package/dist/es5/contour-layer/marching-squares.js +0 -168
  80. package/dist/es5/contour-layer/marching-squares.js.map +0 -1
  81. package/dist/es5/cpu-grid-layer/cpu-grid-layer.js +0 -235
  82. package/dist/es5/cpu-grid-layer/cpu-grid-layer.js.map +0 -1
  83. package/dist/es5/cpu-grid-layer/grid-aggregator.js +0 -180
  84. package/dist/es5/cpu-grid-layer/grid-aggregator.js.map +0 -1
  85. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js +0 -9
  86. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js.map +0 -1
  87. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.js +0 -9
  88. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.js.map +0 -1
  89. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer.js +0 -247
  90. package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer.js.map +0 -1
  91. package/dist/es5/gpu-grid-layer/gpu-grid-layer.js +0 -424
  92. package/dist/es5/gpu-grid-layer/gpu-grid-layer.js.map +0 -1
  93. package/dist/es5/grid-aggregation-layer.js +0 -280
  94. package/dist/es5/grid-aggregation-layer.js.map +0 -1
  95. package/dist/es5/grid-layer/grid-layer.js +0 -125
  96. package/dist/es5/grid-layer/grid-layer.js.map +0 -1
  97. package/dist/es5/heatmap-layer/heatmap-layer-utils.js +0 -122
  98. package/dist/es5/heatmap-layer/heatmap-layer-utils.js.map +0 -1
  99. package/dist/es5/heatmap-layer/heatmap-layer.js +0 -672
  100. package/dist/es5/heatmap-layer/heatmap-layer.js.map +0 -1
  101. package/dist/es5/heatmap-layer/max-fs.glsl.js +0 -9
  102. package/dist/es5/heatmap-layer/max-fs.glsl.js.map +0 -1
  103. package/dist/es5/heatmap-layer/max-vs.glsl.js +0 -9
  104. package/dist/es5/heatmap-layer/max-vs.glsl.js.map +0 -1
  105. package/dist/es5/heatmap-layer/triangle-layer-fragment.glsl.js +0 -9
  106. package/dist/es5/heatmap-layer/triangle-layer-fragment.glsl.js.map +0 -1
  107. package/dist/es5/heatmap-layer/triangle-layer-vertex.glsl.js +0 -9
  108. package/dist/es5/heatmap-layer/triangle-layer-vertex.glsl.js.map +0 -1
  109. package/dist/es5/heatmap-layer/triangle-layer.js +0 -122
  110. package/dist/es5/heatmap-layer/triangle-layer.js.map +0 -1
  111. package/dist/es5/heatmap-layer/weights-fs.glsl.js +0 -9
  112. package/dist/es5/heatmap-layer/weights-fs.glsl.js.map +0 -1
  113. package/dist/es5/heatmap-layer/weights-vs.glsl.js +0 -9
  114. package/dist/es5/heatmap-layer/weights-vs.glsl.js.map +0 -1
  115. package/dist/es5/hexagon-layer/hexagon-aggregator.js +0 -118
  116. package/dist/es5/hexagon-layer/hexagon-aggregator.js.map +0 -1
  117. package/dist/es5/hexagon-layer/hexagon-layer.js +0 -289
  118. package/dist/es5/hexagon-layer/hexagon-layer.js.map +0 -1
  119. package/dist/es5/index.js +0 -104
  120. package/dist/es5/index.js.map +0 -1
  121. package/dist/es5/screen-grid-layer/screen-grid-cell-layer.js +0 -244
  122. package/dist/es5/screen-grid-layer/screen-grid-cell-layer.js.map +0 -1
  123. package/dist/es5/screen-grid-layer/screen-grid-layer-fragment.glsl.js +0 -9
  124. package/dist/es5/screen-grid-layer/screen-grid-layer-fragment.glsl.js.map +0 -1
  125. package/dist/es5/screen-grid-layer/screen-grid-layer-vertex.glsl.js +0 -9
  126. package/dist/es5/screen-grid-layer/screen-grid-layer-vertex.glsl.js.map +0 -1
  127. package/dist/es5/screen-grid-layer/screen-grid-layer.js +0 -317
  128. package/dist/es5/screen-grid-layer/screen-grid-layer.js.map +0 -1
  129. package/dist/es5/types.js +0 -2
  130. package/dist/es5/types.js.map +0 -1
  131. package/dist/es5/utils/aggregation-operation-utils.js +0 -123
  132. package/dist/es5/utils/aggregation-operation-utils.js.map +0 -1
  133. package/dist/es5/utils/bin-sorter.js +0 -248
  134. package/dist/es5/utils/bin-sorter.js.map +0 -1
  135. package/dist/es5/utils/color-utils.js +0 -39
  136. package/dist/es5/utils/color-utils.js.map +0 -1
  137. package/dist/es5/utils/cpu-aggregator.js +0 -496
  138. package/dist/es5/utils/cpu-aggregator.js.map +0 -1
  139. package/dist/es5/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js +0 -9
  140. package/dist/es5/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js.map +0 -1
  141. package/dist/es5/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js +0 -9
  142. package/dist/es5/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js.map +0 -1
  143. package/dist/es5/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js +0 -9
  144. package/dist/es5/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js.map +0 -1
  145. package/dist/es5/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js +0 -9
  146. package/dist/es5/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js.map +0 -1
  147. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js +0 -63
  148. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js.map +0 -1
  149. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js +0 -2
  150. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js.map +0 -1
  151. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator.js +0 -732
  152. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator.js.map +0 -1
  153. package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator.md +0 -155
  154. package/dist/es5/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js +0 -9
  155. package/dist/es5/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js.map +0 -1
  156. package/dist/es5/utils/grid-aggregation-utils.js +0 -118
  157. package/dist/es5/utils/grid-aggregation-utils.js.map +0 -1
  158. package/dist/es5/utils/prop-utils.js +0 -19
  159. package/dist/es5/utils/prop-utils.js.map +0 -1
  160. package/dist/es5/utils/resource-utils.js +0 -59
  161. package/dist/es5/utils/resource-utils.js.map +0 -1
  162. package/dist/es5/utils/scale-utils.js +0 -254
  163. package/dist/es5/utils/scale-utils.js.map +0 -1
  164. package/dist/esm/aggregation-layer.js +0 -156
  165. package/dist/esm/aggregation-layer.js.map +0 -1
  166. package/dist/esm/contour-layer/contour-layer.js +0 -316
  167. package/dist/esm/contour-layer/contour-layer.js.map +0 -1
  168. package/dist/esm/contour-layer/contour-utils.js +0 -81
  169. package/dist/esm/contour-layer/contour-utils.js.map +0 -1
  170. package/dist/esm/contour-layer/marching-squares-codes.js +0 -219
  171. package/dist/esm/contour-layer/marching-squares-codes.js.map +0 -1
  172. package/dist/esm/contour-layer/marching-squares.js +0 -151
  173. package/dist/esm/contour-layer/marching-squares.js.map +0 -1
  174. package/dist/esm/cpu-grid-layer/cpu-grid-layer.js +0 -186
  175. package/dist/esm/cpu-grid-layer/cpu-grid-layer.js.map +0 -1
  176. package/dist/esm/cpu-grid-layer/grid-aggregator.js +0 -142
  177. package/dist/esm/cpu-grid-layer/grid-aggregator.js.map +0 -1
  178. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js +0 -16
  179. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js.map +0 -1
  180. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.js.map +0 -1
  181. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer.js +0 -196
  182. package/dist/esm/gpu-grid-layer/gpu-grid-cell-layer.js.map +0 -1
  183. package/dist/esm/gpu-grid-layer/gpu-grid-layer.js +0 -399
  184. package/dist/esm/gpu-grid-layer/gpu-grid-layer.js.map +0 -1
  185. package/dist/esm/grid-aggregation-layer.js +0 -240
  186. package/dist/esm/grid-aggregation-layer.js.map +0 -1
  187. package/dist/esm/grid-layer/grid-layer.js +0 -80
  188. package/dist/esm/grid-layer/grid-layer.js.map +0 -1
  189. package/dist/esm/heatmap-layer/heatmap-layer-utils.js +0 -68
  190. package/dist/esm/heatmap-layer/heatmap-layer-utils.js.map +0 -1
  191. package/dist/esm/heatmap-layer/heatmap-layer.js +0 -626
  192. package/dist/esm/heatmap-layer/heatmap-layer.js.map +0 -1
  193. package/dist/esm/heatmap-layer/max-fs.glsl.js.map +0 -1
  194. package/dist/esm/heatmap-layer/max-vs.glsl.js +0 -14
  195. package/dist/esm/heatmap-layer/max-vs.glsl.js.map +0 -1
  196. package/dist/esm/heatmap-layer/triangle-layer-fragment.glsl.js +0 -43
  197. package/dist/esm/heatmap-layer/triangle-layer-fragment.glsl.js.map +0 -1
  198. package/dist/esm/heatmap-layer/triangle-layer-vertex.glsl.js +0 -33
  199. package/dist/esm/heatmap-layer/triangle-layer-vertex.glsl.js.map +0 -1
  200. package/dist/esm/heatmap-layer/triangle-layer.js +0 -80
  201. package/dist/esm/heatmap-layer/triangle-layer.js.map +0 -1
  202. package/dist/esm/heatmap-layer/weights-fs.glsl.js.map +0 -1
  203. package/dist/esm/heatmap-layer/weights-vs.glsl.js.map +0 -1
  204. package/dist/esm/hexagon-layer/hexagon-aggregator.js +0 -87
  205. package/dist/esm/hexagon-layer/hexagon-aggregator.js.map +0 -1
  206. package/dist/esm/hexagon-layer/hexagon-layer.js +0 -232
  207. package/dist/esm/hexagon-layer/hexagon-layer.js.map +0 -1
  208. package/dist/esm/index.js +0 -13
  209. package/dist/esm/index.js.map +0 -1
  210. package/dist/esm/screen-grid-layer/screen-grid-cell-layer.js +0 -203
  211. package/dist/esm/screen-grid-layer/screen-grid-cell-layer.js.map +0 -1
  212. package/dist/esm/screen-grid-layer/screen-grid-layer-fragment.glsl.js +0 -21
  213. package/dist/esm/screen-grid-layer/screen-grid-layer-fragment.glsl.js.map +0 -1
  214. package/dist/esm/screen-grid-layer/screen-grid-layer-vertex.glsl.js.map +0 -1
  215. package/dist/esm/screen-grid-layer/screen-grid-layer.js +0 -285
  216. package/dist/esm/screen-grid-layer/screen-grid-layer.js.map +0 -1
  217. package/dist/esm/types.js +0 -2
  218. package/dist/esm/types.js.map +0 -1
  219. package/dist/esm/utils/aggregation-operation-utils.js +0 -91
  220. package/dist/esm/utils/aggregation-operation-utils.js.map +0 -1
  221. package/dist/esm/utils/bin-sorter.js +0 -165
  222. package/dist/esm/utils/bin-sorter.js.map +0 -1
  223. package/dist/esm/utils/color-utils.js +0 -28
  224. package/dist/esm/utils/color-utils.js.map +0 -1
  225. package/dist/esm/utils/cpu-aggregator.js +0 -487
  226. package/dist/esm/utils/cpu-aggregator.js.map +0 -1
  227. package/dist/esm/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js +0 -21
  228. package/dist/esm/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js.map +0 -1
  229. package/dist/esm/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js +0 -35
  230. package/dist/esm/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js.map +0 -1
  231. package/dist/esm/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js +0 -16
  232. package/dist/esm/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js.map +0 -1
  233. package/dist/esm/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js.map +0 -1
  234. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js +0 -42
  235. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js.map +0 -1
  236. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js +0 -2
  237. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.js.map +0 -1
  238. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator.js +0 -720
  239. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator.js.map +0 -1
  240. package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator.md +0 -155
  241. package/dist/esm/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js +0 -19
  242. package/dist/esm/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js.map +0 -1
  243. package/dist/esm/utils/grid-aggregation-utils.js +0 -109
  244. package/dist/esm/utils/grid-aggregation-utils.js.map +0 -1
  245. package/dist/esm/utils/prop-utils.js +0 -12
  246. package/dist/esm/utils/prop-utils.js.map +0 -1
  247. package/dist/esm/utils/resource-utils.js +0 -44
  248. package/dist/esm/utils/resource-utils.js.map +0 -1
  249. package/dist/esm/utils/scale-utils.js +0 -192
  250. package/dist/esm/utils/scale-utils.js.map +0 -1
  251. package/typed/heatmap-layer/heatmap-layer-utils.d.ts.map +0 -1
  252. package/typed/heatmap-layer/heatmap-layer.d.ts.map +0 -1
  253. package/typed/heatmap-layer/max-vs.glsl.d.ts +0 -3
  254. package/typed/heatmap-layer/triangle-layer-fragment.glsl.d.ts +0 -3
  255. package/typed/heatmap-layer/triangle-layer.d.ts.map +0 -1
  256. package/typed/heatmap-layer/weights-vs.glsl.d.ts +0 -3
  257. /package/{typed → dist}/aggregation-layer.d.ts +0 -0
  258. /package/{typed → dist}/aggregation-layer.d.ts.map +0 -0
  259. /package/{typed → dist}/contour-layer/contour-layer.d.ts +0 -0
  260. /package/{typed → dist}/contour-layer/contour-layer.d.ts.map +0 -0
  261. /package/{typed → dist}/contour-layer/contour-utils.d.ts +0 -0
  262. /package/{typed → dist}/contour-layer/contour-utils.d.ts.map +0 -0
  263. /package/{typed → dist}/contour-layer/marching-squares-codes.d.ts +0 -0
  264. /package/{typed → dist}/contour-layer/marching-squares-codes.d.ts.map +0 -0
  265. /package/{typed → dist}/contour-layer/marching-squares.d.ts +0 -0
  266. /package/{typed → dist}/contour-layer/marching-squares.d.ts.map +0 -0
  267. /package/{typed → dist}/cpu-grid-layer/cpu-grid-layer.d.ts +0 -0
  268. /package/{typed → dist}/cpu-grid-layer/cpu-grid-layer.d.ts.map +0 -0
  269. /package/{typed → dist}/cpu-grid-layer/grid-aggregator.d.ts +0 -0
  270. /package/{typed → dist}/cpu-grid-layer/grid-aggregator.d.ts.map +0 -0
  271. /package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.d.ts +0 -0
  272. /package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.d.ts.map +0 -0
  273. /package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.d.ts +0 -0
  274. /package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.d.ts.map +0 -0
  275. /package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer.d.ts +0 -0
  276. /package/{typed → dist}/gpu-grid-layer/gpu-grid-cell-layer.d.ts.map +0 -0
  277. /package/{typed → dist}/gpu-grid-layer/gpu-grid-layer.d.ts +0 -0
  278. /package/{typed → dist}/gpu-grid-layer/gpu-grid-layer.d.ts.map +0 -0
  279. /package/{typed → dist}/grid-aggregation-layer.d.ts +0 -0
  280. /package/{typed → dist}/grid-aggregation-layer.d.ts.map +0 -0
  281. /package/{typed → dist}/grid-layer/grid-layer.d.ts +0 -0
  282. /package/{typed → dist}/grid-layer/grid-layer.d.ts.map +0 -0
  283. /package/{typed → dist}/heatmap-layer/max-fs.glsl.d.ts +0 -0
  284. /package/{typed → dist}/heatmap-layer/max-fs.glsl.d.ts.map +0 -0
  285. /package/{typed → dist}/heatmap-layer/triangle-layer-fragment.glsl.d.ts.map +0 -0
  286. /package/{typed → dist}/heatmap-layer/triangle-layer-vertex.glsl.d.ts +0 -0
  287. /package/{typed → dist}/heatmap-layer/triangle-layer-vertex.glsl.d.ts.map +0 -0
  288. /package/{typed → dist}/heatmap-layer/weights-fs.glsl.d.ts +0 -0
  289. /package/{typed → dist}/heatmap-layer/weights-fs.glsl.d.ts.map +0 -0
  290. /package/{typed → dist}/hexagon-layer/hexagon-aggregator.d.ts +0 -0
  291. /package/{typed → dist}/hexagon-layer/hexagon-aggregator.d.ts.map +0 -0
  292. /package/{typed → dist}/hexagon-layer/hexagon-layer.d.ts +0 -0
  293. /package/{typed → dist}/hexagon-layer/hexagon-layer.d.ts.map +0 -0
  294. /package/{typed → dist}/index.d.ts +0 -0
  295. /package/{typed → dist}/index.d.ts.map +0 -0
  296. /package/{typed → dist}/screen-grid-layer/screen-grid-cell-layer.d.ts +0 -0
  297. /package/{typed → dist}/screen-grid-layer/screen-grid-cell-layer.d.ts.map +0 -0
  298. /package/{typed → dist}/screen-grid-layer/screen-grid-layer-fragment.glsl.d.ts +0 -0
  299. /package/{typed → dist}/screen-grid-layer/screen-grid-layer-fragment.glsl.d.ts.map +0 -0
  300. /package/{typed → dist}/screen-grid-layer/screen-grid-layer-vertex.glsl.d.ts +0 -0
  301. /package/{typed → dist}/screen-grid-layer/screen-grid-layer-vertex.glsl.d.ts.map +0 -0
  302. /package/{typed → dist}/screen-grid-layer/screen-grid-layer.d.ts +0 -0
  303. /package/{typed → dist}/screen-grid-layer/screen-grid-layer.d.ts.map +0 -0
  304. /package/{typed → dist}/types.d.ts +0 -0
  305. /package/{typed → dist}/types.d.ts.map +0 -0
  306. /package/{typed → dist}/utils/aggregation-operation-utils.d.ts +0 -0
  307. /package/{typed → dist}/utils/aggregation-operation-utils.d.ts.map +0 -0
  308. /package/{typed → dist}/utils/bin-sorter.d.ts +0 -0
  309. /package/{typed → dist}/utils/bin-sorter.d.ts.map +0 -0
  310. /package/{typed → dist}/utils/color-utils.d.ts +0 -0
  311. /package/{typed → dist}/utils/color-utils.d.ts.map +0 -0
  312. /package/{typed → dist}/utils/cpu-aggregator.d.ts +0 -0
  313. /package/{typed → dist}/utils/cpu-aggregator.d.ts.map +0 -0
  314. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.d.ts +0 -0
  315. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.d.ts.map +0 -0
  316. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.d.ts +0 -0
  317. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.d.ts.map +0 -0
  318. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.d.ts +0 -0
  319. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.d.ts.map +0 -0
  320. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.d.ts +0 -0
  321. /package/{typed → dist}/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.d.ts.map +0 -0
  322. /package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.d.ts +0 -0
  323. /package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.d.ts.map +0 -0
  324. /package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.d.ts +0 -0
  325. /package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator-utils.d.ts.map +0 -0
  326. /package/{typed → dist}/utils/gpu-grid-aggregation/gpu-grid-aggregator.d.ts +0 -0
  327. /package/{typed → dist}/utils/gpu-grid-aggregation/transform-mean-vs.glsl.d.ts +0 -0
  328. /package/{typed → dist}/utils/gpu-grid-aggregation/transform-mean-vs.glsl.d.ts.map +0 -0
  329. /package/{typed → dist}/utils/grid-aggregation-utils.d.ts +0 -0
  330. /package/{typed → dist}/utils/grid-aggregation-utils.d.ts.map +0 -0
  331. /package/{typed → dist}/utils/prop-utils.d.ts +0 -0
  332. /package/{typed → dist}/utils/prop-utils.d.ts.map +0 -0
  333. /package/{typed → dist}/utils/resource-utils.d.ts +0 -0
  334. /package/{typed → dist}/utils/resource-utils.d.ts.map +0 -0
  335. /package/{typed → dist}/utils/scale-utils.d.ts +0 -0
  336. /package/{typed → dist}/utils/scale-utils.d.ts.map +0 -0
@@ -1,247 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _core = require("@deck.gl/core");
23
-
24
- var _engine = require("@luma.gl/engine");
25
-
26
- var _shadertools = require("@luma.gl/shadertools");
27
-
28
- var _constants = require("@luma.gl/constants");
29
-
30
- var _colorUtils = require("../utils/color-utils");
31
-
32
- var _gpuGridCellLayerVertex = _interopRequireDefault(require("./gpu-grid-cell-layer-vertex.glsl"));
33
-
34
- var _gpuGridCellLayerFragment = _interopRequireDefault(require("./gpu-grid-cell-layer-fragment.glsl"));
35
-
36
- 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; }
37
-
38
- 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; }
39
-
40
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
41
-
42
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
43
-
44
- var COLOR_DATA_UBO_INDEX = 0;
45
- var ELEVATION_DATA_UBO_INDEX = 1;
46
- var defaultProps = {
47
- colorDomain: null,
48
- colorRange: _colorUtils.defaultColorRange,
49
- elevationDomain: null,
50
- elevationRange: [0, 1000],
51
- elevationScale: {
52
- type: 'number',
53
- min: 0,
54
- value: 1
55
- },
56
- gridSize: {
57
- type: 'array',
58
- value: [1, 1]
59
- },
60
- gridOrigin: {
61
- type: 'array',
62
- value: [0, 0]
63
- },
64
- gridOffset: {
65
- type: 'array',
66
- value: [0, 0]
67
- },
68
- cellSize: {
69
- type: 'number',
70
- min: 0,
71
- max: 1000,
72
- value: 1000
73
- },
74
- offset: {
75
- type: 'array',
76
- value: [1, 1]
77
- },
78
- coverage: {
79
- type: 'number',
80
- min: 0,
81
- max: 1,
82
- value: 1
83
- },
84
- extruded: true,
85
- material: true
86
- };
87
-
88
- var GPUGridCellLayer = function (_Layer) {
89
- (0, _inherits2.default)(GPUGridCellLayer, _Layer);
90
-
91
- var _super = _createSuper(GPUGridCellLayer);
92
-
93
- function GPUGridCellLayer() {
94
- var _this;
95
-
96
- (0, _classCallCheck2.default)(this, GPUGridCellLayer);
97
-
98
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
99
- args[_key] = arguments[_key];
100
- }
101
-
102
- _this = _super.call.apply(_super, [this].concat(args));
103
- _this.state = void 0;
104
- return _this;
105
- }
106
-
107
- var _proto = GPUGridCellLayer.prototype;
108
-
109
- _proto.getShaders = function getShaders() {
110
- return (0, _get2.default)((0, _getPrototypeOf2.default)(GPUGridCellLayer.prototype), "getShaders", this).call(this, {
111
- vs: _gpuGridCellLayerVertex.default,
112
- fs: _gpuGridCellLayerFragment.default,
113
- modules: [_core.project32, _core.gouraudLighting, _core.picking, _shadertools.fp64arithmetic]
114
- });
115
- };
116
-
117
- _proto.initializeState = function initializeState() {
118
- var attributeManager = this.getAttributeManager();
119
- attributeManager.addInstanced({
120
- colors: {
121
- size: 4,
122
- noAlloc: true
123
- },
124
- elevations: {
125
- size: 4,
126
- noAlloc: true
127
- }
128
- });
129
-
130
- var model = this._getModel();
131
-
132
- this._setupUniformBuffer(model);
133
-
134
- this.setState({
135
- model: model
136
- });
137
- };
138
-
139
- _proto._getModel = function _getModel() {
140
- return new _engine.Model(this.context.device, _objectSpread(_objectSpread({}, this.getShaders()), {}, {
141
- id: this.props.id,
142
- geometry: new _engine.CubeGeometry(),
143
- isInstanced: true
144
- }));
145
- };
146
-
147
- _proto.draw = function draw(_ref) {
148
- var uniforms = _ref.uniforms;
149
- var _this$props = this.props,
150
- cellSize = _this$props.cellSize,
151
- offset = _this$props.offset,
152
- extruded = _this$props.extruded,
153
- elevationScale = _this$props.elevationScale,
154
- coverage = _this$props.coverage,
155
- gridSize = _this$props.gridSize,
156
- gridOrigin = _this$props.gridOrigin,
157
- gridOffset = _this$props.gridOffset,
158
- elevationRange = _this$props.elevationRange,
159
- colorMaxMinBuffer = _this$props.colorMaxMinBuffer,
160
- elevationMaxMinBuffer = _this$props.elevationMaxMinBuffer;
161
- var model = this.state.model;
162
- var gridOriginLow = [(0, _core.fp64LowPart)(gridOrigin[0]), (0, _core.fp64LowPart)(gridOrigin[1])];
163
- var gridOffsetLow = [(0, _core.fp64LowPart)(gridOffset[0]), (0, _core.fp64LowPart)(gridOffset[1])];
164
- var domainUniforms = this.getDomainUniforms();
165
- var colorRange = (0, _colorUtils.colorRangeToFlatArray)(this.props.colorRange);
166
- this.bindUniformBuffers(colorMaxMinBuffer, elevationMaxMinBuffer);
167
- model.setUniforms(uniforms);
168
- model.setUniforms(domainUniforms);
169
- model.setUniforms({
170
- cellSize: cellSize,
171
- offset: offset,
172
- extruded: extruded,
173
- elevationScale: elevationScale,
174
- coverage: coverage,
175
- gridSize: gridSize,
176
- gridOrigin: gridOrigin,
177
- gridOriginLow: gridOriginLow,
178
- gridOffset: gridOffset,
179
- gridOffsetLow: gridOffsetLow,
180
- colorRange: colorRange,
181
- elevationRange: elevationRange
182
- });
183
- model.draw(this.context.renderPass);
184
- this.unbindUniformBuffers(colorMaxMinBuffer, elevationMaxMinBuffer);
185
- };
186
-
187
- _proto.bindUniformBuffers = function bindUniformBuffers(colorMaxMinBuffer, elevationMaxMinBuffer) {
188
- colorMaxMinBuffer.bind({
189
- target: 35345,
190
- index: COLOR_DATA_UBO_INDEX
191
- });
192
- elevationMaxMinBuffer.bind({
193
- target: 35345,
194
- index: ELEVATION_DATA_UBO_INDEX
195
- });
196
- };
197
-
198
- _proto.unbindUniformBuffers = function unbindUniformBuffers(colorMaxMinBuffer, elevationMaxMinBuffer) {
199
- colorMaxMinBuffer.unbind({
200
- target: 35345,
201
- index: COLOR_DATA_UBO_INDEX
202
- });
203
- elevationMaxMinBuffer.unbind({
204
- target: 35345,
205
- index: ELEVATION_DATA_UBO_INDEX
206
- });
207
- };
208
-
209
- _proto.getDomainUniforms = function getDomainUniforms() {
210
- var _this$props2 = this.props,
211
- colorDomain = _this$props2.colorDomain,
212
- elevationDomain = _this$props2.elevationDomain;
213
- var domainUniforms = {};
214
-
215
- if (colorDomain !== null) {
216
- domainUniforms.colorDomainValid = true;
217
- domainUniforms.colorDomain = colorDomain;
218
- } else {
219
- domainUniforms.colorDomainValid = false;
220
- }
221
-
222
- if (elevationDomain !== null) {
223
- domainUniforms.elevationDomainValid = true;
224
- domainUniforms.elevationDomain = elevationDomain;
225
- } else {
226
- domainUniforms.elevationDomainValid = false;
227
- }
228
-
229
- return domainUniforms;
230
- };
231
-
232
- _proto._setupUniformBuffer = function _setupUniformBuffer(model) {
233
- var programHandle = model.pipeline.handle;
234
- var gl = this.context.gl;
235
- var colorIndex = gl.getUniformBlockIndex(programHandle, 'ColorData');
236
- var elevationIndex = gl.getUniformBlockIndex(programHandle, 'ElevationData');
237
- gl.uniformBlockBinding(programHandle, colorIndex, COLOR_DATA_UBO_INDEX);
238
- gl.uniformBlockBinding(programHandle, elevationIndex, ELEVATION_DATA_UBO_INDEX);
239
- };
240
-
241
- return GPUGridCellLayer;
242
- }(_core.Layer);
243
-
244
- exports.default = GPUGridCellLayer;
245
- GPUGridCellLayer.layerName = 'GPUGridCellLayer';
246
- GPUGridCellLayer.defaultProps = defaultProps;
247
- //# sourceMappingURL=gpu-grid-cell-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/gpu-grid-layer/gpu-grid-cell-layer.ts"],"names":["COLOR_DATA_UBO_INDEX","ELEVATION_DATA_UBO_INDEX","defaultProps","colorDomain","colorRange","defaultColorRange","elevationDomain","elevationRange","elevationScale","type","min","value","gridSize","gridOrigin","gridOffset","cellSize","max","offset","coverage","extruded","material","GPUGridCellLayer","state","getShaders","vs","fs","modules","project32","gouraudLighting","picking","fp64arithmetic","initializeState","attributeManager","getAttributeManager","addInstanced","colors","size","noAlloc","elevations","model","_getModel","_setupUniformBuffer","setState","Model","context","device","id","props","geometry","CubeGeometry","isInstanced","draw","uniforms","colorMaxMinBuffer","elevationMaxMinBuffer","gridOriginLow","gridOffsetLow","domainUniforms","getDomainUniforms","bindUniformBuffers","setUniforms","renderPass","unbindUniformBuffers","bind","target","index","unbind","colorDomainValid","elevationDomainValid","programHandle","pipeline","handle","gl","colorIndex","getUniformBlockIndex","elevationIndex","uniformBlockBinding","Layer","layerName"],"mappings":"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","sourcesContent":["// Copyright (c) 2015 - 2017 Uber Technologies, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\nimport {\n Layer,\n fp64LowPart,\n project32,\n gouraudLighting,\n picking,\n LayerProps,\n DefaultProps\n} from '@deck.gl/core';\nimport {CubeGeometry} from '@luma.gl/engine';\nimport {fp64arithmetic} from '@luma.gl/shadertools';\nimport {Model} from '@luma.gl/engine';\nimport {Buffer} from '@luma.gl/core';\nimport {GL} from '@luma.gl/constants';\nimport {defaultColorRange, colorRangeToFlatArray} from '../utils/color-utils';\nimport type {_GPUGridLayerProps} from './gpu-grid-layer';\nimport vs from './gpu-grid-cell-layer-vertex.glsl';\nimport fs from './gpu-grid-cell-layer-fragment.glsl';\n\nconst COLOR_DATA_UBO_INDEX = 0;\nconst ELEVATION_DATA_UBO_INDEX = 1;\n\nconst defaultProps: DefaultProps<_GPUGridCellLayerProps & LayerProps> = {\n // color\n colorDomain: null,\n colorRange: defaultColorRange,\n\n // elevation\n elevationDomain: null,\n elevationRange: [0, 1000],\n elevationScale: {type: 'number', min: 0, value: 1},\n\n // grid\n gridSize: {type: 'array', value: [1, 1]},\n gridOrigin: {type: 'array', value: [0, 0]},\n gridOffset: {type: 'array', value: [0, 0]},\n\n cellSize: {type: 'number', min: 0, max: 1000, value: 1000},\n offset: {type: 'array', value: [1, 1]},\n coverage: {type: 'number', min: 0, max: 1, value: 1},\n extruded: true,\n\n material: true // Use lighting module defaults\n};\n\ntype _GPUGridCellLayerProps = _GPUGridLayerProps<any> & {\n cellSize: number;\n offset: number[];\n coverage: number;\n extruded: boolean;\n elevationScale: number;\n elevationRange: [number, number];\n gridSize: number[];\n gridOrigin: number[];\n gridOffset: number[];\n colorMaxMinBuffer: Buffer;\n elevationMaxMinBuffer: Buffer;\n};\n\nexport default class GPUGridCellLayer extends Layer<_GPUGridCellLayerProps> {\n static layerName = 'GPUGridCellLayer';\n static defaultProps = defaultProps;\n\n state!: {\n model?: Model;\n };\n\n getShaders() {\n return super.getShaders({\n vs,\n fs,\n modules: [project32, gouraudLighting, picking, fp64arithmetic]\n });\n }\n\n initializeState(): void {\n const attributeManager = this.getAttributeManager()!;\n attributeManager.addInstanced({\n colors: {\n size: 4,\n noAlloc: true\n },\n elevations: {\n size: 4,\n noAlloc: true\n }\n });\n const model = this._getModel();\n this._setupUniformBuffer(model);\n this.setState({model});\n }\n\n _getModel(): Model {\n return new Model(this.context.device, {\n ...this.getShaders(),\n id: this.props.id,\n geometry: new CubeGeometry(),\n isInstanced: true\n });\n }\n\n draw({uniforms}) {\n const {\n cellSize,\n offset,\n extruded,\n elevationScale,\n coverage,\n gridSize,\n gridOrigin,\n gridOffset,\n elevationRange,\n colorMaxMinBuffer,\n elevationMaxMinBuffer\n } = this.props;\n const model = this.state.model!;\n\n const gridOriginLow = [fp64LowPart(gridOrigin[0]), fp64LowPart(gridOrigin[1])];\n const gridOffsetLow = [fp64LowPart(gridOffset[0]), fp64LowPart(gridOffset[1])];\n const domainUniforms = this.getDomainUniforms();\n const colorRange = colorRangeToFlatArray(this.props.colorRange);\n this.bindUniformBuffers(colorMaxMinBuffer, elevationMaxMinBuffer);\n model.setUniforms(uniforms);\n model.setUniforms(domainUniforms);\n model.setUniforms({\n cellSize,\n offset,\n extruded,\n elevationScale,\n coverage,\n gridSize,\n gridOrigin,\n gridOriginLow,\n gridOffset,\n gridOffsetLow,\n colorRange,\n elevationRange\n });\n model.draw(this.context.renderPass);\n this.unbindUniformBuffers(colorMaxMinBuffer, elevationMaxMinBuffer);\n }\n\n bindUniformBuffers(colorMaxMinBuffer, elevationMaxMinBuffer) {\n colorMaxMinBuffer.bind({target: GL.UNIFORM_BUFFER, index: COLOR_DATA_UBO_INDEX});\n elevationMaxMinBuffer.bind({target: GL.UNIFORM_BUFFER, index: ELEVATION_DATA_UBO_INDEX});\n }\n\n unbindUniformBuffers(colorMaxMinBuffer, elevationMaxMinBuffer) {\n colorMaxMinBuffer.unbind({target: GL.UNIFORM_BUFFER, index: COLOR_DATA_UBO_INDEX});\n elevationMaxMinBuffer.unbind({target: GL.UNIFORM_BUFFER, index: ELEVATION_DATA_UBO_INDEX});\n }\n\n getDomainUniforms() {\n const {colorDomain, elevationDomain} = this.props;\n const domainUniforms: Record<string, any> = {};\n if (colorDomain !== null) {\n domainUniforms.colorDomainValid = true;\n domainUniforms.colorDomain = colorDomain;\n } else {\n domainUniforms.colorDomainValid = false;\n }\n if (elevationDomain !== null) {\n domainUniforms.elevationDomainValid = true;\n domainUniforms.elevationDomain = elevationDomain;\n } else {\n domainUniforms.elevationDomainValid = false;\n }\n return domainUniforms;\n }\n\n private _setupUniformBuffer(model: Model): void {\n // @ts-expect-error TODO v9 This code is not portable to WebGPU\n const programHandle = model.pipeline.handle;\n\n const gl = this.context.gl as WebGL2RenderingContext;\n const colorIndex = gl.getUniformBlockIndex(programHandle, 'ColorData');\n const elevationIndex = gl.getUniformBlockIndex(programHandle, 'ElevationData');\n gl.uniformBlockBinding(programHandle, colorIndex, COLOR_DATA_UBO_INDEX);\n gl.uniformBlockBinding(programHandle, elevationIndex, ELEVATION_DATA_UBO_INDEX);\n }\n}\n"],"file":"gpu-grid-cell-layer.js"}