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