Deploy web Studio / deploy (push) Successful in 1m5s
Pan/zoom gestures move the drawing as a CSS-transformed layer, a picture at the scale last drawn. A long touchpad pinch showed an ever more stretched, blurry view (3.6x at the end of a 1.2 s pinch), and every zoom ended with a blur-then-snap 180 ms after its last step. Now the view is drawn anew during the gesture once the picture is 30% off in scale (at most every 120 ms; draw() keeps the gesture state), and at its true scale 90 ms after the last step. Measured in Brave at 1.5x pixel density: sharp ~130 ms instead of ~240 ms after a pinch, crisp on the way. Cost at 6x CPU slowdown: 11.4 -> 14.6 ms per wheel step in the Studio, 9.1 -> 10.5 on a page, still no frame over 50 ms. check_web: a long pinch is drawn anew on the way and sharp within 150 ms.