Skip to content

feat(cpuplan): side-by-side Windows vs GamerGuardian settings chart - #67

Merged
carterscode merged 1 commit into
mainfrom
feat/plan-comparison-chart
Aug 7, 2026
Merged

feat(cpuplan): side-by-side Windows vs GamerGuardian settings chart#67
carterscode merged 1 commit into
mainfrom
feat/plan-comparison-chart

Conversation

@carterscode

Copy link
Copy Markdown
Owner

Request

In the CPU / Power tab's "What this plan changes" section, show a side-by-side chart of Windows Balanced vs GamerGuardian Balanced so the user sees exactly what's different.

What changed

The section listed the overrides as bullets — telling you what GamerGuardian sets, but not what Windows had before. It now renders a three-column chart: each processor setting the tune touches, its value under the stock Windows base plan, and its value under GamerGuardian.

  • The Windows column is read live from the installed base scheme (never a hardcoded value — same reason the app resolves the Balanced GUID at runtime).
  • Values are formatted with friendly names and units (percentages, boost-mode names like "Aggressive").
  • Values GamerGuardian actually changes are bold; settings it merely pins to the same value are plain. Unreadable values show "Windows default" and aren't flagged as differences.

CpuPlanDetails.Comparison is pure and unit-tested via an injected value reader (the UI passes a Powrprof reader; tests pass a stub).

Tests

4 new CpuPlanDetails tests. Full suite green (625), build clean (warnings-as-errors).

🤖 Generated with Claude Code

…chart

The "What this plan changes" section listed the overrides as bullets, which told
you what GamerGuardian sets but not what Windows had before — so you couldn't see
exactly what's different. It now renders a three-column chart: each processor
setting the tune touches, its value under the stock Windows base plan, and its
value under GamerGuardian, with the values GamerGuardian actually changes shown in
bold.

The Windows column is read live from the installed base scheme (never a hardcoded
guess — same reason the app resolves the Balanced GUID at runtime), formatted with
friendly names and units (percentages, boost-mode names). Values that can't be
read fall back to "Windows default" and aren't flagged as differences.

CpuPlanDetails.Comparison is pure and unit-tested via an injected value reader
(the UI passes a Powrprof reader; tests pass a stub). 4 new tests; suite green
(625), build clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
if (readBaseAcValue is not null)
{
try { baseVal = readBaseAcValue(o.Subgroup, o.Setting); }
catch { baseVal = null; }
@carterscode
carterscode merged commit 721d8dd into main Aug 7, 2026
5 checks passed
@carterscode
carterscode deleted the feat/plan-comparison-chart branch August 7, 2026 20:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants