Files

3.6 KiB

id, title, summary, priority, area, owner, created, updated, execution_time, depends_on, canonical_docs, related_files
id title summary priority area owner created updated execution_time depends_on canonical_docs related_files
TASK-0018 Добавить миграции формата сохранений между версиями Реализовать BackLog-задачу на версионирование save format и безопасные миграции world save и player save между версиями проекта. Medium persistence unassigned 2026-03-30 2026-03-30 1d
TASK-0004
TASK-0006
docs/tasks/Index.md
Assets/Features/VoxelWorld/Runtime/VoxelWorldGenerator.cs

TASK-0018 - Добавить миграции формата сохранений между версиями

Status

Статус задачи ведется в docs/tasks/Index.md и является каноническим там.

Допустимые значения статуса:

  • BackLog
  • ToDo
  • InProgress
  • Review
  • Done

Why

Миграции save format важны для долгоживущего проекта, но не блокируют первый MVP. Поэтому задача вынесена в BackLog.

Expected Outcome

Система сохранений имеет version field и pipeline миграций, позволяющий безопасно читать старые world/player save после изменений схемы.

Current Context

Базовая схема сохранений и enemy bitmask должны быть определены раньше. Иначе мигрировать будет нечего.

Source Of Truth

  • docs/tasks/items/TASK-0004.md
  • docs/tasks/items/TASK-0006.md
  • future save schema docs

Read First

  • docs/tasks/items/TASK-0004.md
  • docs/tasks/items/TASK-0006.md

Scope In

  • versioning для world/player save
  • up-migration pipeline
  • базовые правила обратной совместимости чтения
  • обработка ошибок и fallback policy

Scope Out

  • cross-game import/export tools
  • поддержка всех исторических pre-release форматов без ограничений

Constraints

  • миграции не должны молча повреждать данные
  • player и world save мигрируются независимо, но по общим правилам versioning

If You Find Drift

  • если save schema меняется без version bump, это нарушение задачи

Suggested Approach

  1. Добавить version field в save schemas.
  2. Описать up-migration pipeline по шагам версий.
  3. Подготовить тестовые старые примеры сохранений для проверки.

Acceptance Criteria

  • save format имеет версию
  • старый save может быть прочитан и мигрирован в текущую схему
  • ошибки миграции не приводят к тихой потере world/player state

Verification

  • ручной тест чтения старого save fixture после изменения схемы

Risks / Open Questions

  • нужно определить политику для несовместимых breaking changes worldgen или enemy slot layout

Human Decisions Needed

  • none currently

Decision Log

  • 2026-03-30 - задача добавлена в BackLog по явному запросу пользователя.

Handoff Notes

Пока задача в BackLog, новые persistence changes все равно должны по возможности закладывать version field заранее.