pub enum PanelKind {
User,
Assistant,
Tool,
Thinking,
Gloss(GlossKind),
}Expand description
What a panel actually shows, so a label can say more than “assistant”: the role already has a colour, so the label names the content instead. A gloss is labelled by what wrote it rather than by what it holds.
Variants§
Implementations§
Source§impl PanelKind
impl PanelKind
Sourcepub const EVERY: [PanelKind; 10]
pub const EVERY: [PanelKind; 10]
Every kind a panel can be, in the order the key reads them: down the cool column, then down the warm one. The key builds its chips from this rather than restating the list, so a new kind reaches it by being declared here rather than by being remembered in the markup as well.
The two halves are five and five so the key is a clean grid, which is why
note sits at the foot of the warm column despite being Side::Aside.
Nothing reads the order as a classification: every chip carries its own
side, so the dock still steps past note and its neutral ink still keeps
it from reading as the model’s.
pub fn label(self) -> &'static str
Sourcepub fn side(self) -> Side
pub fn side(self) -> Side
Which side of the exchange this kind belongs to. Exhaustive on purpose: adding a kind will not compile until its side is decided.
A rule is the user’s own writing pulled into the conversation, so it is theirs however the harness fetched it. A plan boundary belongs to the model: the mode is the user’s to ask for, but entering and leaving it is the model reporting on its own working, which is why it reads beside the reasoning rather than beside the asking.
Trait Implementations§
impl Copy for PanelKind
impl Eq for PanelKind
impl StructuralPartialEq for PanelKind
Auto Trait Implementations§
impl Freeze for PanelKind
impl RefUnwindSafe for PanelKind
impl Send for PanelKind
impl Sync for PanelKind
impl Unpin for PanelKind
impl UnsafeUnpin for PanelKind
impl UnwindSafe for PanelKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more