multiple things re: meshplotter's update_vertices and general collections management
Currently, update_vertices() just generically redraw the circles associated with each vertex of a mesh... not the vertices that, say, a user might have specified when draw_vertices() was initially called. Ideally, update_vertices() should act according to a given MeshPlotter instance's own history of draw_vertices(). It follows from this that things like text is also ignored in the update.
I suspect this will require the plotter to store the list of dictionaries associated with each draw_element(), not only the axes's collection as it is currently set up to do, so that the update_element() method will know what else requires updating...
On that note, it is noteworthy that the MeshPlotter class only stores the elementcollection (as matplotlib collections) generated at each call of draw_element(), which means that there may be lingering geometries stored in matplotlib's axes when clear() is invoked if a user had called draw_element() (for the same element type, e.g. vertex) multiple times. (A user may use draw_vertices() multiple times in order to draw different type of vertices with different styles/formats)
the current implementation is indeed limited and not very flexible. afaik it can only be used in one specific way. however, this will go away when rebasing onto the new plotter system...
plotter doesn't exist anymore