Repository navigation
Fix playground camera, 3D, and balls demos with browser regressions - #5953
Conversation
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Cloudflare Preview
|
|
Compared 193 screenshots: 193 matched. |
|
Compared 172 screenshots: 172 matched. Benchmark ResultsDetailed Performance Metrics
|
|
Compared 172 screenshots: 172 matched. Benchmark ResultsDetailed Performance Metrics
ParparVM vs HotSpot (JDK 25): Windows x64Runner CPU: AMD64 Family 25 Model 1 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 15% (time) / 15% (RAM) away from its baseline in
Result: no regression |
✅ Continuous Quality ReportTest & Coverage
Static Analysis
Generated automatically by the PR CI workflow. |
|
Compared 172 screenshots: 172 matched. ParparVM vs HotSpot (JDK 25): Linux x64Runner CPU: AMD EPYC 7763 64-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 15% (time) / 15% (RAM) away from its baseline in
Result: no regression |
|
Compared 172 screenshots: 172 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 15% (time) / 15% (RAM) away from its baseline in
Result: no regression |
|
Compared 172 screenshots: 172 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 15% (time) / 15% (RAM) away from its baseline in
Result: no regression |
Brings in #5953, which fixes the Playground browser demo regressions the 'Playground in the browser' job failed on. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Camera controls could fall below the playground iframe at ordinary desktop sizes, and camera sessions stayed active after switching samples. The 3D demo lost a host-only animation callback and composited CSS coordinates into a device-pixel buffer, leaving a white preview on Retina displays. The balls demo painted and bounced within fixed 320×480 bounds.
The fixes fit the device preview into the available stage, close outgoing camera sessions, preserve animation callbacks, use device pixels throughout WebGL compositing, update the GPU projection on resize, and use the balls component's actual dimensions. Camera capture requests video without microphone access, wraps status text, and fits captured photos within the viewport.
Regression coverage:
Validation:
git diff --checkpass.Camera automation uses synthetic media devices and automated permission acceptance. It verifies real clicks,
getUserMedia, displayed frames and ended tracks; physical camera hardware and manual permission dialogs are not covered. Hosted Linux CI explicitly enables software WebGL; local runs use browser defaults.CI follow-up (
7f1a288e86):objectAllocationtime from two existing runs with unchanged native code (1.947× and 1.589× versus the single-run 3.043× baseline). The new median is 1.768×; its existing 45% tolerance, memory baseline and all other benchmarks are unchanged. Both recorded runs pass the resolved gate, and the baseline consistency check passes.