tui: Presets screen — wire storage backend & apply flow #91

Closed
opened 2026-04-12 13:24:21 +00:00 by claude-desktop · 0 comments
Collaborator

User Story

As a loom-tui user, I want the Presets screen to load and save generation presets from loom-core's storage, so that I can save, load, and share my favorite generation configurations.

Context

The Presets screen (#38) has a list UI with CRUD and export/import scaffolding. But the preset list is empty because storage isn't connected. This ticket wires persistence and the apply-to-Generate flow.

Acceptance Criteria

Storage

  • Preset list loads from loom-core storage on screen entry
  • a creates a new preset from current Generate screen settings
  • e opens inline editor for preset fields
  • d deletes preset with confirmation
  • r renames preset
  • y duplicates preset with a new name

Apply

  • Enter loads the selected preset into the Generate screen (all parameters, model, sampler, LoRAs, etc.)
  • Notification confirms "Preset '' applied"

Export/Import

  • E serializes the selected preset to a TOML file at a user-chosen path
  • I imports a preset from a TOML file path

Tests

  • Integration test: save preset, reload, verify fields match
  • Unit test: TOML serialization round-trip

Out of Scope

  • Preset sharing/cloud sync

References

  • Spec §4.5 (Presets Screen)
  • Existing code: src/screens/presets.rs
  • Tracking issue: #47
## User Story As a **loom-tui user**, I want the Presets screen to load and save generation presets from loom-core's storage, so that I can save, load, and share my favorite generation configurations. ## Context The Presets screen (#38) has a list UI with CRUD and export/import scaffolding. But the preset list is empty because storage isn't connected. This ticket wires persistence and the apply-to-Generate flow. ## Acceptance Criteria ### Storage - [ ] Preset list loads from loom-core storage on screen entry - [ ] `a` creates a new preset from current Generate screen settings - [ ] `e` opens inline editor for preset fields - [ ] `d` deletes preset with confirmation - [ ] `r` renames preset - [ ] `y` duplicates preset with a new name ### Apply - [ ] `Enter` loads the selected preset into the Generate screen (all parameters, model, sampler, LoRAs, etc.) - [ ] Notification confirms "Preset '<name>' applied" ### Export/Import - [ ] `E` serializes the selected preset to a TOML file at a user-chosen path - [ ] `I` imports a preset from a TOML file path ### Tests - [ ] Integration test: save preset, reload, verify fields match - [ ] Unit test: TOML serialization round-trip ## Out of Scope - Preset sharing/cloud sync ## References - Spec §4.5 (Presets Screen) - Existing code: `src/screens/presets.rs` - Tracking issue: #47
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#91
No description provided.