OMRClientPerformance.cs
using Sandbox;

/// <summary>Local render budgets; never alter gameplay, aim or bot difficulty.</summary>
public static class OMRClientPerformance
{
	[ConVar( "omr_scope_preview_fps" )]
	public static int ScopePreviewFrameRate { get; set; } = 30;

	// 0 = authored/full resolution, 1 = 85%, 2 = 70%. Scope ADS and the world
	// remain full resolution; only the independent arms/weapon capture is scaled.
	[ConVar( "omr_viewmodel_quality" )]
	public static int ViewModelQuality { get; set; }

	[ConVar( "omr_bot_debug" )]
	public static bool BotDebugOverlay { get; set; }

	public static float ViewModelResolutionScale => ViewModelQuality switch
	{
		1 => 0.85f,
		2 => 0.70f,
		_ => 1f
	};

	public static string ViewModelQualityName => ViewModelQuality switch
	{
		1 => "BALANCED · 85%",
		2 => "PERFORMANCE · 70%",
		_ => "FULL · 100%"
	};
}