Repository navigation
Add DPI-parametric matched capture harness - #907
Merged
Merged
Conversation
Add a separate DPI-192 matched adapter with logical/physical geometry, raw no-resampling metadata, normalized UIA zoom, and focused no-desktop contracts while preserving the 96-DPI V1 adapter. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Colin Neilens <coneilen@microsoft.com>
coneilen
marked this pull request as ready for review
October 21, 2026 02:11
coneilen
marked this pull request as draft
October 21, 2026 02:12
coneilen
marked this pull request as ready for review
October 21, 2026 02:14
3 of 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
Add a separate DPI-parametric matched-capture adapter so a future RDP run can bind an exact 1440x900 logical client to its actual DPI-192 physical geometry without weakening the existing 96-DPI adapter. This is capture/test tooling only; it does not change product code, grant a lease, execute a new capture, or promote a parity row.
Changes
S_MATCHED_V12_V1and addS_MATCHED_V12_DPI_V1with explicit logical client, physical client, runtime DPI, adjustment/runtime styles, menu state, work-area, placement and no-resampling contracts.AdjustWindowRectExForDpi: 1440x900 logical at DPI 192 becomes a 2880x1800 physical client and 2906x1910 outer window. Refuse undersized physical work areas before worker launch.Refs #764
Refs #772
Refs #781
Test plan
RED: pwsh -NoProfile -File Tools\windows\Invoke-UiCapture.ps1 -OwnedRoot C:\u8 -OutputDirectory C:\u8\outputs\c8r-rdp-qualified\561be978-20261020T234300Z -JobPath C:\u8\job.json -JobSha256 3DE7D80362653AB03479962CA9124128C058B0D65412C52FF008B6CC74395E85 -FixtureMappingSha256 AA11396F6D1428E416AF8D4CA45F10997A54DD553D81DF4982F3FC6239142D7B -ExecutionMode LIVE_CAPTURE -LeaseReceiptPath C:\u8\receipts\lease-c8r-rdp-561be978.json -LeaseReceiptSha256 AFA87510BA2E409A79B05E78778EEA4E573809A8AB6DDF093314A555AE199F03 -PreflightReceiptPath C:\u8\reports\preflight-180.json -PreflightReceiptSha256 7D91004977F97366DBE4C627358A5651EEACAB882A38365392B46F53407B3506 -> exit 1 before the first image: Actual app DPI is 192, expected 96; official release FAILED_ZERO_SURVIVORS with KERNEL_EXIT_AND_EOF_PROVEN.
GREEN: pwsh -NoProfile -File Tools\windows\Tests\UiCaptureDriver.Tests.ps1 -MatchedDpiContractOnly -ScratchRoot C:\t8\c8r-dpi-final -> exit 0; 4/4 passed, including exact 1456x959 at DPI96, 2906x1910 at DPI192, undersized-work-area refusals, logical zoom normalization and raw no-resampling metadata mutants.
REGRESSION: pwsh -NoProfile -File Tools\windows\Tests\UiCaptureDriver.Tests.ps1 -MatchedScenarioContractOnly -ScratchRoot C:\t8\c8r-v1-final -> exit 0; existing matched V1 contracts executed 8/8 and all passed.
pwsh -NoProfile -File Tools\windows\Tests\UiCaptureDriver.Tests.ps1 -NativeBindingsContractOnly -ScratchRoot C:\t8\c8r-bindings-final-> 8/8 passed, including actual resolution of the added Win32 declarations.pwsh -NoProfile -File Tools\windows\Tests\UiCaptureDriver.Tests.ps1 -PreflightReportContractOnly -ScratchRoot C:\t8\c8r-preflight-final-> 1/1 passed.git diff --cached --check-> passed.git ls-files --eolfor all six changed files -> index and working-tree LF before commit.Not verified: no DPI-parametric GraphCode window was launched after this change; no 2906x1910-capable RDP desktop was available; no images, physical input, local-console rendering, native glyph/raster fidelity, accessibility conformance, authenticated provider behavior or paired macOS review ran. The prior failed RDP attempt remains immutable evidence only of the old 96-DPI refusal and clean teardown. Full registered regression is left to exact-head CI.
make testandmake checkwere not run on this Windows host; the focused Windows harness contracts above are the local evidence.Checklist
git commit -s) per the DCOmake test)make check)