Samples screenshot regression#3158
Merged
xen2 merged 5 commits intostride3d:masterfrom May 5, 2026
Merged
Conversation
NugetStore.GetLocalPackages mirrors newer local-folder .nupkgs into the global cache so dev Stride.* shadows public versions. Drops the metadata-delete in StrideAutoPackDeploy (the mirror replaces it), adds stride-local + Stride.* mapping in nuget.config, bumps Microsoft.Build / NuGet / DependencyModel to the .NET 10 SDK versions.
NuGet skips re-extracting when the version matches, leaving stale DLLs in consumer bins. Remove the extracted dir after each pack.
…ructure The new Stride.Games.AutoTesting + sample-screenshot pipeline replaces the SamplesTestServer / ConnectionRouter / Games.Testing path end-to-end. ConnectionRouter stays — Game Studio, EffectCompilerServer and TestRunner still use it.
End-to-end screenshot regression pipeline for samples. * Stride.Games.AutoTesting harness — drives input, captures PNGs, writes done.json. * In-proc LPIPS-AlexNet comparator + optional Claude-vision fallback for non-deterministic frames. * xunit Theory wrapper discovers fixtures from tests/samples/*.cs and runs regen + build + launch + compare per sample. * GH Actions matrix: D3D11 gating, D3D12/Vulkan best-effort (Vulkan via Lavapipe), daily schedule + manual update-baselines workflow.
ConfirmRenderingSettings clamps the requested back-buffer size to fit Window.ClientBounds — fine for dev, wrong for headless CI capture (a portrait 640x1136 sample gets clipped to 640x749 on a shorter desktop). Adds SkipBackBufferClampToWindow on GraphicsDeviceManager (copied to PresentationParameters in ChangeOrCreateDevice). ConfirmRenderingSettings honours it; the Vulkan swap-chain creation also bypasses surfaceCapabilities.currentExtent when set. The autotesting harness sets the flag in OnGameStarted, before device creation.
a89157d to
d1e333b
Compare
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.
PR Details
End-to-end screenshot regression pipeline for Stride samples.
Stride.Games.AutoTestingdrives input + captures back-buffer PNGs from inside the regenerated sample.Stride.Samples.Tests) discovers fixtures fromtests/Stride.Samples.Tests/*.cs, regenerates + builds + launches each sample, then compares captures against committed baselines PNGscontinue-on-error)workflow_dispatch+ a manualUpdate Baselinesworkflow that opens a PR with refreshed PNGs