Skip to content

Repository files navigation

IceCrow

CI .NET 10 Windows status

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"]
Loading

IceCrow.App.exe и IceCrow.Overlay.exe являются отдельными процессами. Парсер, игровые правила и статистика не живут в WPF-коде. В live-пути нет чтения памяти, DLL injection, перехвата сети, автоматических кликов или LLM.

Состояние MVP

Этап Состояние
Репозиторий и .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.ps1

Карта репозитория

Данные и приватность

  • identity карты — только cardId/dbfId, русское имя является presentation;
  • UI читает русские данные через cards_ru, изображения — через ruRU;
  • raw logs, BattleTag, account IDs, IP, game seeds и токены не коммитятся и не загружаются;
  • скрытые карты соперника не угадываются;
  • внешний API статистики является необязательным enrichment и не блокирует ядро.

Clean-room и лицензии

HDT, Firestone и другие upstream-репозитории используются как исследовательские источники с закреплёнными revision/license в docs/upstream-manifest.json. Код из источников, не разрешающих повторное использование, не копируется.

Лицензия самого IceCrow пока не выбрана владельцем репозитория. До появления файла LICENSE не следует считать, что права на повторное использование кода предоставлены.

About

Russian-first clean-room Hearthstone companion for Windows: deterministic Power.log tracker and WPF overlay.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages