fix(design): reduce large canvas iframe churn during pan - #5612
Conversation
17078d1 to
6c8c335
Compare
|
Here's a visual recap of what changed: Open the full interactive recap |
There was a problem hiding this comment.
Builder reviewed your changes — looks good ✅
Review Details
Code Review Summary
The latest PR head keeps the narrowly scoped performance change that raises the design overview culling overscan factor from 1.5 to 2. This is intended to keep nearby preview screens and iframes warm across the debounced camera commit, while preserving the existing live-screen and iframe ceilings.
The previously identified test gap is addressed: the new culling test uses distinct raw and expanded viewport bounds and verifies that an overscan-only screen is admitted before it reaches the raw viewport. The focused suite reportedly passes with 45 tests. Two independent relaxed reviews found no confirmed runtime, geometry, resource-bound, security, or functional regression.
Risk assessment
Low risk: this is a localized UI performance tuning change with no API, data, authentication, or persistence impact. The implementation and regression coverage are consistent with the stated behavior.
🧪 Browser testing: Will run after this review (PR touches UI code); the attempted run was blocked because the browser-test executors still had no Chrome automation tools available.

The large canvas culling pool rebuilt too many preview iframes after a settled pan/zoom because the 1.5 viewport overscan band was too narrow for the gesture's committed camera movement. Widening the band to 2 viewport lengths keeps nearby screens warm and reduces iframe mount/unmount churn while retaining the existing live pool and iframe ceilings.
Validation:
pnpm exec vitest run app/components/design/MultiScreenCanvas.culling.test.ts- 44 passedpnpm exec oxfmt --check ...- passedgit diff --check- passedorigin/maina1443cd.