ReadonlykindStatic ReadonlyCAPTURE_Offline-capture callback IDs — static so dispose() can remove them
unconditionally even if the loop is parked on an await and
hasn't reached its finally yet.
Static ReadonlyKEEPALIVE_Private ReadonlyscenePrivate ReadonlyanimationPrivate ReadonlyhooksSynchronously stop the loop. The loop's await checkpoints
observe sessionAbort.signal and break out cleanly.
Privaterun
AbortController for the offline-capture session. Set immediately after the confirmation check, BEFORE any state mutation, so dispose() during the early state-save / rAF window can abort the in-flight session.