¿Cuál es la mejor manera de serializar SVG desde el DOM del cliente?

Estoy trabajando en interfaces SVG / AJAX interactivas donde los elementos son creados y reposicionados sobre la marcha por los usuarios. Me gustaría admitir la posibilidad de que los usuarios exporten su vista actual a una imagen PNG y / o un documento SVG. Realmente me gustaría que el documento SVG sea lo más simple posible (sin muchas transformaciones anidadas). ¿Hay algún marco que ya sea compatible con esto?

Actualmente estoy pidiendo a mis usuarios que usen la técnica Ctrl + Alt + PrntScrn, y no quiero pedirles que instalen ningún software / complemento.

El código del lado del servidor está implementado en PHP en este momento, si eso ayuda. Ya he implementado la capacidad de generar una imagen PNG a partir del documento "original" (antes de que el cliente haga modificaciones) usando ImageMagick.

Respuestas a la pregunta(2)

Su respuesta a la pregunta