Upward / Downward Passes and Solver
Upward Pass: upward_measure_pass_cached
- walks from the deepest level back to the root
- computes
IntrinsicSizefor containers from their children - ignores
Absoluteitems that are out of flow - uses the cache to skip clean nodes
Downward Pass: downward_solve_pass_safe
- walks from the root toward deeper levels
- builds
SolverConfigandSolverSpecfor each node - calls
solve_flex_layout - writes results into:
ComputedSizeTransform
Solver
In src/layout/core/solver.rs, the solver:
- separates in-flow and absolute items
- resolves main and cross sizes
- applies flex grow and shrink
- applies align and stretch rules
- resolves the absolute box at the end
translate_spec / translate_config
translate_configreads container-level data fromULayouttranslate_specreads item-level data fromUSelf
This translation layer is the bridge between public layout components and the internal solver.