alexei.dolgolyov
29d9b95885
Add profile system for automatic target activation
...
Profiles monitor running processes and foreground windows to
automatically start/stop targets when conditions are met.
Includes profile engine, platform detector (WMI), REST API,
process browser endpoint, and calibration persistence fix.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-18 15:12:34 +03:00
alexei.dolgolyov
fc779eef39
Refactor core/ into logical sub-packages and split filter files
...
Reorganize the flat core/ directory (17 files) into three sub-packages:
- core/devices/ — LED device communication (led_client, wled/adalight clients, providers, DDP)
- core/processing/ — target processing pipeline (processor_manager, target processors, live streams, settings)
- core/capture/ — screen capture & calibration (screen_capture, calibration, pixel_processor, overlay)
Also split the monolithic filters/builtin.py (460 lines, 8 filters) into
individual files: brightness, saturation, gamma, downscaler, pixelate,
auto_crop, flip, color_correction.
Includes the ProcessorManager refactor from target-centric architecture:
ProcessorManager slimmed from ~1600 to ~490 lines with unified
_processors dict replacing duplicate _targets/_kc_targets dicts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-18 12:03:29 +03:00
alexei.dolgolyov
c3828e10fa
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 >
2026-02-12 14:27:00 +03:00