mistlib
開発中
Unityに依存しない、Web・ネイティブ両対応のP2P通信ライブラリ
詳細
仮想空間で近くの相手と情報を共有するP2P通信ライブラリです。Unity専用だったMistNetを置き換え、WebアプリからもDLLとしても使えるようにしました。
AIコーディングツールと一緒に、Rustコアとネイティブ版、WebAssembly版の実装・テストを進めています。
位置とAOI(周囲の関心領域)から、近傍と各方向の接続相手を選びます。直接つながっていない相手へのメッセージは、参加者の接続網で中継します。
Rust製で、通信にはWebRTC DataChannelを使います。ネイティブライブラリとブラウザ用WebAssembly、npm @tik-choco/mistlibをMPL-2.0で公開しています。
NostrリレーとSTUNを使い、必要に応じてTURNも使います。既定の接続予算は各ノード30で、全体の参加人数の上限や性能保証ではありません。
MistNet(旧版)
mistlibの前身です。Unityの仮想空間で通信とオブジェクトの同期(位置・アニメーション・変数・RPC)を扱うWebRTCライブラリで、MITライセンスです。ICCE-Taiwan 2024の論文はこのMistNetについてのものです。
mistlib-examples
Python・Web・Unity向けクライアントと使用例で、ライセンスはApache-2.0です。エンジンは別途必要で、READMEにWeb/WASM、Python・Unity/nativeの構成を載せています。
mistlib-unity
mistlibをUnityから使うための実験的なバインディングです。対応環境と制限はREADMEを参照してください。バインディング等はApache-2.0、ネイティブエンジンはMPL-2.0です。
mistlib-consensus
P2Pメッシュ向けの複製状態機械で、信頼できるピア間ではRaft、信頼できないピアを含む場合はHotStuffを使います。Rust製でコアはネイティブとwasm32に対応し、MPL-2.0の実験的な実装で、セキュリティ監査は未実施です。
mistai
HTTPモデル接続の共有とP2P AIルーム用のTypeScriptライブラリで、チャット・TTS・STT・OpenAI互換HTTPトンネルが、注入した1つのトランスポートを共有します。Preact製の設定UIは任意で使え、ライセンスはMPL-2.0です。





