El paquete R rgl exporta un widget HTML con la función rglwidget() , creado con el paquete htmlwidgets . A menudo, los datos de este widget son bastante grandes, y Pandoc y webshot2 se ahogan con ellos.
Me gustaría intentar comprimir los datos cuando se crea la página HTML y descomprimirlos en Javascript antes de mostrarlos. Puedo ver que hay un pako de paquete de Javascript que parece hacer lo que quiero, y puede ser "explorado", pero no puedo ver cómo hacer que esté disponible para rglwidget() . ¿Alguien puede describir lo que es necesario?
Editado para agregar más detalles en respuesta a un comentario: esto debe suceder en el servidor (o en realidad, incluso antes de que el archivo llegue al servidor). htmlwidgets produce una salida en un documento Markdown que Pandoc convierte a HTML, y ese paso está fallando porque Pandoc se ahoga con los grandes conjuntos de datos JSON. No estoy seguro de si es solo el tamaño o la complejidad (creo que Pandoc analiza el JSON y parece explotar en una gran huella de memoria antes de fallar). Espero que al usar un blob base64, Pandoc lo manejará mejor. webshot2 también tiene problemas que pueden ser los mismos.
Segunda edición: tengo algunas pruebas de que lo que importa es el tamaño, no la complejidad. Usé la codificación base64 en el JSON para hacerlo más simple (solo una cadena larga), pero un 33 % más grande y las cosas empeoraron. Así que vuelvo a pensar que la compresión ayudaría.