Repository navigation
feat(gamepad): integrate controller overlays with GPU preview and recording - #483
Merged
Merged
Conversation
Exoridus
marked this pull request as ready for review
October 26, 2026 11:51
Exoridus
enabled auto-merge (squash)
October 26, 2026 11:52
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.
Adds a configurable gamepad widget to the recording preview and burns it into the existing GPU composition and encoder: desktop, cursor, webcam, then sprites.
Validation:
The complete regular pre-push verification gate passed, including repository guards, formatting, Rust Clippy and workspace tests.
Fresh merged-tree Debug build and all 10 selected test binaries passed, including GameInput, sprite rendering, compositor/shader, preview, licensing and profile persistence. The receipt reports
reusable=true.Package-module Rust tests: 13 passed. Focused read-only native integration review: no material findings. Native render sheets for all 14 layouts were inspected on dark, gray and light backgrounds.
DualSense 054C:0CE6 was detected. The user confirmed live preview response. A local 51.566-second 2560x1440 AV1/Opus recording contains the transparent controller, with one atlas upload and 41,610 sprite quads. Normal
app.quitexited within the bounded wait.Release app/updater build and
all_qmllintcompleted. Portable ZIP, MSI and offline Setup were created; package launch smoke passed with developer Qt hidden and 0 unresolved imports. Nine runtime/license payloads match by SHA-256 in the actual ZIP and extracted MSI; Setup contains the identical MSI. The install-tree test passed against the extracted MSI with a fresh reusable receipt. QML lint emitted warnings in other UI components.This remains a draft. Recorded input transitions were not independently confirmed. Additional controller hardware, physical multi-device/reconnect behavior, HDR10/PQ and chroma-key cursor ordering remain unqualified. Microphone/finger-position input and Joy-Con device aggregation are not advertised as supported.
Sources unregister callbacks and release their own interfaces. One shared GameInput reference is deliberately retained for the process lifetime to avoid the observed final-release hang; it is reused across source restarts. Clean final runtime destruction is not claimed, and no release approval is implied.