namespace Sand.App; internal sealed class AppSimulationFrameStats { public int Frame { get; set; } public int ProcessedCells { get; set; } public int ParticleCount { get; set; } public int MinActiveX { get; set; } public int MinActiveY { get; set; } public int MaxActiveX { get; set; } public int MaxActiveY { get; set; } public int LoadedChunkCount { get; set; } public int ActiveChunkCount { get; set; } public int DirtyChunkCount { get; set; } public int SteppedChunkCount { get; set; } public int SleepingChunkCount { get; set; } public int FieldPageCount { get; set; } public int MoveAttemptCount { get; set; } public int VerticalMoveAttemptCount { get; set; } public int DiagonalMoveAttemptCount { get; set; } public int LateralMoveAttemptCount { get; set; } public int SuccessfulMoveCount { get; set; } public int SwapAttemptCount { get; set; } public int StalledMovableCount { get; set; } public int MovementOnlyFastPathCount { get; set; } public int FullRuntimeStepCount { get; set; } public int FullRuntimeSolidCount { get; set; } public int FullRuntimeLiquidCount { get; set; } public int FullRuntimeGasCount { get; set; } public int MovedParticleCount { get; set; } public int SwappedParticleCount { get; set; } public int VisualDirtyPageCount { get; set; } public long FrameBuildBytesTouched { get; set; } public long ActivationTimeMicroseconds { get; set; } public long MovementTimeMicroseconds { get; set; } public long RuntimeTimeMicroseconds { get; set; } public long FieldDecayTimeMicroseconds { get; set; } public long RenderTimeMicroseconds { get; set; } }