[Add] New Tasks (The tasks have not been verified)

This commit is contained in:
2026-03-30 10:50:02 +07:00
parent 5434a7e601
commit 129fcf783b
21 changed files with 2230 additions and 6 deletions
+110
View File
@@ -0,0 +1,110 @@
---
id: TASK-0017
title: Добавить reconnect/resume после дисконнекта с сохранением позиции
summary: Реализовать BackLog-задачу на восстановление игрока после дисконнекта с возвратом в мир и сохранением позиции, состояния и привязки к сессии.
priority: Medium
area: networking
owner: unassigned
created: 2026-03-30
updated: 2026-03-30
execution_time: 1d
depends_on:
- TASK-0002
- TASK-0004
- TASK-0013
canonical_docs:
- docs/tasks/Index.md
related_files:
- Assets/Scenes/SampleScene.unity
---
# TASK-0017 - Добавить reconnect/resume после дисконнекта с сохранением позиции
## Status
Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там.
Допустимые значения статуса:
- `BackLog`
- `ToDo`
- `InProgress`
- `Review`
- `Done`
## Why
Reconnect/resume нужен для более устойчивого кооператива, но не блокирует первый MVP. Поэтому задача вынесена в `BackLog`.
## Expected Outcome
Игрок после дисконнекта может вернуться в ту же сессию и получить корректное восстановление позиции и session-relevant state без дублирования персонажа.
## Current Context
Сначала должны появиться рабочие flow подключения, выбор мира и базовые сохранения игрока/мира.
## Source Of Truth
- `docs/tasks/items/TASK-0002.md`
- `docs/tasks/items/TASK-0004.md`
- `docs/tasks/items/TASK-0013.md`
## Read First
- `docs/tasks/items/TASK-0002.md`
- `docs/tasks/items/TASK-0004.md`
- `docs/tasks/items/TASK-0013.md`
## Scope In
- reconnect flow после временного разрыва связи
- сохранение и восстановление позиции персонажа
- предотвращение duplicate player session
- базовые timeout/resume rules
## Scope Out
- полнофункциональный drop-in/drop-out service layer
- миграция сессии между серверами
## Constraints
- восстановление не должно ломать server authority
- session resume должен уважать разделение player/world saves
## If You Find Drift
- если базовый join flow не готов, задача остается в `BackLog` и не тянет за собой преждевременные костыли
## Suggested Approach
1. Определить session resume token или эквивалентный идентификатор возврата.
2. Описать правила сохранения позиции и временного session state.
3. Реализовать безопасный reconnect без дублей персонажа.
## Acceptance Criteria
- игрок может переподключиться после дисконнекта и продолжить с близкой сохраненной позиции
- в мире не остается дублированных экземпляров персонажа
- reconnect flow не ломает существующий lobby/world selection pipeline
## Verification
- ручной сценарий: подключиться, сместиться, разорвать связь, переподключиться, проверить resume
## Risks / Open Questions
- нужно определить, хранится ли позиция resume в player save, world session state или в отдельном session cache
## Human Decisions Needed
- none currently
## Decision Log
- `2026-03-30` - задача добавлена в `BackLog` по явному запросу пользователя.
## Handoff Notes
Не поднимать приоритет до готовности базового сетевого flow и persistence layer.