tui: gallery — filter popover with chips (tags / model / lora / nsfw) #137
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#137
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 user with hundreds of images, I want a filter overlay where I can pick tags, model, LoRA, and NSFW flag in one place, so that I don't have to discover separate keybinds for each filter dimension.
Background
GalleryFilterhas fields fortags,model,lora,hide_nsfwthat the storagelist()already honours, but onlysearchis settable from the UI. GTK has a filter popover with chip indicators incrates/loom-gtk/src/pages/gallery/mod.rs:841-855.Acceptance criteria
Filter overlay
OverlayKind::GalleryFilteropens viaf(uppercaseF)storage.list_tags(), multi-select withSpaceEnterapplies;Esccancels;rresets all filtersActive-filter chip bar
tag:portrait × · model:sd-xl × · NSFW hidden ×)xkeypress when chip-focusedStorage
pub fn list_tags(&self) -> Result<Vec<String>>toGalleryStorageif not presentpub fn list_distinct_models(&self) -> Result<Vec<String>>and same for LoRAsTests
Out of scope
References
crates/loom-tui/src/screens/gallery.rs(filter: GalleryFilter)crates/loom-gtk/src/pages/gallery/mod.rs:841-855(GTK reference)crates/loom-core/src/services/storage.rs(storage methods to add)