Files
sideline/TODO.md
David Gwilliam 7185005f9b feat(figment): complete pipeline integration with native effect plugin
- Add engine/effects/plugins/figment.py (native pipeline implementation)
- Add engine/figment_render.py, engine/figment_trigger.py, engine/themes.py
- Add 3 SVG assets in figments/ (Mexican/Aztec motif)
- Add engine/display/backends/animation_report.py for debugging
- Add engine/pipeline/adapters/frame_capture.py for frame capture
- Add test-figment preset to presets.toml
- Add cairosvg optional dependency to pyproject.toml
- Update EffectPluginStage to support is_overlay attribute (for overlay effects)
- Add comprehensive tests: test_figment_effect.py, test_figment_pipeline.py, test_figment_render.py
- Remove obsolete test_ui_simple.py
- Update TODO.md with test cleanup plan
- Refactor test_adapters.py to use real components instead of mocks

This completes the figment SVG overlay feature integration using the modern pipeline architecture, avoiding legacy effects_plugins. All tests pass (758 total).
2026-03-21 13:09:37 -07:00

64 lines
4.0 KiB
Markdown

# Tasks
## Documentation Updates
- [x] Remove references to removed display backends (sixel, kitty) from all documentation
- [x] Remove references to deprecated "both" display mode
- [x] Update AGENTS.md to reflect current architecture and remove merge conflicts
- [x] Update Agent Skills (.opencode/skills/) to match current codebase
- [x] Update docs/ARCHITECTURE.md to remove SixelDisplay references
- [x] Verify ModernGL backend is properly documented and registered
- [ ] Update docs/PIPELINE.md to reflect Stage-based architecture (outdated legacy flowchart) [#41](https://git.notsosm.art/david/Mainline/issues/41)
## Code & Features
- [ ] Check if luminance implementation exists for shade/tint effects (see [#26](https://git.notsosm.art/david/Mainline/issues/26) related: need to verify render/blocks.py has luminance calculation)
- [x] Add entropy/chaos score metadata to effects for auto-categorization and intensity control [#32](https://git.notsosm.art/david/Mainline/issues/32) (closed - completed)
- [ ] Finish ModernGL display backend: integrate window system, implement glyph caching, add event handling, and support border modes [#42](https://git.notsosm.art/david/Mainline/issues/42)
- [x] Integrate UIPanel with pipeline: register stages, link parameter schemas, handle events, implement hot-reload.
- [x] Move cached fixture headlines to engine/fixtures/headlines.json and update default source to use fixture.
- [x] Add interactive UI panel for pipeline configuration (right-side panel) with stage toggles and param sliders.
- [x] Enumerate all effect plugin parameters automatically for UI control (intensity, decay, etc.)
- [ ] Implement pipeline hot-rebuild when stage toggles or params change, preserving camera and display state [#43](https://git.notsosm.art/david/Mainline/issues/43)
## Test Suite Cleanup & Feature Implementation
### Phase 1: Test Suite Cleanup (In Progress)
- [x] Port figment feature to modern pipeline architecture
- [x] Create `engine/effects/plugins/figment.py` (full port)
- [x] Add `figment.py` to `engine/effects/plugins/`
- [x] Copy SVG files to `figments/` directory
- [x] Update `pyproject.toml` with figment extra
- [x] Add `test-figment` preset to `presets.toml`
- [x] Update pipeline adapters for overlay effects
- [x] Clean up `test_adapters.py` (removed 18 mock-only tests)
- [x] Verify all tests pass (652 passing, 20 skipped, 58% coverage)
- [ ] Review remaining mock-heavy tests in `test_pipeline.py`
- [ ] Review `test_effects.py` for implementation detail tests
- [ ] Identify additional tests to remove/consolidate
- [ ] Target: ~600 tests total
### Phase 2: Acceptance Test Expansion (Planned)
- [ ] Create `test_message_overlay.py` for message rendering
- [ ] Create `test_firehose.py` for firehose rendering
- [ ] Create `test_pipeline_order.py` for execution order verification
- [ ] Expand `test_figment_effect.py` for animation phases
- [ ] Target: 10-15 new acceptance tests
### Phase 3: Post-Branch Features (Planned)
- [ ] Port message overlay system from `upstream_layers.py`
- [ ] Port firehose rendering from `upstream_layers.py`
- [ ] Create `MessageOverlayStage` for pipeline integration
- [ ] Verify figment renders in correct order (effects → figment → messages → display)
### Phase 4: Visual Quality Improvements (Planned)
- [ ] Compare upstream vs current pipeline output
- [ ] Implement easing functions for figment animations
- [ ] Add animated gradient shifts
- [ ] Improve strobe effect patterns
- [ ] Use introspection to match visual style
## Gitea Issues Tracking
- [#37](https://git.notsosm.art/david/Mainline/issues/37): Refactor app.py and adapter.py for better maintainability
- [#35](https://git.notsosm.art/david/Mainline/issues/35): Epic: Pipeline Mutation API for Stage Hot-Swapping
- [#34](https://git.notsosm.art/david/Mainline/issues/34): Improve benchmarking system and performance tests
- [#33](https://git.notsosm.art/david/Mainline/issues/33): Add web-based pipeline editor UI
- [#26](https://git.notsosm.art/david/Mainline/issues/26): Add Streaming display backend