Les comparto mi solución al ejercicio, aplicando un poco más de condicionales
<canvas width="600" height="400"> </canvas>
<script>
var pantalla = document.querySelector("canvas");
var pincel = pantalla.getContext("2d");
pincel.fillStyle = "lightgrey";
pincel.fillRect(0,0,600,400);
function disenharCircunferencia(x,y,radio){
pincel.fillStyle = "blue";
pincel.beginPath();
pincel.arc(x,y,radio,0,2*Math.PI);
pincel.fill();
}
function limpiarPantalla(){
pincel.clearRect(0,0,600,400);
}
var x = 0
var regresar=599
function actualizarPantalla(){
if(x==600 && regresar!=0){
limpiarPantalla();
disenharCircunferencia(regresar,20,10);
regresar--;
}else if(regresar==0 && x==600){
x=0;
regresar=599;
limpiarPantalla();
disenharCircunferencia(x,20,10);
x++;
}else{
limpiarPantalla();
disenharCircunferencia(x,20,10);
x++;
}
}
setInterval(actualizarPantalla,10);
</script>