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

Yogaは、Web標準に準拠したflexboxセマンティクスを実装した埋め込み可能なレイアウトエンジンです。コア実装はC++20で記述され、CMakeでビルドされます。また、複数のプログラミング言語向けのバインディングが同梱されており、さまざまなプラットフォームやランタイムで利用できます。 このプロジェクトには、メインライブラリのビルドと単体テストの実行を行うラッパースクリプトが用意されています。 ```sh ./unit_tests <Debug|Release> ``` ninjaがインストールされている場合、スクリプトはより高速なビルドのためにninjaを使用します。Yogaは、Microsoftとコミュニティのコントリビューターによってメンテナンスされているvcpkgポートとしても利用できます。ユーザーはvcpkgリポジトリを通じて更新をリクエストできます。 テストは大部分が自動化されています。テストは、ノード構造を記述したHTMLフィクスチャから生成され、Chromeでレンダリングされて期待されるレイアウト結果を生成します。新しいフィクスチャは`gentest/fixtures`に配置します。例: ```html <div id="my_test" style="width: 100px; height: 100px; align-items: center;"> <div style="width: 50px; height: 50px;"></div> </div> ``` 新しいフィクスチャからテストを生成するには、yarn classicをインストールし、`yarn install`を実行してテストジェネレータの依存関係を取得してから、yogaディレクトリで`yarn gentest`を実行します。 デバッグ用に、YogaにはVSCodeの起動構成が含まれており、「Debug C++ Unit tests (lldb)」またはWindowsでは「Debug C++ Unit tests (vsdbg)」を使用して、ブレークポイントによる単体テストのデバッグをサポートします。