Yoga
An embeddable, performant flexbox layout engine with bindings for multiple languages, targeting web layout standards.
Yoga is an embeddable and performant flexbox layout engine with bindings for multiple languages, implementing layout according to web standards so it can be embedded in non-web environments. Its main implementation targets C++20, with accompanying build logic in CMake, and a wrapper script builds the library and runs its unit tests, optionally using Ninja for faster builds if it is installed.
Many of Yoga's own tests are generated automatically from HTML fixtures that describe a node structure; these fixtures are rendered in Chrome to produce an expected layout result for the corresponding tree, and new fixtures can be added under gentest/fixtures and turned into tests with a yarn gentest command after installing dependencies with Yarn Classic.
The project is part of the vcpkg collection of ports maintained by Microsoft and community contributors, and ships a VS Code launch configuration for debugging its C++ unit tests with lldb or the Visual Studio debugger.