namespace Theriapolis.Core.Persistence.SaveMigrations; /// /// 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. /// 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. } }