83b58c23a3
onPhotosReady read results.batchApply, but on the measure capture state batchApply is a SIBLING of results, so the read was always undefined and every batch photo fell through to processedBlob: undefined. The Photos-ready lineup showed all four PNGs (calibration, overlay, and both batch siblings) yet only two images reached Woo, because publish.py selects WHERE processed_blob IS NOT NULL. Read s.capture.batchApply.