Files
2026-05-27 08:29:41 +07:00

44 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI_LOG
## Использование AI
AI использовался как помощник при планировании, реализации и проверке проекта. Работа велась итеративно по task-файлам из `Agent/Task/`.
## Какие промпты использовались
- Изучить `TASK-0001` и файл `Agent/Agent.md`, заранее прочитать остальные задачи и подготовить базу под них.
- Спланировать и реализовать TASK-0001 - TASK-0006 (с персональными правками под планирование).
## Где AI ошибся или требовал корректировки
- После реализации lifecycle возник runtime bug `MissingReferenceException`: при уничтожении `LifetimeScope` cancellation вызывал `Release()` уже уничтоженного `MenuUIView`. Это потребовало отдельной диагностики и фикса в базовом `UIView`.
- AI приходилось явно удерживать ограничения проекта. Например не использовать `FindObjectOfType`, не использовать `Singleton.Instance`, не использовать static-state, делать serialized поля через auto property с `[field: SerializeField]` и другие моменты.
- Пытался игнорировать SOLID.
## Что было переписано или уточнено руками
- Правки по stack trace для `MissingReferenceException` на основе этого был исправлен lifecycle в `UIView`.
- Документы написаны с учетом фактической реализации, а не только первоначального плана.
- Исправлены моменты TASK-ок которые нарушали задуманную архитекутру.
- Scene references были настроены вручную.
- Сборка UI с настройкой якорей для адаптивной работы на разных экранах.
- Пронумировал enum, чтобы не ломалась сериализация при добавление стейтов.
## Что проверялось
- Кодстайл проекта, соблюдение namespace.
- Поиск запрещенных паттернов `FindObjectOfType`, `Singleton.Instance`, `static`, `async void`, `Task.Delay`, `Update`, `RemoveAllListeners`.
- Проверка listener `AddListener(OnRestartClicked)` и `RemoveListener(OnRestartClicked)`.
- Проверка, что states не вызывают `EnterStateAsync` сами.
- Проверка, что ViewModel не наследуются от `MonoBehaviour`.
## Что важно проверить вручную
- Открыть `Assets/Scenes/SampleScene.unity`.
- Запустить Play Mode.
- Проверить `Splash -> Loading -> Menu`.
- Проверить, что `Text (Data_Status)` показывает актуальный этап.
- Проверить, что `Slider` идет от `0` до `1`.
- Нажать `Restart` и проверить повторный `Loading -> Menu`.
- Остановить Play Mode на `Menu` и убедиться, что нету Warning-ов и Error-ов.