Files
owlen/crates/owlen-tui
vikingowl d2a193e5c1 feat(tui): cache rendered message lines and throttle streaming redraws to improve TUI responsiveness
- Introduce `MessageRenderContext` and `MessageCacheEntry` for caching wrapped lines per message.
- Implement `render_message_lines_cached` using cache, invalidating on updates.
- Add role/style helpers and content hashing for cache validation.
- Throttle UI redraws in the main loop during active streaming (50 ms interval) and adjust idle tick timing.
- Update drawing logic to use cached rendering and manage draw intervals.
- Remove unused `role_color` function and adjust imports accordingly.
2025-10-12 15:02:33 +02:00
..

Owlen TUI

This crate contains all the logic for the terminal user interface (TUI) of Owlen.

It is built using the excellent ratatui library and is responsible for rendering the chat interface, handling user input, and managing the application state.

Features

  • Chat View: A scrollable view of the conversation history.
  • Input Box: A text input area for composing messages.
  • Model Selection: An interface for switching between different models.
  • Event Handling: A system for managing keyboard events and asynchronous operations.