@ SHABA1 - As regards IK settings, this may help you:
The IK properties are used to control bones in an IK chain - any other constraints are totally ignored by the IK Constraint.
Te Lock functions will stop a bone moving in any of the axes - this can apply to any bone in the chain, not just the one with the IK constraint.
You can also Limit the rotation by setting the Limit checkbox and entering max and min rotational values.
Stiffness will make the joint stiffer, up to 1 which is “it doesn’t move”. This is used to make bones in the chain move proportionately for example. So the fist bone can have high stiffness and it will move less than the second, which will have a lower stiffness.
Stretch enables a bone to be stretchable in the IK chain - I use this for hydraulic cylinders where you want one bone to stretch as the cylinder is operated - it’s a bit like a Stretch To constraint in the way it operates. You can have varying stretch amounts on bones in the chain and they will stretch accordingly. So first bone has stretch of 1, second has stretch of 0.5 - first bone will stretch twice as much as the second.
For an IK constraint you should set the Armature/Target object and bone if using an Armature.
Pole Target is another object that “pulls” the IK chain across - a little like a Track To constraint if you like.
Chain length is VITAL in the setup - a length of 0 goes all the way back to the root or major bone and is never really a good idea - all connected bones in the chain will be affected by the constraint and all of these should have their own IK properties set to make the chain behave as you would like. If you have more than one IK chain in a single armature, you must set the chain lengths for each so they don’t interact - share a common bone if you like, or the chains will not behave themselves.
This is an example of a hydraulic cylinder setup:
The two bones that are angled control the two halves of the cylinder and do not inherit scale from the horizontal “stroke” bone, which is allowed to stretch.
I hope this clears this up, feel free to ask any more questions you have.
On the matter of me taking on maintenance of the .bvh add-on - this would be difficult as I am not an expert in this field, in fact I have never used it at all, nor done any work with motion tracking, so may not be the best person to do this. Also, I am not an expert python programmer, I only started about 6 months ago building animation nodes and MIDI sync systems, where I do have considerable experience with MIDI. My previous programming experience was specifically with Geographic Information Systems and I used the native language for Arc/Info/ArcView from ESRI. So I am a programmer/ systems analyst, but in a specific language. My python is improving all the time, but I do not think it is advanced enough yet for this task, assuming the add-on is a python product. Having said all that I would be willing to explore this further to help out, as I am considered to be a bit of an expert in rigging on this forum (not blowing my own trumpet here, it’s just I have a lot of experience).