Is there an easy way to select a set of leds from a CRGBArray where the end pixel is before the start pixel, such that the set starts at the ‘start’ led, wraps around at the end of the strip and continues at the start of the strip and ends at the end led, whose number is less than the start led. So you can easily have a movable set that automatically wraps around the end of the strip back to the beginning?
In addition to Modulo, there’s also the beat8() function which is a sawtooth wave. The advantage here is that you don’t have to use a delay() statement to slow down the animation. The disadvantage is that if you change the rate on the fly, the returned value will jump significantly. Also, unlike some of the beat functions, beat8() does not have min and max options, so the returned uint8_t value will probably need to be mapped to the length of your strand.