Progress: State Splitting Complete

splitField() is now complete and appears to be working. However, due to the changes wrought, other methods that use splitField() are broken. The main source appears to be findRelevantStates, from which many other methods are coupled to (directly or indirectly).

My next task is to modify that method to take into account the variable sized states. Something of note is that although special states are only 1 wide, they can be treated as wider. For instance, a middle-type special state can be 3 wide (from the middle) and the edge states can be 2 wide.

Another idea struck me. It may be risky, but what if special states were ignored and another state ‘paved over the gaps’. For instance, lets say a contour fragment is {…-5,4,2…}. This could be ‘paved over’ to become {…-1, 0, 2…}. Might be a good idea if too many special states start appearing. Edge states would be paved completely though.

Tests passing: 13/18.