#[non_exhaustive]pub enum Standing {
Open,
Taken,
Inherited,
Pruned,
PrunedAbove,
}Expand description
Whether a FacetValue is narrowing the set, and how it came to be.
Five rather than a bool, and the extra members are what a tree costs. A pruned branch and an untaken one are not the same state (one was decided against and the other was never reached) and a child under a taken parent is in force without anybody having picked it. A renderer given a bool either marks every descendant of a taken branch, which reads as forty deliberate choices, or marks none of them, which reads as unfiltered.
The out side needs the same pair the in side has. A child under a pruned
branch is out without anybody having pruned it: PrunedAbove to
Pruned’s decision, as Inherited is to Taken’s.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Open
Not picked, and nothing above it is either.
Taken
Picked here. The set is narrowed to it and whatever hangs off it.
Inherited
In force because something above it was taken.
Pruned
Pruned out, though something above it was taken.
The state that only Selecting::Subtree can reach, and the reason
exclusion is drawn as a visible affordance beside each label rather than
as a modifier on the ordinary one: a gesture a terminal cannot express is
a gesture half the renderers would have to leave out, and an affordance
nothing teaches is one users do not find.
PrunedAbove
Out because something above it was pruned.
Not picked: clearing it clears nothing, because the decision is further
up, which is Inherited’s position on the other
side.
Implementations§
Source§impl Standing
impl Standing
Sourcepub const fn intent(self) -> &'static str
pub const fn intent(self) -> &'static str
The content intent the value takes.
Pruned reads back a step, which is the three-tone rule
above rather than a new decision: a pruned branch is still a live control
(pressing it takes the prune off) so it may not wear content-muted,
and it is not the thing itself either.
Sourcepub const fn pruned_out(self) -> bool
pub const fn pruned_out(self) -> bool
Whether the value is out of the set by a prune, here or above.
in_force’s counterpart, so a renderer reading a
value back a step does not have to know which of the two it has.