Environment
- Android OS version:
- Devices affected:
- Maps SDK Version: 11.27.0 (also reproduced on 11.18.2)
Observed behavior and steps to reproduce
We use a custom style based on Mapbox Standard with lightPreset: night, displayed in globe projection at low zoom.
On some older Android devices, the synthesized pole cap (the filler geometry above ~85°N where no tile data exists) is not affected by the lighting system. The night preset darkens the ocean, land, and all layers as expected — but the pole cap keeps its raw, unlit color, so it renders as a bright/white ellipse sitting on a dark ocean (screenshot attached).
Steps to reproduce:
- Create a style based on Mapbox Standard with a light-colored authored water and set
lightPreset: night
- Display it in globe projection, camera at low zoom looking at high northern latitudes
- On an affected device (I used a Google Pixel 7), observe the bright unlit circle at the north pole
- On recent devices, the pole cap is correctly darkened and blends with the ocean
Expected behavior
The pole cap should receive the same lighting treatment as adjacent tiles under all light presets, on all supported devices — i.e. under lightPreset: night it should be darkened like the surrounding ocean.
Notes / preliminary analysis
The pole cap appears to be special-cased fill geometry that borrows its color from the adjacent tile, per the maintainer analysis in mapbox/mapbox-gl-js#12026 ("The poles borrow their color from the adjacent tile..."). Our symptom suggests that on some devices this borrowed color is applied without the 3D lighting/measure-light pass, while on other devices it is lit correctly.
Workaround we're using: authoring the water color dark in the style (and/or overriding colorWater via style import config) so the unlit cap visually matches the lit ocean.
Screenshots
Additional links and references
Environment
Observed behavior and steps to reproduce
We use a custom style based on Mapbox Standard with
lightPreset: night, displayed in globe projection at low zoom.On some older Android devices, the synthesized pole cap (the filler geometry above ~85°N where no tile data exists) is not affected by the lighting system. The night preset darkens the ocean, land, and all layers as expected — but the pole cap keeps its raw, unlit color, so it renders as a bright/white ellipse sitting on a dark ocean (screenshot attached).
Steps to reproduce:
lightPreset: nightExpected behavior
The pole cap should receive the same lighting treatment as adjacent tiles under all light presets, on all supported devices — i.e. under
lightPreset: nightit should be darkened like the surrounding ocean.Notes / preliminary analysis
The pole cap appears to be special-cased fill geometry that borrows its color from the adjacent tile, per the maintainer analysis in mapbox/mapbox-gl-js#12026 ("The poles borrow their color from the adjacent tile..."). Our symptom suggests that on some devices this borrowed color is applied without the 3D lighting/
measure-lightpass, while on other devices it is lit correctly.Workaround we're using: authoring the water color dark in the style (and/or overriding
colorWatervia style import config) so the unlit cap visually matches the lit ocean.Screenshots
Additional links and references