feat: add agent tasks and update documentation
- Create 7 new task files (TASK-0001 through TASK-0007) - Add task template file for future use - Update Agent.md with project information - Update TASK.md with task tracking
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# TASK-0003: BootFlowService и запуск сценария
|
||||
|
||||
## Цель
|
||||
|
||||
Реализовать внешний flow coordinator, который запускает и управляет сценарием загрузки приложения.
|
||||
|
||||
## Что сделать
|
||||
|
||||
- Создать `BootFlowService : Service` или сервис с аналогичным lifecycle.
|
||||
- Реализовать сценарий `Splash -> Load -> Menu -> Load -> Menu ...`.
|
||||
- Сделать так, чтобы `SplashState` выполнялся один раз при старте.
|
||||
- После `MenuState` возвращаться в `LoadState` по restart-сигналу.
|
||||
- Создать `BootstrapEntryPoint`, который запускается через VContainer entry point.
|
||||
- Запустить `BootFlowService` из entry point через UniTask.
|
||||
- Корректно обработать штатную отмену, не логируя ее как ошибку.
|
||||
|
||||
## Технические требования
|
||||
|
||||
- Использовать `IAsyncStartable` или подходящий VContainer entry point для запуска.
|
||||
- Не запускать boot flow из `MonoBehaviour.Start()` вручную.
|
||||
- Не делать самопереключающиеся states, которые вызывают `EnterStateAsync(...)` изнутри своего `EnterAsync(...)`.
|
||||
- `OperationCanceledException` считать нормальным завершением при уничтожении scope или остановке flow.
|
||||
- Все ожидания должны использовать токен, полученный сверху.
|
||||
|
||||
## Критерии готовности
|
||||
|
||||
- При старте выполняется последовательность `Splash -> Load -> Menu`.
|
||||
- Нажатие `Restart` запускает новый цикл `Load -> Menu`.
|
||||
- При отмене токена boot flow завершается без зависших UniTask.
|
||||
- Orchestration-код находится в plain C# классе, не во View.
|
||||
|
||||
## Заметки
|
||||
|
||||
Рекомендуемый сценарий: внешний сервис вызывает `_states.EnterStateAsync(...)` последовательно. Это проще защищать на ревью и не создает проблем с reentrancy внутри states.
|
||||
Reference in New Issue
Block a user