実績・事例一覧に戻る
01Software

Aelm Playground

テキスト電子回路 CAD 言語「Aelm DSL」をブラウザでリアルタイムプレビューできる Web エディタ — サーバー不要・完全 WebAssembly

Aelm Playground
Aelm Playground architecture

Aelm Playground は、テキストで電子回路図を記述する DSL「Aelm」をブラウザ上でリアルタイムにプレビューできる Web エディタです。PlantUML に着想を得た左右分割 UI で、左ペインにコードを書くと 200ms 以内に右ペインへ回路図が描画されます。

Rust で実装されたレンダラを WebAssembly にコンパイルし、npm パッケージ (@alphaelements/aelm-renderer) として配信。サーバーサイドでの処理は一切なく、すべてブラウザ内の WASM エンジンがパース・レイアウト・レンダリングを担当します。インフラコストはほぼゼロです。

URL 共有(lz-string によるハッシュエンコード)、SVG/PNG ダウンロード、6 種以上のサンプル回路、ダーク/ライト/システムテーマ切替、日英バイリンガル UI などを備えています。

主な特徴

解決した課題

• ブラウザで回路図 DSL を解析・レンダリングするためのパフォーマンス確保

• 1.3 MB の WASM バイナリ初期ロード時のユーザー体験

• CodeMirror 6 へのカスタム Lezer 文法の統合

• URL ハッシュに大きなソースコードを埋め込む際の共有可能性

採用したアプローチ

• Rust コンパイル済み WASM + wasm-opt 最適化で高速レンダリング(layout → SVG を数十 ms で完結)

• WASM 初期化中にローディングオーバーレイを表示し、体感速度を改善

• Lezer 文法を Aelm DSL に合わせて設計し、シンタックスハイライトとエラー診断をリアルタイム表示

• lz-string による可逆圧縮で URL に回路ソースを埋め込み、サーバー保存なしで共有を実現

達成した成果

• サーバーレス構成によりインフラコストをほぼゼロに抑制

• 200ms 以内のリアルタイムプレビューで快適な DSL 開発体験

• URL 共有機能によりインストール不要でコード・回路図を即座に共有可能

• SVG/PNG エクスポートで外部ドキュメントへの埋め込みに対応

プロジェクトタグ

WebAssemblyCircuit DiagramDeveloper ToolsRustTypeScriptReactLive Preview
Aelm Playground | alphaelements.co.jp | AlphaElements