This is the answer I was looking for. Now all I had to do was use the sim to drive the geometry in SOPs. I am really surprised haw fast it is. What makes it great is that it uses simple spheres as packed primitives with Bullet Solver.

Here are some demos:

You can easily set up pin constraints by setting i@active to 0.

For tearing, you set a Primitive Group, called broken, to the constraints. The tricky part is applying it to the rest geometry in SOPs.