pub struct LNode {Show 29 fields
pub index: u32,
pub id: String,
pub component: String,
pub part: Option<String>,
pub owner: Option<String>,
pub owner_component: Option<String>,
pub catalog_id: Option<String>,
pub extension_kind: Option<String>,
pub depth: u32,
pub parent: Option<u32>,
pub children: Vec<u32>,
pub layer: u32,
pub kind: NodeKind,
pub props: Props,
pub base_style: Props,
pub default_keys: Vec<String>,
pub own_query: Option<RecipeQuery>,
pub part_query: Option<RecipeQuery>,
pub authored_keys: Vec<String>,
pub hidden: bool,
pub lines: Option<u32>,
pub pressable: bool,
pub scope: String,
pub source: Option<SourceRef>,
pub on: Option<IndexMap<String, Value>>,
pub accessibility: Option<Value>,
pub trigger_for: Option<String>,
pub form: Option<String>,
pub live: Option<String>,
}Expand description
One layout node. style keeps tokens UNRESOLVED and conditions NESTED;
the surface resolves them per theme/mode and flattens per pass.
Fields§
§index: u32The SLOT (stable across rebuilds by id) once the surface reconciled;
the pre-order position inside a fresh Built.
id: String§component: StringThe native kind painted (Box, Text, Button, …, Extension).
part: Option<String>The synthetic part of a native (Tabs/tab, Input/label).
owner: Option<String>The id of the native that owns the part.
owner_component: Option<String>§catalog_id: Option<String>For Extension nodes: the extension’s catalog id and native kind.
extension_kind: Option<String>§depth: u32§parent: Option<u32>§children: Vec<u32>§layer: u32§kind: NodeKind§props: PropsProps with bindings, calls and $string.<id> resolved.
base_style: PropsThe structural style (author’s + template’s), bindings resolved, token refs NOT resolved, conditions nested.
default_keys: Vec<String>The keys of base_style a builder only DEFAULTED (style_default):
the native’s own root recipe wins over them (an author’s key wins
over the recipe).
own_query: Option<RecipeQuery>The native’s own root recipe (Text/root for its variant).
part_query: Option<RecipeQuery>The macro or native PART recipe (Badge/label, Tabs/tab).
VAPP-163: the base_style keys the author wrote ON the macro node
(recipe.authored): they win over the part recipe.
lines: Option<u32>§pressable: bool§scope: StringThe data scope (template item pointer) bindings resolved against.
source: Option<SourceRef>Where the node’s SOURCE UiNode lives when its id is an instance id
(a template item’s descendants, a Table slot cell’s controls carry
<sourceId><suffix>). None = the id itself names a node of the
surface’s tree (or the node is a synthetic part).
on: Option<IndexMap<String, Value>>The on map of the source node (events route through the owner).
accessibility: Option<Value>§trigger_for: Option<String>The overlay node this node opens (a trigger slot’s root).
form: Option<String>The enclosing Form’s id (fields and submit buttons).
live: Option<String>A live region: polite | assertive (Text live, Toast, Form errors).