This commit is contained in:
2026-05-27 08:29:41 +07:00
parent b91fe5adae
commit 0b088d112c
14 changed files with 179 additions and 644 deletions
+43
View File
@@ -0,0 +1,43 @@
# 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-ов.