viewportResize() should check whether cells in newly exposed columns
(oldCol + 1 through cols - 1) already have content before expanding
image tiles to the right. The loop used `rightCol > metrics.cols`,
which is false when widening (rightCol starts at oldCol + 1), so the
loop never ran, hasData stayed false, and tiles could overwrite cells
that already held text.
Use `rightCol < metrics.cols` so the emptiness check runs over the
intended column range.
Co-authored-by: Cursor <cursoragent@cursor.com>