Skip to main content

Module tree

Module tree 

Source
Expand description

Tree: the per-frame flat tree the core builds, lays out and emits.

The tree is a set of parallel Vecs, one entry per node, rebuilt from scratch every frame with their capacities retained. Nodes are stored in DFS preorder (a parent always precedes its children, and preorder is paint order) and linked through parent, first_child and next_sibling indices. Layout writes size and pos into it; emission reads them. OriginId says which frontend (the host app, an extension, the core’s own surfaces) opened each node.

An app never touches this type: it builds through Ui and reads back through Core. It is public for a custom runner or a test that drives layout::compute directly.

Structs§

ChildIter
OriginId
Which frontend produced a node: 0 is the host app, extensions get 1+.
TextId
Index into the frame’s text list (owned by TextSystem).
Tree
One frame’s nodes as parallel arrays in preorder; see the module docs.

Enums§

NodeContent

Constants§

NIL