ce06a4360d
- footswitch.py: GPIO debounce engine (20ms window), long-press detection (500ms), threaded poll loop with virtual pin support for testing - leds.py: WS2812B/APA102 RGB LED controller with bypass indicator (red/green), preset navigation scan animation, tap tempo blip, configurable brightness (0.0-1.0) - display.py: SSD1306 128x64 OLED renderer with preset mode (bank + preset name + FX chain), tuner mode (note + cents bar), FX edit (parameter bar), settings mode, boot splash - __init__.py: Public API re-exports for all 3 modules - tests/test_ui.py: 37 tests — debounce engine, GPIO simulation, short/long press boundary, LED pixel control, bypass colors, display mode rendering (preset/tuner/fx_edit/settings) - scripts/ui_test.py: standalone test tool (python scripts/ui_test.py --all or --interactive)