updateFromAbsoluteRange
fun updateFromAbsoluteRange(reader: TerminalRenderFrameReader, startAbsoluteRow: Long, endAbsoluteRow: Long)
Copies retained rows in an inclusive absolute range from reader.
Uses the same source lifetime as viewport reads, so equal generations from a replacement reader cannot reuse old cells. Bounds are resolved by the reader inside its frame callback, using this cache as the consumer.