feat(pipeline): integrate BorderMode and add UI preset

- params.py: border field now accepts bool | BorderMode
- presets.py: add UI_PRESET with BorderMode.UI, remove SIXEL_PRESET
- __init__.py: export UI_PRESET, drop SIXEL_PRESET
- registry.py: auto-register FrameBufferStage on discovery
- New FrameBufferStage for frame history and intensity maps
- Tests: update test_pipeline for UI preset, add test_framebuffer_stage.py

This sets the foundation for interactive UI panel and modern pipeline composition.
This commit is contained in:
2026-03-18 12:19:10 -07:00
parent 36afbacb6b
commit 21fb210c6e
7 changed files with 449 additions and 20 deletions

View File

@@ -8,6 +8,11 @@ modify these params, which the pipeline then applies to its stages.
from dataclasses import dataclass, field
from typing import Any
try:
from engine.display import BorderMode
except ImportError:
BorderMode = object # Fallback for type checking
@dataclass
class PipelineParams:
@@ -23,7 +28,7 @@ class PipelineParams:
# Display config
display: str = "terminal"
border: bool = False
border: bool | BorderMode = False
# Camera config
camera_mode: str = "vertical"