IceCrow — самостоятельный русскоязычный companion для Hearthstone под Windows.
Он читает разрешённый локальный Power.log, детерминированно восстанавливает
известное игроку состояние матча и передаёт его отдельному
click-through WPF-оверлею.
Проект находится на ранней стадии. Ядро чтения логов, typed-пакеты, нормализация событий, первая проекция состояния и P3 overlay-прототип уже тестируются. Русские данные карт, изображения и release packaging ещё не готовы.
- поиск активной сессии Hearthstone и append-only чтение
Power.log; - UTF-8 framing без потери неполной строки;
- восстановление после truncation, замены и ротации файла;
- privacy-safe typed parser для game/entity/tag/block/choice packets;
- canonical events с fail-closed диагностикой неизвестного ввода;
- первый reducer: исходные карты своей колоды, остаток после добора,
раскрытые карты соперника и placeholders
?для муллигана; - завершение муллигана и матча с детерминированным порядком событий;
- current-user named pipe с full snapshot при подключении/reconnect;
- отдельный click-through overlay: соперник слева, своя колода справа и
?над муллиганом; - golden/recovery fixtures и проверка одинакового результата на 100 повторах;
- Windows CI: restore, contract validation, dependency audit, format, build, tests и secret scan.
flowchart LR
A["Power.log"] --> B["LogTailing"]
B --> C["Typed packets"]
C --> D["Canonical events"]
D --> E["Single-writer reducer"]
E --> F["Immutable snapshot"]
F --> G["Named pipe"]
G --> H["IceCrow.Overlay.exe"]
IceCrow.App.exe и IceCrow.Overlay.exe являются отдельными процессами.
Парсер, игровые правила и статистика не живут в WPF-коде. В live-пути нет
чтения памяти, DLL injection, перехвата сети, автоматических кликов или LLM.
| Этап | Состояние |
|---|---|
| Репозиторий и .NET 10 toolchain | готово |
| Log tailer и packet parser | готово |
| Canonical event normalizer | основной match lifecycle готов |
| Reducer и deck projection | fixtures и архивный pipeline smoke готовы |
| Named-pipe IPC | full snapshot/reconnect готовы |
| Безопасный WPF overlay | первый P3 renderer готов; live matrix впереди |
Русские cards_ru и ruRU изображения |
далее |
Нужны Windows и .NET SDK, закреплённый в global.json.
dotnet restore IceCrow.sln
dotnet build IceCrow.sln --configuration Release --no-restore
dotnet test --solution IceCrow.sln --configuration Release --no-buildПолная локальная проверка, совпадающая с основным CI gate:
.\tools\validate_repository.ps1src/— production modules;tests/— MSTest и обезличенные fixtures;docs/README.md— карта архитектурной документации;docs/prototype-plan.md— этапы первого прототипа;docs/implementation-blueprint.md— runtime-контракты;CONTRIBUTING.md— правила изменений;SECURITY.md— безопасное сообщение об уязвимости.
- identity карты — только
cardId/dbfId, русское имя является presentation; - UI читает русские данные через
cards_ru, изображения — черезruRU; - raw logs, BattleTag, account IDs, IP, game seeds и токены не коммитятся и не загружаются;
- скрытые карты соперника не угадываются;
- внешний API статистики является необязательным enrichment и не блокирует ядро.
HDT, Firestone и другие upstream-репозитории используются как исследовательские
источники с закреплёнными revision/license в
docs/upstream-manifest.json. Код из источников,
не разрешающих повторное использование, не копируется.
Лицензия самого IceCrow пока не выбрана владельцем репозитория. До появления
файла LICENSE не следует считать, что права на повторное использование кода
предоставлены.