pub struct RenderCache {
pub chat: ChatState,
pub wrapped_line_cache: FxHashMap<u64, Vec<Line<'static>>>,
pub theme: Theme,
pub hostname: String,
pub username: String,
/* private fields */
}Expand description
Transient render-layer state that lives across frames but isn’t
reducer state. Owned by app::run_interactive; passed as &mut
to render() per frame.
Contents are pure memoization + UI affordances (scroll position,
wrapped-line cache, theme choice). Nothing here affects what the
reducer sees or what ends up on disk — the cache can be dropped
and rebuilt from &State at any time.
Fields§
§chat: ChatState§wrapped_line_cache: FxHashMap<u64, Vec<Line<'static>>>Per-message render cache: (content, theme, width) hash → fully wrapped,
role-prefixed assistant lines, so committed messages aren’t re-parsed or
re-wrapped every frame (#134).
theme: Theme§hostname: StringHost + user for the status bar’s user@host:cwd line, read once at
startup so StatusWidget::render doesn’t hit the environment on every
frame (#55). Process-constant, so caching here is exact.
username: StringImplementations§
Source§impl RenderCache
impl RenderCache
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RenderCache
impl RefUnwindSafe for RenderCache
impl Send for RenderCache
impl Sync for RenderCache
impl Unpin for RenderCache
impl UnsafeUnpin for RenderCache
impl UnwindSafe for RenderCache
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
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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