Only re-measure the viewport at begin() when a container is mounted, and only allocate waiting machinery when an interrupted finish() actually needs to wait for a later release. Interrupted releases now resolve with the final decided outcome in every case. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Faarh2Ts6StJPcz2mRiHiR