The Frenchie library provides a cross-platform, open-source C++ framework for developing graphical user interfaces. It utilizes an immediate mode user interface (IMUI) paradigm, which allows for procedural rendering and rebuilding of the interface based on any data model, while maintaining minimal internal state.
The library's 2D renderer is designed to overcome limitations found in other IMUI tools like ImGUI. It supports geometric transformations such as rotation, scaling, and translation, as well as depth sorting of objects to ensure correct rendering of semi-transparent elements.
Frenchie also introduces automatic layout algorithms to reduce the amount of code required to position elements within a window. To facilitate faster development, the library supports loading interface layouts from JSON or XML files, allowing developers to change the visual design without recompiling the project.
The architecture is based on a static application class with abstraction layers processed in an infinite loop. The system uses separate system and graphics backends to handle windowing and GPU memory management for textures and TTF fonts. The 2D renderer supports clear colors, scissor boxes, and the rendering of text and polygonal geometric shapes with adjustable tessellation tolerance.


