Skip to main content

Module renderer

Module renderer 

Source
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:

  • layout measures the frame’s bands once per draw;
  • history moves overflow rows into the terminal’s native scrollback;
  • transcript turns conversation items into rows, through the cache of sealed items and the streaming incremental renderer;
  • frame places the bands, composer, status line, and overlays.

The pure item→rows builders live with their models in crate::conversation::{item_view, tool_view}.

Structs§

DrawContext
Shared rendering services, borrowed for the duration of one draw.
RenderStats
Work one Renderer did since the last Renderer::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.