code: func (d *Drawer) Draw(t Target) {
  	d.lazyInit()
  
  	if d.Triangles == nil {
  		return
  	}
  
  	dt := d.targets[t]
  	if dt == nil {
  		dt = &drawerTarget{
  			pics: make(map[Picture]TargetPicture),
  		}
  		d.targets[t] = dt
  	}
  
  	if dt.tris == nil {
  		dt.tris = t.MakeTriangles(d.Triangles)
  		dt.clean = true
  	}
  
  	if !dt.clean {
  		dt.tris.SetLen(d.Triangles.Len())
  		dt.tris.Update(d.Triangles)
  		dt.clean = true
  	}
  
  	if d.Picture == nil {
  		dt.tris.Draw()
  		return
  	}
  
  	pic := dt.pics[d.Picture]
  	if pic == nil {
  		pic = t.MakePicture(d.Picture)
  		dt.pics[d.Picture] = pic
  	}
  
  	pic.Draw(dt.tris)
  }
docs: // Draw efficiently draws Triangles with Picture onto the provided Target.
  //
  // If Triangles is nil, nothing will be drawn. If Picture is nil, Triangles will be drawn without a
  // Picture.