Release
This commit is contained in:
@@ -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-ов.
|
||||
Reference in New Issue
Block a user