After a little fiddling around, I patched together a simple bulge operator with ICE:
Here’s the ICE tree, which is in the Modeling stack on the torus.
Right now, this works properly only when the torus is at the global origin (because Get Point Position returns local coordinates).