Repository navigation
feat: fall back to WebGL 2 in the live 3D pane instead of refusing - #667
Merged
Merged
Conversation
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.
The live 3D pane now falls back to WebGL 2 instead of refusing browsers without WebGPU. The engine's renderer has auto-fallen back all along (every committed scene baseline is a WebGL 2 render); the gate was UI-side caution, and its stated precondition, live-view pixel coverage in CI, landed with #469 (ADR-0171).
What changed
bridge/react/live-preview-backend.ts:webgpu,webgl2,unsupported) replaces the boolean WebGPU check in BOTH former gates (editor/shell/scene-pane.tsxandbridge/react/scene-canvas.tsx; the second gate is why the diff touches bridge). The probe guards a throwing context request (a privacy extension must not blank the editor) and answers once per page load, since browsers cap live WebGL contexts.unsupportedrefuses, with copy that no longer blames WebGPU. On the WebGL 2 branch the pane shows a dismissible info banner ("The 3D preview is running without WebGPU. Shading and lighting can look slightly different here."), positioned clear of the camera caption and transparent to orbit drags.Evidence and reviews
Five full red-green-blue cycles plus a sixth for the review's must-fix (the throw guard);
rgb:auditclean; 3857 unit tests green; clean-code review's findings all addressed; PR-level audit: approve (its one untracked staleness, the playbook entry, is fixed here; the rest is filed as #666). No e2e file changed: the audit verified the specs that touch the pane are branch-agnostic or gate on a real WebGPU adapter for their own reasons.Follow-ups filed as #666 (fold the probe into the engine helper, ADR-0019 staleness, e2e coverage of the WebGL 2 branch, the WebGPUSceneView name).
Closes #476