Hi @dcthomp, @jaswantp and @c.wetterer-nelson,
First, as a developer of DG methods for finite elements in my previous work, I would like to say I am super excited to see this kind of support coming to VTK! It can be a real challenge to visualize solutions to DG type simulations in existing software for exactly all the reasons you guys specified in this thread.
Secondly, I think that the approach of letting users potentially provide their own cells is a good one. There is a whole zoology of element types out there which can differ in the functional spaces they discretize but also how they describe them (positioning of interpolation nodes, modal function definitions, etc.).
Lastly, on a more technical note, in the context of supporting broad p-adaptation, have you though of what would happen for meshes that support different polynomial orders for their geometry as well as their fields ? Indeed, it is possible to generate meshes that are essentially “linear” or straight throughout their domain and higher order only at their boundaries. In order to cut down on the memory cost of the connectivity and the points, you could have different connectivity arrays: one holds elements of order 1 while the others hold elements of higher order geometry, etc. This would operate much in the same way that you’ve designed your support for different order elements for your fields. Of course, the geometric polynomial order and the field polynomial order can still vary independently as long as p_{geom} \le p_{field}.
In any case, thanks for the forum for discussing this topic which looks really well thought out so far!