1# MediaCore — единое приложение + модули (опц. лаунчер) 2 3С версии **v3 (ребренд WindowCapture → MediaCore)** это **единое приложение с одной иконкой в трее**: запуск без аргументов = `MediaCore.exe`, по **правому клику** в трее включаются/выключаются модули (**Скриншот, Автозамена, Буфер, Жесты**) и открываются окна (**Саундпад, Поиск**) — все хуки живут в одном процессе, поведение каждого модуля гейтится вживую (`Controller.SetModuleEnabled`, флаги `Settings.Module*`). Никаких `--флагов` для обычного использования. 4 5Старые per-режим флаги (`--screenshot`, `--textassist`, `--clipboard`, …) и **радиальный лаунчер** (`--launcher`, `Ctrl+Alt+Space`) **сохранены как опциональные** (power-user / автозагрузка отдельным процессом), но больше не нужны в повседневной работе. 6 7## Лаунчер (хаб) 8- Запуск без аргументов → **Лаунчер**: иконка в трее + глобальная клавиша **`Ctrl+Alt+Space`**. 9- По хоткею (или левый клик по иконке трея) открывается **круговое меню** поверх затемнённого «замороженного» рабочего стола. 10- Навести курсор на сектор и **кликнуть** (или нажать **1–5**) — запустится приложение. **Esc / правый клик / центр** — отмена. 11- Секторы: **Скриншот, Автозамена, Буфер, Саундпад, Поиск**. 12 13## Приложения (режимы) 14| Приложение | Запуск | Что делает | Хуки/ресурсы | 15|---|---|---|---| 16| **Скриншот** | `MediaCore.exe --screenshot` | Захват `Alt+Win` → редактор аннотаций → Word/AI-экспорт | только клав-хук (активация) | 17| **Автозамена** | `--textassist` | T9/орфография, смена раскладки, авто-заглавная/пунктуация, `Ctrl+Shift+Space` | клав+мышь хук, грузит модели `Data/` | 18| **Буфер** | `--clipboard` | История буфера по удержанию `Ctrl+V` | клав-хук + слушатель буфера | 19| **Саундпад** | `--soundpad` | Звуковая панель (APO) | окно + трей | 20| **Поиск** | `--search` | Поиск файлов по MFT | окно + трей | 21| Просмотр | `MediaCore.exe <файл>` | Открыть картинку/видео/аудио в редакторе/плеере | — | 22 23Каждое приложение — **single-instance**: повторный запуск того же режима не плодит дубль, а «всплывает» уже запущенное (окно показывается; для лаунчера — открывается меню). 24 25## Автозапуск (по желанию) 26Чтобы, например, автозамена и буфер работали всегда — добавьте в автозагрузку ярлыки: 27``` 28MediaCore.exe --textassist 29MediaCore.exe --clipboard 30MediaCore.exe --launcher 31``` 32(папка автозагрузки: `shell:startup`). Лаунчер же удобно держать всегда — он лёгкий (без моделей/хуков, только хоткей). 33 34## Архитектура (как развязано) 35- `Controller(ControllerMode)` — флаги `Capture | TextAssist | Clipboard | Gestures`; каждый процесс ставит только свои хуки и обрабатывает только свои блоки. Дефолтный `Controller()` = `All` (полный режим без изменений — обратная совместимость). 36- `Program.Main` — роутинг по `--флагу`, single-instance на режим + «show-event» для всплытия. 37- `LauncherApp` (трей + `RegisterHotKey`) → `LauncherForm` (pie-меню) → `AppModes.Launch(mode)`. 38- `FormHostApp` — хост для оконных приложений (Саундпад/Поиск): трей + повторный показ. 39 40## Что ещё не проверено (нужна GUI-сессия) 41- Визуальный рендеринг кругового меню и срабатывание `Ctrl+Alt+Space` «вживую» (собирается и стартует без краша; пиксельную проверку не делал — нет доступа к GUI). 42- Поведение каждого приложения после разделения (захват, T9, буфер, саундпад, поиск) — нужен прогон руками. 43- Физический split на отдельные `.exe` + общий `WC.Core.dll` (для веса) — по `MODULARIZATION_PLAN.md`. 44 45## OCR — «забрать текст» (Ctrl+T) 46В редакторе **`Ctrl+T`** распознаёт текст на текущем изображении и копирует в буфер. Локально, офлайн, бесплатно (встроенный Windows OCR, языки RU + EN уже установлены). Реализация: net8-хелпер `Ocr/WC.Ocr.csproj` (`Windows.Media.Ocr`) собирается в `bin/Ocr/WC.Ocr.exe`; .NET4-приложение вызывает его через `Helpers/OcrClient.cs`. Сборка хелпера — автоматически в `build.ps1` (нужен .NET 8 SDK). Закрывает разрыв №1 из `FEATURE_RESEARCH.md` (OCR grab-text).