editor: light WebGPU preview and /editor scene redirect - #570
Conversation
|
Addressed Bugbot finding L5 in the follow-up commit:
Same pitfall is noted as L5 in |
|
Addressed the latest Bugbot finding (N3 / L8):
Previously we only set solid when flags were present. |
|
Addressed the latest Bugbot findings on light preview:
Query flags still toggle |
|
Addressed the latest Bugbot finding:
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a035819. Configure here.
Redirect MCP-style /editor/:id URLs to /scene/:id, open scenes with a lighter post-FX path for stable local WebGPU, and clarify the home blank-canvas banner vs the saved scenes list.
SceneLoader stayed mounted on same-route Light preview navigation, so shading never updated. Depend on useSearchParams so solid mode applies.
When ?disable=postFx is removed, set shading back to rendered so the viewer is not stuck on the solid/light path after client navigation.
Pass disablePostFx from SceneLoader into Viewer so post-FX is actually skipped (not only solid shading). Light preview button re-applies solid shading even when the query is already active.
Toolbar/version preview mounts a second Viewer; without disablePostFx, light-preview scenes re-enable post-FX and can reintroduce GPU load.
Every scene card linked to `?disable=postFx,outline`, so all saved scenes opened with the post-FX pipeline off and no way back — the button only pushed the query when it was absent. Links go back to `/scene/<id>` and the button toggles the flag both ways. Drop the `setShading` effect. `disablePostFx` already skips the whole pipeline, and `shading` is a persisted user preference keyed by render context: forcing it wrote 'solid' (or 'rendered') into `shadingByContext`, so opening one scene changed the shading of the blank canvas at `/`. `?disable=outline` is redundant once postFx is off (the outline pass only exists inside the pipeline), and it costs the selection/hover outlines that are the only 3D feedback for a single selected node. `safe=1` was an undocumented second spelling with no other reference in the repo. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
a035819 to
7931a33
Compare
|
Both problems here are real, and I verified each from source before touching anything. The 404 is genuine. The reason the path is Light preview is worth having, and I've rebased onto main (Next 16.3 landed in #579) and pushed three fixes, since all of them are small and I'd rather unblock this than round-trip: 1. Light preview was one-way and applied to everything. 2. The 3. Dropped Gates after the rebase: One thing I deliberately did not change, as a note for whoever picks up the perf thread: the underlying complaint is that the pipeline is heavy on local WebGPU, and a manual toggle is a workaround rather than a fix. There is already an auto-fallback — Merging once CI is green. Thanks for chasing the Bugbot findings down as far as you did — the |

What does this PR do?
Improves the standalone
apps/editorlocal/MCP preview experience:/editor/:idto/scene/:idso MCPeditorUrllinks open saved scenes instead of 404.?disable=postFx,outline(existing viewer flags) and forces solid shading when that path is active; scene page exposes a Light preview control.No viewer package API changes; uses existing post-processing
disablequery flags.How to test
bun run --cwd apps/editor dev(or project equivalent) on port 3002 with a local scene store./editor/<existing-scene-id>— expect redirect to/scene/<id>and the scene loads./scenes— each card links with light-preview query; canvas should stay responsive (post-FX off)./still shows blank editor with link to saved scenes.Screenshots / screen recording
N/A for core logic (routing + existing viewer flags). Optional: short clip of
/editor/idredirect if desired.Checklist
mainbranchNote
Low Risk
Changes are limited to routing, copy, and an optional rendering flag wired through existing viewer
disablePostFxsupport; no auth or persistence logic is touched.Overview
Adds a non-permanent redirect from
/editor/:idto/scene/:idso MCP/hosteditorUrllinks open saved scenes in the OSS app instead of 404ing.On saved-scene pages, Light preview reads
?disable=postFx(including after client-side navigation) and passesdisablePostFxinto@pascal-app/editor, which forwards it to the viewer so the post-processing pipeline is skipped for a lighter GPU path. A header control toggles that query param on/off.The home local-editor banner copy is updated to clarify that
/is a blank canvas and saved work lives under Scenes, with minor layout tweaks for wrapping on small screens.Reviewed by Cursor Bugbot for commit 7931a33. Bugbot is set up for automated code reviews on this repo. Configure here.