Files
Mainline/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

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.py to engine/effects/plugins/
  • Copy SVG files to figments/ directory
  • Update pyproject.toml with figment extra
  • Add test-figment preset to presets.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.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: Refactor app.py and adapter.py for better maintainability
  • #35: Epic: Pipeline Mutation API for Stage Hot-Swapping
  • #34: Improve benchmarking system and performance tests
  • #33: Add web-based pipeline editor UI
  • #26: Add Streaming display backend