namespace SpaceGame.Api.Contracts; public sealed record FactionGoapStateSnapshot( int MilitaryShipCount, int MinerShipCount, int TransportShipCount, int ConstructorShipCount, int ControlledSystemCount, int TargetSystemCount, bool HasShipFactory, float OreStockpile, float RefinedMetalsStockpile); public sealed record FactionGoapPrioritySnapshot(string GoalName, float Priority); public sealed record FactionSnapshot( string Id, string Label, string Color, float Credits, float PopulationTotal, float OreMined, float GoodsProduced, int ShipsBuilt, int ShipsLost, string? DefaultPolicySetId, FactionGoapStateSnapshot? GoapState, IReadOnlyList? GoapPriorities); public sealed record FactionDelta( string Id, string Label, string Color, float Credits, float PopulationTotal, float OreMined, float GoodsProduced, int ShipsBuilt, int ShipsLost, string? DefaultPolicySetId, FactionGoapStateSnapshot? GoapState, IReadOnlyList? GoapPriorities);