Peleは、フローチャート、シーケンス図、ガントチャートを作成するための一般的なMarkdownベースのツールであるMermaid図形を、SVG(Scalable Vector Graphics)形式に変換するために設計された専用のレンダリングエンジンです。レイアウト計算のためにフルブラウザ環境や複雑なランタイム依存関係を必要とする標準的なMermaidの実装とは異なり、Peleは軽量、同期処理、および高い移植性を備えるように構築されています。このツールは、特殊なドキュメントツールや自動化ワークフローなど、重い依存関係が好ましくない環境で直接動作するように設計されています。
この画像は、Peleレンダリングエンジンの高性能な性質を強調するプロモーショングラフィックとして機能します。
Peleの核心的なメカニズムは、重いランタイムからの独立性と、スタイリングのためのCSS変数の活用にあります。CSS変数を活用することで、Peleはユーザーが色、フォント、境界の半径を動的にカスタマイズすることを可能にします。これらのスタイルはSVG生成プロセスにハードコードされるのではなくCSSを介して処理されるため、基礎となる幾何学構造の再レンダリングを必要とせずに、図形を即座にテーマ変更に適応させることができます。このツールはMermaidバージョン12.1.0に組み込まれているすべての図形タイプをサポートしており、そのパーサーは差分ファズテストを用いてMermaidの公式パーサー仕様に対して検証され、高い正確性が保証されています。
Peleは大きなパフォーマンス上の利点と統合の容易さを提供する一方で、特定のアーキテクチャ上のトレードオフを伴います。その軽量なフットプリントと同期的な性質を維持するため、Peleは公式のMermaidライブラリのレンダリングを正確に模倣するのではなく、独自のレイアウトエンジンとビジュアルスタイルを使用します。これは、Mermaidの構文との互換性を保ちつつも、最終的な視覚的出力が標準的なMermaidJSの出力とはわずかに異なる外観になる可能性があることを意味します。さらに、バンドルサイズを懸念する開発者のために、Peleは個別の図形タイプの登録や遅延読み込みを可能にするモジュール式アーキテクチャを提供しており、最終的なアプリケーションに必要なコンポーネントのみが含まれることを保証します。