PageRenderer
The content-stream interpreter — translates parsed Operations into PdfCanvas draw calls while maintaining the full PDF graphics-state stack (ISO 32000-1 §8 + §9).
Architecture mirrors MuPDF's pdf_processor / pdf_op_run.c:
Walk operations one by one.
Mutate the GraphicsStack for state-changing ops.
Accumulate path construction in a PdfPath.Builder.
On paint operators, hand the path off to the device.
Inside
BT…ET, run the text state machine (Tm/Tlm/Tj/TJ/'/" etc.).
The interpreter is single-pass and stateless w.r.t. previous pages: every call to render starts with a fresh state stack.