#pragma once #include namespace RenderCadenceCompositor { constexpr double kDefaultPreviewFps = 60.0; constexpr double kMinimumPreviewFps = 1.0; struct PreviewWindowConfig { bool enabled = false; double fps = kDefaultPreviewFps; std::string title = "Render Cadence Preview"; }; inline double NormalizePreviewFps(double fps) { return fps >= kMinimumPreviewFps ? fps : kDefaultPreviewFps; } inline unsigned PreviewTimerIntervalMilliseconds(double fps) { const double normalizedFps = NormalizePreviewFps(fps); const int intervalMilliseconds = static_cast(1000.0 / normalizedFps); return static_cast(intervalMilliseconds > 0 ? intervalMilliseconds : 1); } }