Organic-looking two-dimensional objects rendered with webGL. An inverse-square-distance potential is naïvely computed at each pixel by the fragment shader; timestepping (split/merge, integration of motion) handled in javascript.