@chrislesage Thanks for documenting this!
I will try to reply to some of the TODO notes questions:
print('setupWS', component.setupWS) # TODO: returns the "setup" group, but no idea what that is for.
is the setup transform. This is used to organize parts of the rig that are not moving. Like local facial or some part of leg_3jnt
print('size', component.size) # TODO: Not sure what this refers to
is the self size of the component. Mainly use to calculate the size of some controls
print('negate', component.negate) # TODO: returns True or False
is the inverted side. for example Left the negate is Right. Some components need to invert some axis and values to achieve the desired behavior
print('subGroups', component.subGroups) #TODO: No idea. Always empty in my tests.
is this. By default is empty
print('relatives', component.relatives) #TODO. eg. {'elbow': nt.Transform(u'arm_L0_div5_loc'), 'wrist': nt.Transform(u'arm_L0_div10_loc')}
Is the relation between the guide locators and the corresponding objects in the final rig
print('aliasRelatives', component.aliasRelatives) #TODO: arm is {'eff': 'hand'} or control_01 is {'root': 'ctl'}
is the name alias to be used in the ik space reference. So instead of using the guide locator name, will use a more descriptive name when the rig is build
print('jnt_pos', component.jnt_pos) # TODO A list of lists [[transform, 0], [transform, 1], [transform, 2], [transform, 'end']]
this is the list to configure each deformation joint at the end of the build. this is the methor that is using it later: is in components/init.py
print('transform2Lock', component.transform2Lock) #TODO: I guess a list of nodes that will get locked
to track the controls parent to be locked. This was a request from animators. o avoid keyframe by mistake internal rig parts. NOTE: We have set a custom pickwalk using control tag node so is not easy to pickwalk by mistake the parent of a control and keyframe it.
print('stepMethods', component.stepMethods) #TODO: Unsure yet.
is the list of steps that will be executed at build time. this are the default steps not the custom steps
I hope this helps
Cheers,
Miquel