⏱️ The event loop, one queue at a time

Queue a mix of sync, microtask (Promise.then), and macrotask (setTimeout) work, then hit Run. Watch the call stack empty first, then every microtask drain, then one macrotask — exactly the order the real engine uses.

queue work

Call stack

empty

Microtask queue

empty

Macrotask queue

empty
execution order
    queue some work above, then hit Run