The cladogram is finally back to something resembling it’s original state: recursive collision detection and ‘steady’ legs for tiny single-creature branches split off, except now it uses discreet CladeTiles rather than continuous Position values.
I’ve also identified the original cause of offshooting: cladelegs were colliding with their own ancestors. There *was* code in place to prevent this, but it only extended as high as grandparents: if a clade collided with it’s great-grandparent, (difficult to achieve, since it requires a series of extremely rapid speciations) the branch would shoot off to the side. I’ve put code in place to deal with this, going as high as great-great grandparents.
The lag issue is still untested, but in theory at least it should be *much* reduced: the CladeTile system means that collisions a) only occur as lag spikes during speciations, and b) only test against clade legs in the same vertical space. This means maybe a couple dozen iterations in a large clade diagram, rather than thousands.
I need to do a multihour test before releasing (learned that lesson the hard way), but I’m fairly confident we’re nearly there.
Once that’s finished with, I’ll finally be able to release the dev list for Species 0.7.0 and start work proper on the next version.