forked from genewildish/Mainline
Major changes: - Pipeline architecture with capability-based dependency resolution - Effects plugin system with performance monitoring - Display abstraction with multiple backends (terminal, null, websocket) - Camera system for viewport scrolling - Sensor framework for real-time input - Command-and-control system via ntfy - WebSocket display backend for browser clients - Comprehensive test suite and documentation Issue #48: ADR for preset scripting language included This commit consolidates 110 individual commits into a single feature integration that can be reviewed and tested before further refinement.
74 lines
1.7 KiB
Python
74 lines
1.7 KiB
Python
"""
|
|
Core interfaces for the mainline pipeline architecture.
|
|
|
|
This module provides all abstract base classes and protocols that define
|
|
the contracts between pipeline components:
|
|
|
|
- Stage: Base class for pipeline components (imported from pipeline.core)
|
|
- DataSource: Abstract data providers (imported from data_sources.sources)
|
|
- EffectPlugin: Visual effects interface (imported from effects.types)
|
|
- Sensor: Real-time input interface (imported from sensors)
|
|
- Display: Output backend protocol (imported from display)
|
|
|
|
This module provides a centralized import location for all interfaces.
|
|
"""
|
|
|
|
from engine.data_sources.sources import (
|
|
DataSource,
|
|
ImageItem,
|
|
SourceItem,
|
|
)
|
|
from engine.display import Display
|
|
from engine.effects.types import (
|
|
EffectConfig,
|
|
EffectContext,
|
|
EffectPlugin,
|
|
PartialUpdate,
|
|
PipelineConfig,
|
|
apply_param_bindings,
|
|
create_effect_context,
|
|
)
|
|
from engine.pipeline.core import (
|
|
DataType,
|
|
Stage,
|
|
StageConfig,
|
|
StageError,
|
|
StageResult,
|
|
create_stage_error,
|
|
)
|
|
from engine.sensors import (
|
|
Sensor,
|
|
SensorStage,
|
|
SensorValue,
|
|
create_sensor_stage,
|
|
)
|
|
|
|
__all__ = [
|
|
# Stage interfaces
|
|
"DataType",
|
|
"Stage",
|
|
"StageConfig",
|
|
"StageError",
|
|
"StageResult",
|
|
"create_stage_error",
|
|
# Data source interfaces
|
|
"DataSource",
|
|
"ImageItem",
|
|
"SourceItem",
|
|
# Effect interfaces
|
|
"EffectConfig",
|
|
"EffectContext",
|
|
"EffectPlugin",
|
|
"PartialUpdate",
|
|
"PipelineConfig",
|
|
"apply_param_bindings",
|
|
"create_effect_context",
|
|
# Sensor interfaces
|
|
"Sensor",
|
|
"SensorStage",
|
|
"SensorValue",
|
|
"create_sensor_stage",
|
|
# Display protocol
|
|
"Display",
|
|
]
|