docs: private void setupSearch() {
  		searchPoints.clear();
  		searchSquareList.clear();
  
  		for (int i = 0; i < nodes.size(); i++) {
  			SquareNode n = nodes.get(i);
  
  			for (int j = 0; j < n.square.size(); j++) {
  				if( n.touch.size > 0 && n.touch.get(j) )
  					continue;
  				searchPoints.add( n.square.get(j));
  
  				// setup a list of squares for quick lookup
  				searchSquareList.add(n);
  			}
  		}
  		nn.setPoints(searchPoints,true);
  	}