[Bug] HeatmapLayer breaks when used with DataFilterExtension and other extensions
Description
Hi - I noticed that the DataFilterExtension specifically calls out support with the Heatmap layer, however I am experiencing strange behaviour.
It seems as soon as a data range is applied, the heatmap fails to render.
Flavors
- [X] Script tag
- [X] React
- [ ] Python/Jupyter notebook
- [ ] MapboxOverlay
- [ ] GoogleMapsOverlay
- [ ] CartoLayer
- [ ] ArcGIS
Expected Behavior
The heatmap render points that satisfy the filter
Steps to Reproduce
Please see a codepen example here This uses the SF bikes data, and filters the data by spaces available. Notice that if the range is changed to [0,10] the entire heatmap renders again. This is strange as there are lots of points in the range [1,10]
Environment
- Framework version: 9.0.14
- Browser: Chrome 124.0.6367.80
- OS: MacOS
Logs
"luma.gl: Module picking not found" "luma.gl: Unknown binding 'project32Uniforms' in render pipeline 'HeatmapLayer-triangle-layer-cached', expected one of 'maxTexture', 'weightsTexture', 'colorTexture'" "luma.gl: Model(HeatmapLayer-triangle-layer): Missing layout for buffer 'filterValues'." "luma.gl: Model(HeatmapLayer-triangle-layer): Missing layout for buffer 'instanceFilterValues'." "luma.gl: Model 'HeatmapLayer-triangle-layer: Ignoring constant supplied for unknown attribute 'instancePickingColors'" "luma.gl: Module picking not found" "luma.gl: Unknown binding 'project32Uniforms' in render pipeline 'HeatmapLayer-triangle-layer-cached', expected one of 'maxTexture', 'weightsTexture', 'colorTexture'"
I'm also struggling with using the DataFilterExtensiontogether with the HeatMap layer. As soon as I add the DataFilterExtension the heatmap layer stops rendering altogether for me though (will consider a separate reproduction example). The exact same filter properties render fine for i.e. a ScatterplotLayer though (it's also the case here, and can be seen by switching out the layer type in the reproduction provided by @louis-ci).
I am also experiencing this issue after upgrading to deck.gl 9.0.24. Not only does the heatmap fail to render when certain filter ranges are set, there are several warnings logged out to the console:
It's interesting to note that the filtering extension does seem to be doing something as when I slowly change the filter ranges in my application the heatmap seems to filter some data (although not the correct data) before disappearing entirely.