Callbacks should all follow the same pattern
Summary
Currently, there are two major algorithms in Timor that have a dedicated callback
structure: The GA and the inverse kinematics.
However, they are not formatted uniformly and follow slightly different mechanics.
What is the current behavior?
The IK (as implemented in !166 (merged) ) follows a well-defined pattern: A callback function must return one of three pre-defined enum values, and any number of callbacks can be chained, where "BREAK" > "FALSE" > "TRUE" (so if any one of the "higher priority" values appears in one callback, it will dominate the overall return).
Currently, the GA still has a private method to chain callbacks and they are not as well documented as for the ik.
What is the expected correct behavior?
The GA should also use the common methods.
Possible fixes
Should be tackled either by @JonathanKuelz or by @ang_li in a future merge request.
/cc @JonathanKuelz