Files
moonwell-client-core/docs
Sam Sung 1c42fd7d35 OnUpdate runs after the frame's input, as 1.12.1's does (#2383)
The UI's `OnUpdate` walk ran before the frame's input pass. So an `OnUpdate` reading `IsShiftKeyDown()` or a button's pushed state saw the last frame's input, and a click's `OnMouseDown` ran after that frame's `OnUpdate`.

1.12.1's tick runs the window input (`0x420d23`), then the packets (`0x420d55`), then the frame time, and only then the frame pass (`0x420d6a`), whose interface layer runs the `OnUpdate` walk.

The input pass and its bindings now run ahead of the packet feeds, and those ahead of a new tick set. Clicks hit-test the last frame's rects, as the reference's records do. The `vm_pass` doc now names the walk's category.

Tests run the client's own systems in schedule order: Shift seen in `OnUpdate`, `OnMouseDown` before `OnUpdate`, and a packet event between them.

Fixes #2351

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 09:05:32 +07:00
..