ensure view consistency when zooming