ca983c4dc1
Tape-mode PhotoStage skipped mask checkerboard painting, so Zoom/Pan depended on async createMaskedPreviewBlob — a hang/fail left the stage without a cutout. Paint mask overlay in tape mode, mount PhotoStage on source+bitset right away (swap to alpha PNG when ready), checkerboard stage backdrop, and prefer HTML canvas for the preview encode.