Terminal renderer for Vibe's semantic UI view model.
This renderer delegates layout to the declarative chat view and returns iodata
lines. Semantic state lives in Vibe.UI.
Summary
Types
@type line() :: IO.chardata()
Functions
@spec render(Vibe.UI.ViewModel.t(), pos_integer(), Vibe.TUI.Theme.t()) :: [line()]
@spec render_frame(map(), Vibe.TUI.Theme.t(), Vibe.TUI.RenderState.t(), keyword()) :: Vibe.TUI.RenderFrame.t()