Event-log display state, split out of BB.TUI.State.
list holds the captured events (newest first, capped); scroll_offset is
the viewport offset; paused? freezes capture; show_detail? toggles the
detail popup for the selected event. The high-rate debounce that feeds
list lives in BB.TUI.State.Throttle.
Summary
Types
@type t() :: %BB.TUI.State.Events{ list: [{DateTime.t(), list(), term()}], paused?: boolean(), scroll_offset: non_neg_integer(), show_detail?: boolean() }