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.
allwhen 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 —
atthe 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::Fillcovers its path with.