Building Ryujinx Stereo 0.6.0 experimental (Windows x64)

Use .NET SDK 9.0.319 or compatible .NET 9 SDK. Restore uses nuget.org.
From the repository root:
  powershell -ExecutionPolicy Bypass -File release-tools/Build-Stereo.ps1

Publishes src/Ryujinx/Ryujinx.csproj as the library/Mario/Wonder engine and
zelda-src/Ryujinx/Ryujinx.csproj under engines/zelda. Shared sources link
stereo-ui/ and stereo-recording/. Output: build/package. Self-contained,
with trimming and single-file packing disabled. Do not overwrite a running
package or any used portable configuration.

Optional native panel bridge: install VS C++ tools, CMake and LeiaSR SDK.
  powershell -ExecutionPolicy Bypass -File release-tools/Build-Stereo.ps1 -LeiaSdk "D:/SDK/LeiaSR-1.36.2"
Builds native/LeiaBridge and installs ZeldaLeiaBridge.dll in both engines.
The Leia runtime must be installed separately with its DLL directory on PATH.
No proprietary SDK/runtime is distributed. Generic SBS viewers can use
profiles with direct_panel_output=false.

Optional hidden portable launcher (Windows .NET Framework csc.exe):
  csc /nologo /target:winexe /platform:x64 /optimize+ /reference:System.Windows.Forms.dll /out:"build/package/Ryujinx Stereo.exe" release-tools/UnifiedLauncher.cs
Starts Ryujinx.exe with --root-data-dir pointing to portable/.
Legacy StereoLauncher.cs belongs to 0.1.0 and is not used now.

Release packaging:
release-tools/package.py accepts --runtime, --licenses, --native-sources,
--source-zip, --launcher and --output. Use a clean git archive as source ZIP.
Only runtime files, culture resources, clean configuration, generic stereo
profiles, licenses and source are copied. No used portable profile, logs,
keys, firmware, ROMs, caches, controller IDs or recordings are copied.
The manifest hashes the exact runtime files included in the release.

Recording: WASAPI loopback and NVIDIA h264_nvenc. Supply a compatible FFmpeg
executable separately; none is bundled. F10 waits for MP4 finalization before
graceful shutdown. Output is pre-weave left/right SBS.

Unchanged decoder dependencies:
FFmpeg 6.1.2 DLLs (LGPL 2.1 or later), shared decoder-only build:
  --target-os=mingw32 --disable-debug --disable-all --disable-autodetect --enable-shared --enable-avcodec --enable-avutil --enable-decoder='h264,vp8,vp9' --prefix=bin/build
Source: https://ffmpeg.org/releases/ffmpeg-6.1.2.tar.xz
OpenAL Soft 1.21.0, shared Windows x64 library (LIBTYPE=SHARED).
Source: https://github.com/kcat/openal-soft/releases/tag/1.21.0
Release source/native contains corresponding source archives and build files.
Use MinGW-w64 / CMake and their upstream build guides. Shared DLLs remain
replaceable. Package licenses and dependency notices are in licenses/.

Baseline https://github.com/Leuconoe/Ryubing
Commit 80ab0f96b95dc13f5bdb9f365a3363d25040e236

Control regression checks: dotnet run --project release-tools/ControlChecks/ControlChecks.csproj -c Release
