When the pen lifts, the in-progress path was cleared immediately but
the completed stroke didn't appear on the backing bitmap until the
async DB save completed — creating a visible flash where the stroke
vanished for several frames.
Fix: transfer the completed path to a "pending" overlay that stays
visible in the dynamic layer until addCompletedStroke() confirms the
stroke is on the backing bitmap. The stroke is now visible continuously
from pen-down through commit with no gap.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>