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

Bevy Lunexは、RustのBevy ECS(Entity Component System)フレームワーク用に構築された保持型レイアウトエンジンです。即時モードGUIパターンではなく、標準のECSコンポーネントとシステムを使用してカスタムUIを作成できます。 主な機能は以下の通りです: - 保持型レイアウトモデル:レイアウトは一度計算され保存されるため、即時モードGUIシステムと比較して再計算のオーバーヘッドが削減されます。これにより、静的または頻繁に更新されないUIでパフォーマンス上の利点が得られます。 - フレックスボックス風フローレイアウト:組み込みのUiLayout::flow()モデルは、Clayレイアウトシステムに触発され、コンテンツのハギング、スペース充填、相対サイズ、テキスト折り返しをサポートします。 - アスペクト比サポート:エンジンは、変形なしで全てのウィンドウサイズとアスペクト比を処理するように設計されており、レイアウトタイプはサイズ変更に直感的に反応します。 - 2Dおよび3D(ワールドスペース)UI:BevyのTransformコンポーネントを活用し、フラットな2Dと空間的な3D UI要素の両方をサポートし、ゲーム内でのダイジェティックUI統合を可能にします。 - マルチステートスタイリング:UiColorやUiLayoutなどのコンポーネントは、ベースやホバーなどの異なる状態のレイアウトと色を定義でき、遷移速度も設定可能です。 - ECSネイティブなインタラクティビティ:ホバー、クリック、ポインターイベントはオブザーバーとシステムを通じて処理され、UI動作をBevyアプリの他の部分と完全に合成可能にします。 このライブラリは、機能ごとのコンポーネント設計を重視しており、UI要素のスポーンには、UiLayout、UiHover、UiColor、およびピッカブル/レンダリングコンポーネントを標準のBevy ECSスタイルで組み合わせます。 ドキュメントはLunex BookとDocs.rsで利用可能で、Bevypunkという本番レディのサンプルプロジェクトも提供されています。