Note: The bug mentioned below has been fixed and is described in This Post.

I encountered a bug in the Linkage simulation code. I have error checking for mechanisms that won’t work and I was aware of some situations that were not working right. This new problem surprised me.

Video of the Failure

The simulation code uses an iterative approach where each element is moved if it can be and once all elements have been tried, the process repeats until there is an error or until all elements have been moved. This is a bit clumsy but it was the only way I knew how to do this. I knew that there was a bit of error checking missing when rotating input anchors but I didn’t expect this case.

Link 2 get stretched. It appears that either connector D or connector F is getting moved without regard to the other.

I’ll fix it as soon as I get a chance but I did want to at least have some record of the problem for anyone who might encounter it.

And if anyone doesn’t know this already, there is an exponential order of magnitude relationship between the amount of code in a program and the difficulty in writing that code. Double the code and it is like making it 10 times more complex. At least it seems that way sometimes.