このプロジェクトについて

rzekaは、コンポーネント同士が直接的な参照を持つことなく、型付きイベントの発行と反応を可能にすることでコンポーネントを疎結合にするために設計された、C#用のシングルスレッドイベントバスです。Rx.NET上に構築されており、最大の特徴は、特定のイベントに至ったイベントの連鎖を記録する因果関係追跡(causality tracking)です。 主な機能は以下の通りです: - 因果関係追跡:すべてのイベントが因果チェーンの記録を保持しており、開発者はシステム動作の起点まで遡ることができます。 - Eris Debugger:WebSocket経由で接続するブラウザベースのデバッガーで、アプリケーションの実行中にイベントフローとメッセージをリアルタイムで可視化します。 - シングルスレッド設計:状況追跡と状態遷移の一貫性を保証し、非同期操作を処理するための定義された境界を提供します。 - ドメイン固有のメタファー:イベントの変換やサブスクリプションを記述するために、テキスタイルと魔法をテーマにしたAPI(例:Matter, Spells, Mana, Loom, Weave)を採用しています。 - 状態管理:[HasState]属性による状態保持イベントをサポートしており、最新の値を記憶して新しいサブスクライバーにリプレイします。 このライブラリは.NET 8.0をターゲットとしており、特にゲーム開発に適しています。Unityで使用された実績があり、現在はGodotへの移植が進められています。