- feat: Фаза 1 ребрендинг combatant → lovisual + восстановление config - refactor: Фаза 2 — выкинуть Runtime/JarReplacement, заменить на Lifecycle - refactor: Фаза 3.5 — удалить читерские модули, ESP под легит - refactor: Фаза 3 — разбить Renderer2D (3379→2150 фасад + 14 хелперов ≤200) - refactor: Фаза 3 — разбить BetterChatRenderer (2870→210 фасад + 21 хелпер ≤200) - refactor: Фаза 3 — разбить UnifiedSettingRenderer (2798→208 фасад + 24 хелпера ≤200) - refactor: Фаза 3 — разбить ClickGuiRenderer (1887→542 фасад + 15 хелперов ≤200) - refactor: Фаза 3 — разбить NameTags (1791→438 фасад + 11 хелперов ≤200) - refactor: Фаза 3 — разбить TargetHud (1655→340 фасад + 11 хелперов ≤200) - refactor: Фаза 3 — разбить ESP (1538→269 фасад + 11 хелперов ≤200)
2.3 KiB
2.3 KiB
LoVisual Launcher (Rust + Slint)
Правила (ОБЯЗАТЕЛЬНЫЕ, нарушение = откат)
- KISS / DRY / SOLID — простая структура, без оверинжиниринга
- Макс. 200 строк на файл — превышение = разбить на модули
- Макс. 3 файла на папку — больше = новая подпапка по смыслу
- Обязательное прохождение:
cargo fmt+cargo clippy --all-targets(ноль ошибок) +cargo test - Запрещено
#[allow(dead_code)]— мёртвый код удаляется, не прячется - unsafe запрещён в нашем коде (сгенерированный Slint-код — исключение, его не трогаем)
- Без пустышек — модуль создаётся только с рабочей реализацией
- Каждый этап компилируется — перед переходом к следующему
Сделано
- Каркас: main.rs + api/ (health check в фоне)
- Окно логина (Slint): логин/пароль/статус
- Rust 2024 edition, актуальные версии пакетов
- Фоновая проверка
/healthбэкенда, статус в UI
Фаза 1: API клиент (src/api/)
auth.rs— login/register (reqwest, таймауты, rename_all)profile.rs— get/update/playtime/version check- Версия лаунчера читается из Cargo.toml (не хардкод)
Фаза 2: Экраны (Slint)
- login — реальный логин/регистрация через backend
- dashboard — профиль, playtime, version check
- settings — кастомная команда запуска (ЧИТАЕТСЯ на Play, не stale)
Фаза 3: Launch
src/launch/mod.rs— запуск Minecraft (команда из настроек, защита от пустой строки)src/session/mod.rs— save_session только при логине, удалять при logout