- 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
39 lines
864 B
Python
39 lines
864 B
Python
from engine.effects.chain import EffectChain
|
|
from engine.effects.controller import handle_effects_command, show_effects_menu
|
|
from engine.effects.legacy import (
|
|
fade_line,
|
|
firehose_line,
|
|
glitch_bar,
|
|
next_headline,
|
|
noise,
|
|
vis_trunc,
|
|
)
|
|
from engine.effects.registry import EffectRegistry, get_registry, set_registry
|
|
from engine.effects.types import EffectConfig, EffectContext, PipelineConfig
|
|
|
|
|
|
def get_effect_chain():
|
|
from engine.layers import get_effect_chain as _chain
|
|
|
|
return _chain()
|
|
|
|
|
|
__all__ = [
|
|
"EffectChain",
|
|
"EffectRegistry",
|
|
"EffectConfig",
|
|
"EffectContext",
|
|
"PipelineConfig",
|
|
"get_registry",
|
|
"set_registry",
|
|
"get_effect_chain",
|
|
"handle_effects_command",
|
|
"show_effects_menu",
|
|
"fade_line",
|
|
"firehose_line",
|
|
"glitch_bar",
|
|
"noise",
|
|
"next_headline",
|
|
"vis_trunc",
|
|
]
|