Fluiddraw P5 – Premium & Direct

The p5 environment is particularly suited for this because of its immediate feedback loop. Functions like mouseDragged() can add velocity and dye simultaneously: