You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On initial render, the CollisionFilterExtension hides all data when using MapboxOverlay with interleaved: false. Data is hidden till the next render.
I have traced this to being caused by a bad collision map in collision-filter-effect.ts. The deck canvas initializes with width: 300, height: 150 leading the initial FBO size to be width: 150, height: 75 after the downscale. After the CSS dynamically resizes the canvas, the FBO does resize but the needsRender flag in _render fails despite the FBO resize.
The behavior also seems to happen on canvas resize:
Screen.Recording.2026-05-23.at.3.38.07.PM.mov
I managed to fix this on my project by just adding these few lines to the for loop on collision-filter-effect.ts:85, but I don't know if this is the proper fix:
// Resize framebuffers to match canvasfor(constcollisionGroupinchannels){constcollisionFBO=this.collisionFBOs[collisionGroup];constlastWidth=collisionFBO.width;constlastHeight=collisionFBO.height;constrenderInfo=channels[collisionGroup];// @ts-expect-error TODO - assuming WebGL contextconst[width,height]=device.canvasContext.getPixelSize();collisionFBO.resize({width: width/DOWNSCALE,height: height/DOWNSCALE});constfboSizeChanged=lastWidth!==width/DOWNSCALE||lastHeight!==height/DOWNSCALE;this._render(renderInfo,{
effects,
layerFilter,
onViewportActive,
views,
viewport,viewportChanged: viewportChanged||fboSizeChanged});}
Thank you for taking the time to take a look at the issue! I really love the project!
Flavors
Script tag
React
Python/Jupyter notebook
MapboxOverlay
GoogleMapsOverlay
CARTO
ArcGIS
Expected Behavior
Data items that aren't colliding should be visible on initial render / viewport resize. If they are colliding, the winner should at least be visible.
Steps to Reproduce
Codepen example using MapboxOverlay and ScatterplotLayer. Run the codepen and you'll notice that all scatters are hidden till you pan/zoom the map.
Description
On initial render, the
CollisionFilterExtensionhides all data when usingMapboxOverlaywithinterleaved: false. Data is hidden till the next render.I have traced this to being caused by a bad collision map in
collision-filter-effect.ts. The deck canvas initializes withwidth: 300,height: 150leading the initial FBO size to bewidth: 150,height: 75after the downscale. After the CSS dynamically resizes the canvas, the FBO does resize but theneedsRenderflag in_renderfails despite the FBO resize.I have only really tested this using
MapboxOverlay, but it seems to be in action on the currentCollisionFilterExtensionexample in the docs.Screen.Recording.2026-05-23.at.3.35.59.PM.mov
The behavior also seems to happen on canvas resize:
Screen.Recording.2026-05-23.at.3.38.07.PM.mov
I managed to fix this on my project by just adding these few lines to the
forloop oncollision-filter-effect.ts:85, but I don't know if this is the proper fix:Thank you for taking the time to take a look at the issue! I really love the project!
Flavors
Expected Behavior
Data items that aren't colliding should be visible on initial render / viewport resize. If they are colliding, the winner should at least be visible.
Steps to Reproduce
Codepen example using
MapboxOverlayandScatterplotLayer. Run the codepen and you'll notice that all scatters are hidden till you pan/zoom the map.Environment
Logs
These are some logs I used to help find the issue: