Very neat! I thoroughly enjoyed writing this code
changeover[test_,start_,step_]:={start,step}//.{x_,y_}:>If[test[x+y],{x+y,y},{x,y/2.}]
exhibitchanges[listofchangesepsilons_]:=(ColorData["BrightBands"]@#&/@
{First@#,First@#+$MachineEpsilon})&/@listofchangesepsilons
Table[changeover[
EuclideanDistance@Delete[List@@ColorData["BrightBands"]@#&/@{#,i/6+.05},0]>.3&,
i/6-.05,.05],{i,5}]
exhibitchanges@%
which agrees with your values (to within
10^{-18}).