namespace Theriapolis.Core.Persistence.SaveMigrations; /// /// Phase 6.5 M0 — additive migration from save schema v6 (Phase 6 ship) to /// v7 (Phase 6.5 levelling). Non-destructive: every v6 field carries over /// unchanged. The new , /// , and /// default-initialise /// to empty values by the constructor, so this migration just bumps the /// header version. /// /// Phase-6 saves had no level-up history (every character stayed at level /// 1, Xp = 0). On load they continue to be valid level-1 characters; the /// player can immediately start earning XP and levelling up under the new /// rules. /// public sealed class V6ToV7Migration : ISaveMigration { public int FromVersion => 6; public int ToVersion => 7; public void Apply(SaveHeader header, SaveBody body) { // No data translation needed. PlayerCharacterState's new fields // (SubclassId, LearnedFeatureIds, LevelUpHistory) default-initialise // to empty in their record, and SaveCodec.ReadCharacter handles // missing-section bytes via the EOS-check pattern Phase 5 already // established. Pure version bump. } }