tui: Generate screen — prompt editor & parameter fields #20

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

User story

As a user, I want to edit prompts and every generation parameter inline on the Generate screen, so that I can kick off text-to-image jobs without leaving the TUI.

Acceptance criteria

Layout

  • Generate screen splits per spec §4.1.1: left column with prompt textarea, negative prompt textarea, parameter bar, LoRA list; right column reserved for preview (stub, filled by its own ticket)
  • Parameters row: Model, Sampler, Steps, CFG, Width, Height, Seed, Batch size, Batch count

Prompt editors

  • Multi-line textarea supports wrapping, cursor movement (h/j/k/l + arrow keys), word jump (Ctrl+Left/Right), Ctrl+U clear line, Ctrl+W delete word, Ctrl+A select all
  • Paste event handled via bracketed paste
  • Syntax highlighting for A1111 attention tokens (word:1.2) and [word] in a distinct colour

Parameter fields

  • Each field is focusable with Tab; focused field takes edit input
  • Model / Sampler open a floating combo picker populated from loom-core (PluginBridge)
  • Steps, CFG, Width, Height, Seed, Batch size, Batch count use number editors; invalid input blocked
  • Seed: R sets -1, L copies last generated seed (retrieved from loom-core queue history)
  • Aspect-ratio preset dropdown accessible via Ctrl+Shift+A

Wiring

  • F5 fires AppAction::GenerateRun(params) which posts to loom-core queue
  • A validation summary in the status bar blocks submission if required fields are missing
  • Defaults for all parameters come from AppSettings::generation_defaults

Tests

  • Unit test: submitting with an empty prompt fails validation
  • Unit test: entering a model in the combo updates the in-memory params

Out of scope

  • LoRA panel (separate ticket)
  • Mode tabs t2i/i2i/inpaint/controlnet (separate ticket)
  • Real-time preview (separate ticket)
  • AI prompt enhancement / tag generation (separate ticket)

References

  • Spec §4.1 "Generate Screen"
## User story As a user, I want to edit prompts and every generation parameter inline on the Generate screen, so that I can kick off text-to-image jobs without leaving the TUI. ## Acceptance criteria ### Layout - [ ] Generate screen splits per spec §4.1.1: left column with prompt textarea, negative prompt textarea, parameter bar, LoRA list; right column reserved for preview (stub, filled by its own ticket) - [ ] Parameters row: Model, Sampler, Steps, CFG, Width, Height, Seed, Batch size, Batch count ### Prompt editors - [ ] Multi-line textarea supports wrapping, cursor movement (h/j/k/l + arrow keys), word jump (Ctrl+Left/Right), `Ctrl+U` clear line, `Ctrl+W` delete word, `Ctrl+A` select all - [ ] Paste event handled via bracketed paste - [ ] Syntax highlighting for A1111 attention tokens `(word:1.2)` and `[word]` in a distinct colour ### Parameter fields - [ ] Each field is focusable with Tab; focused field takes edit input - [ ] Model / Sampler open a floating combo picker populated from `loom-core` (`PluginBridge`) - [ ] Steps, CFG, Width, Height, Seed, Batch size, Batch count use number editors; invalid input blocked - [ ] Seed: `R` sets `-1`, `L` copies last generated seed (retrieved from `loom-core` queue history) - [ ] Aspect-ratio preset dropdown accessible via `Ctrl+Shift+A` ### Wiring - [ ] `F5` fires `AppAction::GenerateRun(params)` which posts to `loom-core` queue - [ ] A validation summary in the status bar blocks submission if required fields are missing - [ ] Defaults for all parameters come from `AppSettings::generation_defaults` ### Tests - [ ] Unit test: submitting with an empty prompt fails validation - [ ] Unit test: entering a model in the combo updates the in-memory params ## Out of scope - LoRA panel (separate ticket) - Mode tabs t2i/i2i/inpaint/controlnet (separate ticket) - Real-time preview (separate ticket) - AI prompt enhancement / tag generation (separate ticket) ## References - Spec §4.1 "Generate Screen"
charles added this to the loom-tui v0.1.0 milestone 2026-04-11 13:02:42 +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#20
No description provided.