Expand description
Frame rendering.
Renderer is the facade: it owns the drawing services (theme, syntax
highlighter) and every cache, and sequences one draw. The rest of this
module layers below it:
layoutmeasures the frame’s bands once per draw;historymoves overflow rows into the terminal’s native scrollback;transcriptturns conversation items into rows, through thecacheof sealed items and thestreamingincremental renderer;frameplaces the bands, composer, status line, and overlays.
The pure item→rows builders live with their models in
crate::conversation::{item_view, tool_view}.
Structs§
- Draw
Context - Shared rendering services, borrowed for the duration of one draw.
- Render
Stats - Work one
Rendererdid since the lastRenderer::take_stats, so tests can bound per-frame rendering work by counting it instead of timing it. - Renderer
- Owns everything drawing a frame needs: the theme, the syntax highlighter, and the caches that keep streaming content stable between frames.