Files
QuizPlease/AI_LOG.md
T
2026-05-27 08:29:41 +07:00

3.4 KiB
Raw Blame History

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-ов.