namespace Theriapolis.Core.Persistence.SaveMigrations;

/// <summary>
/// Phase 7 M0 — additive migration from save schema v7 (Phase 6.5 ship) to
/// v8 (Phase 7 dungeons). Non-destructive: every v7 field carries over
/// unchanged. Phase 7 reserves three new save sections — anchors, building
/// deltas, and per-PoI dungeon state — but ships M0 with the version bump
/// only; the fields default-initialise to empty and a v7 save loads as
/// "no anchors persisted, no buildings modified, no dungeons visited"
/// which is the truth for any pre-Phase-7 save.
///
/// Subsequent Phase 7 milestones (M1+) will populate these sections;
/// the migration stays additive throughout.
/// </summary>
public sealed class V7ToV8Migration : ISaveMigration
{
    public int FromVersion => 7;
    public int ToVersion   => 8;

    public void Apply(SaveHeader header, SaveBody body)
    {
        // No data translation needed. Phase 7's new save sections
        // (TAG_ANCHORS / TAG_BUILDINGS / TAG_DUNGEONS) default to empty in
        // SaveBody and SaveCodec uses the established EOS-check pattern
        // for additive sections. Pure version bump.
    }
}
