tui: Gallery screen — detail view, zoom & pan, info overlay #30

Closed
opened 2026-04-11 13:04:37 +00:00 by charles · 0 comments
Owner

User story

As a user, I want a full-screen detail view with zoom, pan, metadata, and export, so that I can inspect and act on a generated image individually.

Acceptance criteria

Detail view

  • Enter on a selected gallery item opens a full-screen detail view
  • Left area: full image via ImageRenderer; right sidebar: metadata (prompt, negative, model, sampler, steps, CFG, seed, backend, timestamp, filename)
  • Esc / q returns to the previous grid/list view preserving scroll position

Zoom & pan

  • +/- or z/Z zoom by a factor of 1.25, re-rendering the image at the new cell size
  • h/j/k/l pan the image within the view rect when zoomed past fit
  • 0 resets to fit

Image info overlay (i)

  • Shows full generation parameters with copyable fields (y copies the focused field to system clipboard via arboard)
  • Esc closes the overlay

Actions in detail view

  • s opens the share overlay (separate ticket)
  • e exports the file via a path picker (fzf or built-in directory browser)
  • * toggles favourite
  • dd or Delete moves to trash with confirmation; u undoes the last delete in the current session

Tests

  • Unit test: zoom level round-trips through +/-/0
  • Unit test: info overlay copies the prompt field to a mock clipboard

Out of scope

  • Share overlay implementation (separate ticket)
  • Replay generation (separate ticket)
  • AI defect / region analysis (separate AI ticket)

References

  • Spec §4.2.2 "Image info overlay", "Zoom in detail view", "Export", "Delete"
## User story As a user, I want a full-screen detail view with zoom, pan, metadata, and export, so that I can inspect and act on a generated image individually. ## Acceptance criteria ### Detail view - [ ] `Enter` on a selected gallery item opens a full-screen detail view - [ ] Left area: full image via `ImageRenderer`; right sidebar: metadata (prompt, negative, model, sampler, steps, CFG, seed, backend, timestamp, filename) - [ ] `Esc` / `q` returns to the previous grid/list view preserving scroll position ### Zoom & pan - [ ] `+`/`-` or `z`/`Z` zoom by a factor of 1.25, re-rendering the image at the new cell size - [ ] `h`/`j`/`k`/`l` pan the image within the view rect when zoomed past fit - [ ] `0` resets to fit ### Image info overlay (`i`) - [ ] Shows full generation parameters with copyable fields (`y` copies the focused field to system clipboard via `arboard`) - [ ] `Esc` closes the overlay ### Actions in detail view - [ ] `s` opens the share overlay (separate ticket) - [ ] `e` exports the file via a path picker (fzf or built-in directory browser) - [ ] `*` toggles favourite - [ ] `dd` or `Delete` moves to trash with confirmation; `u` undoes the last delete in the current session ### Tests - [ ] Unit test: zoom level round-trips through `+`/`-`/`0` - [ ] Unit test: info overlay copies the prompt field to a mock clipboard ## Out of scope - Share overlay implementation (separate ticket) - Replay generation (separate ticket) - AI defect / region analysis (separate AI ticket) ## References - Spec §4.2.2 "Image info overlay", "Zoom in detail view", "Export", "Delete"
charles added this to the loom-tui v0.1.0 milestone 2026-04-11 13:04:37 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/loom#30
No description provided.