Two critical PDF-editor bugs.
1. Live ink only appeared after lifting the pen. The page overlay
painter captured the live stroke as a build-time snapshot, so
per-move repaints redrew stale (null) data until commit. Route
the live stroke through a ValueNotifier the painter reads at
paint time (repaint: merge(overlayRepaint, liveStrokeVN)).
2. Pinch-zoom jumped on Windows touch. pdfrx's internal forked
InteractiveViewer scales with an unguarded scaleStart*details.scale
that pops on a touch-count blip or one-frame spike. Take over the
pinch: scaleEnabled:false (pdfrx keeps 1-finger scroll + wheel),
a glitch-guarded ScaleGestureRecognizer drives focal zoom via the
pdfrx controller, reusing absolutePinchScale + the re-baseline /
per-frame-clamp / focal-jump guards already proven on the note
canvas.
Zoom + pen feel are device-validated. analyze clean, tests green.