namespace Theriapolis.Core.Persistence;
///
/// Modules that own save-worthy state implement this interface.
/// CaptureState produces a serializable snapshot; RestoreState applies one
/// over the live module. Phase 5/6 add new persistables (faction/quest/rep)
/// without churning the SaveBody schema, by adding new IPersistable types
/// and one new field on SaveBody.
///
public interface IPersistable
{
TState CaptureState();
void RestoreState(TState state);
}