simplified and moved aspect ratio enforcement to _preventBoundaryCollision