feat(tui): image rendering — protocol auto-detection #58
No reviewers
Labels
No labels
area:agents
area:ai
area:config
area:dashboard
area:design
area:design-review
area:devtools
area:entities
area:gallery
area:generate
area:image
area:infra
area:meta
area:model-browser
area:navigation
area:presets
area:security
area:sessions
area:settings
area:sharing
area:test
area:ux
area:webhook
area:workdir
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/loom!58
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "tui/detect-15"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Closes out Phase 2 of the loom-tui roadmap. Stacks on #57. Closes charles/loom#15.
What's in
image::detect::TerminalCaps—kitty/sixel/chafabools,TerminalCaps::probe()reads$TERM,$TERM_PROGRAM, and scans$PATHforchafaimage::detect::select_renderer(override, caps)— pure function, exhaustively tested.ImageProtocol::Autowalks Kitty → sixel → chafa → halfblock;::Nonereturns aNoopRenderer; explicit overrides always win, falling back tohalfblockif the requested backend isn't actually availableimage::detect::NoopRendererfor[tui] image_protocol = "none"main.rsprobes at startup and logs the chosen protocol name atinfoTests (4 new, 59 total)
ImageProtocol::Nonealways yields"none"Auto+ all-caps-on yields"kitty"Auto+ no caps yields"halfblock"Autoeven when the caps suggest kittyNotes
kitty/wezterm/ghostty/ etc. in practiceimage_protocolconfig pathway is live end-to-end:tui.toml→LoomTuiConfig::tui.image_protocol→detect_renderer→ chosen backend