feat(app): add demo mode with HUD effect plugin

- Add --demo flag that runs effect showcase with pygame display
- Add HUD effect plugin (effects_plugins/hud.py) that displays:
  - FPS and frame time
  - Current effect name with intensity bar
  - Pipeline order
- Demo mode cycles through noise, fade, glitch, firehose effects
- Ramps intensity 0→1→0 over 5 seconds per effect
This commit is contained in:
2026-03-16 00:53:13 -07:00
parent 0f2d8bf5c2
commit 3e9c1be6d2
3 changed files with 186 additions and 0 deletions

View File

@@ -241,6 +241,10 @@ DISPLAY = _arg_value("--display", sys.argv) or "terminal"
WEBSOCKET = "--websocket" in sys.argv
WEBSOCKET_PORT = _arg_int("--websocket-port", 8765)
# ─── DEMO MODE ────────────────────────────────────────────
DEMO = "--demo" in sys.argv
DEMO_EFFECT_DURATION = 5.0 # seconds per effect
def set_font_selection(font_path=None, font_index=None):
"""Set runtime primary font selection."""