Commit Graph

4 Commits

Author SHA1 Message Date
bc2e086f2f feat(daemon): add daemon mode with C&C and display abstraction
- Add display abstraction with swappable backends (TerminalDisplay, NullDisplay)
- Separate C&C into RX/TX topics for serial-like communication
- Add StreamController with automatic ntfy topic warmup
- Add performance monitoring for render + display stages
- Update AGENTS.md and README.md with daemon/cmd operating procedures
- Add clean/clobber tasks to mise.toml
- Add tests for display, effects controller, and controller warmup
- Fix bug where /effects reorder command was unreachable
2026-03-15 18:37:36 -07:00
2f1b2591c6 fix(cmdline): make cmdline work without PIL dependency
- Refactor controller to not require importing engine.layers (which imports PIL)
- Add set_effect_chain_ref for external chain registration
- Fix cmdline to use new ref mechanism
2026-03-15 17:35:00 -07:00
f5a086154a feat(effects): add performance monitoring to effect pipeline
- Add PerformanceMonitor to collect per-effect timings
- Track effect duration (ms), buffer chars in/out per frame
- Store last 60 frames in ring buffer
- Add /effects stats NTFY command to view performance data
- Add tests for performance monitoring system
2026-03-15 17:24:38 -07:00
291e96d11e feat(effects): add plugin architecture for visual effects
- Extract effects as fully decoupled plugins in engine/effects/
- Add EffectConfig, EffectContext dataclasses and EffectPlugin protocol
- Add EffectRegistry for plugin discovery and management
- Add EffectChain for ordered pipeline execution
- Move built-in effects to effects_plugins/ directory
- Add interactive effects config picker during startup
- Add NTFY command handler for /effects commands
- Add tests for effects system (24 new tests)
- Update AGENTS.md with effects plugin documentation
- Add conventional commits section to AGENTS.md

chore: add coverage.xml to .gitignore
2026-03-15 17:16:49 -07:00