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
With the globe projection, a camera centred near a pole (e.g. [0, -75]) at low zoom renders only the western hemisphere for some sources: everything east of the prime meridian is missing for a raster source and for a GeoJSON line layer, while other GeoJSON layers on the same map (and even a sibling layer on the same source) render on both sides. The cut is exactly at the 0° meridian — the tile column boundary.
The artefact appears between roughly zoom 1.0 and 1.6 (any pitch 0–30) and disappears from zoom 2.0. Panning/tilting through the range makes affected layers pop in and out at the meridian.
Reproduced identically on 5.24.0 and 6.0.0 (same scripted camera sweep, same 10-of-24 broken poses), so this appears long-standing rather than a 6.0 regression; the 6.0 coveringTiles improvements don't cover it. Verified in Chrome 138 on macOS (Apple Silicon) and in Chrome on Android 16.
Steps to reproduce
Self-contained page (also breaks with maplibre-gl@5.24.0):
Load it: the raster and the orange latitude circle render only west of 0°. Change zoom to 2.0: both render fully. A pixel count over a screenshot of the page above gives 289 orange samples west of the screen centre and 0 east.
Expected behavior
All sources render on both sides of the prime meridian — the visible hemisphere should not depend on the tile column.
Additional context
Scripted sweep: pole-centred poses (centre [0, -75] and [0, -90]) × zoom 1.0/1.3/1.6/2.0 × pitch 0/15/30 — 10 of 24 poses lose one side entirely; every zoom-2.0 pose is fine. Identical results on 5.24.0 and 6.0.0.
In a full app the pattern is source-dependent: a CARTO raster source and a filter-driven line layer lose the eastern half, while a fill layer on another GeoJSON source — and even the base line layer on the same source as the broken filtered one — render fine. This suggests per-source tile retention/culling rather than a uniform frustum decision.
Describe the bug
With the globe projection, a camera centred near a pole (e.g.
[0, -75]) at low zoom renders only the western hemisphere for some sources: everything east of the prime meridian is missing for a raster source and for a GeoJSON line layer, while other GeoJSON layers on the same map (and even a sibling layer on the same source) render on both sides. The cut is exactly at the 0° meridian — the tile column boundary.The artefact appears between roughly zoom 1.0 and 1.6 (any pitch 0–30) and disappears from zoom 2.0. Panning/tilting through the range makes affected layers pop in and out at the meridian.
Reproduced identically on 5.24.0 and 6.0.0 (same scripted camera sweep, same 10-of-24 broken poses), so this appears long-standing rather than a 6.0 regression; the 6.0
coveringTilesimprovements don't cover it. Verified in Chrome 138 on macOS (Apple Silicon) and in Chrome on Android 16.Steps to reproduce
Self-contained page (also breaks with
maplibre-gl@5.24.0):Load it: the raster and the orange latitude circle render only west of 0°. Change
zoomto2.0: both render fully. A pixel count over a screenshot of the page above gives 289 orange samples west of the screen centre and 0 east.Expected behavior
All sources render on both sides of the prime meridian — the visible hemisphere should not depend on the tile column.
Additional context
[0, -75]and[0, -90]) × zoom 1.0/1.3/1.6/2.0 × pitch 0/15/30 — 10 of 24 poses lose one side entirely; every zoom-2.0 pose is fine. Identical results on 5.24.0 and 6.0.0.filllayer on another GeoJSON source — and even the base line layer on the same source as the broken filtered one — render fine. This suggests per-source tile retention/culling rather than a uniform frustum decision.maplibre-gl-js version
5.24.0 and 6.0.0
Browser and OS
Chrome 138 / macOS 15 (Apple Silicon); Chrome / Android 16