Libghostty 1.0は、他のソフトウェア製品に直接ターミナルエミュレーション機能を提供するために設計されたポータブルなCライブラリです。開発者がターミナルエミュレータをゼロから構築する必要がある代わりに、このライブラリはGhosttyターミナルプロジェクトからコアロジックを抽出しています。これにより、多様なアプリケーションが、共有された高性能エンジンとリンクすることで、複雑なプロトコルの処理や出力のレンダリングといったプロフェッショナルなターミナル機能を統合できるようになります。バージョン1.0のリリースは、実験的なプロジェクトから、フリーウェアおよび商用ソフトウェアの両方で長期的な使用を意図した、正式なC Application Binary Interface (ABI) を備えた安定したツールへの移行を意味します。

このライブラリは、すでにソフトウェアエコシステム全体で大きな採用実績を上げています。例えば、JetBrainsはIntelliJやPyCharmなどのIDEで使用されるターミナルにlibghosttyを統合しており、1,250万人以上のアクティブユーザーに届いています。Neovimも、以前のライブラリを置き換えるためにlibghostty-vtの使用に移行しており、これによりウィンドウのリサイズ時におけるスクロールバックのリフローに関する10年来の問題の解決に役立ちました。その他の注目すべき統合には、タスク出力をレンダリングするためのVercelのTurborepoや、さまざまな「エージェンティック」なコーディングツールが含まれます。このライブラリは、Rust、Go、JavaScript、Swiftを含む多数の言語向けのコミュニティバインディングを提供しているため、異なる技術スタックの開発者が同じ基礎となるターミナルロジックを共有することを可能にします。

これらの多様な消費者のために長期的な信頼性を確保するため、libghostty 1.0はABIの安定性を重視しています。このライブラリはオブジェクトに対して不透明なハンドルを使用しているため、内部のデータ構造が変更されても、それを使用するアプリケーションのコードを壊すことなく変更が可能です。新しい機能はenumキーのゲッターとセッターを介して追加されるため、古いビルドでクラッシュや未定義の動作を引き起こす可能性のある新しいシンボルの導入を防ぎます。さらに、このライブラリは非常にポータブルであり、x86_64、ARM、RISC-Vを含む幅広いアーキテクチャをサポートし、macOSやAndroidからWebAssembly、ベアメタルに至るまでのプラットフォームで動作します。独自のカスタム実装と比較してトレードオフを伴う汎用的なソリューションではありますが、最小限の労力で、多くのスタンドアロンエミュレータよりも小さなフットプリントで高性能なターミナルレンダリングを実現するための道を提供します。