Refactor capture engine architecture, rename PictureStream to PictureSource, and split API modules

- Separate CaptureEngine into stateless factory + stateful CaptureStream session
- Add LiveStream/LiveStreamManager for shared capture with reference counting
- Rename PictureStream to PictureSource across storage, API, and UI
- Remove legacy migration logic and unused compatibility code
- Split monolithic routes.py (1935 lines) into 5 focused route modules
- Split schemas.py (480 lines) into 7 schema modules with re-exports
- Extract dependency injection into dedicated dependencies.py

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-12 14:27:00 +03:00
parent b8389f080a
commit c3828e10fa
42 changed files with 4047 additions and 3797 deletions

View File

@@ -0,0 +1,107 @@
"""Pydantic schemas for API request and response models."""
from .common import (
CaptureImage,
BorderExtraction,
ErrorResponse,
PerformanceMetrics,
TemplateTestResponse,
)
from .system import (
DisplayInfo,
DisplayListResponse,
HealthResponse,
VersionResponse,
)
from .devices import (
Calibration,
CalibrationTestModeRequest,
CalibrationTestModeResponse,
ColorCorrection,
DeviceCreate,
DeviceListResponse,
DeviceResponse,
DeviceUpdate,
MetricsResponse,
ProcessingSettings,
ProcessingState,
)
from .templates import (
EngineInfo,
EngineListResponse,
TemplateAssignment,
TemplateCreate,
TemplateListResponse,
TemplateResponse,
TemplateTestRequest,
TemplateUpdate,
)
from .filters import (
FilterInstanceSchema,
FilterOptionDefSchema,
FilterTypeListResponse,
FilterTypeResponse,
)
from .postprocessing import (
PostprocessingTemplateCreate,
PostprocessingTemplateListResponse,
PostprocessingTemplateResponse,
PostprocessingTemplateUpdate,
PPTemplateTestRequest,
)
from .picture_sources import (
ImageValidateRequest,
ImageValidateResponse,
PictureSourceCreate,
PictureSourceListResponse,
PictureSourceResponse,
PictureSourceTestRequest,
PictureSourceUpdate,
)
__all__ = [
"CaptureImage",
"BorderExtraction",
"ErrorResponse",
"PerformanceMetrics",
"TemplateTestResponse",
"DisplayInfo",
"DisplayListResponse",
"HealthResponse",
"VersionResponse",
"Calibration",
"CalibrationTestModeRequest",
"CalibrationTestModeResponse",
"ColorCorrection",
"DeviceCreate",
"DeviceListResponse",
"DeviceResponse",
"DeviceUpdate",
"MetricsResponse",
"ProcessingSettings",
"ProcessingState",
"EngineInfo",
"EngineListResponse",
"TemplateAssignment",
"TemplateCreate",
"TemplateListResponse",
"TemplateResponse",
"TemplateTestRequest",
"TemplateUpdate",
"FilterInstanceSchema",
"FilterOptionDefSchema",
"FilterTypeListResponse",
"FilterTypeResponse",
"PostprocessingTemplateCreate",
"PostprocessingTemplateListResponse",
"PostprocessingTemplateResponse",
"PostprocessingTemplateUpdate",
"PPTemplateTestRequest",
"ImageValidateRequest",
"ImageValidateResponse",
"PictureSourceCreate",
"PictureSourceListResponse",
"PictureSourceResponse",
"PictureSourceTestRequest",
"PictureSourceUpdate",
]