/**
 * @file ui_clay.c
 * @brief The one translation unit that compiles clay's implementation.
 *
 * clay is a single-header library: every other file that includes <clay.h>
 * gets declarations only, and exactly one file in the whole program defines
 * CLAY_IMPLEMENTATION before the include to get the definitions. This is that
 * file, and it must stay the only one -- a second definition anywhere,
 * including in a consuming game, is two copies of clay's globals and the
 * loader picking between them silently. The warning in akgl/ui.h says so to
 * consumers; this comment says so to us.
 *
 * Nothing else belongs here. libakgl's own UI code is src/ui.c, which
 * includes <clay.h> like any other consumer. CMakeLists.txt compiles this
 * file with -w on the same terms as deps/semver and deps/libccd: 99% of what
 * this TU contains is vendored code, and a future clay bump must not be able
 * to fail the build on a warning we do not own.
 */

#define CLAY_IMPLEMENTATION
#include <clay.h>
