Encoding each frame to PNG and posting it over the channel lagged the glass and capped it at 30 fps. The viewer is a same-origin popup, so the glass now draws each rendered frame into it in the same animation frame. The viewer hands its window back through opener.postMessage after a ComfyUI reload. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>