* perf: use Set for new_deps to avoid O(n) includes check
* fix: only call revive() when batch is no longer deferred
* fix: avoid unnecessary async tracking when blockers are already settled
* add changeset
* only record promises as settled after cleanup is complete
* don't flush when already flushing
* skip settled blockers more aggressively
* batch decrement and pending count updates to reduce flush pressure
* extract new_deps changes to a separate PR
* remove changeset that applies to the other branch
* mark promises as settled as they settle — at the end is too late to do any good
* remove unnecessary microtask
* extract batch changes to separate PR
* this too
* avoid assigning to parameter
* wrong promise added to settled_promises due to reassignment
* WIP
* WIP
* fix
* unused
* oops
* bad import
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>