A two-step shrink while a reply streams lost a transcript row in tmux in ~5% of
runs: a chrome paint that reached tmux after it narrowed its grid was clipped
(prompt_toolkit writes rows with autowrap off), yet the aimed erase counted its
rows as re-wrapped and erased the transcript rows above. Traced: the lost runs'
chrome render started at the old width and the width had moved by its end.
Record, per chrome row, when it was painted and how wide. A row counts as
re-wrapped only from a paint that ended at least _RESIZE_PAINT_MARGIN (10 ms)
before the width change was first seen with the width unchanged under it;
otherwise it counts as one row. A stale chrome row left above the new paint is
benign; an erased transcript row is lost.
The tmux e2e cell now uses 146-column reply lines and tolerates a stale
streaming-preview row per mid-stream recovery while still requiring every
transcript line exactly once.