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§
- Child
Iter - Origin
Id - 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.