mapbox / mapbox/mapbox-gl-js

DEM Terrain map data rendering issues related to zoom-level

Open
#12,915 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

3d :triangular_ruler: bug :lady_beetle:
Dominant language
TypeScript
Stars
12.4k
Forks
2.4k
PR merge metrics
No merged PRs in 30d

Description

DEM 3D Terrain inclusion on the map causes various rendering issues related to zoom-level. It can result in data appearing "missing" or rendering the wrong zoom-level on portions of the map viewport. This is most apparent when layers have styling or source data that varies based on zoom-level stops. See examples and a fiddle that can help reproduce the issue below.

mapbox-gl-js version: 2.15.0

browser: Google Chrome 116.0.5845.96 (Official Build) (arm64)

Steps to Trigger Behavior
  1. Load the fiddle
  2. Press the "Reproduce issue" button
  3. Zoom in, zoom out a couple of levels or pan the map
  4. Eventually you will see some missing tiles due to rendering issues
  5. Please press the button again if you can't reproduce as this is not 100% chance to occur in the first try or so
Link to Demonstration

https://jsfiddle.net/PantelisChin/56qrp7L2/1/

Expected Behavior

Screenshot 2023-09-29 at 4 57 55 PM

Actual Behavior

Screenshot 2023-09-28 at 6 11 19 PM

Video:
https://github.com/mapbox/mapbox-gl-js/assets/36043811/03ddc77e-f7bb-4dd6-87ce-e88a2f74e30c

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 linked JSFiddle using mapbox-gl-js 2.15.0 in Chrome and follow the listed zooming and panning steps until missing or incorrectly zoomed tiles appear. Compare the expected and actual screenshots and video, then verify that DEM terrain no longer causes viewport portions to render missing or wrong zoom-level data, including layers with zoom-level-dependent styling or source data.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, typescript
Domain
computer-graphics, frontend
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.