#[non_exhaustive]pub enum Fallback {
Wrap,
Stack,
Shed,
Menu,
}Expand description
What a group does when it is Room::Tight.
Authored, and required: the field carrying this has no Default and a group
cannot be described without saying what it does when it runs out of room.
Max ruled on that 2026-08-18 – more intentionality from layout designers is
acceptable so long as the constraints are solvable, because the goal is
enabling good layouts rather than rescuing bad ones. A default here would be
the crate guessing, and the guess would be silently wrong on the screens
that matter.
Relief resolves inside-out. A group asks its children to fall back before falling back itself, or an outer group collapses while an inner one still had slack.
§No Swap
An authored alternate group for the tight case is deliberately out of the first cut. It doubles the description for that group and the two halves can drift, which is the failure this vocabulary exists to end. Add it when a site proves it needs one.
#[non_exhaustive], Width’s reasoning. Unlike Priority there is no
order to preserve, so a member can be appended.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Wrap
One row becomes two. Every member stays, in the order described.
Stack
A row becomes a column. Every member stays, full width.
Shed
Members drop by Priority, down to Priority::Essential.
What a narrow table already does with its columns, applied to a group. What drops is gone from the screen, so this is right when the dropped members are facts the reader can do without and wrong when they are the only way to act.
Menu
The members Shed would drop move into one overflow
control instead.
The answer when a group holds actions. A control is not a fact: dropping
it does not cost the reader a detail, it costs them the only way to act,
which is RowPart::priority’s argument one level up.