tui: create loom-tui crate scaffold with crossterm lifecycle #11
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#11
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
User story
As a developer contributing to Loom, I want a new
loom-tuibinary crate wired into the workspace with a working terminal lifecycle, so that subsequent tickets have a place to land and can assume a running ratatui app.Acceptance criteria
Workspace
crates/loom-tui/created withCargo.toml(edition 2024) depending onloom-core,ratatui,crossterm,tokio(multi-thread),color-eyre,tracing,tracing-subscribercrates/loom-tuiadded to[workspace.members]in rootCargo.tomlloom-tuicargo clippy -p loom-tui -- -D warningspassesTerminal lifecycle
main.rsinitializescolor_eyre, a tracing subscriber honoringRUST_LOGCtrl+C,q, andSIGTERMall trigger a clean teardownResizeevents trigger a re-render at the new dimensionsSkeleton app
src/app.rsexposes anAppwithrun(&mut self) -> Result<()>driving an event loop overtokio::select!(keyboard/mouse stream + shutdown signal)loom-tuiso the crate is visually aliveevent,screens,components,image,keybinds,configBuild
cargo build -p loom-tuisucceedscargo run -p loom-tuilaunches the UI and exits cleanly onqOut of scope
References