- ToggleWidget: add Momentary/Toggle mode selector (mirrors TransportWidget
minus OSC); HW routing respects trigger_mode; fix invisible button on init
by removing explicit empty stylesheet; saves/loads trigger_mode per preset
- Big Title: full-width 28px bold QLineEdit above fader row, saves per-preset
as big_title; green underline on focus; single bottom border, no separator
- Layout panel: floating 220px window to the left of main window, toggled by
new Layout button next to Messages; shows Sections checkboxes (Preset
Browser, Big Title, Fader Row, Toggle Row, Transport Row); tracks window
move/resize; checkboxes not yet wired to functionality
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Extract all QWidget/QLayout instances and property configuration to module level
- Group by element: constructor → properties for each widget
- Keep __init__ assembly-only: addWidget, addLayout, addStretch, signals
- Explicit naming for clarity: separator_vertical_fader_zone_left, etc
- Applies to: IO columns (MIDI IN/OUT, Transport, OSC), Preset Browser, Transport/Fader/Toggle rows, OSC feedback containers
- Pattern: Module = what it is; __init__ = where it goes