Repository navigation
Windows: experimental Xbox Developer Mode (UWP) target - #6140
shai-almog wants to merge 4 commits into
Conversation
windows.xbox=true builds the native Windows port as a UWP app for an Xbox in Developer Mode: a CoreWindow host rendering through a D3D11/D2D swap chain, compiled against the app partition and linked to WindowsApp.lib alone, with desktop-only natives stubbed by scripts/gen-windows-uwp-stubs.py. Gamepad keys map to game actions and back; the console's visible bounds are the safe area. The builder packs a signed MSIX, generating a dev certificate when none is given. CI cross-builds it and installs + launches it on a Windows runner. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Safe area and title are thread-bound to the view: insets are computed on the view thread and cached, the title goes through CoreDispatcher.RunAsync. Stubs whose 0 means success (desktopWindowCreate, printDocument) answer -1. A supplied certificate needs windows.msix.publisher, or the package would never install. CI signs the package with the builder's own development certificate. Docs mark the target experimental and add a gaming consoles appendix. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Cloudflare Preview
|
…ection Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
✅ Continuous Quality ReportTest & Coverage
Static Analysis
Generated automatically by the PR CI workflow. |
|
Compared 231 screenshots: 231 matched. |
✅ ByteCodeTranslator Quality ReportTest & Coverage
Benchmark Results
Static Analysis
Generated automatically by the PR CI workflow. |
Flutter vs Codename OneSame application, built both ways: Flutter's AOT compile of the gallery, and the identical Dart source transpiled to Java on Codename One. Lower is better for every metric, so a ratio above 1.00x means Codename One is ahead by that factor. android9 interleaved rounds; host load 0.48, 1.71, 1.4
Compute -- the VM workloads (
Gate: within tolerance against
ios9 interleaved rounds; host load 22.1, 28.74, 24.6
Compute -- the VM workloads ( Not measured: iOS compute is not measured: a device build needs signed hardware, and on the simulator Flutter runs its JIT debug engine rather than AOT code. The macOS row runs the same ParparVM and Dart AOT compilers on the same Apple silicon. Gate: within tolerance against
javascript9 interleaved rounds; host load 2.08, 1.45, 0.65
Compute -- the VM workloads (
Gate: within tolerance against
linux9 interleaved rounds; host load 0.35, 2.37, 1.75
Compute -- the VM workloads (
Gate: within tolerance against
macos9 interleaved rounds; host load 2.71, 11.7, 12.86
Compute -- the VM workloads (
Gate: within tolerance against
windows9 interleaved rounds
Compute -- the VM workloads (
Gate: within tolerance against
Codename One wins 26 of 26 measured metrics across 6 platform(s). |
|
Developer Guide build artifacts are available for download from this workflow run:
Developer Guide quality checks: |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Compared 195 screenshots: 195 matched. Native Android coverage
✅ Native Android screenshot tests passed. Native Android coverage
Benchmark ResultsDetailed Performance Metrics
|
|
Compared 210 screenshots: 210 matched. Benchmark ResultsDetailed Performance Metrics
|
|
Compared 210 screenshots: 210 matched. Benchmark ResultsDetailed Performance Metrics
ParparVM vs HotSpot (JDK 25): Windows x64Runner CPU: AMD64 Family 25 Model 17 Stepping 1, AuthenticAMD (baseline Ratios are ParparVM / JDK 25: below 1.00x ParparVM is faster (time) or smaller (RAM). Median of 5 interleaved, paired rounds; every run's output was verified. A ratio more than 20% (time) / 25% (RAM) above its baseline in
Result: no regression |
|
Compared 196 screenshots: 196 matched. Benchmark Results
Detailed Performance Metrics
ParparVM vs HotSpot (JDK 25): macOS arm64Runner CPU: Apple M1 (Virtual) (baseline Ratios are ParparVM / JDK 25: below 1.00x ParparVM is faster (time) or smaller (RAM). Median of 5 interleaved, paired rounds; every run's output was verified. A ratio more than 20% (time) / 25% (RAM) above its baseline in
Result: no regression |
|
Compared 210 screenshots: 210 matched. ParparVM vs HotSpot (JDK 25): Linux x64Runner CPU: AMD EPYC 9V45 96-Core Processor (baseline Ratios are ParparVM / JDK 25: below 1.00x ParparVM is faster (time) or smaller (RAM). Median of 5 interleaved, paired rounds; every run's output was verified. A ratio more than 20% (time) / 25% (RAM) above its baseline in
Result: no regression |
|
Compared 210 screenshots: 210 matched. ParparVM vs HotSpot (JDK 25): Linux arm64Runner CPU: Neoverse-N2 (baseline Ratios are ParparVM / JDK 25: below 1.00x ParparVM is faster (time) or smaller (RAM). Median of 5 interleaved, paired rounds; every run's output was verified. A ratio more than 20% (time) / 25% (RAM) above its baseline in
Result: no regression |
|
Compared 210 screenshots: 210 matched. Benchmark ResultsDetailed Performance Metrics
ParparVM vs HotSpot (JDK 25): Windows arm64Runner CPU: ARMv8 (64-bit) Family 8 Model D49 Revision 0, MICROSOFT CORPORATION (baseline Ratios are ParparVM / JDK 25: below 1.00x ParparVM is faster (time) or smaller (RAM). Median of 5 interleaved, paired rounds; every run's output was verified. A ratio more than 20% (time) / 25% (RAM) above its baseline in
Result: no regression |
Experimental Xbox Developer Mode target for the native Windows port, as a first step toward gaming consoles.
windows.xbox=truebuilds the port as a UWP app:cn1_windows_corewindow.cpp: CoreApplication/CoreWindow host, D3D11 + Direct2D flip-model swap chain, pointer and gamepad input, view-thread safe area and title.WindowsApp.libonly with/APPCONTAINER: the link proves every import exists in the container.scripts/gen-windows-uwp-stubs.py(--checkin CI).Verification:
windows-cross-compile.ymlcross-builds desktop and UWP exes on Linux, creates the dev cert with the builder's own code, then on a Windows runner packs, signs, installs and launches the app as a real UWP activation and waits for a marker it writes after its first frame.🤖 Generated with Claude Code