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
This commit is contained in:
2026-03-15 17:35:00 -07:00
parent b86434ac03
commit 2f1b2591c6
2 changed files with 20 additions and 7 deletions

View File

@@ -1,11 +1,24 @@
from engine.effects.performance import get_monitor
from engine.effects.registry import get_registry
_effect_chain_ref = None
def _get_effect_chain():
from engine.layers import get_effect_chain as _chain
global _effect_chain_ref
if _effect_chain_ref is not None:
return _effect_chain_ref
try:
from engine.layers import get_effect_chain as _chain
return _chain()
return _chain()
except Exception:
return None
def set_effect_chain_ref(chain) -> None:
global _effect_chain_ref
_effect_chain_ref = chain
def handle_effects_command(cmd: str) -> str: