Skip to main content

Module tree_guides

Module tree_guides 

Source
Expand description

Round 3 (VAPP-102, docs/round-3-contract.md §2): the tree connector rule the CORE computes for nested rows, mirroring packages/exponential-ui/src/tree-guides.ts line by line. tree_guides is the ×4 rule of the app (packages/ui/src/tree-guides.ts, desktop domain::tree_guides, iOS TreeGuides.swift, Android TreeGuides.kt), copied verbatim so a Section of Rows connects like a session tree or a PR stack. apply_tree_guides is the ONE post-expansion pass (the end of crate::macros::expand_macros): over every node’s children in order, each Row root contributes its numeric recipe.props.depth (anything else counts as 0 and ends every subtree), and the rule fills the Row’s guides part (a TreeGuides native) with elbowAt / tee / passThrough. Locked by fixtures/tree-guides.json and the Row cases of catalog-macros.json.

Structs§

TreeGuide
Guide geometry for ONE row, in gutter LEVELS (not pixels).

Functions§

apply_tree_guides
Fill every Row’s guides from the rows around it. Mutates root in place (the expander hands it a fresh tree). TS applyTreeGuides: the root itself and every slot value are one-element lists; every node’s children are one list; recurse slots then children.
is_row_root
The expanded root of a Row macro.
tree_guides
The guides for a flat list of VISIBLE rows, given their depths.