Starts a replay into backend that runs in slices: each Continue(TimeSpan) hands over
operations until its time budget is used, and the next resumes where it stopped.
public DisplayListReplay BeginReplay(IRenderingBackend backend, CancellationToken cancellationToken, IProgress<double>? progress)
The backend that draws; it keeps its state (graphics state stack, clip, output so far) between slices.
Cancels the replay before its next operation.
Receives the share of the operations handed over so far, from 0 to 1, synchronously on the replaying thread every 1,024
operations and at the end of every slice, then once with exactly 1 at the end; null for none.
Viewer capability 2 (issue #97), like PDFium's progressive rendering: a host that must not block, such as a Blazor WebAssembly page on its only thread, replays a slice, yields to its event loop, and continues. Slicing never changes what the backend receives: the calls are those of Replay(IRenderingBackend), in the same order.