Feature Proposal: Vertical Cast Preset Bar (Left of Gutter)
Summary
Add a vertical Cast button bar that displays the project’s presets (up to 15), sorted alphabetically, as colored buttons. This allows users to see the available cast at a glance and select the active preset with one click. A compact N / E / S / D management row beneath the bar will handle preset creation, editing, saving, and deletion — replacing the right‑side preset dropdown.
Motivation
- The current preset dropdown hides the available cast and slows switching.
- The gutter already shows who is speaking; the cast bar shows who can speak.
- Switching presets becomes dramatically faster with visible buttons.
- Most narration projects use a small cast (often 1–2 voices for long stretches; rarely more than ~15).
Proposed UI
Layout
[ Cast Column ] [ Gutter Column ] [ Editor ]
Column Headers
- Cast — above cast button bar
- Gutter — above gutter markers
- “Current Chunk Editor” shifts slightly upward to align the header row.
Cast Buttons
- Styled like gutter markers: preset color background + high‑contrast white text.
- Alphabetical order.
- Maximum: 15 presets.
- Click → sets active preset (same as current dropdown).
- Selected state visually distinct.
- Tooltip: full preset name (and optionally voice ID).
Management Row (N / E / S / D)
| Button |
Color |
Tooltip |
Action |
| N |
Blue |
New preset |
Create a new preset seeded from current voice settings. |
| E |
Amber |
Edit preset |
Load selected preset into voice controls. |
| S |
Green |
Save preset |
Update selected preset or create new. |
| D |
Red |
Delete preset |
Confirm, then remove selected preset. |
Voice Settings & Save Behavior
- Right panel continues to control voice, rate, pitch, volume.
- These values are saved into the selected preset when pressing S.
- N seeds a new preset from current voice settings.
- If no preset is selected:
- E and D disabled.
- S optionally limited to “create new”.
Preset color is fixed at creation.
Right Panel Changes
- Keep: Voice / Rate / Pitch / Volume controls.
- Remove: Preset dropdown + Save/Delete buttons.
Behavior Summary
| Action |
Result |
| Click cast button |
Sets active preset; becomes target for E/S/D |
| N |
New preset from current voice settings |
| E |
Load selected preset into voice controls |
| S |
Update selected preset or create new |
| D |
Delete selected preset |
| Load project/chunk |
Cast bar rebuilds (alphabetical, ≤15) |
| Add/rename/delete preset |
Cast bar updates |
Roles
- Cast bar → who’s available + preset management
- Gutter → who’s speaking on this line
- Voice panel → live voice settings saved into presets via S
Technical Notes
Likely files involved:
MainWindow.xaml — cast column, headers, button list, N/E/S/D row
MainWindow.xaml.cs — selection logic, handlers, refresh on collection changes
Preset.cs — name + color binding
PresetGutter.cs — if active preset must sync with gutter
- Project/chunk JSON load path — cast bar uses same preset list as dropdown
Bind cast bar to sorted preset collection (max 15).
Acceptance Criteria
- Cast bar appears left of gutter with headers.
- Buttons use preset color + high‑contrast text; alphabetical; max 15.
- Clicking a button selects active preset; selection is visually clear.
- N/E/S/D row implemented with correct colors and tooltips.
- Save dialog unchanged; persists voice/rate/pitch/volume.
- Bar updates on project load and preset changes.
- Right‑side preset dropdown + Save/Delete removed.
- Voice controls remain unchanged.
- No recoloring after creation.
Out of Scope
- Recoloring presets after creation
- Drag‑and‑drop reordering
- Showing more than 15 presets
- Changing gutter marker format or meaning
Design Intent (One Line)
Gutter = who’s on this line; Cast = who’s in the story; N/E/S/D = manage the cast; voice sliders define what Save writes into the selected (or new) preset.
Feature Proposal: Vertical Cast Preset Bar (Left of Gutter)
Summary
Add a vertical Cast button bar that displays the project’s presets (up to 15), sorted alphabetically, as colored buttons. This allows users to see the available cast at a glance and select the active preset with one click. A compact N / E / S / D management row beneath the bar will handle preset creation, editing, saving, and deletion — replacing the right‑side preset dropdown.
Motivation
Proposed UI
Layout
Column Headers
Cast Buttons
Management Row (N / E / S / D)
Voice Settings & Save Behavior
Preset color is fixed at creation.
Right Panel Changes
Behavior Summary
Roles
Technical Notes
Likely files involved:
MainWindow.xaml— cast column, headers, button list, N/E/S/D rowMainWindow.xaml.cs— selection logic, handlers, refresh on collection changesPreset.cs— name + color bindingPresetGutter.cs— if active preset must sync with gutterBind cast bar to sorted preset collection (max 15).
Acceptance Criteria
Out of Scope
Design Intent (One Line)
Gutter = who’s on this line; Cast = who’s in the story; N/E/S/D = manage the cast; voice sliders define what Save writes into the selected (or new) preset.