As much as Tomato has become to camera tracking, Carrot has to Dynamic Paint. Since Miika first posted a demonstration video of dynamic paint working with iWave in early February, some major improvements have been made and we finally have something to play with!
Last week I was checking my iWave implementation from February. As you may remember it had quite strange issues: it kept emitting waves way too long after the obstacle had moved away, and sometimes waves seemed to move in wrong direction.
Finally I decided to implement another 2D wave algorithm instead. This time it's based on "Height Field Fluids" slides by Matthias Müller-Fischer. With some modifications it now works on mesh objects and is even compatible with new vertex surfaces.
He has a demonstration video, and a sample .blend file too, although it's really not hard at all to set it up yourself. The moment I first tried it out myself, I was absolutely overwhelmed with it's simplicity, and yet fantastic results, so go grab a carrot built over at graphicall, and have fun!
NOTE: You will need a build after revision 38044 of the Carrot branch. You can download one from GraphicAll.org.