892abefc08
Fixes #2168 Listeners fired once a frame, at a drain after every packet, so one packet's events could fire after a later packet's writes. 1.12.1 runs each packet's handler whole, in wire order (`0x5384d0`, `0x537ae5`), and a signal runs every listener before it returns (`0x703e50`). **Changed** - The lanes flush after each packet's handlers, and before the first packet for what input and the tick stamped. - An update packet's blocks, a speed packet's pose and a saved answer's bytes stay inside their packet. - Log starts become span starts. Chat's age pass runs once a frame. - The guard holds each lane's own reads. **Tests:** a listener's send ahead of the next packet's query, per-log reads between packets, close shapes across lanes. Each fails with one drain. Twelve suites now run in the world. Part of #2217. 🤖 Generated with [Claude Code](https://claude.com/claude-code)