forked from genewildish/Mainline
- Added PositioningMode enum (ABSOLUTE, RELATIVE, MIXED) - Created PositionStage class with configurable positioning modes - Updated terminal display to support positioning parameter - Updated PipelineParams to include positioning field - Updated DisplayStage to pass positioning to terminal display - Added documentation in docs/positioning-analysis.md Positioning modes: - ABSOLUTE: Each line has cursor positioning codes (\033[row;1H) - RELATIVE: Lines use newlines (no cursor codes, better for scrolling) - MIXED: Base content uses newlines, effects use absolute positioning (default) Usage: # In pipeline or preset: positioning = "absolute" # or "relative" or "mixed" # Via command line (future): --positioning absolute
56 lines
1.4 KiB
Python
56 lines
1.4 KiB
Python
"""Stage adapters - Bridge existing components to the Stage interface.
|
|
|
|
This module provides adapters that wrap existing components
|
|
(EffectPlugin, Display, DataSource, Camera) as Stage implementations.
|
|
"""
|
|
|
|
from .camera import CameraClockStage, CameraStage
|
|
from .data_source import DataSourceStage, PassthroughStage, SourceItemsToBufferStage
|
|
from .display import DisplayStage
|
|
from .effect_plugin import EffectPluginStage
|
|
from .factory import (
|
|
create_stage_from_camera,
|
|
create_stage_from_display,
|
|
create_stage_from_effect,
|
|
create_stage_from_font,
|
|
create_stage_from_source,
|
|
)
|
|
from .message_overlay import MessageOverlayConfig, MessageOverlayStage
|
|
from .positioning import (
|
|
PositioningMode,
|
|
PositionStage,
|
|
create_position_stage,
|
|
)
|
|
from .transform import (
|
|
CanvasStage,
|
|
FontStage,
|
|
ImageToTextStage,
|
|
ViewportFilterStage,
|
|
)
|
|
|
|
__all__ = [
|
|
# Adapter classes
|
|
"EffectPluginStage",
|
|
"DisplayStage",
|
|
"DataSourceStage",
|
|
"PassthroughStage",
|
|
"SourceItemsToBufferStage",
|
|
"CameraStage",
|
|
"CameraClockStage",
|
|
"ViewportFilterStage",
|
|
"FontStage",
|
|
"ImageToTextStage",
|
|
"CanvasStage",
|
|
"MessageOverlayStage",
|
|
"MessageOverlayConfig",
|
|
"PositionStage",
|
|
"PositioningMode",
|
|
# Factory functions
|
|
"create_stage_from_display",
|
|
"create_stage_from_effect",
|
|
"create_stage_from_source",
|
|
"create_stage_from_camera",
|
|
"create_stage_from_font",
|
|
"create_position_stage",
|
|
]
|