forked from genewildish/Mainline
- Add EffectPlugin ABC with @abstractmethod decorators for interface enforcement - Add runtime interface checking in discover_plugins() with issubclass() - Add EffectContext factory with sensible defaults - Standardize Display __init__ (remove redundant init in TerminalDisplay) - Document effect behavior when ticker_height=0 - Evaluate legacy effects: document coexistence, no deprecation needed - Research plugin patterns (VST, Python entry points) - Fix pysixel dependency (removed broken dependency) Test coverage improvements: - Add DisplayRegistry tests - Add MultiDisplay tests - Add SixelDisplay tests - Add controller._get_display tests - Add effects controller command handling tests - Add benchmark regression tests (@pytest.mark.benchmark) - Add pytest marker for benchmark tests in pyproject.toml Documentation updates: - Update AGENTS.md with 56% coverage stats and effect plugin docs - Update README.md with Sixel display mode and benchmark commands - Add new modules to architecture section
49 lines
1.1 KiB
Python
49 lines
1.1 KiB
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.performance import PerformanceMonitor, get_monitor, set_monitor
|
|
from engine.effects.registry import EffectRegistry, get_registry, set_registry
|
|
from engine.effects.types import (
|
|
EffectConfig,
|
|
EffectContext,
|
|
PipelineConfig,
|
|
create_effect_context,
|
|
)
|
|
|
|
|
|
def get_effect_chain():
|
|
from engine.layers import get_effect_chain as _chain
|
|
|
|
return _chain()
|
|
|
|
|
|
__all__ = [
|
|
"EffectChain",
|
|
"EffectRegistry",
|
|
"EffectConfig",
|
|
"EffectContext",
|
|
"PipelineConfig",
|
|
"create_effect_context",
|
|
"get_registry",
|
|
"set_registry",
|
|
"get_effect_chain",
|
|
"get_monitor",
|
|
"set_monitor",
|
|
"PerformanceMonitor",
|
|
"handle_effects_command",
|
|
"show_effects_menu",
|
|
"fade_line",
|
|
"firehose_line",
|
|
"glitch_bar",
|
|
"noise",
|
|
"next_headline",
|
|
"vis_trunc",
|
|
]
|