visgl / visgl/deck.gl

[Bug] Aggregation layer issues in 9.0

Open
#9,058 3 comments 7 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
TypeScript
Stars
14.6k
Forks
2.3k
Avg merge
2d 9h
Merged PRs (30d)
42

Description

Description

After upgrading to 9.0, I've been experiencing a couple of issues with aggregation layers.

  1. Making changes to the heatmap color ranges works as long as the length of the array stays the same, but when adding/removing colors from the range, the layer breaks and just renders as black: https://codepen.io/jdgarrett/pen/mdZRQbm Interestingly, this does seem to work for the other aggregation layers that I've tested.
  2. The data filter extension does not work with any of the aggregation layers that I've tested. There is another issue already for this one #8841, but I've realized that the issue applies to all aggregation layers.

There are also log warnings spammed to the console when rendering aggregation layers:
image
These warnings were taken from the Heatmap page in the docs.

Expected Behavior

The expected behavior is that data filtering works on aggregation layers like it did in previous versions, and allows for changes to the colorRange property of the heatmap layer without breaking rendering.

Steps to Reproduce

Color Range issue: https://codepen.io/jdgarrett/pen/mdZRQbm
Filter issue: https://codepen.io/jdgarrett/pen/QWXdJGJ

Environment
  • Framework version: deck.gl@9.0.24
  • Browser: Chrome 126.0
  • OS: Windows 11
Logs
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"
luma.gl: Unknown binding "fp32Uniforms" in render pipeline "HeatmapLayer-triangle-layer-cached", expected one of "maxTexture", "weightsTexture", "colorTexture"
luma.gl: Unknown binding "geometryUniforms" in render pipeline "HeatmapLayer-triangle-layer-cached", expected one of "maxTexture", "weightsTexture", "colorTexture"
luma.gl: Unknown binding "projectUniforms" in render pipeline "HeatmapLayer-triangle-layer-cached", expected one of "maxTexture", "weightsTexture", "colorTexture"

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the two linked CodePen reproductions for the heatmap colorRange and data-filter behavior, then compare the aggregation layers involved. Use the listed luma.gl console warnings as diagnostics; done means filtering works across aggregation layers and changing the heatmap colorRange length no longer breaks rendering.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, typescript
Domain
data-visualization
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.