feat(tui): Model browser screen — CivitAI integration #71

Merged
charles merged 1 commit from tui/model-civitai-32 into main 2026-04-11 20:43:04 +00:00
Owner

Stacks on #70. Closes charles/loom#32. First PR of Phase 5.

  • ModelBrowserScreen + ModelSource::{CivitAI, HuggingFace, Local}
  • Tab strip with 1/2/3/Tab switching, live query box, should_fire_search(now) debounce at 300 ms, paginated results: Vec<ResultCard>, selection movement
  • Rendering: tabs + search box + results list (or "no results" hint while the bridge is unwired)

3 new tests, 95 total. Actual PluginBridge::search_models call fires from the glue PR that threads the bridge through AppCtx. Subsequent Phase 5 PRs populate the HF tab (#33), Local tab (#34), and IP-Adapter filter (#35).

Stacks on #70. Closes charles/loom#32. First PR of Phase 5. - `ModelBrowserScreen` + `ModelSource::{CivitAI, HuggingFace, Local}` - Tab strip with `1`/`2`/`3`/Tab switching, live query box, `should_fire_search(now)` debounce at 300 ms, paginated `results: Vec<ResultCard>`, selection movement - Rendering: tabs + search box + results list (or "no results" hint while the bridge is unwired) 3 new tests, 95 total. Actual `PluginBridge::search_models` call fires from the glue PR that threads the bridge through `AppCtx`. Subsequent Phase 5 PRs populate the HF tab (#33), Local tab (#34), and IP-Adapter filter (#35).
Adds ModelBrowserScreen with ModelSource (CivitAI / HuggingFace /
Local), a live-input query with 300 ms debounce tracked by
should_fire_search(now), a paginated result list (ResultCard),
selection movement, and a tab strip. 1/2/3 or Tab switches source.

The actual PluginBridge::search_models call fires from the glue PR
that threads the bridge through AppCtx. This ticket owns the state
machine and rendering; subsequent Phase 5 PRs populate the other
tabs and the IP-Adapter filter.

Closes charles/loom#32

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
charles changed target branch from tui/gallery-replay-31 to main 2026-04-11 20:42:58 +00:00
charles deleted branch tui/model-civitai-32 2026-04-11 20:43:05 +00:00
Sign in to join this conversation.
No reviewers
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!71
No description provided.