class_docstr: Visualize triangulation process stepwise to aid in debugging.
  
  *interval* specifies the diration to wait before drawing each update in
  the triangulation procedure. Negative values cause the display to wait
  until the user clicks on the window for each update.
  
  *skip* causes the display to immediately process the first N events
  before pausing.
code: def draw_tri(self, tri, source=None):
      # assign triangle color based on the source that generated it
      color = {
          None: (0, 255, 255, 50),
          "smooth1": (0, 255, 0, 50),
          "fill_hull": (255, 255, 0, 50),
          "edge_event": (100, 100, 255, 100),
      }[source]
  
      tpts = self.pts[np.array(tri)]
      path = pg.arrayToQPath(tpts[:, 0], tpts[:, 1])
      shape = pg.QtGui.QGraphicsPathItem(path)
      shape.setPen(pg.mkPen(255, 255, 255, 100))
      brush = pg.mkBrush(color)
      shape.setBrush(brush)
      self.win.addItem(shape)
      self.tri_shapes[tri] = shape
      self.draw_state()
  
file_path: vispy/vispy/geometry/_triangulation_debugger.py
imports: from __future__ import division
  import numpy
  import time
  from ..util.geometry.triangulation import Triangulation
label_desc: Use image node_id 4 for calling the DebugTriangulation obj's underlying member method code with example usage: obj.draw_tri(tri, source) without return types