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).
4.0 KiB
4.0 KiB
Tasks
Documentation Updates
- Remove references to removed display backends (sixel, kitty) from all documentation
- Remove references to deprecated "both" display mode
- Update AGENTS.md to reflect current architecture and remove merge conflicts
- Update Agent Skills (.opencode/skills/) to match current codebase
- Update docs/ARCHITECTURE.md to remove SixelDisplay references
- Verify ModernGL backend is properly documented and registered
- Update docs/PIPELINE.md to reflect Stage-based architecture (outdated legacy flowchart) #41
Code & Features
- Check if luminance implementation exists for shade/tint effects (see #26 related: need to verify render/blocks.py has luminance calculation)
- Add entropy/chaos score metadata to effects for auto-categorization and intensity control #32 (closed - completed)
- Finish ModernGL display backend: integrate window system, implement glyph caching, add event handling, and support border modes #42
- Integrate UIPanel with pipeline: register stages, link parameter schemas, handle events, implement hot-reload.
- Move cached fixture headlines to engine/fixtures/headlines.json and update default source to use fixture.
- Add interactive UI panel for pipeline configuration (right-side panel) with stage toggles and param sliders.
- 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
Test Suite Cleanup & Feature Implementation
Phase 1: Test Suite Cleanup (In Progress)
- Port figment feature to modern pipeline architecture
- Create
engine/effects/plugins/figment.py(full port) - Add
figment.pytoengine/effects/plugins/ - Copy SVG files to
figments/directory - Update
pyproject.tomlwith figment extra - Add
test-figmentpreset topresets.toml - Update pipeline adapters for overlay effects
- Clean up
test_adapters.py(removed 18 mock-only tests) - Verify all tests pass (652 passing, 20 skipped, 58% coverage)
- Review remaining mock-heavy tests in
test_pipeline.py - Review
test_effects.pyfor implementation detail tests - Identify additional tests to remove/consolidate
- Target: ~600 tests total
Phase 2: Acceptance Test Expansion (Planned)
- Create
test_message_overlay.pyfor message rendering - Create
test_firehose.pyfor firehose rendering - Create
test_pipeline_order.pyfor execution order verification - Expand
test_figment_effect.pyfor 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
MessageOverlayStagefor 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