readRenderFrameForAbsoluteRange
Invokes consumer with a frame containing the retained intersection of the requested absolute row range.
Absolute rows start at zero for the first terminal line and continue increasing when old history is discarded. Implementations that serialize terminal mutation should resolve the range and expose the frame in one critical section so concurrent output cannot shift the requested rows. The returned frame may start before startAbsoluteRow when the requested range begins inside the live grid, because scrollback viewports are anchored at the live grid's first row. Callers must intersect their range with the retained bounds reported by the returned frame.
The default implementation snapshots current frame metadata and then issues a relative viewport read. Stateful callers must serialize this entire method against mutation, or readers may override it when they can resolve and expose the range atomically themselves.
Parameters
inclusive first requested absolute row.
inclusive last requested absolute row.
receiver that copies any render data it needs.