I know this depends on your personal opinion, so that is what I'm looking for!
I'm working on a project that involves many Arduino nodes with Neopixel (addressable) led strips attached to them. My previous version was based around an ESP8266. Each ESP8266 would receive UDP commands telling them which "animation" to play on its LED strip. This worked fine, but the issue is if the ESP8266 is already playing an animation, it can't receive new commands. This is fine if you plan it out for new commands to only be sent once it is planned for a certain animation to be completed, but in my project this won't always be the case.
I understand that the best way to fix this would be through software. Non-blocking versions of the animations could likely be made, but I feel like this would be extremely difficult. Another idea I had was to use a dual core ESP32 module, with one core constantly waiting for new packets and the other one handling the animation. If a new animation is received, the network core can call a flag to halt the animation.
My question is, which option would be best to pursue further?