tui: Generate screen — LoRA panel #21

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

User story

As a user on the Generate screen, I want to add, remove, and tune LoRA weights before kicking off a generation, so that I can layer styles and characters on top of the base model.

Acceptance criteria

LoRA list widget

  • Scrollable list below the parameter bar (per §4.1.1 layout)
  • Each row: name, weight (f32, editable inline), remove hint
  • j/k move selection; a opens the LoRA browser overlay; d removes the focused row; +/- adjusts weight by 0.05; typing digits edits weight directly

LoRA browser overlay

  • Populated from loom-core installed LoRAs (PluginBridge::list_loras())
  • Supports fuzzy search by name
  • Enter adds the selected LoRA to the list with default weight 1.0
  • Esc closes without changes

Integration

  • LoRA weights are serialised into the generation params passed to the backend
  • Removing a LoRA updates the in-memory params and triggers a re-render
  • Weight range validated [-2.0, 2.0]

Tests

  • Unit test: adding the same LoRA twice replaces the existing row instead of duplicating it
  • Unit test: weight adjustment clamps at ±2.0

Out of scope

  • Installing new LoRAs from CivitAI / HF (Model Browser ticket)
  • ControlNet panel (separate mode-tabs ticket)

References

  • Spec §4.1.2 "LoRA list"
## User story As a user on the Generate screen, I want to add, remove, and tune LoRA weights before kicking off a generation, so that I can layer styles and characters on top of the base model. ## Acceptance criteria ### LoRA list widget - [ ] Scrollable list below the parameter bar (per §4.1.1 layout) - [ ] Each row: name, weight (f32, editable inline), remove hint - [ ] `j`/`k` move selection; `a` opens the LoRA browser overlay; `d` removes the focused row; `+`/`-` adjusts weight by 0.05; typing digits edits weight directly ### LoRA browser overlay - [ ] Populated from `loom-core` installed LoRAs (`PluginBridge::list_loras()`) - [ ] Supports fuzzy search by name - [ ] `Enter` adds the selected LoRA to the list with default weight 1.0 - [ ] `Esc` closes without changes ### Integration - [ ] LoRA weights are serialised into the generation params passed to the backend - [ ] Removing a LoRA updates the in-memory params and triggers a re-render - [ ] Weight range validated `[-2.0, 2.0]` ### Tests - [ ] Unit test: adding the same LoRA twice replaces the existing row instead of duplicating it - [ ] Unit test: weight adjustment clamps at ±2.0 ## Out of scope - Installing new LoRAs from CivitAI / HF (Model Browser ticket) - ControlNet panel (separate mode-tabs ticket) ## References - Spec §4.1.2 "LoRA list"
charles added this to the loom-tui v0.1.0 milestone 2026-04-11 13:02:49 +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#21
No description provided.