a2208c2c50
In 1.12.1 a movement key press runs the controller's tick inside the press, before the frame's packets. `SetCommands` (`0x515090`) sets the bit, sends any cast cancel, then runs the tick at its tail (`0x5151a0` → `0x514640`), which reads root and stun at that moment. benilla ran its movement after the packet drain, so a root arriving in the same frame reached the wire before the start. A new press pass in the input stage now ends follow and click-to-move (`0x60e990`), stands the player up, sends the cast cancel, then emits the start or stop. `control` keeps the frame-time integration. Tests pin each wire order (start before a same-frame root ack, stand then start, cancel then start, the follow edges); each fails with its piece undone. A live trace showed the press ahead of the drain in all 80 presses. Fixes #2399 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>