We are seeing an issue regarding fill vs. line alignment that affects layers generated from tiled data.
mapbox-gl-js version: 1.5.0
browser: Chrome 78.0.3904.97
Static example -

Animated example showing different issues and unit zoom -

Sample geometry: GeoJSON or Tiles
Border lines stay in their defined locations.
Border lines seem to move or align to some sort of grid depending on zoom level.
I've tested with a geojson source type and inlined geojson, and cannot reproduce this behavior.
One additional bit of context here is the tiles are generated only through z10, and the issues seem to be exhibited on z14-z18. So, this issue seems to only be triggered when the underlying data is overzoomed.
Float truncation?
maybe related, but happening to a GeoJSON source - https://github.com/mapbox/mapbox-gl-js/issues/7023#issuecomment-517164123
Is my answer here to generate more zooms? Wondering why this only happens to line layers and not polygon layers.
Thanks for the good reproduction.
Yep, you're right that this is a result of overzooming.
It could be float truncation. The line tessellation sometimes creates new vertices to split a line segment. Without enough precision this interpolated vertex won't be close to the line segment.
Or maybe there is a precision issue in the shader.
Is my answer here to generate more zooms? Wondering why this only happens to line layers and not polygon layers.
Yep, until this is fixed I think that will be your best solution.
@ansis thanks for the confirmation. Do you have any expectation on when this would be worked on? (just for better reasoning around our internal fix's longevity..)
@dyakovlev I've opened a fix for it here https://github.com/mapbox/mapbox-gl-js/pull/9024 . This may make it into the next release that is scheduled to go out wednesday dec 4th.