Parent epic: #194 · Needs: #196 (filter), #197 (sort).
Scope
Slot manager (src/ui/slot_manager.rs) gains the shared search bar with TypeToFilter activation and the sort chip with SlotSortKey (default SlotNumber ↑). Filter matches the assigned sound's customized name, file name, and tag/folder.
Invariant: sorting reorders the list rendering only — slot numbers and assignments stay attached to their rows; it never remaps which sound lives in which slot.
Acceptance
- Typing on the slots view filters rows immediately; empty slots behavior defined (hidden while filtering, shown otherwise).
- Sort by every
SlotSortKey; persisted as sort_prefs["slots"].
- App-state tests for filter/sort composition on slot rows.
Design: docs/superpowers/specs/2026-07-06-list-controls-design.md
Parent epic: #194 · Needs: #196 (filter), #197 (sort).
Scope
Slot manager (
src/ui/slot_manager.rs) gains the shared search bar withTypeToFilteractivation and the sort chip withSlotSortKey(default SlotNumber ↑). Filter matches the assigned sound's customized name, file name, and tag/folder.Invariant: sorting reorders the list rendering only — slot numbers and assignments stay attached to their rows; it never remaps which sound lives in which slot.
Acceptance
SlotSortKey; persisted assort_prefs["slots"].Design:
docs/superpowers/specs/2026-07-06-list-controls-design.md