Skip to main content

Module render

Module render 

Source
Expand description

Scene → pixels. The engine lays a scene out ([layout]: taffy, parley), paints each node’s own commands ([painter]) into a Drawing ([drawing]): its display list in chunks under property trees, kept and brought up to date by what changes ([update]). A backend paints any area of it through crate::display::paint. This module holds the renderer — its fonts and text shaping — and the commands’ types.

Structs§

Damage
What an update to a drawing touched, in the design’s coordinates: each chunk it changed, where it was and where it is — and the strips the drawing’s area gained or lost. all when the area’s top-left moved, which moves every tile.
Drawing
A scene laid out, in one theme, and made into its display list: kept, so a later scene updates it by what changed. Its layout tree, every node’s box by its id, the property-tree nodes each node made, the list, and the images the list paints.
Frame
A node’s box after layout, in the scene’s pixels.
Glyph
One glyph of a run: its id in its font and where its origin sits, in the run’s coordinates.
Renderer
The fonts and text layout state a renderer keeps between paints.
Undrawable
Why a scene can’t be drawn: images and shadows that don’t fit the GPU’s atlas — at the attribute that broke it, when one did.

Enums§

Draw
One drawing command, in its chunk’s coordinates: what both vello backends replay. Every decision about the drawing is made before a command is made; a backend only translates it into its library’s call. The layers it is drawn in are nodes of the property trees, not commands.
Paint
What a Draw::Fill covers its path with.