I have two LED strips on separate controllers which I am syncronizing some important

I have two LED strips on separate controllers which I am syncronizing some important variables, like hue and currentPattern. The Demo100 example generates the same colors for both, but only when the strips have the same number of LEDs. If I change the NUM_LEDS variable on the 2nd strip, the colors no longer match.
Looking at the different patterns, it’s not immediately obvious to me why this happens. The calls to CHSV() don’t accept the NUM_LEDS parameter, only hue. Am I missing something obvious?

The difference between the bit banging output time (32 vs 64 LEDs) shouldn’t be large enough to conflict with the 20ms checks to increment hue, I would think?

What controllers are you using?

Out of curiosity, what happens if you change line 26, FRAMES_PER_SECOND, to say 60, or 30?

Esp8266’s. Seems I get the same (unmatching) result when changing the frame rate. Note this discrepancy reproduces without the syncing code, if I were to start them both simultaneously.