fix: DisplayStage dependency and render pipeline data flow
Critical fix for display rendering: 1. DisplayStage Missing Dependency - DisplayStage had empty dependencies, causing it to execute before render - No data was reaching the display output - Fix: Add 'render.output' dependency so display comes after render stages - Now proper execution order: source → render → display 2. create_default_pipeline Missing Render Stage - Default pipeline only had source and display, no render stage between - Would fail validation with 'Missing render.output' capability - Fix: Add SourceItemsToBufferStage to convert items to text buffer - Now complete data flow: source → render → display 3. Updated Test Expectations - test_display_stage_dependencies now expects 'render.output' dependency Result: Display backends (pygame, terminal, websocket) now receive proper rendered text buffers and can display output correctly. Tests: All 502 tests passing
This commit is contained in:
@@ -97,10 +97,10 @@ class TestDisplayStage:
|
||||
assert "display.output" in stage.capabilities
|
||||
|
||||
def test_display_stage_dependencies(self):
|
||||
"""DisplayStage has no dependencies."""
|
||||
"""DisplayStage depends on render.output."""
|
||||
mock_display = MagicMock()
|
||||
stage = DisplayStage(mock_display, name="terminal")
|
||||
assert stage.dependencies == set()
|
||||
assert "render.output" in stage.dependencies
|
||||
|
||||
def test_display_stage_init(self):
|
||||
"""DisplayStage.init() calls display.init() with dimensions."""
|
||||
|
||||
Reference in New Issue
Block a user