Remove server reconciliation in favor of pure client prediction

The reconciliation system caused visible teleportation at high latency
(e.g. 250ms Germany→Korea): position corrections snapped the local
player and thrown items back to stale server states.

- Drop the inputAck/seq tracking, InputBuffer, and applyReconciliation.
  The client predicts locally and the server stays authoritative via
  the existing worldUpdate broadcast; own-doll updates remain ignored.
- Override Item.setUpdateData on the client so in-flight items run free
  on local Box2D physics (client and server share the same throw
  impulse) and only sync when stationary or far out of sync. This keeps
  grab-sensor contact accurate while eliminating mid-flight snapping.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jeena 2026-05-28 23:35:22 +00:00
parent a0481ed867
commit d39a55e20e
8 changed files with 31 additions and 152 deletions

View file

@ -95,10 +95,6 @@ function () {
CHANNEL_DEFAULT_LEVELS: ["debug"],
CHANNEL_RECORD_SESSION: false,
// RECONCILIATION
RECONCILIATION_THRESHOLD: 1,
RECONCILIATION_SNAP_THRESHOLD: 5.0,
RECONCILIATION_BLEND_FACTOR: 0.2
};
Settings.TILE_RATIO = Settings.ORIGINAL_TILE_SIZE / Settings.TILE_SIZE;