Describe the bug
This is actually a lot of little things that I think are weird about how lastConnectionInRow decides if the orphaned block should be reconnected.
This is how the logic works
If any block in the chain has no matching connections, the block cannot reconnect.

If any block in the chain has multiple matching connections, the block cannot reconnect.


For 2 filled connections are still seen as available.

But these cases work:


To Reproduce
Steps to reproduce the behavior:
- You can replicate the above scenarios using the connection test blocks on the playground.
Expected behavior
I think behavior 3 should definitely be changed because it makes doing things like this inconvenient:

The other behaviors still feel unintuitive, but I'm not sure what the most intuitive behavior would be.
Additional context
TODO link
Describe the bug
This is actually a lot of little things that I think are weird about how lastConnectionInRow decides if the orphaned block should be reconnected.
This is how the logic works
If any block in the chain has no matching connections, the block cannot reconnect.

If any block in the chain has multiple matching connections, the block cannot reconnect.


For 2 filled connections are still seen as available.

But these cases work:


To Reproduce
Steps to reproduce the behavior:
Expected behavior
I think behavior 3 should definitely be changed because it makes doing things like this inconvenient:

The other behaviors still feel unintuitive, but I'm not sure what the most intuitive behavior would be.
Additional context
TODO link