図の配置を自分で決めるダイアグラム言語「Reladraw」
原題: Show HN: Reladraw – A diagram language where you decide where to place things
なぜ重要か
自動レイアウトと手動配置の間にある「宣言的位置指定」という発想は、インフラ・アーキテクチャ図のコード管理ニーズに応える可能性を持つ。
オープンソースのダイアグラム記述言語「Reladraw」がGitHubで公開された。Mermaidや Graphviz のように自動レイアウトに任せるのではなく、「above-left of cluster.hub」のような相対位置指定の文で要素の配置を明示できる点が特徴。座標を一切記述せずに44文のステートメントだけでアーキテクチャ図を表現できるデモが公開されている。スター数は238。
Reladrawは、ユーザーが要素の位置関係を自然言語に近い形で宣言できるテキストベースのダイアグラム言語だ。ブラウザ上で試せるデモが提供されており、インストール不要で左ペインにソースを書くと右ペインにレイアウトがリアルタイムで反映される。
既存ツールとの違いを開発者はこう説明する。MermaidやGraphviz、D2はエンティティと接続を宣言すれば自動でレイアウトを決定する。多くの場面ではそれで十分だが、「特定の配置を頭に描いていて、そこに近づけたい」ケースには対応しきれない。一方、draw.ioのような絶対座標ツールは自由度が高い反面、ファイルはバイナリまたは巨大なXMLになり、テキストとして管理しにくい。
Reladrawはその中間を狙う。`above-left of cluster.hub`や`between cluster.desktop1 and cluster.laptop1`といったステートメントで相対位置を指定し、エンジンが座標を導出する。デモとして公開されているexamples/arch.reladrawは44ステートメントで構成され、座標値はどこにも存在しない。
実装はTypeScriptで書かれており、Apache-2.0ライセンスで公開。GitHubのスター数は238に達し、フォーク数は3。ソースリポジトリにはSYNTAX.mdで文法仕様が、docsディレクトリにドキュメントが整備されている。