extract.canvas(viewport) snapshots the entire viewport to a WebGL texture on the main thread. When viewport dimensions × devicePixelRatio exceed GPU limits, this causes texImage2D errors and ~1000ms stalls that block focus, typing, and scroll. Thumbnails can be generated on idle or server-side instead.