Bouncing Text WS2812b Function problem Right shift

hi
i did run in some trouble as i loose 1COL on the right sight on shifting
the Funktion shoudt take the color of led last i the row-1 to the last one
and so on but i messed up some as i loose one row that i cand access
Better to Run pixel by pixel i guess

void shiftToLeft(int counts){
 while(counts--){
  int ledpos=0; 
  for (int row=0;row<7;row++){
      for (int col =0;col< NUM_LEDS_PER_STRIP-2;col++){
         ledpos = (row*NUM_LEDS_PER_STRIP)+col ;
         LED[ledpos]=LED[ledpos+1];
      }
  }
  FastLED.show();
  _delay_ms(30);
 }
}
void shiftToRight(int counts){
 int ledpos=NUM_LEDS; 
 while(counts--){
  for (int row=7;row>0;row--){
      for (int col= 0;col<NUM_LEDS_PER_STRIP ;col++){
         ledpos = (row*NUM_LEDS_PER_STRIP)-col ;
         LED[ledpos]=LED[ledpos-1];
         
      }
  }
  FastLED.show();
  _delay_ms(30);
 }
}

bounce_ws.mpg (824 KB)

FASTLED_7x42_p2-8_shift.ino (22.9 KB)

Here is the Animation
to Show the Full effect VIDEO in First Post as 2MB limit

Shoudt i add the last/first Row to be Blank all the Rows coudt be used

i messed up on the FOR Values to be counted

the Wire schema to the Nano

I did not look at your full code (on a cell phone).

Is it possible that the spacing between the characters plays a role?

Looks like you're missing two pixels at the right, not one.