feat(ui): enhance UI panel with preset picker and parameter adjustment #31

Closed
opened 2026-03-18 17:05:41 +00:00 by david · 0 comments
Owner

Summary

Enhance the interactive UI panel (BorderMode.UI) with additional features: preset picker overlay, parameter value adjustment, and improved event handling.

Features

  • Preset picker overlay: Show available presets and allow switching at runtime
  • Parameter sliders: Adjust numeric parameters of selected effect in real-time
  • Enhanced callbacks:
    • stage_toggled: Update stage enabled state
    • param_changed: Update effect config and trigger configure()
    • preset_changed: Rebuild pipeline with new preset
  • Raw mode: Enable terminal raw mode for better key input when using terminal display
  • Auto-population: Automatically extract parameter schemas from EffectConfig dataclasses

Why

  • Provides interactive control over pipeline configuration without restart
  • Enables rapid experimentation with effect parameters
  • Improves user experience for demos and exploration

Files Changed

  • engine/app.py: UI panel initialization and event callbacks, preset picker setup, pipeline rebuild on preset change
  • engine/pipeline/ui.py: Preset picker rendering, parameter adjustment logic, key event handling

Status

Feature complete.

  • Part of the UI panel feature (#20 Epic)
  • Requires BorderMode.UI support added in display module
## Summary Enhance the interactive UI panel (BorderMode.UI) with additional features: preset picker overlay, parameter value adjustment, and improved event handling. ## Features - **Preset picker overlay**: Show available presets and allow switching at runtime - **Parameter sliders**: Adjust numeric parameters of selected effect in real-time - **Enhanced callbacks**: - `stage_toggled`: Update stage enabled state - `param_changed`: Update effect config and trigger `configure()` - `preset_changed`: Rebuild pipeline with new preset - **Raw mode**: Enable terminal raw mode for better key input when using terminal display - **Auto-population**: Automatically extract parameter schemas from EffectConfig dataclasses ## Why - Provides interactive control over pipeline configuration without restart - Enables rapid experimentation with effect parameters - Improves user experience for demos and exploration ## Files Changed - `engine/app.py`: UI panel initialization and event callbacks, preset picker setup, pipeline rebuild on preset change - `engine/pipeline/ui.py`: Preset picker rendering, parameter adjustment logic, key event handling ## Status Feature complete. ## Related - Part of the UI panel feature (#20 Epic) - Requires BorderMode.UI support added in display module
david closed this issue 2026-03-18 22:03:20 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: klubhaus/sideline#31