diff --git a/src/AcDream.App/Rendering/GameWindow.cs b/src/AcDream.App/Rendering/GameWindow.cs index 588e448..81d27ae 100644 --- a/src/AcDream.App/Rendering/GameWindow.cs +++ b/src/AcDream.App/Rendering/GameWindow.cs @@ -3348,11 +3348,14 @@ public sealed class GameWindow : IDisposable /// velocity refinement is suppressed for a player remote. UMs are /// authoritative; the velocity fallback only fills the gap when retail /// does not send a fresh MoveToState (Shift toggle while direction key - /// held). 0.5 s is a defensible default — UPs arrive at ~5–10 Hz, so - /// a Shift toggle's first UP after the toggle is typically ~100–200 ms - /// after the most recent UM, well past the grace. + /// held). 200 ms covers the worst-case UM/UP race — UMs arrive on + /// direction-key events and UPs at 5–10 Hz, so the first UP after a + /// fresh UM lands ~100–200 ms behind. Tightened from 500 ms (commit + /// 8fa04af original) per user observation that the Shift-toggle + /// transition was visibly slower than retail; with 0.2 s the worst-case + /// added latency is just the UP cadence below it. /// - private const double UmGraceSeconds = 0.5; + private const double UmGraceSeconds = 0.2; /// /// Speed (m/s) above which a player-remote currently in WalkForward