Delay every frame in direction by delay.
Uses kotlinx.coroutines.delay so kotlinx.coroutines.test.runTest's virtual time controls delivery — no wall-clock dependency.