3.4 KiB
3.4 KiB
AI_LOG
Использование AI
AI использовался как помощник при планировании, реализации и проверке проекта. Работа велась итеративно по task-файлам из Agent/Task/.
Какие промпты использовались
- Изучить
TASK-0001и файлAgent/Agent.md, заранее прочитать остальные задачи и подготовить базу под них. - Спланировать и реализовать TASK-0001 - TASK-0006 (с персональными правками под планирование).
Где AI ошибся или требовал корректировки
- После реализации lifecycle возник runtime bug
MissingReferenceException: при уничтоженииLifetimeScopecancellation вызывал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-ов.