--- id: TASK-0013 title: Реализовать меню лобби, выбор персонажа и выбор мира summary: Сделать пользовательский flow входа: подключение в лобби, выбор или создание персонажа, выбор мира и запуск игровой сессии. priority: High area: ui owner: unassigned created: 2026-03-30 updated: 2026-03-30 execution_time: 1d depends_on: - TASK-0002 - TASK-0004 - TASK-0011 canonical_docs: - docs/tasks/Index.md related_files: - Assets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity --- # TASK-0013 - Реализовать меню лобби, выбор персонажа и выбор мира ## Status Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там. Допустимые значения статуса: - `BackLog` - `ToDo` - `InProgress` - `Review` - `Done` ## Why Пользователь явно просит меню с подключением в лобби и выбором персонажа. Это пользовательский вход в систему раздельных сохранений и сетевого bootstrap. ## Expected Outcome Есть рабочий UX flow: открыть игру, подключиться, выбрать или создать персонажа, выбрать мир и войти в сессию без ручной сцены/отладки. ## Current Context Пока нет оформленного меню и экранов выбора. Network bootstrap и character model должны существовать раньше. ## Source Of Truth - `docs/tasks/items/TASK-0002.md` - `docs/tasks/items/TASK-0004.md` - `docs/tasks/items/TASK-0011.md` ## Read First - `docs/tasks/items/TASK-0002.md` - `docs/tasks/items/TASK-0004.md` - `docs/tasks/items/TASK-0011.md` - `Assets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity` ## Scope In - экран подключения и лобби - выбор или создание персонажа - выбор мира из доступных сохранений - запуск игровой сессии из UI ## Scope Out - social UI, чат, друзья и сложный браузер серверов - детальный UI инвентаря и прогрессии в бою ## Constraints - menu flow должен соответствовать модели player/world separation - UI не должен брать на себя server-authoritative решения ## If You Find Drift - если UI начнет напрямую менять данные мира или персонажа в обход доменной логики, это drift ## Suggested Approach 1. Описать последовательность экранов и входных данных. 2. Привязать UI к network bootstrap и save selection. 3. Проверить сценарий создания персонажа и входа в любой мир. ## Acceptance Criteria - пользователь может пройти путь от запуска игры до входа в мир через UI - выбор персонажа и выбор мира являются независимыми шагами - flow работает как для host, так и для клиента в рамках MVP ## Verification - ручной проход всех экранов в happy-path сценарии - проверка, что один и тот же персонаж может входить в разные миры ## Risks / Open Questions - потребуется решить, нужен ли отдельный экран создания мира или достаточно списка и кнопки create ## Human Decisions Needed - none currently ## Decision Log - `2026-03-30` - menu flow зафиксирован как отдельная задача после network bootstrap и class model. ## Handoff Notes Сначала нужен рабочий функциональный flow без избыточного UI-polish.