How do we factor out visualization across solvers and data representations
"TS (KSP, SNES) get information from the DM that has been attached to it. So it would be natural for TS (KSP, SNES) to query the DM for monitor code appropriate for that DM.
Of course, anything in the monitor process-related directly to the TS becomes problematic because DMSwarm needs to then know about TS. I did not study this monitor code closely but it largely appears to be more about displaying solutions with swarm than the time-stepping explicitly. Perhaps there could be (in general for all the DM related monitors) a cleaner separation between the solution displaying part and the TS (KSP, SNES) part of the monitor so that DM's can provide all the DM specific code required for these types of monitors while the TS (SNES, KSP) have a generic monitor function that can call the DM specific parts."