@iangilman zoomTo is called by zoomBy so its no surprise that the calls are happening. I'm afraid the repo is private so I can't share the code. However, after you mentioned the subtle moves I opted to put in a fudge factor of 2%. If we are within 2% of displaying the entire image (e.g. the viewport bounds is within 2% of the size of the image bounds) then I can deal with the zoom function another way. We actually want to switch from viewing an individual image to viewing the world of images as a grid of the thumbnails for the image. This 2% fudge factor seems to work really nice. Thanks for the help.