forked from genewildish/Mainline
- 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).
64 lines
4.0 KiB
Markdown
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
|