docs: def _grid_distance(self, index):
          """
          Calculate the distance grid for a single index position.
  
          This is pre-calculated for fast neighborhood calculations
          later on (see _calc_influence).
          """
          # Take every dimension but the first in reverse
          # then reverse that list again.
          dimensions = np.cumprod(self.map_dimensions[1::][::-1])[::-1]
  
          coord = []
          for idx, dim in enumerate(dimensions):
              if idx != 0:
                  value = (index % dimensions[idx-1]) // dim
              else:
                  value = index // dim
              coord.append(value)
  
          coord.append(index % self.map_dimensions[-1])
  
          for idx, (width, row) in enumerate(zip(self.map_dimensions, coord)):
              x = np.abs(np.arange(width) - row) ** 2
              dims = self.map_dimensions[::-1]
              if idx:
                  dims = dims[:-idx]
              x = np.broadcast_to(x, dims).T
              if idx == 0:
                  distance = np.copy(x)
              else:
                  distance += x.T
  
          return distance