class_docstr: Step sampler on a sampling path.
docstr: Make a move and return the proposed index.
docstr_tok: ["Make","a","move","and","return","the","proposed","index","."]
code: def movei(self, ui, region, ndraw=1, plot=False):
      """Make a move and return the proposed index."""
      if self.path is not None:
          if (
              self.lasti - 1 in self.deadends
              and self.lasti + 1 in self.deadends
          ):
              # stuck, cannot go anywhere. Stay.
              self.nexti = self.lasti
              return self.nexti
  
      if self.path is None:
          self.start_path(ui, region)
  
      assert not (
          self.lasti - 1 in self.deadends
          and self.lasti + 1 in self.deadends
      ), (self.deadends, self.lasti)
      if self.lasti + self.direction in self.deadends:
          self.direction *= -1
  
      self.nexti = self.lasti + self.direction
      # print("movei", self.nexti)
      # self.nexti = self.lasti + np.random.randint(0, 2) * 2 - 1
      return self.nexti
  
imports: import numpy
  import matplotlib.pyplot
  from ultranest.samplingpath import SamplingPath, ContourSamplingPath, extrapolate_ahead
  from ultranest.stepsampler import StepSampler
  from ultranest.stepsampler import generate_region_oriented_direction, generate_region_random_direction, generate_random_direction
  from ultranest.flatnuts import ClockedStepSampler, ClockedBisectSampler, ClockedNUTSSampler
  from ultranest.flatnuts import SingleJumper, DirectJumper, IntervalJumper
label_desc: Use image node_id 11 for calling the SamplingPathStepSampler obj's underlying member method code with example usage: obj.movei(ui, region, ndraw, plot) and returns: self, self