feat(play-setup): state the ask-vs-grant gap and the host tuning verdict - #247
Merged
Conversation
…rdict
The launch profile summary now knows what this client actually asked for.
When the granted rate sits below the Settings frame rate, the Selected
line says both halves ("Recovery profile / 30 FPS · you asked 120") and a
new grantHoldReason names what is holding it ("Held by History Safe
Profile"), which the Asked/granted fact carries in its detail. Until now
the gap between the ask and the grant was the one fact no screen said
anywhere, which is exactly what made a 30 FPS launch under a 120 FPS
setting read as a mystery.
The High FPS pin moves into the summary itself: buildNovaLaunchProfileSummary
takes clientAskedFps and clientFpsPinned, owns the "Launch 120 FPS · your
pick" headline and the "120 FPS pinned (host offered Recovery profile /
30 FPS)" Selected line, and retires the one-shot trial button while the
pin is active, since the launch already goes out at the asked rate. The
button-site special case from the previous change is gone; the button
just reads the summary again.
The Tuning row's caption states the host's verdict on the asks the host
owns: "Applied by host" or "Host declined · History Safe Profile" for
quality and stability. A host that predates preference_applied gets the
default caption, never a decline fabricated from a missing field.
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
buildNovaLaunchProfileSummarynow takesclientAskedFps(the Settings frame rate) and, when the granted rate sits below it, the Selected line reads "Recovery profile / 30 FPS · you asked 120" and a newgrantHoldReasonnames what is holding it ("Held by History Safe Profile", frompreference_blocked_reason, else the limiting issue). The Play Setup Asked/granted fact carries the reason in its detail. This was the one fact no screen said anywhere — exactly what made a 30 FPS launch under a 120 FPS setting read as a mystery.clientFpsPinned): it owns the "Launch 120 FPS · your pick" headline and the "120 FPS pinned (host offered Recovery profile / 30 FPS)" Selected line, and retires the one-shot trial button while active, since the launch already goes out at the asked rate. The button-site special case from feat(play-setup): make High FPS tuning binding via one composed launch blob #246 is removed; the button just reads the summary.quality/stability, via a new purenovaTuningOutcomehelper. A host that predatespreference_appliedgets the default caption — a decline is never fabricated from a missing field.autoasks for nothing andhigh_fpsis binding client-side (feat(play-setup): make High FPS tuning binding via one composed launch blob #246), so neither shows a host verdict.issueLabelbecomesinternal novaLaunchIssueLabelso the outcome helper reuses the one prettifier.Exact candidate
Commit:38aa34dc8bffc376720e78200d013c599ceff34aTree:f632fe1dc7b0e0f5e6cb9afb3eddded9ee771aa6Parent:9ebba7e1846fee3132c479e72424abd45ee951d1Base:9ebba7e1846fee3132c479e72424abd45ee951d1(origin/master, carries fix(settings): stop presets rewriting fps and share panel culling #245 + feat(play-setup): make High FPS tuning binding via one composed launch blob #246)Verification
:app:testNonRoot_gameDebugUnitTest— 1388 tests, 0 failures, 0 errors, 0 skipped (XML-counted; includes 3 newNovaLaunchProfileSummaryTestfixtures and the newNovaTuningOutcomeTest):app:lintNonRoot_gameDebug -PlintFailOnError=true— 0 new errors (baseline noise only):app:assembleNonRoot_gameDebugAndroidTest— compiles