Really really good 'thinky' !
I have a technical question about the hint system and overall design. Does the game store some sort of tree of all possible game states for each level? If so, did you also use that tree to check that you can't softlock yourself by bringing balls into levels? If not, how does the hint system know if it's solvable or not? Also, how is "closest to the finish" measured if the path is not unique?