docs: public boolean process(Grid grid ) {
  		// reset and initialize data structures
  		init(grid);
  
  		// add tangent points from adjacent ellipses
  		if( !horizontal(grid) )
  			return false;
  		if( !vertical(grid) )
  			return false;
  		if( !diagonalLR(grid) )
  			return false;
  		if( !diagonalRL(grid) )
  			return false;
  
  		return computeEllipseCenters();
  	}