Pele es un motor de renderizado especializado diseñado para convertir diagramas Mermaid —una popular herramienta basada en Markdown para crear diagramas de flujo, diagramas de secuencia y diagramas de Gantt— al formato SVG (Scalable Vector Graphics). A diferencia de muchas implementaciones estándar de Mermaid que pueden requerir un entorno de navegador completo o dependencias de tiempo de ejecución complejas para calcular los diseños, Pele está construido para ser pequeño, síncrono y altamente portátil. Está diseñado para funcionar directamente en entornos donde las dependencias pesadas no son deseables, como en herramientas de documentación especializadas o flujos de trabajo automatizados.
La imagen sirve como un gráfico promocional que destaca la naturaleza de alto rendimiento del motor de renderizado Pele.
El mecanismo central de Pele se basa en su independencia de los entornos de ejecución pesados y en el uso de variables CSS para el estilo. Al aprovechar las variables CSS, Pele permite a los usuarios personalizar colores, fuentes y radios de borde de forma dinámica. Debido a que estos estilos se gestionan a través de CSS en lugar de estar codificados en el proceso de generación de SVG, los diagramas pueden adaptarse a cambios de tema instantáneamente sin requerir un nuevo renderizado de la geometría subyacente. La herramienta es compatible con todos los tipos de diagramas integrados en la versión 12.1.0 de Mermaid, y sus analizadores están validados frente a las especificaciones oficiales del analizador de Mermaid utilizando fuzzing diferencial para garantizar una alta precisión.
Si bien Pele ofrece beneficios significativos en rendimiento y facilidad de integración, opera con compensaciones arquitectónicas específicas. Para mantener su pequeña huella y su naturaleza síncrona, utiliza su propio motor de diseño y estilo visual en lugar de reflejar exactamente el renderizado de la biblioteca oficial de Mermaid. Esto significa que, aunque es compatible con la sintaxis de Mermaid, el resultado visual final puede diferir ligeramente en estética respecto a la salida estándar de MermaidJS. Además, para los desarrolladores preocupados por el tamaño del paquete, Pele proporciona una arquitectura modular que permite el registro de tipos de diagramas individuales o la carga diferida, asegurando que solo se incluyan los componentes necesarios en la aplicación final.