Every pan gesture updated mapProvider state, which triggered
ref.listen to call _mapController.move() with the position the
map was already at. This caused TileLayer to re-evaluate the
viewport and cancel in-flight tile loads, producing a
partially-rendered (diagonal) map.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>