I've been doing a lot of experiments lately with constraints and the IK Handle and a few other things, and it's got me thinking.
Now, all constraint nodes are directly plugged into the attributes they control; this is mostly so that the DAG knows what's going where, what relies on what, and so on. However, the IK Handle and how it effects a chain of joints is different. It doesn't directly connect to any rotation values, for example -- it has a "loosely coupled" connection (saw it referred to as such in a Maya API video years ago). So somehow the DAG is still updating properly, but you can go in and key the joints if you wanted to and the IK Handle would overwrite the animation when its influence is at 1, but the animation curves would show through when the influence is at 0.
Not that any of us would do such crazy things.
Anyway, has anyone else experimented with loose coupling in their own custom nodes? Specifically, how is it possible to, for example, create a node that overwrites translation on another node without a direct connection, multiplied by a weighting value that smooth-blends the new position inside the custom node over, say, values generated by animation curves or a constraint or an IK handle, while at the same time keeping the DAG happy?
I know it's possible; I just haven't the foggiest idea of where to start. Thanks!