Been hardening my block assembly logic for my robot. Have made it possible for him to disassemble sets of blocks he has already built, but ran into some minor issues when the blocks had rolled around and where not aligned with the Y up world coordinates anymore. So I implemented a rather generic solution to actually be able to adjust to any alignment that the cubes are in when being assembled.
The pieces can now be in any rotation or position and the system will find the closest match to piece them together.
Implementing the tearing down of already assembled pieces took most of yesterday, and most of today was dedicated to make sure all the assembling would work regardless of the orientation of the pieces. As long as there are complimentary sockets that are connected.
I will clean this up a bit tomorrow and try to wrap up the assembling bit, finally.