refactor(remove-renderstage): Remove RenderStage usage from app.py (Phase 4.2)

- Remove RenderStage import from engine/app.py
- Replace RenderStage with SourceItemsToBufferStage for all sources
- Simplifies render pipeline - no more special-case logic
- SourceItemsToBufferStage properly converts items to text buffer
- Tests pass (11 app tests)
This commit is contained in:
2026-03-16 20:57:26 -07:00
parent 7c69086fa5
commit 3e73ea0adb

View File

@@ -17,7 +17,6 @@ from engine.pipeline import (
list_presets, list_presets,
) )
from engine.pipeline.adapters import ( from engine.pipeline.adapters import (
RenderStage,
SourceItemsToBufferStage, SourceItemsToBufferStage,
create_items_stage, create_items_stage,
create_stage_from_display, create_stage_from_display,
@@ -150,21 +149,8 @@ def run_pipeline_mode(preset_name: str = "demo"):
else: else:
pipeline.add_stage("source", create_items_stage(items, preset.source)) pipeline.add_stage("source", create_items_stage(items, preset.source))
# Add appropriate render stage # Add render stage - convert items to buffer
if preset.source in ("pipeline-inspect", "empty"): pipeline.add_stage("render", SourceItemsToBufferStage(name="items-to-buffer"))
pipeline.add_stage("render", SourceItemsToBufferStage(name="items-to-buffer"))
else:
pipeline.add_stage(
"render",
RenderStage(
items,
width=80,
height=24,
camera_speed=params.camera_speed,
camera_mode=preset.camera,
firehose_enabled=params.firehose_enabled,
),
)
for effect_name in preset.effects: for effect_name in preset.effects:
effect = effect_registry.get(effect_name) effect = effect_registry.get(effect_name)