I have a bone that acts as a container for two other bones along its primary axis for limb twisting. The top bone does an inverted twist rotation of 50% of its container/parent to make it work (the second bone just follows the parent/container normally). It works great, but there is a serious problem related to the way Blender flips its angles between -/+ 180. When the container bone is at +179.999, the child bone (at 50%) would be 89.9995, but then if I rotate slightly to +180.001 (-179.999), the child bone instantly changes to -89.9995.
For the parent, flipping +180 to -180 looks natural, but because of the math, the result on the child definitely does not. Is there any way to get this same behavior of having the child rotate to 50% of the parent without this popping effect?
If I were writing this in code, I would just make the child's updates additive instead of absolute. When the parent rotates, add 50% of the changes to the child, ignoring the parent's actual angle. Is something like this possible?