Make controller coverage explicit and correct Joy-Con rail documentation - #65
Merged
Merged
Conversation
Separate four-ID Bluetooth support, raw telemetry, explicit calibrated SDL motion and dashboard-only outputs. State the implemented GameCube clip limit, independent Joy-Con streams, charging-grip/edition qualification, and excluded audio/NFC/GameChat/firmware transports without inventing hardware validation. Correct swapped left Joy-Con SL/SR labels in the protocol reference to match the existing public API; retain GameCube digital trigger clicks alongside analog travel. Add a repository regression that fails against the previous documentation. Remove the blanket claim that all documented functions are implemented and physically tested, and the unsupported promise of future NFC publication. Index the existing motion-profile API. Documentation and repository tests only. Local source/link, research-boundary and application-identity checks pass. No production controller code, coefficients, acceptance records or packaging changes.
This was referenced Sep 17, 2026
Merge main into the documentation branch without dropping the implemented Linux transport or GameCube motor channel. Retain the Joy-Con rail-mask correction and regression, clarify platform identity and hardware qualification, and preserve the README size gate. Repository/link and research-boundary tests pass on the exact tree. No production controller code changes.
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.
Completion status
Merged as
db976e7e08c35bc90e62a55bfe432e6a0dda6f95. All eight PR workflows for final head4fef3dc28ec479eb2ee1c35fed6aade145568850completed successfully, including the formerly pending Intel application builds and fresh-runner launch checks. The merge occurred during the completion audit; that audit verified results and updated this description but did not execute the merge operation.Head tree:
f8d923431660af4096a3db1e5ce141894dcaed00. The implementation retains Linux/BlueZ support and GameCube motor controls from #70.Completed changes
Switch2ActionAxis, and keep the README at 99 lines without weakening the existing size gate.The feature changes only README, protocol/API/coverage documentation and the repository regression. It does not alter product source, transport, ABI, dependencies, build configuration or physical acceptance records.
Completed CI
CI provenance: synthetic merge
c9be92e7618e7be2f87988523b6c5d66df58d13cmerges the feature head intoa187693b8ced4328758c4e242a4eb203d26608a2and has the same tree as that head. Main subsequently advanced before this PR was merged. These completed PR runs are not relabeled as fresh post-merge validation of the final combined main tree.No submitted reviews or unresolved review threads were present at the pre-merge completion check. No checks, assertions or repository protections were weakened during completion. The final audit updated metadata only; it did not perform a new local test run or code change.
Previously recorded local validation
The five original repository/layout/link tests, research-boundary tests and whitespace checks passed. All 339 tracked files and executable modes in the downloaded head-specific CI archive matched the published tree.
A separately tested local tree combined main
a187693b8ced4328758c4e242a4eb203d26608a2with #63, #64, this #65 head and #68 at9757016:fa80b2e7eab3dfadc3196e73c01c9d59079b1422. It passed the retained suite, 92 debug / 92 release package tests with warnings as errors, 8/8 real SDL/native host tests including pinned Dolphin/Cemu motion processing,lib/lib64relocation with missing-library negative controls, 20 BlueZ scenarios, and 40 additional transition cases. That combined tree did not include #71.An additional previously recorded all-four-model harness exercised the real BlueZ transport, shared queue/C ABI, unmodified SDL 3.4.16 and pinned Cemu motion processor, covering input edges, motor requests, reconnect identity and teardown. These historical combined checks were not a newly committed CI test. Their synthetic service/profiles do not establish physical radio or gameplay acceptance.
Qualification boundary
Measured per-controller calibration, accessory-specific behavior and physical gameplay qualification remain separate. Linux retains its experimental qualification boundary. No hardware testing or release publication was performed by the completion audit.