Real networks drop packets in both directions, so any API client that retries on timeout only gets "at-least-once" delivery by default — and a lost acknowledgement after a successfully-processed request looks identical, from the client's side, to a request that never arrived at all. This simulator renders that race in 3D: request packets fly from a client node to a server node and back along a lossy path, each carrying an idempotency key that survives every retry of the same logical operation. Toggle the server's idempotency-key cache on or off and watch the consequence directly — with it on, a duplicate retry is recognised and short-circuited before it can run the underlying operation twice; with it off, every arriving retry re-executes the side effect, and the "duplicate side-effects" counter climbs exactly the way a double-charged payment or a duplicated order would in production. Sliders control the network's packet-loss rate, the client's retry timeout, and the request rate, so you can push the system into the regime where idempotent design actually matters.