code: def merge_runs(data, digits=None):
      
      data = np.asanyarray(data)
      mask = np.abs(np.diff(data)) > tol.merge
      mask = np.concatenate((np.array([True]), mask))
  
      return data[mask]
docs: Merge duplicate sequential values. This differs from unique_ordered
      in that values can occur in multiple places in the sequence, but
      only consecutive repeats are removed
  
      Parameters
      -----------
      data: (n,) float or int
  
      Returns
      --------
      merged: (m,) float or int
  
      Examples
      ---------
      In [1]: a
      Out[1]:
      array([-1, -1, -1,  0,  0,  1,  1,  2,  0,
              3,  3,  4,  4,  5,  5,  6,  6,  7,
              7,  8,  8,  9,  9,  9])
  
      In [2]: trimesh.grouping.merge_runs(a)
      Out[2]: array([-1,  0,  1,  2,  0,  3,  4,  5,  6,  7,  8,  9])