Physics playback
A run records and plays back, two engines run the same game in rollback exchanging only inputs, and a digest per tick catches a desync.
-
A snapshot restores a tick and the deterministic simulation re-runs the same inputs. Node ids are stable across spawns and re-runs, and scripts see
rollback::inputandrollback::is_resimulating. -
A peer publishes a tick's hash once every player's input for it has arrived. A desync names the tick.
-
Transportruns over WebSockets, and over QUIC datagrams throughbalaur_webtransport, where a lost input costs a misprediction.balaur_http,balaur_websocketandbalaur_webtransportare one crate each, behind their own features. -
Delay, jitter and datagram loss can be set on every session link, from the editor's settings.

