Public declaration syntax from harness-tui-kit/src/components/history/cell.rs Original source SHA-256: 9fbac8239b612ae5633d3b22f70c8e5813785748060588b969bae1ac06ecd7bb Function bodies and constant values are omitted. This is not the complete implementation. Source line 26 pub trait HistoryCell: Debug + Send + Sync { /// The logical lines displayed in the main chat viewport. fn display_lines(&self, width: u16) -> Vec>; /// Number of viewport rows needed to render this cell at `width`. /// Defaults to the count of logical lines returned by /// [`Self::display_lines`]. Override when the cell wraps content /// or contains lines wider than `width`. fn desired_height(&self, width: u16) -> u16 ; /// Lines for the transcript overlay (e.g. Ctrl+T in Codex). /// Defaults to [`Self::display_lines`]; override when the /// transcript representation should differ (e.g. `ExecCell` may /// show every grouped command in transcript mode but only the /// most-recent in viewport mode). fn transcript_lines(&self, width: u16) -> Vec> ; /// Coarse "animation tick" for cells whose rendered output depends /// on elapsed time (spinners, shimmer effects). Returning `Some` /// signals that any cached transcript output should be invalidated /// once the tick changes; returning `None` (the default) means the /// cell renders identically across frames. fn transcript_animation_tick(&self) -> Option ; /// True when this cell continues a stream from the previous cell. /// Used by the view to suppress redundant headers / dividers /// between consecutive assistant deltas. Defaults to `false`. fn is_stream_continuation(&self) -> bool ; }