Hey @Dew you are most welcome!
I have been there before too, took me some time to get used to how things work.
If you take a look at your top guide node in your scene, there is an attribute called “step”, this is showing you all the steps that the build goes through. You can set that to whatever step and it will only build to that point - showing you this for when you are learning/debugging your custom components and also to build upon what I would like to show next.
I always suggest messing around with the “control_01” component as it is the most simple example to learn from as there is not too much going on, but really sets a good foundation to build from. Then what will really help with what you are looking to do, take a look at the “lite_chain” as it is also more “simple” but a step up from the “control_01”
All you guides will inherit from the “shifter.component.guide” base class, which when building a guide you will notice a couple of steps that always happens. - I hope that the image is not too small, but just in case, there is (postInit, InitialHierarchy, addObjects, AddParameters, postDraw) These are how you can think of building up your guide. As you mentioned, already here mGear is constructing things in steps, so first create everything that you need, then add the attributes to all the things created, and so on.
The process mentioned above follows into how mGear builds each component too. If you look into the “shifter.component.init” which is the base class that all components will inherit from. You will see all the steps there and what they are trying to achieve. And now this relates to the main attribute on the guide node in the scene.
For each component, it will run step_00, so that all objects are created, then in step_01, all attributes are created to all the nodes and so on (very simplified examples here, as you will see there is more going on) and this approach helps out in making debugging what is going wrong with a component. If it fails at a certain step, you know exactly, ah, this step is failing, let’s see as to why that is, and you know exactly where to look.
So to one of your questions, mGear creates joints as the final step which is generally connected up by one of the transform nodes that you create in the beginning, so you will most likely want to target those nodes and create some kind of logic on how you want that to control the joint (Think of the joints as NO TOUCHY ). That step of adding a multiply divide node, would be under the “addOperators” section, and that is where you will build much of the needed node logic for your component.
I am also going to point you to a previous post that I mentioned similar about how to go by creating your own components. It is the 5th post from the top. I talk a bit about how to go by doing your own custom UI for the component(s) that you create.
Custom Components Workflow
Hope that helps you out man!