Story: EffectPlugin ABC and Registry #17

Closed
opened 2026-03-18 06:27:01 +00:00 by david · 2 comments
Owner

As a developer
I want to add effects without modifying core code
So that the effects ecosystem can grow independently

Acceptance Criteria:

  • EffectPlugin ABC with process() and configure()
  • EffectRegistry discovers plugins
  • EffectChain executes in pipeline order
  • Runtime discovery via effects_plugins/init.py

Technical Tasks:

  • Refactor engine/effects/types.py: Add EffectPlugin ABC
  • Update engine/effects/__init__.py: EffectRegistry, EffectChain
  • Update engine/effects/controller.py: Use new system
  • Add tests in test_effects_controller.py
**As a** developer **I want** to add effects without modifying core code **So that** the effects ecosystem can grow independently **Acceptance Criteria:** - [ ] EffectPlugin ABC with process() and configure() - [ ] EffectRegistry discovers plugins - [ ] EffectChain executes in pipeline order - [ ] Runtime discovery via effects_plugins/__init__.py --- **Technical Tasks:** - Refactor `engine/effects/types.py`: Add EffectPlugin ABC - Update `engine/effects/__init__.py`: EffectRegistry, EffectChain - Update `engine/effects/controller.py`: Use new system - Add tests in `test_effects_controller.py`
david added this to the Mainline project 2026-03-18 07:12:13 +00:00
david added the status:feature-complete label 2026-03-18 07:15:17 +00:00
david added the status:tested label 2026-03-18 07:49:06 +00:00
david added the epic:#6 label 2026-03-18 07:56:00 +00:00
david added the epic:Effects label 2026-03-18 07:59:24 +00:00
Author
Owner

Refactoring effects_plugins/ to engine/effects/plugins/:

  • Enables better integration with the effects system
  • Follows capability-based dependency resolution architecture
  • Fixes import chains across the codebase

Commit: 4fb8843 refactor: move effects_plugins to engine/effects/plugins

Refactoring `effects_plugins/` to `engine/effects/plugins/`: - Enables better integration with the effects system - Follows capability-based dependency resolution architecture - Fixes import chains across the codebase Commit: `4fb8843 refactor: move effects_plugins to engine/effects/plugins`
Author
Owner

Superseded by #27 (standalone refactor ticket).

Superseded by #27 (standalone refactor ticket).
david closed this issue 2026-03-18 22:03:24 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: klubhaus/sideline#17