plugin-based effects architecture, daemon mode with command-and-control (C&C), and display abstraction #25
Reference in New Issue
Block a user
Delete Branch "klubhaus/sideline:effects_plugins"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Changes
Effects Plugin System
engine/effects/types.py- EffectConfig, EffectContext dataclasses and EffectPlugin protocolengine/effects/registry.py- Plugin discovery and management (EffectRegistry)engine/effects/chain.py- Ordered pipeline execution (EffectChain)engine/effects/performance.py- Performance monitoring (PerformanceMonitor)engine/effects/controller.py- NTFY command handlereffects_plugins/- Externalized effect plugins (noise, glitch, fade, firehose)engine/effects.py→engine/effects/legacy.pyfor compatibilityDisplay Abstraction
engine/display.py- Swappable display backendsDaemon Mode & Command-and-Control
klubhaus_terminal_mainline_cc_cmd- commands TO mainlineklubhaus_terminal_mainline_cc_resp- responses FROM mainlineDocumentation
Testing
test_display.py- TerminalDisplay, NullDisplaytest_effects.py- Plugin system, chain, registry, performancetest_effects_controller.py- C&C command handlertest_ntfy_integration.py- Topic integration tests