Explore the RxJs API by managing moving particle systems. The systems should:
- Have particle movement that feels calm and natural
- Support large swarms of particles
- Be able to evade obstacles
The trickiest portion of this iteration was animating the curved paths. I explored elliptical geometry, but calculating arc length (to maintain a scalar speed) is quite difficult. Smoothstep cubic curves were also an option, but maintaining consistent entry and exit angles could affect performance for large groups. The current design uses circular paths that smoothly change direction and rotation.