STEP 1: create an curve info node
Just like the leg to create a stretchy spine we need to know the length original distance the current distance.
But because of all the separate joints this can be tricky. But because we have a ik spline this actually is simple.
There is a node that can hook up to a curve and tell us the length of that curve.
This is the curveInfo node.
Select the spine_ik_curve.
In the commandline type: "arclen -ch 1;"
This will create the node.
STEP 2: create the ratio and condition node
Select the curve and open the hypergraph connections.
You will see the curveInfo node attached to the curve.
We need to create the ratio just like the we did on the leg.
Create a multiply node and a condtion node
Rename the condtion, node spine_stretch_cond.
Rename the multiply node spine_stretch_ratio.
Connect the .arclength of the curveInfo to the .input1X of the ratio.
Turn the operation of the ratio to divide.
Since the spine should be in it's initial state copy the number in the input1X to the input2X.
The output should be total_length/default_length.
Plug the .outputX of the ratio node to the .firstTerm and colorIfTrueR of the condition node.
Set the second term to 1, and the condition to greater than.
This will make it so if it greater than the spine default length it will stretch.
Squash is much more complicated and I am not going to get into it for this tutorial.
STEP 3: create multiply nodes
While still in the hypergraph, create a multiply node for each of your fk spine joints except the root.
In the hypergraph, select all the new multiply nodes. In the outliner select all the fk spine joints.
In the hypergraph press the input/output connections.
Rename the multiply node to a corresponding spine joint, spine_#_stretch_mult.
Copy, don't connect, the .translateX of the joint to the input2X of the corresponding multiply node.
Connect the .outColorR of the condition node to the .input1X of each multiply node.
Connect the .outputX of each multiply node to the .translateX of the corresponding joint.