diff --git a/CMakeLists.txt b/CMakeLists.txt
index d4df183..fd78dd8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,7 +6,8 @@ add_subdirectory("examples/cpp-project-example")
 # Don't try to compile C99 projects using MSVC
 if(NOT MSVC)
   add_subdirectory("examples/raylib-sidebar-scrolling-container")
-  add_subdirectory("examples/cairo-pdf-rendering")
+  add_subdirectory("examples/textui-sidebar-scrolling-container")
+#  add_subdirectory("examples/cairo-pdf-rendering")
   add_subdirectory("examples/clay-official-website")
   add_subdirectory("examples/introducing-clay-video-demo")
 endif()
diff --git a/examples/textui-sidebar-scrolling-container/CMakeCache.txt b/examples/textui-sidebar-scrolling-container/CMakeCache.txt
new file mode 100644
index 0000000..0916d78
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeCache.txt
@@ -0,0 +1,377 @@
+# This is the CMakeCache file.
+# For build in directory: /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container
+# It was generated by CMake: /usr/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+BUILD_EXAMPLES:BOOL=OFF
+
+BUILD_GAMES:BOOL=OFF
+
+//Path to a program.
+CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//Choose the type of build, options are: None Debug Release RelWithDebInfo
+// MinSizeRel ...
+CMAKE_BUILD_TYPE:STRING=Debug
+
+//Enable/Disable color output during build.
+CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+//C compiler
+CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib
+
+//Flags used by the C compiler during all build types.
+CMAKE_C_FLAGS:STRING=
+
+//Flags used by the C compiler during DEBUG builds.
+CMAKE_C_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the C compiler during MINSIZEREL builds.
+CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the C compiler during RELEASE builds.
+CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the C compiler during RELWITHDEBINFO builds.
+CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Path to a program.
+CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
+
+//Flags used by the linker during all build types.
+CMAKE_EXE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during DEBUG builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during MINSIZEREL builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during RELEASE builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during RELWITHDEBINFO builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
+
+//Value Computed by CMake.
+CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles/pkgRedirects
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=/usr/bin/ld
+
+//Path to a program.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake
+
+//Flags used by the linker during the creation of modules during
+// all build types.
+CMAKE_MODULE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of modules during
+// DEBUG builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of modules during
+// MINSIZEREL builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELEASE builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELWITHDEBINFO builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=/usr/bin/nm
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+
+//Value Computed by CMake
+CMAKE_PROJECT_DESCRIPTION:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=clay_examples_textui_sidebar_scrolling_container
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Path to a program.
+CMAKE_READELF:FILEPATH=/usr/bin/readelf
+
+//Flags used by the linker during the creation of shared libraries
+// during all build types.
+CMAKE_SHARED_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during DEBUG builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during MINSIZEREL builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELEASE builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELWITHDEBINFO builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//Flags used by the linker during the creation of static libraries
+// during all build types.
+CMAKE_STATIC_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during DEBUG builds.
+CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during MINSIZEREL builds.
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELEASE builds.
+CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELWITHDEBINFO builds.
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=/usr/bin/strip
+
+//Path to a program.
+CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make.  This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Directory under which to collect all populated content
+FETCHCONTENT_BASE_DIR:PATH=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps
+
+//Disables all attempts to download or update content and assumes
+// source dirs already exist
+FETCHCONTENT_FULLY_DISCONNECTED:BOOL=OFF
+
+//Enables QUIET option for all content population
+FETCHCONTENT_QUIET:BOOL=ON
+
+//When not empty, overrides where to find pre-populated content
+// for raylib
+FETCHCONTENT_SOURCE_DIR_RAYLIB:PATH=
+
+//Enables UPDATE_DISCONNECTED behavior for all content population
+FETCHCONTENT_UPDATES_DISCONNECTED:BOOL=OFF
+
+//Enables UPDATE_DISCONNECTED behavior just for population of raylib
+FETCHCONTENT_UPDATES_DISCONNECTED_RAYLIB:BOOL=OFF
+
+//Git command line client
+GIT_EXECUTABLE:FILEPATH=/usr/bin/git
+
+//Value Computed by CMake
+clay_examples_raylib_sidebar_scrolling_container_BINARY_DIR:STATIC=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container
+
+//Value Computed by CMake
+clay_examples_raylib_sidebar_scrolling_container_IS_TOP_LEVEL:STATIC=ON
+
+//Value Computed by CMake
+clay_examples_raylib_sidebar_scrolling_container_SOURCE_DIR:STATIC=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container
+
+//Value Computed by CMake
+clay_examples_textui_sidebar_scrolling_container_BINARY_DIR:STATIC=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container
+
+//Value Computed by CMake
+clay_examples_textui_sidebar_scrolling_container_IS_TOP_LEVEL:STATIC=ON
+
+//Value Computed by CMake
+clay_examples_textui_sidebar_scrolling_container_SOURCE_DIR:STATIC=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: CMAKE_ADDR2LINE
+CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=30
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=5
+//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
+CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
+//ADVANCED property for variable: CMAKE_C_COMPILER
+CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_AR
+CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
+CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS
+CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
+CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
+CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
+CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
+CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_DLLTOOL
+CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
+//Path to cache edit program executable.
+CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
+CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
+//Name of external makefile project generator.
+CMAKE_EXTRA_GENERATOR:INTERNAL=
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Unix Makefiles
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0
+//ADVANCED property for variable: CMAKE_LINKER
+CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_READELF
+CMAKE_READELF-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/share/cmake
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_TAPI
+CMAKE_TAPI-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/usr/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: GIT_EXECUTABLE
+GIT_EXECUTABLE-ADVANCED:INTERNAL=1
+//linker supports push/pop state
+_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE
+
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CMakeCCompiler.cmake b/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CMakeCCompiler.cmake
new file mode 100644
index 0000000..93792aa
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CMakeCCompiler.cmake
@@ -0,0 +1,81 @@
+set(CMAKE_C_COMPILER "/usr/bin/cc")
+set(CMAKE_C_COMPILER_ARG1 "")
+set(CMAKE_C_COMPILER_ID "GNU")
+set(CMAKE_C_COMPILER_VERSION "14.2.1")
+set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_C_COMPILER_WRAPPER "")
+set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17")
+set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON")
+set(CMAKE_C_STANDARD_LATEST "23")
+set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23")
+set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
+set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
+set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
+set(CMAKE_C17_COMPILE_FEATURES "c_std_17")
+set(CMAKE_C23_COMPILE_FEATURES "c_std_23")
+
+set(CMAKE_C_PLATFORM_ID "Linux")
+set(CMAKE_C_SIMULATE_ID "")
+set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU")
+set(CMAKE_C_SIMULATE_VERSION "")
+
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_LINKER_LINK "")
+set(CMAKE_LINKER_LLD "")
+set(CMAKE_C_COMPILER_LINKER "/usr/bin/ld")
+set(CMAKE_C_COMPILER_LINKER_ID "GNU")
+set(CMAKE_C_COMPILER_LINKER_VERSION 2.43.1)
+set(CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT GNU)
+set(CMAKE_MT "")
+set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
+set(CMAKE_COMPILER_IS_GNUCC 1)
+set(CMAKE_C_COMPILER_LOADED 1)
+set(CMAKE_C_COMPILER_WORKS TRUE)
+set(CMAKE_C_ABI_COMPILED TRUE)
+
+set(CMAKE_C_COMPILER_ENV_VAR "CC")
+
+set(CMAKE_C_COMPILER_ID_RUN 1)
+set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
+set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_C_LINKER_PREFERENCE 10)
+set(CMAKE_C_LINKER_DEPFILE_SUPPORTED FALSE)
+
+# Save compiler ABI information.
+set(CMAKE_C_SIZEOF_DATA_PTR "8")
+set(CMAKE_C_COMPILER_ABI "ELF")
+set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN")
+set(CMAKE_C_LIBRARY_ARCHITECTURE "")
+
+if(CMAKE_C_SIZEOF_DATA_PTR)
+  set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_C_COMPILER_ABI)
+  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
+endif()
+
+if(CMAKE_C_LIBRARY_ARCHITECTURE)
+  set(CMAKE_LIBRARY_ARCHITECTURE "")
+endif()
+
+set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
+  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-redhat-linux/14/include;/usr/local/include;/usr/include")
+set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
+set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-redhat-linux/14;/usr/lib64;/lib64;/usr/lib")
+set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_C.bin b/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_C.bin
new file mode 100755
index 0000000..d1111c3
Binary files /dev/null and b/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_C.bin differ
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CMakeSystem.cmake b/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CMakeSystem.cmake
new file mode 100644
index 0000000..ddd7dc6
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CMakeSystem.cmake
@@ -0,0 +1,15 @@
+set(CMAKE_HOST_SYSTEM "Linux-6.12.4-200.fc41.x86_64")
+set(CMAKE_HOST_SYSTEM_NAME "Linux")
+set(CMAKE_HOST_SYSTEM_VERSION "6.12.4-200.fc41.x86_64")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
+
+
+
+set(CMAKE_SYSTEM "Linux-6.12.4-200.fc41.x86_64")
+set(CMAKE_SYSTEM_NAME "Linux")
+set(CMAKE_SYSTEM_VERSION "6.12.4-200.fc41.x86_64")
+set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+
+set(CMAKE_CROSSCOMPILING "FALSE")
+
+set(CMAKE_SYSTEM_LOADED 1)
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CompilerIdC/CMakeCCompilerId.c b/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CompilerIdC/CMakeCCompilerId.c
new file mode 100644
index 0000000..8d8bb03
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CompilerIdC/CMakeCCompilerId.c
@@ -0,0 +1,904 @@
+#ifdef __cplusplus
+# error "A C++ compiler has been selected for C."
+#endif
+
+#if defined(__18CXX)
+# define ID_VOID_MAIN
+#endif
+#if defined(__CLASSIC_C__)
+/* cv-qualifiers did not exist in K&R C */
+# define const
+# define volatile
+#endif
+
+#if !defined(__has_include)
+/* If the compiler does not have __has_include, pretend the answer is
+   always no.  */
+#  define __has_include(x) 0
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+   Version date components:   YYYY=Year, MM=Month,   DD=Day  */
+
+#if defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+#  define SIMULATE_ID "GNU"
+# endif
+  /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
+     except that a few beta releases use the old format with V=2021.  */
+# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
+#  define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+#  define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+#  if defined(__INTEL_COMPILER_UPDATE)
+#   define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+#  else
+#   define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER   % 10)
+#  endif
+# else
+#  define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
+#  define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
+   /* The third version component from --version is an update index,
+      but no macro is provided for it.  */
+#  define COMPILER_VERSION_PATCH DEC(0)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+   /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+#  define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+#  define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+#  define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+#  define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+#  define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
+# define COMPILER_ID "IntelLLVM"
+#if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+#endif
+#if defined(__GNUC__)
+# define SIMULATE_ID "GNU"
+#endif
+/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
+ * later.  Look for 6 digit vs. 8 digit version number to decide encoding.
+ * VVVV is no smaller than the current year when a version is released.
+ */
+#if __INTEL_LLVM_COMPILER < 1000000L
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER    % 10)
+#else
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER     % 100)
+#endif
+#if defined(_MSC_VER)
+  /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+#endif
+#if defined(__GNUC__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+#elif defined(__GNUG__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+#endif
+#if defined(__GNUC_MINOR__)
+# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+#endif
+#if defined(__GNUC_PATCHLEVEL__)
+# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+#endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__     & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+  /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+   /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+   /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_C)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_C >= 0x5100
+   /* __SUNPRO_C = 0xVRRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)
+# else
+   /* __SUNPRO_CC = 0xVRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)
+# endif
+
+#elif defined(__HP_cc)
+# define COMPILER_ID "HP"
+  /* __HP_cc = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_cc     % 100)
+
+#elif defined(__DECC)
+# define COMPILER_ID "Compaq"
+  /* __DECC_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000  % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECC_VER         % 10000)
+
+#elif defined(__IBMC__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+  /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+
+#elif defined(__open_xl__) && defined(__clang__)
+# define COMPILER_ID "IBMClang"
+# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
+# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
+# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
+
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
+# define COMPILER_ID "XL"
+  /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
+# define COMPILER_ID "VisualAge"
+  /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+
+#elif defined(__NVCOMPILER)
+# define COMPILER_ID "NVHPC"
+# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
+# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
+# if defined(__NVCOMPILER_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
+# endif
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(__clang__) && defined(__cray__)
+# define COMPILER_ID "CrayClang"
+# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
+# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
+# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
+# define COMPILER_VERSION_INTERNAL_STR __clang_version__
+
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+  /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000   % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__        % 1000)
+
+#elif defined(__CLANG_FUJITSU)
+# define COMPILER_ID "FujitsuClang"
+# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
+# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
+# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
+# define COMPILER_VERSION_INTERNAL_STR __clang_version__
+
+
+#elif defined(__FUJITSU)
+# define COMPILER_ID "Fujitsu"
+# if defined(__FCC_version__)
+#   define COMPILER_VERSION __FCC_version__
+# elif defined(__FCC_major__)
+#   define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
+#   define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
+#   define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
+# endif
+# if defined(__fcc_version)
+#   define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
+# elif defined(__FCC_VERSION)
+#   define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
+# endif
+
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER      % 10)
+# endif
+
+#elif defined(__TASKING__)
+# define COMPILER_ID "Tasking"
+  # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
+  # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
+# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
+
+#elif defined(__ORANGEC__)
+# define COMPILER_ID "OrangeC"
+# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
+# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
+# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
+
+#elif defined(__TINYC__)
+# define COMPILER_ID "TinyCC"
+
+#elif defined(__BCC__)
+# define COMPILER_ID "Bruce"
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+  /* __ARMCC_VERSION = VRRPPPP */
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION     % 10000)
+#else
+  /* __ARMCC_VERSION = VRPPPP */
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION    % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100   % 100)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__) && defined(__ti__)
+# define COMPILER_ID "TIClang"
+  # define COMPILER_VERSION_MAJOR DEC(__ti_major__)
+  # define COMPILER_VERSION_MINOR DEC(__ti_minor__)
+  # define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__)
+# define COMPILER_VERSION_INTERNAL DEC(__ti_version__)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
+# define COMPILER_ID "LCC"
+# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
+# if defined(__LCC_MINOR__)
+#  define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
+# endif
+# if defined(__GNUC__) && defined(__GNUC_MINOR__)
+#  define SIMULATE_ID "GNU"
+#  define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+#  define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+#  if defined(__GNUC_PATCHLEVEL__)
+#   define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+#  endif
+# endif
+
+#elif defined(__GNUC__)
+# define COMPILER_ID "GNU"
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# if defined(__GNUC_MINOR__)
+#  define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+  /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+#  if _MSC_VER >= 1400
+    /* _MSC_FULL_VER = VVRRPPPPP */
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+#  else
+    /* _MSC_FULL_VER = VVRRPPPP */
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+#  endif
+# endif
+# if defined(_MSC_BUILD)
+#  define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(_ADI_COMPILER)
+# define COMPILER_ID "ADSP"
+#if defined(__VERSIONNUM__)
+  /* __VERSIONNUM__ = 0xVVRRPPTT */
+#  define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
+#  define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
+#  define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
+#  define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+#  define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+#  define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
+#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+#  define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+#  define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
+# define COMPILER_ID "SDCC"
+# if defined(__SDCC_VERSION_MAJOR)
+#  define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
+#  define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
+#  define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
+# else
+  /* SDCC = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(SDCC/100)
+#  define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(SDCC    % 10)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+  identification macro.  Try to identify the platform and guess that
+  it is the native compiler.  */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name.  */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__MSYS__)
+# define PLATFORM_ID "MSYS"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+#  define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+#  define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+#  define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+#  define PLATFORM_ID "Windows3x"
+
+# elif defined(__VXWORKS__)
+#  define PLATFORM_ID "VxWorks"
+
+# else /* unknown platform */
+#  define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+#  define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+#  define PLATFORM_ID "Integrity"
+# endif
+
+# elif defined(_ADI_COMPILER)
+#  define PLATFORM_ID "ADSP"
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+   the architecture of the compiler being used.  This is because
+   the compilers do not have flags that can change the architecture,
+   but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+#  define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_ARM64EC)
+#  define ARCHITECTURE_ID "ARM64EC"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+#  define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+#  define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+#  if _M_ARM == 4
+#   define ARCHITECTURE_ID "ARMV4I"
+#  elif _M_ARM == 5
+#   define ARCHITECTURE_ID "ARMV5I"
+#  else
+#   define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+#  endif
+
+# elif defined(_M_MIPS)
+#  define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+#  define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+#  define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+#  define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+#  define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+#  define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+#  define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+#  define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+#  define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+#  define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+#  define ARCHITECTURE_ID "8051"
+
+# elif defined(__ICCSTM8__)
+#  define ARCHITECTURE_ID "STM8"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+#  define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+#  define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+#  define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+#  define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__clang__) && defined(__ti__)
+# if defined(__ARM_ARCH)
+#  define ARCHITECTURE_ID "Arm"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__TI_COMPILER_VERSION__)
+# if defined(__TI_ARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__MSP430__)
+#  define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__TMS320C28XX__)
+#  define ARCHITECTURE_ID "TMS320C28x"
+
+# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
+#  define ARCHITECTURE_ID "TMS320C6x"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+# elif defined(__ADSPSHARC__)
+#  define ARCHITECTURE_ID "SHARC"
+
+# elif defined(__ADSPBLACKFIN__)
+#  define ARCHITECTURE_ID "Blackfin"
+
+#elif defined(__TASKING__)
+
+# if defined(__CTC__) || defined(__CPTC__)
+#  define ARCHITECTURE_ID "TriCore"
+
+# elif defined(__CMCS__)
+#  define ARCHITECTURE_ID "MCS"
+
+# elif defined(__CARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__CARC__)
+#  define ARCHITECTURE_ID "ARC"
+
+# elif defined(__C51__)
+#  define ARCHITECTURE_ID "8051"
+
+# elif defined(__CPCP__)
+#  define ARCHITECTURE_ID "PCP"
+
+# else
+#  define ARCHITECTURE_ID ""
+# endif
+
+#else
+#  define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals.  */
+#define DEC(n)                   \
+  ('0' + (((n) / 10000000)%10)), \
+  ('0' + (((n) / 1000000)%10)),  \
+  ('0' + (((n) / 100000)%10)),   \
+  ('0' + (((n) / 10000)%10)),    \
+  ('0' + (((n) / 1000)%10)),     \
+  ('0' + (((n) / 100)%10)),      \
+  ('0' + (((n) / 10)%10)),       \
+  ('0' +  ((n) % 10))
+
+/* Convert integer to hex digit literals.  */
+#define HEX(n)             \
+  ('0' + ((n)>>28 & 0xF)), \
+  ('0' + ((n)>>24 & 0xF)), \
+  ('0' + ((n)>>20 & 0xF)), \
+  ('0' + ((n)>>16 & 0xF)), \
+  ('0' + ((n)>>12 & 0xF)), \
+  ('0' + ((n)>>8  & 0xF)), \
+  ('0' + ((n)>>4  & 0xF)), \
+  ('0' + ((n)     & 0xF))
+
+/* Construct a string literal encoding the version number. */
+#ifdef COMPILER_VERSION
+char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
+
+/* Construct a string literal encoding the version number components. */
+#elif defined(COMPILER_VERSION_MAJOR)
+char const info_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+  COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+  '.', COMPILER_VERSION_MINOR,
+#  ifdef COMPILER_VERSION_PATCH
+   '.', COMPILER_VERSION_PATCH,
+#   ifdef COMPILER_VERSION_TWEAK
+    '.', COMPILER_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+  'I', 'N', 'F', 'O', ':',
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+  'i','n','t','e','r','n','a','l','[',
+  COMPILER_VERSION_INTERNAL,']','\0'};
+#elif defined(COMPILER_VERSION_INTERNAL_STR)
+char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+  SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+  '.', SIMULATE_VERSION_MINOR,
+#  ifdef SIMULATE_VERSION_PATCH
+   '.', SIMULATE_VERSION_PATCH,
+#   ifdef SIMULATE_VERSION_TWEAK
+    '.', SIMULATE_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+#define C_STD_99 199901L
+#define C_STD_11 201112L
+#define C_STD_17 201710L
+#define C_STD_23 202311L
+
+#ifdef __STDC_VERSION__
+#  define C_STD __STDC_VERSION__
+#endif
+
+#if !defined(__STDC__) && !defined(__clang__)
+# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__)
+#  define C_VERSION "90"
+# else
+#  define C_VERSION
+# endif
+#elif C_STD > C_STD_17
+# define C_VERSION "23"
+#elif C_STD > C_STD_11
+# define C_VERSION "17"
+#elif C_STD > C_STD_99
+# define C_VERSION "11"
+#elif C_STD >= C_STD_99
+# define C_VERSION "99"
+#else
+# define C_VERSION "90"
+#endif
+const char* info_language_standard_default =
+  "INFO" ":" "standard_default[" C_VERSION "]";
+
+const char* info_language_extensions_default = "INFO" ":" "extensions_default["
+#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) ||           \
+     defined(__TI_COMPILER_VERSION__)) &&                                     \
+  !defined(__STRICT_ANSI__)
+  "ON"
+#else
+  "OFF"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+#ifdef ID_VOID_MAIN
+void main() {}
+#else
+# if defined(__CLASSIC_C__)
+int main(argc, argv) int argc; char *argv[];
+# else
+int main(int argc, char* argv[])
+# endif
+{
+  int require = 0;
+  require += info_compiler[argc];
+  require += info_platform[argc];
+  require += info_arch[argc];
+#ifdef COMPILER_VERSION_MAJOR
+  require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+  require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+  require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+  require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
+  require += info_cray[argc];
+#endif
+  require += info_language_standard_default[argc];
+  require += info_language_extensions_default[argc];
+  (void)argv;
+  return require;
+}
+#endif
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CompilerIdC/a.out b/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CompilerIdC/a.out
new file mode 100755
index 0000000..bc5a147
Binary files /dev/null and b/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CompilerIdC/a.out differ
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/CMakeConfigureLog.yaml b/examples/textui-sidebar-scrolling-container/CMakeFiles/CMakeConfigureLog.yaml
new file mode 100644
index 0000000..b9fd1aa
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/CMakeConfigureLog.yaml
@@ -0,0 +1,1035 @@
+
+---
+events:
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CMakeDetermineSystem.cmake:205 (message)"
+      - "CMakeLists.txt:2 (project)"
+    message: |
+      The system is: Linux - 6.12.4-200.fc41.x86_64 - x86_64
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
+      - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)"
+      - "CMakeLists.txt:2 (project)"
+    message: |
+      Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
+      Compiler: /usr/bin/cc 
+      Build flags: 
+      Id flags:  
+      
+      The output was:
+      0
+      
+      
+      Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
+      
+      The C compiler identification is GNU, found in:
+        /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/3.30.5/CompilerIdC/a.out
+      
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)"
+      - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "CMakeLists.txt:2 (project)"
+    checks:
+      - "Detecting C compiler ABI info"
+    directories:
+      source: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-Ut8NEH"
+      binary: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-Ut8NEH"
+    cmakeVariables:
+      CMAKE_C_FLAGS: ""
+      CMAKE_C_FLAGS_DEBUG: "-g"
+      CMAKE_EXE_LINKER_FLAGS: ""
+    buildResult:
+      variable: "CMAKE_C_ABI_COMPILED"
+      cached: true
+      stdout: |
+        Change Dir: '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-Ut8NEH'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_67c81/fast
+        /usr/bin/gmake  -f CMakeFiles/cmTC_67c81.dir/build.make CMakeFiles/cmTC_67c81.dir/build
+        gmake[1]: Entering directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-Ut8NEH'
+        Building C object CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o
+        /usr/bin/cc   -v -o CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c
+        Using built-in specs.
+        COLLECT_GCC=/usr/bin/cc
+        OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
+        OFFLOAD_TARGET_DEFAULT=1
+        Target: x86_64-redhat-linux
+        Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,m2,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-build/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none,amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1
+        Thread model: posix
+        Supported LTO compression algorithms: zlib zstd
+        gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) 
+        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_67c81.dir/'
+         /usr/libexec/gcc/x86_64-redhat-linux/14/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_67c81.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o /tmp/ccOTxfOd.s
+        GNU C17 (GCC) version 14.2.1 20240912 (Red Hat 14.2.1-3) (x86_64-redhat-linux)
+        	compiled by GNU C version 14.2.1 20240912 (Red Hat 14.2.1-3), GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.24-GMP
+        
+        GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+        ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/include-fixed"
+        ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/../../../../x86_64-redhat-linux/include"
+        #include "..." search starts here:
+        #include <...> search starts here:
+         /usr/lib/gcc/x86_64-redhat-linux/14/include
+         /usr/local/include
+         /usr/include
+        End of search list.
+        Compiler executable checksum: 3cfa2c922a2ef3f6017b437b0661c120
+        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_67c81.dir/'
+         as -v --64 -o CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o /tmp/ccOTxfOd.s
+        GNU assembler version 2.43.1 (x86_64-redhat-linux) using BFD version version 2.43.1-5.fc41
+        COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/
+        LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/
+        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.'
+        Linking C executable cmTC_67c81
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_67c81.dir/link.txt --verbose=1
+        /usr/bin/cc  -v -Wl,-v CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o -o cmTC_67c81
+        Using built-in specs.
+        COLLECT_GCC=/usr/bin/cc
+        COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper
+        OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
+        OFFLOAD_TARGET_DEFAULT=1
+        Target: x86_64-redhat-linux
+        Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,m2,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-build/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none,amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1
+        Thread model: posix
+        Supported LTO compression algorithms: zlib zstd
+        gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) 
+        COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/
+        LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/
+        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_67c81' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_67c81.'
+         /usr/libexec/gcc/x86_64-redhat-linux/14/collect2 -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/ccQJh8Tn.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_67c81 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. -v CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o
+        collect2 version 14.2.1 20240912 (Red Hat 14.2.1-3)
+        /usr/bin/ld -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/ccQJh8Tn.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_67c81 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. -v CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o
+        GNU ld version 2.43.1-5.fc41
+        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_67c81' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_67c81.'
+        gmake[1]: Leaving directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-Ut8NEH'
+        
+      exitCode: 0
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:182 (message)"
+      - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "CMakeLists.txt:2 (project)"
+    message: |
+      Parsed C implicit include dir info: rv=done
+        found start of include info
+        found start of implicit include info
+          add: [/usr/lib/gcc/x86_64-redhat-linux/14/include]
+          add: [/usr/local/include]
+          add: [/usr/include]
+        end of search list found
+        collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/14/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/14/include]
+        collapse include dir [/usr/local/include] ==> [/usr/local/include]
+        collapse include dir [/usr/include] ==> [/usr/include]
+        implicit include dirs: [/usr/lib/gcc/x86_64-redhat-linux/14/include;/usr/local/include;/usr/include]
+      
+      
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:218 (message)"
+      - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "CMakeLists.txt:2 (project)"
+    message: |
+      Parsed C implicit link information:
+        link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
+        linker tool regex: [^[ 	]*(->|")?[ 	]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)]
+        ignore line: [Change Dir: '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-Ut8NEH']
+        ignore line: []
+        ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_67c81/fast]
+        ignore line: [/usr/bin/gmake  -f CMakeFiles/cmTC_67c81.dir/build.make CMakeFiles/cmTC_67c81.dir/build]
+        ignore line: [gmake[1]: Entering directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-Ut8NEH']
+        ignore line: [Building C object CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o]
+        ignore line: [/usr/bin/cc   -v -o CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c]
+        ignore line: [Using built-in specs.]
+        ignore line: [COLLECT_GCC=/usr/bin/cc]
+        ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
+        ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+        ignore line: [Target: x86_64-redhat-linux]
+        ignore line: [Configured with: ../configure --enable-bootstrap --enable-languages=c c++ fortran objc obj-c++ ada go d m2 lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-build/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1]
+        ignore line: [Thread model: posix]
+        ignore line: [Supported LTO compression algorithms: zlib zstd]
+        ignore line: [gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) ]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_67c81.dir/']
+        ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/14/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_67c81.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o /tmp/ccOTxfOd.s]
+        ignore line: [GNU C17 (GCC) version 14.2.1 20240912 (Red Hat 14.2.1-3) (x86_64-redhat-linux)]
+        ignore line: [	compiled by GNU C version 14.2.1 20240912 (Red Hat 14.2.1-3)  GMP version 6.3.0  MPFR version 4.2.1  MPC version 1.3.1  isl version isl-0.24-GMP]
+        ignore line: []
+        ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+        ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/include-fixed"]
+        ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/../../../../x86_64-redhat-linux/include"]
+        ignore line: [#include "..." search starts here:]
+        ignore line: [#include <...> search starts here:]
+        ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/14/include]
+        ignore line: [ /usr/local/include]
+        ignore line: [ /usr/include]
+        ignore line: [End of search list.]
+        ignore line: [Compiler executable checksum: 3cfa2c922a2ef3f6017b437b0661c120]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_67c81.dir/']
+        ignore line: [ as -v --64 -o CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o /tmp/ccOTxfOd.s]
+        ignore line: [GNU assembler version 2.43.1 (x86_64-redhat-linux) using BFD version version 2.43.1-5.fc41]
+        ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/]
+        ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.']
+        ignore line: [Linking C executable cmTC_67c81]
+        ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_67c81.dir/link.txt --verbose=1]
+        ignore line: [/usr/bin/cc  -v -Wl -v CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o -o cmTC_67c81]
+        ignore line: [Using built-in specs.]
+        ignore line: [COLLECT_GCC=/usr/bin/cc]
+        ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper]
+        ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
+        ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+        ignore line: [Target: x86_64-redhat-linux]
+        ignore line: [Configured with: ../configure --enable-bootstrap --enable-languages=c c++ fortran objc obj-c++ ada go d m2 lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-build/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1]
+        ignore line: [Thread model: posix]
+        ignore line: [Supported LTO compression algorithms: zlib zstd]
+        ignore line: [gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) ]
+        ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/]
+        ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_67c81' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_67c81.']
+        link line: [ /usr/libexec/gcc/x86_64-redhat-linux/14/collect2 -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/ccQJh8Tn.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_67c81 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. -v CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o]
+          arg [/usr/libexec/gcc/x86_64-redhat-linux/14/collect2] ==> ignore
+          arg [-plugin] ==> ignore
+          arg [/usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so] ==> ignore
+          arg [-plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper] ==> ignore
+          arg [-plugin-opt=-fresolution=/tmp/ccQJh8Tn.res] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+          arg [-plugin-opt=-pass-through=-lc] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+          arg [--build-id] ==> ignore
+          arg [--no-add-needed] ==> ignore
+          arg [--eh-frame-hdr] ==> ignore
+          arg [--hash-style=gnu] ==> ignore
+          arg [-m] ==> ignore
+          arg [elf_x86_64] ==> ignore
+          arg [-dynamic-linker] ==> ignore
+          arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+          arg [-o] ==> ignore
+          arg [cmTC_67c81] ==> ignore
+          arg [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o]
+          arg [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o]
+          arg [/usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o]
+          arg [-L/usr/lib/gcc/x86_64-redhat-linux/14] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/14]
+          arg [-L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64]
+          arg [-L/lib/../lib64] ==> dir [/lib/../lib64]
+          arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64]
+          arg [-L/usr/lib/gcc/x86_64-redhat-linux/14/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../..]
+          arg [-v] ==> ignore
+          arg [CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o] ==> ignore
+          arg [-lgcc] ==> lib [gcc]
+          arg [--push-state] ==> ignore
+          arg [--as-needed] ==> ignore
+          arg [-lgcc_s] ==> lib [gcc_s]
+          arg [--pop-state] ==> ignore
+          arg [-lc] ==> lib [c]
+          arg [-lgcc] ==> lib [gcc]
+          arg [--push-state] ==> ignore
+          arg [--as-needed] ==> ignore
+          arg [-lgcc_s] ==> lib [gcc_s]
+          arg [--pop-state] ==> ignore
+          arg [/usr/lib/gcc/x86_64-redhat-linux/14/crtend.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/crtend.o]
+          arg [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o]
+        ignore line: [collect2 version 14.2.1 20240912 (Red Hat 14.2.1-3)]
+        ignore line: [/usr/bin/ld -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/ccQJh8Tn.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_67c81 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. -v CMakeFiles/cmTC_67c81.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o]
+        linker tool for 'C': /usr/bin/ld
+        collapse obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o] ==> [/usr/lib64/crt1.o]
+        collapse obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o] ==> [/usr/lib64/crti.o]
+        collapse obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o] ==> [/usr/lib64/crtn.o]
+        collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/14] ==> [/usr/lib/gcc/x86_64-redhat-linux/14]
+        collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64] ==> [/usr/lib64]
+        collapse library dir [/lib/../lib64] ==> [/lib64]
+        collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64]
+        collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../..] ==> [/usr/lib]
+        implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
+        implicit objs: [/usr/lib64/crt1.o;/usr/lib64/crti.o;/usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o;/usr/lib/gcc/x86_64-redhat-linux/14/crtend.o;/usr/lib64/crtn.o]
+        implicit dirs: [/usr/lib/gcc/x86_64-redhat-linux/14;/usr/lib64;/lib64;/usr/lib]
+        implicit fwks: []
+      
+      
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)"
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)"
+      - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "CMakeLists.txt:2 (project)"
+    message: |
+      Running the C compiler's linker: "/usr/bin/ld" "-v"
+      GNU ld version 2.43.1-5.fc41
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
+      - "/usr/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)"
+      - "_deps/raylib-src/CMakeLists.txt:2 (project)"
+    message: |
+      Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
+      Compiler: /usr/bin/c++ 
+      Build flags: 
+      Id flags:  
+      
+      The output was:
+      0
+      
+      
+      Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
+      
+      The CXX compiler identification is GNU, found in:
+        /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/3.30.5/CompilerIdCXX/a.out
+      
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)"
+      - "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "_deps/raylib-src/CMakeLists.txt:2 (project)"
+    checks:
+      - "Detecting CXX compiler ABI info"
+    directories:
+      source: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-DAq31g"
+      binary: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-DAq31g"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: ""
+      CMAKE_CXX_FLAGS_DEBUG: "-g"
+      CMAKE_CXX_SCAN_FOR_MODULES: "OFF"
+      CMAKE_EXE_LINKER_FLAGS: ""
+    buildResult:
+      variable: "CMAKE_CXX_ABI_COMPILED"
+      cached: true
+      stdout: |
+        Change Dir: '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-DAq31g'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f6132/fast
+        /usr/bin/gmake  -f CMakeFiles/cmTC_f6132.dir/build.make CMakeFiles/cmTC_f6132.dir/build
+        gmake[1]: Entering directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-DAq31g'
+        Building CXX object CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o
+        /usr/bin/c++   -v -o CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp
+        Using built-in specs.
+        COLLECT_GCC=/usr/bin/c++
+        OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
+        OFFLOAD_TARGET_DEFAULT=1
+        Target: x86_64-redhat-linux
+        Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,m2,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-build/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none,amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1
+        Thread model: posix
+        Supported LTO compression algorithms: zlib zstd
+        gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) 
+        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f6132.dir/'
+         /usr/libexec/gcc/x86_64-redhat-linux/14/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_f6132.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -o /tmp/cckoZliM.s
+        GNU C++17 (GCC) version 14.2.1 20240912 (Red Hat 14.2.1-3) (x86_64-redhat-linux)
+        	compiled by GNU C version 14.2.1 20240912 (Red Hat 14.2.1-3), GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.24-GMP
+        
+        GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+        ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/include-fixed"
+        ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/../../../../x86_64-redhat-linux/include"
+        #include "..." search starts here:
+        #include <...> search starts here:
+         /usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14
+         /usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/x86_64-redhat-linux
+         /usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/backward
+         /usr/lib/gcc/x86_64-redhat-linux/14/include
+         /usr/local/include
+         /usr/include
+        End of search list.
+        Compiler executable checksum: 4167a6214c52e277bbc153ab0994ccd5
+        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f6132.dir/'
+         as -v --64 -o CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o /tmp/cckoZliM.s
+        GNU assembler version 2.43.1 (x86_64-redhat-linux) using BFD version version 2.43.1-5.fc41
+        COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/
+        LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/
+        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.'
+        Linking CXX executable cmTC_f6132
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f6132.dir/link.txt --verbose=1
+        /usr/bin/c++  -v -Wl,-v CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_f6132
+        Using built-in specs.
+        COLLECT_GCC=/usr/bin/c++
+        COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper
+        OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
+        OFFLOAD_TARGET_DEFAULT=1
+        Target: x86_64-redhat-linux
+        Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,m2,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-build/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none,amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1
+        Thread model: posix
+        Supported LTO compression algorithms: zlib zstd
+        gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) 
+        COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/
+        LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/
+        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f6132' '-foffload-options=-l_GCC_m' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f6132.'
+         /usr/libexec/gcc/x86_64-redhat-linux/14/collect2 -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxZr8uA.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_f6132 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. -v CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o
+        collect2 version 14.2.1 20240912 (Red Hat 14.2.1-3)
+        /usr/bin/ld -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxZr8uA.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_f6132 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. -v CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o
+        GNU ld version 2.43.1-5.fc41
+        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f6132' '-foffload-options=-l_GCC_m' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f6132.'
+        gmake[1]: Leaving directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-DAq31g'
+        
+      exitCode: 0
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:182 (message)"
+      - "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "_deps/raylib-src/CMakeLists.txt:2 (project)"
+    message: |
+      Parsed CXX implicit include dir info: rv=done
+        found start of include info
+        found start of implicit include info
+          add: [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14]
+          add: [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/x86_64-redhat-linux]
+          add: [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/backward]
+          add: [/usr/lib/gcc/x86_64-redhat-linux/14/include]
+          add: [/usr/local/include]
+          add: [/usr/include]
+        end of search list found
+        collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14] ==> [/usr/include/c++/14]
+        collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/x86_64-redhat-linux] ==> [/usr/include/c++/14/x86_64-redhat-linux]
+        collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/backward] ==> [/usr/include/c++/14/backward]
+        collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/14/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/14/include]
+        collapse include dir [/usr/local/include] ==> [/usr/local/include]
+        collapse include dir [/usr/include] ==> [/usr/include]
+        implicit include dirs: [/usr/include/c++/14;/usr/include/c++/14/x86_64-redhat-linux;/usr/include/c++/14/backward;/usr/lib/gcc/x86_64-redhat-linux/14/include;/usr/local/include;/usr/include]
+      
+      
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:218 (message)"
+      - "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "_deps/raylib-src/CMakeLists.txt:2 (project)"
+    message: |
+      Parsed CXX implicit link information:
+        link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
+        linker tool regex: [^[ 	]*(->|")?[ 	]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)]
+        ignore line: [Change Dir: '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-DAq31g']
+        ignore line: []
+        ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f6132/fast]
+        ignore line: [/usr/bin/gmake  -f CMakeFiles/cmTC_f6132.dir/build.make CMakeFiles/cmTC_f6132.dir/build]
+        ignore line: [gmake[1]: Entering directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-DAq31g']
+        ignore line: [Building CXX object CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o]
+        ignore line: [/usr/bin/c++   -v -o CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp]
+        ignore line: [Using built-in specs.]
+        ignore line: [COLLECT_GCC=/usr/bin/c++]
+        ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
+        ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+        ignore line: [Target: x86_64-redhat-linux]
+        ignore line: [Configured with: ../configure --enable-bootstrap --enable-languages=c c++ fortran objc obj-c++ ada go d m2 lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-build/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1]
+        ignore line: [Thread model: posix]
+        ignore line: [Supported LTO compression algorithms: zlib zstd]
+        ignore line: [gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) ]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f6132.dir/']
+        ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/14/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_f6132.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -o /tmp/cckoZliM.s]
+        ignore line: [GNU C++17 (GCC) version 14.2.1 20240912 (Red Hat 14.2.1-3) (x86_64-redhat-linux)]
+        ignore line: [	compiled by GNU C version 14.2.1 20240912 (Red Hat 14.2.1-3)  GMP version 6.3.0  MPFR version 4.2.1  MPC version 1.3.1  isl version isl-0.24-GMP]
+        ignore line: []
+        ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+        ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/include-fixed"]
+        ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/../../../../x86_64-redhat-linux/include"]
+        ignore line: [#include "..." search starts here:]
+        ignore line: [#include <...> search starts here:]
+        ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14]
+        ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/x86_64-redhat-linux]
+        ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/backward]
+        ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/14/include]
+        ignore line: [ /usr/local/include]
+        ignore line: [ /usr/include]
+        ignore line: [End of search list.]
+        ignore line: [Compiler executable checksum: 4167a6214c52e277bbc153ab0994ccd5]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f6132.dir/']
+        ignore line: [ as -v --64 -o CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o /tmp/cckoZliM.s]
+        ignore line: [GNU assembler version 2.43.1 (x86_64-redhat-linux) using BFD version version 2.43.1-5.fc41]
+        ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/]
+        ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.']
+        ignore line: [Linking CXX executable cmTC_f6132]
+        ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f6132.dir/link.txt --verbose=1]
+        ignore line: [/usr/bin/c++  -v -Wl -v CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_f6132]
+        ignore line: [Using built-in specs.]
+        ignore line: [COLLECT_GCC=/usr/bin/c++]
+        ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper]
+        ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
+        ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+        ignore line: [Target: x86_64-redhat-linux]
+        ignore line: [Configured with: ../configure --enable-bootstrap --enable-languages=c c++ fortran objc obj-c++ ada go d m2 lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-build/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1]
+        ignore line: [Thread model: posix]
+        ignore line: [Supported LTO compression algorithms: zlib zstd]
+        ignore line: [gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) ]
+        ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/]
+        ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f6132' '-foffload-options=-l_GCC_m' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f6132.']
+        link line: [ /usr/libexec/gcc/x86_64-redhat-linux/14/collect2 -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxZr8uA.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_f6132 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. -v CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o]
+          arg [/usr/libexec/gcc/x86_64-redhat-linux/14/collect2] ==> ignore
+          arg [-plugin] ==> ignore
+          arg [/usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so] ==> ignore
+          arg [-plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper] ==> ignore
+          arg [-plugin-opt=-fresolution=/tmp/ccxZr8uA.res] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+          arg [-plugin-opt=-pass-through=-lc] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+          arg [--build-id] ==> ignore
+          arg [--no-add-needed] ==> ignore
+          arg [--eh-frame-hdr] ==> ignore
+          arg [--hash-style=gnu] ==> ignore
+          arg [-m] ==> ignore
+          arg [elf_x86_64] ==> ignore
+          arg [-dynamic-linker] ==> ignore
+          arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+          arg [-o] ==> ignore
+          arg [cmTC_f6132] ==> ignore
+          arg [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o]
+          arg [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o]
+          arg [/usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o]
+          arg [-L/usr/lib/gcc/x86_64-redhat-linux/14] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/14]
+          arg [-L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64]
+          arg [-L/lib/../lib64] ==> dir [/lib/../lib64]
+          arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64]
+          arg [-L/usr/lib/gcc/x86_64-redhat-linux/14/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../..]
+          arg [-v] ==> ignore
+          arg [CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+          arg [-lstdc++] ==> lib [stdc++]
+          arg [-lm] ==> lib [m]
+          arg [-lgcc_s] ==> lib [gcc_s]
+          arg [-lgcc] ==> lib [gcc]
+          arg [-lc] ==> lib [c]
+          arg [-lgcc_s] ==> lib [gcc_s]
+          arg [-lgcc] ==> lib [gcc]
+          arg [/usr/lib/gcc/x86_64-redhat-linux/14/crtend.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/crtend.o]
+          arg [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o]
+        ignore line: [collect2 version 14.2.1 20240912 (Red Hat 14.2.1-3)]
+        ignore line: [/usr/bin/ld -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxZr8uA.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_f6132 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. -v CMakeFiles/cmTC_f6132.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o]
+        linker tool for 'CXX': /usr/bin/ld
+        collapse obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o] ==> [/usr/lib64/crt1.o]
+        collapse obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o] ==> [/usr/lib64/crti.o]
+        collapse obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o] ==> [/usr/lib64/crtn.o]
+        collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/14] ==> [/usr/lib/gcc/x86_64-redhat-linux/14]
+        collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64] ==> [/usr/lib64]
+        collapse library dir [/lib/../lib64] ==> [/lib64]
+        collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64]
+        collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../..] ==> [/usr/lib]
+        implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
+        implicit objs: [/usr/lib64/crt1.o;/usr/lib64/crti.o;/usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o;/usr/lib/gcc/x86_64-redhat-linux/14/crtend.o;/usr/lib64/crtn.o]
+        implicit dirs: [/usr/lib/gcc/x86_64-redhat-linux/14;/usr/lib64;/lib64;/usr/lib]
+        implicit fwks: []
+      
+      
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)"
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)"
+      - "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "_deps/raylib-src/CMakeLists.txt:2 (project)"
+    message: |
+      Running the CXX compiler's linker: "/usr/bin/ld" "-v"
+      GNU ld version 2.43.1-5.fc41
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)"
+      - "/usr/share/cmake/Modules/Internal/CheckCompilerFlag.cmake:18 (cmake_check_source_compiles)"
+      - "/usr/share/cmake/Modules/CheckCCompilerFlag.cmake:51 (cmake_check_compiler_flag)"
+      - "_deps/raylib-src/cmake/AddIfFlagCompiles.cmake:3 (CHECK_C_COMPILER_FLAG)"
+      - "_deps/raylib-src/cmake/CompilerFlags.cmake:5 (add_if_flag_compiles)"
+      - "_deps/raylib-src/CMakeLists.txt:34 (include)"
+    checks:
+      - "Performing Test COMPILER_HAS_THOSE_TOGGLES"
+    directories:
+      source: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-v3VfKo"
+      binary: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-v3VfKo"
+    cmakeVariables:
+      CMAKE_C_FLAGS: ""
+      CMAKE_C_FLAGS_DEBUG: "-g"
+      CMAKE_EXE_LINKER_FLAGS: ""
+      CMAKE_MODULE_PATH: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/cmake"
+    buildResult:
+      variable: "COMPILER_HAS_THOSE_TOGGLES"
+      cached: true
+      stdout: |
+        Change Dir: '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-v3VfKo'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_57ee4/fast
+        /usr/bin/gmake  -f CMakeFiles/cmTC_57ee4.dir/build.make CMakeFiles/cmTC_57ee4.dir/build
+        gmake[1]: Entering directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-v3VfKo'
+        Building C object CMakeFiles/cmTC_57ee4.dir/src.c.o
+        /usr/bin/cc -DCOMPILER_HAS_THOSE_TOGGLES  -std=gnu99   -Werror=pointer-arith -o CMakeFiles/cmTC_57ee4.dir/src.c.o -c /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-v3VfKo/src.c
+        Linking C executable cmTC_57ee4
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_57ee4.dir/link.txt --verbose=1
+        /usr/bin/cc CMakeFiles/cmTC_57ee4.dir/src.c.o -o cmTC_57ee4
+        gmake[1]: Leaving directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-v3VfKo'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)"
+      - "/usr/share/cmake/Modules/CheckCSourceCompiles.cmake:52 (cmake_check_source_compiles)"
+      - "/usr/share/cmake/Modules/FindThreads.cmake:97 (CHECK_C_SOURCE_COMPILES)"
+      - "/usr/share/cmake/Modules/FindThreads.cmake:163 (_threads_check_libc)"
+      - "_deps/raylib-src/src/external/glfw/CMakeLists.txt:60 (find_package)"
+    checks:
+      - "Performing Test CMAKE_HAVE_LIBC_PTHREAD"
+    directories:
+      source: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-ePRptn"
+      binary: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-ePRptn"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith "
+      CMAKE_C_FLAGS_DEBUG: "-g"
+      CMAKE_EXE_LINKER_FLAGS: ""
+      CMAKE_MODULE_PATH: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/cmake;/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/src/external/glfw/CMake/modules"
+    buildResult:
+      variable: "CMAKE_HAVE_LIBC_PTHREAD"
+      cached: true
+      stdout: |
+        Change Dir: '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-ePRptn'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_c97c2/fast
+        /usr/bin/gmake  -f CMakeFiles/cmTC_c97c2.dir/build.make CMakeFiles/cmTC_c97c2.dir/build
+        gmake[1]: Entering directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-ePRptn'
+        Building C object CMakeFiles/cmTC_c97c2.dir/src.c.o
+        /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD  -fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith   -std=gnu99 -o CMakeFiles/cmTC_c97c2.dir/src.c.o -c /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-ePRptn/src.c
+        Linking C executable cmTC_c97c2
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c97c2.dir/link.txt --verbose=1
+        /usr/bin/cc -fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith   CMakeFiles/cmTC_c97c2.dir/src.c.o -o cmTC_c97c2
+        gmake[1]: Leaving directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-ePRptn'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CheckLibraryExists.cmake:69 (try_compile)"
+      - "/usr/share/cmake/Modules/FindX11.cmake:693 (check_library_exists)"
+      - "_deps/raylib-src/src/external/glfw/src/CMakeLists.txt:181 (find_package)"
+    checks:
+      - "Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so"
+    directories:
+      source: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-G2jjyy"
+      binary: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-G2jjyy"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith "
+      CMAKE_C_FLAGS_DEBUG: "-g"
+      CMAKE_EXE_LINKER_FLAGS: ""
+      CMAKE_MODULE_PATH: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/cmake;/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/src/external/glfw/CMake/modules"
+    buildResult:
+      variable: "X11_LIB_X11_SOLO"
+      cached: true
+      stdout: |
+        Change Dir: '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-G2jjyy'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_32d33/fast
+        /usr/bin/gmake  -f CMakeFiles/cmTC_32d33.dir/build.make CMakeFiles/cmTC_32d33.dir/build
+        gmake[1]: Entering directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-G2jjyy'
+        Building C object CMakeFiles/cmTC_32d33.dir/CheckFunctionExists.c.o
+        /usr/bin/cc   -fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith  -DCHECK_FUNCTION_EXISTS=XOpenDisplay -std=gnu99 -o CMakeFiles/cmTC_32d33.dir/CheckFunctionExists.c.o -c /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-G2jjyy/CheckFunctionExists.c
+        Linking C executable cmTC_32d33
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_32d33.dir/link.txt --verbose=1
+        /usr/bin/cc -fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith  -DCHECK_FUNCTION_EXISTS=XOpenDisplay CMakeFiles/cmTC_32d33.dir/CheckFunctionExists.c.o -o cmTC_32d33  /usr/lib64/libX11.so /usr/lib64/libXext.so
+        gmake[1]: Leaving directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-G2jjyy'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CheckFunctionExists.cmake:86 (try_compile)"
+      - "/usr/share/cmake/Modules/FindX11.cmake:708 (check_function_exists)"
+      - "_deps/raylib-src/src/external/glfw/src/CMakeLists.txt:181 (find_package)"
+    checks:
+      - "Looking for gethostbyname"
+    directories:
+      source: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-9R3bgs"
+      binary: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-9R3bgs"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith "
+      CMAKE_C_FLAGS_DEBUG: "-g"
+      CMAKE_EXE_LINKER_FLAGS: ""
+      CMAKE_MODULE_PATH: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/cmake;/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/src/external/glfw/CMake/modules"
+    buildResult:
+      variable: "CMAKE_HAVE_GETHOSTBYNAME"
+      cached: true
+      stdout: |
+        Change Dir: '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-9R3bgs'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_2f338/fast
+        /usr/bin/gmake  -f CMakeFiles/cmTC_2f338.dir/build.make CMakeFiles/cmTC_2f338.dir/build
+        gmake[1]: Entering directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-9R3bgs'
+        Building C object CMakeFiles/cmTC_2f338.dir/CheckFunctionExists.c.o
+        /usr/bin/cc   -fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith  -DCHECK_FUNCTION_EXISTS=gethostbyname -std=gnu99 -o CMakeFiles/cmTC_2f338.dir/CheckFunctionExists.c.o -c /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-9R3bgs/CheckFunctionExists.c
+        Linking C executable cmTC_2f338
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2f338.dir/link.txt --verbose=1
+        /usr/bin/cc -fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith  -DCHECK_FUNCTION_EXISTS=gethostbyname CMakeFiles/cmTC_2f338.dir/CheckFunctionExists.c.o -o cmTC_2f338
+        gmake[1]: Leaving directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-9R3bgs'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CheckFunctionExists.cmake:86 (try_compile)"
+      - "/usr/share/cmake/Modules/FindX11.cmake:722 (check_function_exists)"
+      - "_deps/raylib-src/src/external/glfw/src/CMakeLists.txt:181 (find_package)"
+    checks:
+      - "Looking for connect"
+    directories:
+      source: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-XJAABW"
+      binary: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-XJAABW"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith "
+      CMAKE_C_FLAGS_DEBUG: "-g"
+      CMAKE_EXE_LINKER_FLAGS: ""
+      CMAKE_MODULE_PATH: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/cmake;/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/src/external/glfw/CMake/modules"
+    buildResult:
+      variable: "CMAKE_HAVE_CONNECT"
+      cached: true
+      stdout: |
+        Change Dir: '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-XJAABW'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_aa6f3/fast
+        /usr/bin/gmake  -f CMakeFiles/cmTC_aa6f3.dir/build.make CMakeFiles/cmTC_aa6f3.dir/build
+        gmake[1]: Entering directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-XJAABW'
+        Building C object CMakeFiles/cmTC_aa6f3.dir/CheckFunctionExists.c.o
+        /usr/bin/cc   -fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith  -DCHECK_FUNCTION_EXISTS=connect -std=gnu99 -o CMakeFiles/cmTC_aa6f3.dir/CheckFunctionExists.c.o -c /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-XJAABW/CheckFunctionExists.c
+        Linking C executable cmTC_aa6f3
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_aa6f3.dir/link.txt --verbose=1
+        /usr/bin/cc -fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith  -DCHECK_FUNCTION_EXISTS=connect CMakeFiles/cmTC_aa6f3.dir/CheckFunctionExists.c.o -o cmTC_aa6f3
+        gmake[1]: Leaving directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-XJAABW'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CheckFunctionExists.cmake:86 (try_compile)"
+      - "/usr/share/cmake/Modules/FindX11.cmake:731 (check_function_exists)"
+      - "_deps/raylib-src/src/external/glfw/src/CMakeLists.txt:181 (find_package)"
+    checks:
+      - "Looking for remove"
+    directories:
+      source: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-KInwy9"
+      binary: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-KInwy9"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith "
+      CMAKE_C_FLAGS_DEBUG: "-g"
+      CMAKE_EXE_LINKER_FLAGS: ""
+      CMAKE_MODULE_PATH: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/cmake;/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/src/external/glfw/CMake/modules"
+    buildResult:
+      variable: "CMAKE_HAVE_REMOVE"
+      cached: true
+      stdout: |
+        Change Dir: '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-KInwy9'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_ad966/fast
+        /usr/bin/gmake  -f CMakeFiles/cmTC_ad966.dir/build.make CMakeFiles/cmTC_ad966.dir/build
+        gmake[1]: Entering directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-KInwy9'
+        Building C object CMakeFiles/cmTC_ad966.dir/CheckFunctionExists.c.o
+        /usr/bin/cc   -fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith  -DCHECK_FUNCTION_EXISTS=remove -std=gnu99 -o CMakeFiles/cmTC_ad966.dir/CheckFunctionExists.c.o -c /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-KInwy9/CheckFunctionExists.c
+        Linking C executable cmTC_ad966
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ad966.dir/link.txt --verbose=1
+        /usr/bin/cc -fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith  -DCHECK_FUNCTION_EXISTS=remove CMakeFiles/cmTC_ad966.dir/CheckFunctionExists.c.o -o cmTC_ad966
+        gmake[1]: Leaving directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-KInwy9'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CheckFunctionExists.cmake:86 (try_compile)"
+      - "/usr/share/cmake/Modules/FindX11.cmake:740 (check_function_exists)"
+      - "_deps/raylib-src/src/external/glfw/src/CMakeLists.txt:181 (find_package)"
+    checks:
+      - "Looking for shmat"
+    directories:
+      source: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-lFLYZE"
+      binary: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-lFLYZE"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith "
+      CMAKE_C_FLAGS_DEBUG: "-g"
+      CMAKE_EXE_LINKER_FLAGS: ""
+      CMAKE_MODULE_PATH: "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/cmake;/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/src/external/glfw/CMake/modules"
+    buildResult:
+      variable: "CMAKE_HAVE_SHMAT"
+      cached: true
+      stdout: |
+        Change Dir: '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-lFLYZE'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_a7bfa/fast
+        /usr/bin/gmake  -f CMakeFiles/cmTC_a7bfa.dir/build.make CMakeFiles/cmTC_a7bfa.dir/build
+        gmake[1]: Entering directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-lFLYZE'
+        Building C object CMakeFiles/cmTC_a7bfa.dir/CheckFunctionExists.c.o
+        /usr/bin/cc   -fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith  -DCHECK_FUNCTION_EXISTS=shmat -std=gnu99 -o CMakeFiles/cmTC_a7bfa.dir/CheckFunctionExists.c.o -c /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-lFLYZE/CheckFunctionExists.c
+        Linking C executable cmTC_a7bfa
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a7bfa.dir/link.txt --verbose=1
+        /usr/bin/cc -fno-strict-aliasing -Werror=implicit-function-declaration -Werror=pointer-arith  -DCHECK_FUNCTION_EXISTS=shmat CMakeFiles/cmTC_a7bfa.dir/CheckFunctionExists.c.o -o cmTC_a7bfa
+        gmake[1]: Leaving directory '/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-lFLYZE'
+        
+      exitCode: 0
+...
+
+---
+events:
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CMakeDetermineSystem.cmake:205 (message)"
+      - "CMakeLists.txt:2 (project)"
+    message: |
+      The system is: Linux - 6.12.4-200.fc41.x86_64 - x86_64
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
+      - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)"
+      - "CMakeLists.txt:2 (project)"
+    message: |
+      Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
+      Compiler: /usr/bin/cc 
+      Build flags: 
+      Id flags:  
+      
+      The output was:
+      0
+      
+      
+      Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
+      
+      The C compiler identification is GNU, found in:
+        /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles/3.30.5/CompilerIdC/a.out
+      
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)"
+      - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "CMakeLists.txt:2 (project)"
+    checks:
+      - "Detecting C compiler ABI info"
+    directories:
+      source: "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-LDde8K"
+      binary: "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-LDde8K"
+    cmakeVariables:
+      CMAKE_C_FLAGS: ""
+      CMAKE_C_FLAGS_DEBUG: "-g"
+      CMAKE_EXE_LINKER_FLAGS: ""
+    buildResult:
+      variable: "CMAKE_C_ABI_COMPILED"
+      cached: true
+      stdout: |
+        Change Dir: '/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-LDde8K'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_52941/fast
+        /usr/bin/gmake  -f CMakeFiles/cmTC_52941.dir/build.make CMakeFiles/cmTC_52941.dir/build
+        gmake[1]: Entering directory '/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-LDde8K'
+        Building C object CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o
+        /usr/bin/cc   -v -o CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c
+        Using built-in specs.
+        COLLECT_GCC=/usr/bin/cc
+        OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
+        OFFLOAD_TARGET_DEFAULT=1
+        Target: x86_64-redhat-linux
+        Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,m2,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-build/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none,amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1
+        Thread model: posix
+        Supported LTO compression algorithms: zlib zstd
+        gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) 
+        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_52941.dir/'
+         /usr/libexec/gcc/x86_64-redhat-linux/14/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_52941.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o /tmp/ccrkovx2.s
+        GNU C17 (GCC) version 14.2.1 20240912 (Red Hat 14.2.1-3) (x86_64-redhat-linux)
+        	compiled by GNU C version 14.2.1 20240912 (Red Hat 14.2.1-3), GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.24-GMP
+        
+        GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+        ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/include-fixed"
+        ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/../../../../x86_64-redhat-linux/include"
+        #include "..." search starts here:
+        #include <...> search starts here:
+         /usr/lib/gcc/x86_64-redhat-linux/14/include
+         /usr/local/include
+         /usr/include
+        End of search list.
+        Compiler executable checksum: 3cfa2c922a2ef3f6017b437b0661c120
+        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_52941.dir/'
+         as -v --64 -o CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o /tmp/ccrkovx2.s
+        GNU assembler version 2.43.1 (x86_64-redhat-linux) using BFD version version 2.43.1-5.fc41
+        COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/
+        LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/
+        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.'
+        Linking C executable cmTC_52941
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_52941.dir/link.txt --verbose=1
+        /usr/bin/cc  -v -Wl,-v CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o -o cmTC_52941
+        Using built-in specs.
+        COLLECT_GCC=/usr/bin/cc
+        COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper
+        OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
+        OFFLOAD_TARGET_DEFAULT=1
+        Target: x86_64-redhat-linux
+        Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,m2,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-build/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none,amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1
+        Thread model: posix
+        Supported LTO compression algorithms: zlib zstd
+        gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) 
+        COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/
+        LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/
+        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_52941' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_52941.'
+         /usr/libexec/gcc/x86_64-redhat-linux/14/collect2 -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cckmaprQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_52941 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. -v CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o
+        collect2 version 14.2.1 20240912 (Red Hat 14.2.1-3)
+        /usr/bin/ld -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cckmaprQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_52941 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. -v CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o
+        GNU ld version 2.43.1-5.fc41
+        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_52941' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_52941.'
+        gmake[1]: Leaving directory '/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-LDde8K'
+        
+      exitCode: 0
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:182 (message)"
+      - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "CMakeLists.txt:2 (project)"
+    message: |
+      Parsed C implicit include dir info: rv=done
+        found start of include info
+        found start of implicit include info
+          add: [/usr/lib/gcc/x86_64-redhat-linux/14/include]
+          add: [/usr/local/include]
+          add: [/usr/include]
+        end of search list found
+        collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/14/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/14/include]
+        collapse include dir [/usr/local/include] ==> [/usr/local/include]
+        collapse include dir [/usr/include] ==> [/usr/include]
+        implicit include dirs: [/usr/lib/gcc/x86_64-redhat-linux/14/include;/usr/local/include;/usr/include]
+      
+      
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:218 (message)"
+      - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "CMakeLists.txt:2 (project)"
+    message: |
+      Parsed C implicit link information:
+        link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
+        linker tool regex: [^[ 	]*(->|")?[ 	]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)]
+        ignore line: [Change Dir: '/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-LDde8K']
+        ignore line: []
+        ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_52941/fast]
+        ignore line: [/usr/bin/gmake  -f CMakeFiles/cmTC_52941.dir/build.make CMakeFiles/cmTC_52941.dir/build]
+        ignore line: [gmake[1]: Entering directory '/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles/CMakeScratch/TryCompile-LDde8K']
+        ignore line: [Building C object CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o]
+        ignore line: [/usr/bin/cc   -v -o CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c]
+        ignore line: [Using built-in specs.]
+        ignore line: [COLLECT_GCC=/usr/bin/cc]
+        ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
+        ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+        ignore line: [Target: x86_64-redhat-linux]
+        ignore line: [Configured with: ../configure --enable-bootstrap --enable-languages=c c++ fortran objc obj-c++ ada go d m2 lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-build/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1]
+        ignore line: [Thread model: posix]
+        ignore line: [Supported LTO compression algorithms: zlib zstd]
+        ignore line: [gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) ]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_52941.dir/']
+        ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/14/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_52941.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o /tmp/ccrkovx2.s]
+        ignore line: [GNU C17 (GCC) version 14.2.1 20240912 (Red Hat 14.2.1-3) (x86_64-redhat-linux)]
+        ignore line: [	compiled by GNU C version 14.2.1 20240912 (Red Hat 14.2.1-3)  GMP version 6.3.0  MPFR version 4.2.1  MPC version 1.3.1  isl version isl-0.24-GMP]
+        ignore line: []
+        ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+        ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/include-fixed"]
+        ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/../../../../x86_64-redhat-linux/include"]
+        ignore line: [#include "..." search starts here:]
+        ignore line: [#include <...> search starts here:]
+        ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/14/include]
+        ignore line: [ /usr/local/include]
+        ignore line: [ /usr/include]
+        ignore line: [End of search list.]
+        ignore line: [Compiler executable checksum: 3cfa2c922a2ef3f6017b437b0661c120]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_52941.dir/']
+        ignore line: [ as -v --64 -o CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o /tmp/ccrkovx2.s]
+        ignore line: [GNU assembler version 2.43.1 (x86_64-redhat-linux) using BFD version version 2.43.1-5.fc41]
+        ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/]
+        ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.']
+        ignore line: [Linking C executable cmTC_52941]
+        ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_52941.dir/link.txt --verbose=1]
+        ignore line: [/usr/bin/cc  -v -Wl -v CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o -o cmTC_52941]
+        ignore line: [Using built-in specs.]
+        ignore line: [COLLECT_GCC=/usr/bin/cc]
+        ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper]
+        ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
+        ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+        ignore line: [Target: x86_64-redhat-linux]
+        ignore line: [Configured with: ../configure --enable-bootstrap --enable-languages=c c++ fortran objc obj-c++ ada go d m2 lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-build/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1]
+        ignore line: [Thread model: posix]
+        ignore line: [Supported LTO compression algorithms: zlib zstd]
+        ignore line: [gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) ]
+        ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/]
+        ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_52941' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_52941.']
+        link line: [ /usr/libexec/gcc/x86_64-redhat-linux/14/collect2 -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cckmaprQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_52941 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. -v CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o]
+          arg [/usr/libexec/gcc/x86_64-redhat-linux/14/collect2] ==> ignore
+          arg [-plugin] ==> ignore
+          arg [/usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so] ==> ignore
+          arg [-plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper] ==> ignore
+          arg [-plugin-opt=-fresolution=/tmp/cckmaprQ.res] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+          arg [-plugin-opt=-pass-through=-lc] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+          arg [--build-id] ==> ignore
+          arg [--no-add-needed] ==> ignore
+          arg [--eh-frame-hdr] ==> ignore
+          arg [--hash-style=gnu] ==> ignore
+          arg [-m] ==> ignore
+          arg [elf_x86_64] ==> ignore
+          arg [-dynamic-linker] ==> ignore
+          arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+          arg [-o] ==> ignore
+          arg [cmTC_52941] ==> ignore
+          arg [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o]
+          arg [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o]
+          arg [/usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o]
+          arg [-L/usr/lib/gcc/x86_64-redhat-linux/14] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/14]
+          arg [-L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64]
+          arg [-L/lib/../lib64] ==> dir [/lib/../lib64]
+          arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64]
+          arg [-L/usr/lib/gcc/x86_64-redhat-linux/14/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../..]
+          arg [-v] ==> ignore
+          arg [CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o] ==> ignore
+          arg [-lgcc] ==> lib [gcc]
+          arg [--push-state] ==> ignore
+          arg [--as-needed] ==> ignore
+          arg [-lgcc_s] ==> lib [gcc_s]
+          arg [--pop-state] ==> ignore
+          arg [-lc] ==> lib [c]
+          arg [-lgcc] ==> lib [gcc]
+          arg [--push-state] ==> ignore
+          arg [--as-needed] ==> ignore
+          arg [-lgcc_s] ==> lib [gcc_s]
+          arg [--pop-state] ==> ignore
+          arg [/usr/lib/gcc/x86_64-redhat-linux/14/crtend.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/crtend.o]
+          arg [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o]
+        ignore line: [collect2 version 14.2.1 20240912 (Red Hat 14.2.1-3)]
+        ignore line: [/usr/bin/ld -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cckmaprQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_52941 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. -v CMakeFiles/cmTC_52941.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o]
+        linker tool for 'C': /usr/bin/ld
+        collapse obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o] ==> [/usr/lib64/crt1.o]
+        collapse obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o] ==> [/usr/lib64/crti.o]
+        collapse obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o] ==> [/usr/lib64/crtn.o]
+        collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/14] ==> [/usr/lib/gcc/x86_64-redhat-linux/14]
+        collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64] ==> [/usr/lib64]
+        collapse library dir [/lib/../lib64] ==> [/lib64]
+        collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64]
+        collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../..] ==> [/usr/lib]
+        implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
+        implicit objs: [/usr/lib64/crt1.o;/usr/lib64/crti.o;/usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o;/usr/lib/gcc/x86_64-redhat-linux/14/crtend.o;/usr/lib64/crtn.o]
+        implicit dirs: [/usr/lib/gcc/x86_64-redhat-linux/14;/usr/lib64;/lib64;/usr/lib]
+        implicit fwks: []
+      
+      
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)"
+      - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)"
+      - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "CMakeLists.txt:2 (project)"
+    message: |
+      Running the C compiler's linker: "/usr/bin/ld" "-v"
+      GNU ld version 2.43.1-5.fc41
+...
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/CMakeDirectoryInformation.cmake b/examples/textui-sidebar-scrolling-container/CMakeFiles/CMakeDirectoryInformation.cmake
new file mode 100644
index 0000000..968641e
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.30
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/Makefile.cmake b/examples/textui-sidebar-scrolling-container/CMakeFiles/Makefile.cmake
new file mode 100644
index 0000000..5d5f10e
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/Makefile.cmake
@@ -0,0 +1,44 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.30
+
+# The generator used is:
+set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
+
+# The top level Makefile was generated from the following files:
+set(CMAKE_MAKEFILE_DEPENDS
+  "CMakeCache.txt"
+  "CMakeFiles/3.30.5/CMakeCCompiler.cmake"
+  "CMakeFiles/3.30.5/CMakeSystem.cmake"
+  "CMakeLists.txt"
+  "/usr/share/cmake/Modules/CMakeCInformation.cmake"
+  "/usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake"
+  "/usr/share/cmake/Modules/CMakeGenericSystem.cmake"
+  "/usr/share/cmake/Modules/CMakeInitializeConfigs.cmake"
+  "/usr/share/cmake/Modules/CMakeLanguageInformation.cmake"
+  "/usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake"
+  "/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake"
+  "/usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
+  "/usr/share/cmake/Modules/Compiler/GNU-C.cmake"
+  "/usr/share/cmake/Modules/Compiler/GNU.cmake"
+  "/usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake"
+  "/usr/share/cmake/Modules/Platform/Linux-GNU.cmake"
+  "/usr/share/cmake/Modules/Platform/Linux-Initialize.cmake"
+  "/usr/share/cmake/Modules/Platform/Linux.cmake"
+  "/usr/share/cmake/Modules/Platform/UnixPaths.cmake"
+  )
+
+# The corresponding makefile is:
+set(CMAKE_MAKEFILE_OUTPUTS
+  "Makefile"
+  "CMakeFiles/cmake.check_cache"
+  )
+
+# Byproducts of CMake generate step:
+set(CMAKE_MAKEFILE_PRODUCTS
+  "CMakeFiles/CMakeDirectoryInformation.cmake"
+  )
+
+# Dependency information for all targets:
+set(CMAKE_DEPEND_INFO_FILES
+  "CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/DependInfo.cmake"
+  )
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/Makefile2 b/examples/textui-sidebar-scrolling-container/CMakeFiles/Makefile2
new file mode 100644
index 0000000..9369977
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/Makefile2
@@ -0,0 +1,112 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.30
+
+# Default target executed when no arguments are given to make.
+default_target: all
+.PHONY : default_target
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container
+
+#=============================================================================
+# Directory level rules for the build root directory
+
+# The main recursive "all" target.
+all: CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/all
+.PHONY : all
+
+# The main recursive "preinstall" target.
+preinstall:
+.PHONY : preinstall
+
+# The main recursive "clean" target.
+clean: CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/clean
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir
+
+# All Build rule for target.
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/all:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build.make CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/depend
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build.make CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles --progress-num=1,2,3 "Built target clay_examples_textui_sidebar_scrolling_container"
+.PHONY : CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/all
+
+# Build rule for subdir invocation for target.
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles 3
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles 0
+.PHONY : CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/rule
+
+# Convenience name for target.
+clay_examples_textui_sidebar_scrolling_container: CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/rule
+.PHONY : clay_examples_textui_sidebar_scrolling_container
+
+# clean rule for target.
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/clean:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build.make CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/clean
+.PHONY : CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/clean
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/TargetDirectories.txt b/examples/textui-sidebar-scrolling-container/CMakeFiles/TargetDirectories.txt
new file mode 100644
index 0000000..b0ae60b
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/TargetDirectories.txt
@@ -0,0 +1,5 @@
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles/package.dir
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles/package_source.dir
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles/edit_cache.dir
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles/rebuild_cache.dir
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/DependInfo.cmake b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/DependInfo.cmake
new file mode 100644
index 0000000..9ca9466
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/DependInfo.cmake
@@ -0,0 +1,24 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/main.c" "CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.o" "gcc" "CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.o.d"
+  "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/multi-compilation-unit.c" "CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.o" "gcc" "CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.o.d"
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/build.make b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/build.make
new file mode 100644
index 0000000..039b1d0
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/build.make
@@ -0,0 +1,133 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.30
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container
+
+# Include any dependencies generated for this target.
+include CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/depend.make
+# Include any dependencies generated by the compiler for this target.
+include CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/flags.make
+
+CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.o: CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/flags.make
+CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.o: main.c
+CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.o: CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.o"
+	/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.o -MF CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.o.d -o CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.o -c /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/main.c
+
+CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.i"
+	/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/main.c > CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.i
+
+CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.s"
+	/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/main.c -o CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.s
+
+CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.o: CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/flags.make
+CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.o: multi-compilation-unit.c
+CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.o: CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.o"
+	/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.o -MF CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.o.d -o CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.o -c /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/multi-compilation-unit.c
+
+CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.i"
+	/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/multi-compilation-unit.c > CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.i
+
+CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.s"
+	/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/multi-compilation-unit.c -o CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.s
+
+# Object files for target clay_examples_raylib_sidebar_scrolling_container
+clay_examples_raylib_sidebar_scrolling_container_OBJECTS = \
+"CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.o" \
+"CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.o"
+
+# External object files for target clay_examples_raylib_sidebar_scrolling_container
+clay_examples_raylib_sidebar_scrolling_container_EXTERNAL_OBJECTS =
+
+clay_examples_raylib_sidebar_scrolling_container: CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.o
+clay_examples_raylib_sidebar_scrolling_container: CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.o
+clay_examples_raylib_sidebar_scrolling_container: CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/build.make
+clay_examples_raylib_sidebar_scrolling_container: _deps/raylib-build/raylib/libraylib.a
+clay_examples_raylib_sidebar_scrolling_container: /usr/lib64/libOpenGL.so
+clay_examples_raylib_sidebar_scrolling_container: /usr/lib64/libGLX.so
+clay_examples_raylib_sidebar_scrolling_container: /usr/lib64/libGLU.so
+clay_examples_raylib_sidebar_scrolling_container: /usr/lib64/librt.a
+clay_examples_raylib_sidebar_scrolling_container: /usr/lib64/libm.so
+clay_examples_raylib_sidebar_scrolling_container: CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/link.txt
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Linking C executable clay_examples_raylib_sidebar_scrolling_container"
+	$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/link.txt --verbose=$(VERBOSE)
+	/usr/bin/cmake -E copy_directory /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/resources /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/resources
+
+# Rule to build all files generated by this target.
+CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/build: clay_examples_raylib_sidebar_scrolling_container
+.PHONY : CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/build
+
+CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/clean:
+	$(CMAKE_COMMAND) -P CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/cmake_clean.cmake
+.PHONY : CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/clean
+
+CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/depend:
+	cd /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container /home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/depend
+
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/cmake_clean.cmake b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/cmake_clean.cmake
new file mode 100644
index 0000000..95d665b
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/cmake_clean.cmake
@@ -0,0 +1,13 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.o"
+  "CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.o.d"
+  "CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.o"
+  "CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.o.d"
+  "clay_examples_raylib_sidebar_scrolling_container"
+  "clay_examples_raylib_sidebar_scrolling_container.pdb"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang C)
+  include(CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/compiler_depend.make b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/compiler_depend.make
new file mode 100644
index 0000000..04d5fd9
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty compiler generated dependencies file for clay_examples_raylib_sidebar_scrolling_container.
+# This may be replaced when dependencies are built.
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/compiler_depend.ts b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/compiler_depend.ts
new file mode 100644
index 0000000..8aaa5ee
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for compiler generated dependencies management for clay_examples_raylib_sidebar_scrolling_container.
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/depend.make b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/depend.make
new file mode 100644
index 0000000..36663d3
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/depend.make
@@ -0,0 +1,2 @@
+# Empty dependencies file for clay_examples_raylib_sidebar_scrolling_container.
+# This may be replaced when dependencies are built.
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/flags.make b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/flags.make
new file mode 100644
index 0000000..a38b8bf
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/flags.make
@@ -0,0 +1,10 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.30
+
+# compile C with /usr/bin/cc
+C_DEFINES = -DGRAPHICS_API_OPENGL_33 -DPLATFORM_DESKTOP
+
+C_INCLUDES = -I/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/. -I/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/src -I/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/src/external/glfw/include
+
+C_FLAGS = -std=gnu99
+
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/link.txt b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/link.txt
new file mode 100644
index 0000000..a006b29
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/link.txt
@@ -0,0 +1 @@
+/usr/bin/cc CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/main.c.o "CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/multi-compilation-unit.c.o" -o clay_examples_raylib_sidebar_scrolling_container  _deps/raylib-build/raylib/libraylib.a -lm -lpthread /usr/lib64/libOpenGL.so /usr/lib64/libGLX.so /usr/lib64/libGLU.so /usr/lib64/librt.a -lm -ldl
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/progress.make b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/progress.make
new file mode 100644
index 0000000..6a9dc74
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_raylib_sidebar_scrolling_container.dir/progress.make
@@ -0,0 +1,4 @@
+CMAKE_PROGRESS_1 = 1
+CMAKE_PROGRESS_2 = 2
+CMAKE_PROGRESS_3 = 3
+
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/DependInfo.cmake b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/DependInfo.cmake
new file mode 100644
index 0000000..05ea916
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/DependInfo.cmake
@@ -0,0 +1,24 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/main.c" "CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o" "gcc" "CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o.d"
+  "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/multi-compilation-unit.c" "CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o" "gcc" "CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o.d"
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build.make b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build.make
new file mode 100644
index 0000000..d6abb98
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build.make
@@ -0,0 +1,127 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.30
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container
+
+# Include any dependencies generated for this target.
+include CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/depend.make
+# Include any dependencies generated by the compiler for this target.
+include CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/flags.make
+
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o: CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/flags.make
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o: main.c
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o: CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o"
+	/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o -MF CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o.d -o CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o -c /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/main.c
+
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.i"
+	/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/main.c > CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.i
+
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.s"
+	/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/main.c -o CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.s
+
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o: CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/flags.make
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o: multi-compilation-unit.c
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o: CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o"
+	/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o -MF CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o.d -o CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o -c /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/multi-compilation-unit.c
+
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.i"
+	/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/multi-compilation-unit.c > CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.i
+
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.s"
+	/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/multi-compilation-unit.c -o CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.s
+
+# Object files for target clay_examples_textui_sidebar_scrolling_container
+clay_examples_textui_sidebar_scrolling_container_OBJECTS = \
+"CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o" \
+"CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o"
+
+# External object files for target clay_examples_textui_sidebar_scrolling_container
+clay_examples_textui_sidebar_scrolling_container_EXTERNAL_OBJECTS =
+
+clay_examples_textui_sidebar_scrolling_container: CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o
+clay_examples_textui_sidebar_scrolling_container: CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o
+clay_examples_textui_sidebar_scrolling_container: CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build.make
+clay_examples_textui_sidebar_scrolling_container: CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/link.txt
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Linking C executable clay_examples_textui_sidebar_scrolling_container"
+	$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/link.txt --verbose=$(VERBOSE)
+	/usr/bin/cmake -E copy_directory /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/resources /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/resources
+
+# Rule to build all files generated by this target.
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build: clay_examples_textui_sidebar_scrolling_container
+.PHONY : CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build
+
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/clean:
+	$(CMAKE_COMMAND) -P CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/cmake_clean.cmake
+.PHONY : CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/clean
+
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/depend:
+	cd /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/depend
+
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/cmake_clean.cmake b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/cmake_clean.cmake
new file mode 100644
index 0000000..8318206
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/cmake_clean.cmake
@@ -0,0 +1,13 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o"
+  "CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o.d"
+  "CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o"
+  "CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o.d"
+  "clay_examples_textui_sidebar_scrolling_container"
+  "clay_examples_textui_sidebar_scrolling_container.pdb"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang C)
+  include(CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/compiler_depend.internal b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/compiler_depend.internal
new file mode 100644
index 0000000..291b6f9
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/compiler_depend.internal
@@ -0,0 +1,96 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.30
+
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o
+ /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/main.c
+ /home/phillip/Projects/clay/clay.h
+ /home/phillip/Projects/clay/renderers/textui/clay_renderer_textui.c
+ /usr/include/alloca.h
+ /usr/include/bits/atomic_wide_counter.h
+ /usr/include/bits/byteswap.h
+ /usr/include/bits/endian.h
+ /usr/include/bits/endianness.h
+ /usr/include/bits/floatn-common.h
+ /usr/include/bits/floatn.h
+ /usr/include/bits/libc-header-start.h
+ /usr/include/bits/long-double.h
+ /usr/include/bits/pthreadtypes-arch.h
+ /usr/include/bits/pthreadtypes.h
+ /usr/include/bits/select.h
+ /usr/include/bits/stdint-intn.h
+ /usr/include/bits/stdint-least.h
+ /usr/include/bits/stdint-uintn.h
+ /usr/include/bits/stdio_lim.h
+ /usr/include/bits/stdlib-float.h
+ /usr/include/bits/struct_mutex.h
+ /usr/include/bits/struct_rwlock.h
+ /usr/include/bits/thread-shared-types.h
+ /usr/include/bits/time64.h
+ /usr/include/bits/timesize.h
+ /usr/include/bits/types.h
+ /usr/include/bits/types/FILE.h
+ /usr/include/bits/types/__FILE.h
+ /usr/include/bits/types/__fpos64_t.h
+ /usr/include/bits/types/__fpos_t.h
+ /usr/include/bits/types/__mbstate_t.h
+ /usr/include/bits/types/__sigset_t.h
+ /usr/include/bits/types/clock_t.h
+ /usr/include/bits/types/clockid_t.h
+ /usr/include/bits/types/cookie_io_functions_t.h
+ /usr/include/bits/types/sigset_t.h
+ /usr/include/bits/types/struct_FILE.h
+ /usr/include/bits/types/struct_timespec.h
+ /usr/include/bits/types/struct_timeval.h
+ /usr/include/bits/types/time_t.h
+ /usr/include/bits/types/timer_t.h
+ /usr/include/bits/typesizes.h
+ /usr/include/bits/uintn-identity.h
+ /usr/include/bits/waitflags.h
+ /usr/include/bits/waitstatus.h
+ /usr/include/bits/wchar.h
+ /usr/include/bits/wordsize.h
+ /usr/include/curses.h
+ /usr/include/endian.h
+ /usr/include/features-time64.h
+ /usr/include/features.h
+ /usr/include/gnu/stubs-64.h
+ /usr/include/gnu/stubs.h
+ /usr/include/ncurses_dll.h
+ /usr/include/stdc-predef.h
+ /usr/include/stdint.h
+ /usr/include/stdio.h
+ /usr/include/stdlib.h
+ /usr/include/sys/cdefs.h
+ /usr/include/sys/select.h
+ /usr/include/sys/types.h
+ /usr/include/unctrl.h
+ /usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h
+ /usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h
+ /usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h
+ /usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h
+
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o
+ /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/multi-compilation-unit.c
+ /home/phillip/Projects/clay/clay.h
+ /usr/include/bits/libc-header-start.h
+ /usr/include/bits/long-double.h
+ /usr/include/bits/stdint-intn.h
+ /usr/include/bits/stdint-least.h
+ /usr/include/bits/stdint-uintn.h
+ /usr/include/bits/time64.h
+ /usr/include/bits/timesize.h
+ /usr/include/bits/types.h
+ /usr/include/bits/typesizes.h
+ /usr/include/bits/wchar.h
+ /usr/include/bits/wordsize.h
+ /usr/include/features-time64.h
+ /usr/include/features.h
+ /usr/include/gnu/stubs-64.h
+ /usr/include/gnu/stubs.h
+ /usr/include/stdc-predef.h
+ /usr/include/stdint.h
+ /usr/include/sys/cdefs.h
+ /usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h
+ /usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h
+ /usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h
+
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/compiler_depend.make b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/compiler_depend.make
new file mode 100644
index 0000000..03b2687
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/compiler_depend.make
@@ -0,0 +1,228 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.30
+
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o: main.c \
+  /home/phillip/Projects/clay/clay.h \
+  /home/phillip/Projects/clay/renderers/textui/clay_renderer_textui.c \
+  /usr/include/alloca.h \
+  /usr/include/bits/atomic_wide_counter.h \
+  /usr/include/bits/byteswap.h \
+  /usr/include/bits/endian.h \
+  /usr/include/bits/endianness.h \
+  /usr/include/bits/floatn-common.h \
+  /usr/include/bits/floatn.h \
+  /usr/include/bits/libc-header-start.h \
+  /usr/include/bits/long-double.h \
+  /usr/include/bits/pthreadtypes-arch.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/include/bits/select.h \
+  /usr/include/bits/stdint-intn.h \
+  /usr/include/bits/stdint-least.h \
+  /usr/include/bits/stdint-uintn.h \
+  /usr/include/bits/stdio_lim.h \
+  /usr/include/bits/stdlib-float.h \
+  /usr/include/bits/struct_mutex.h \
+  /usr/include/bits/struct_rwlock.h \
+  /usr/include/bits/thread-shared-types.h \
+  /usr/include/bits/time64.h \
+  /usr/include/bits/timesize.h \
+  /usr/include/bits/types.h \
+  /usr/include/bits/types/FILE.h \
+  /usr/include/bits/types/__FILE.h \
+  /usr/include/bits/types/__fpos64_t.h \
+  /usr/include/bits/types/__fpos_t.h \
+  /usr/include/bits/types/__mbstate_t.h \
+  /usr/include/bits/types/__sigset_t.h \
+  /usr/include/bits/types/clock_t.h \
+  /usr/include/bits/types/clockid_t.h \
+  /usr/include/bits/types/cookie_io_functions_t.h \
+  /usr/include/bits/types/sigset_t.h \
+  /usr/include/bits/types/struct_FILE.h \
+  /usr/include/bits/types/struct_timespec.h \
+  /usr/include/bits/types/struct_timeval.h \
+  /usr/include/bits/types/time_t.h \
+  /usr/include/bits/types/timer_t.h \
+  /usr/include/bits/typesizes.h \
+  /usr/include/bits/uintn-identity.h \
+  /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h \
+  /usr/include/bits/wchar.h \
+  /usr/include/bits/wordsize.h \
+  /usr/include/curses.h \
+  /usr/include/endian.h \
+  /usr/include/features-time64.h \
+  /usr/include/features.h \
+  /usr/include/gnu/stubs-64.h \
+  /usr/include/gnu/stubs.h \
+  /usr/include/ncurses_dll.h \
+  /usr/include/stdc-predef.h \
+  /usr/include/stdint.h \
+  /usr/include/stdio.h \
+  /usr/include/stdlib.h \
+  /usr/include/sys/cdefs.h \
+  /usr/include/sys/select.h \
+  /usr/include/sys/types.h \
+  /usr/include/unctrl.h \
+  /usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h \
+  /usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h \
+  /usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h \
+  /usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h
+
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o: multi-compilation-unit.c \
+  /home/phillip/Projects/clay/clay.h \
+  /usr/include/bits/libc-header-start.h \
+  /usr/include/bits/long-double.h \
+  /usr/include/bits/stdint-intn.h \
+  /usr/include/bits/stdint-least.h \
+  /usr/include/bits/stdint-uintn.h \
+  /usr/include/bits/time64.h \
+  /usr/include/bits/timesize.h \
+  /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h \
+  /usr/include/bits/wchar.h \
+  /usr/include/bits/wordsize.h \
+  /usr/include/features-time64.h \
+  /usr/include/features.h \
+  /usr/include/gnu/stubs-64.h \
+  /usr/include/gnu/stubs.h \
+  /usr/include/stdc-predef.h \
+  /usr/include/stdint.h \
+  /usr/include/sys/cdefs.h \
+  /usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h \
+  /usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h \
+  /usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h
+
+
+/usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h:
+
+/usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/types/FILE.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h:
+
+/usr/include/bits/time64.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/bits/thread-shared-types.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/bits/stdint-least.h:
+
+/usr/include/alloca.h:
+
+/usr/include/bits/types/__fpos64_t.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/features-time64.h:
+
+/usr/include/unctrl.h:
+
+/usr/include/bits/stdint-intn.h:
+
+/usr/include/bits/struct_mutex.h:
+
+/usr/include/gnu/stubs-64.h:
+
+/home/phillip/Projects/clay/clay.h:
+
+/usr/include/bits/libc-header-start.h:
+
+/usr/include/bits/endianness.h:
+
+/usr/include/bits/timesize.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/types/__sigset_t.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h:
+
+/usr/include/stdc-predef.h:
+
+main.c:
+
+/usr/include/bits/pthreadtypes-arch.h:
+
+/usr/include/bits/types/__FILE.h:
+
+/usr/include/bits/stdlib-float.h:
+
+/usr/include/bits/types/sigset_t.h:
+
+/usr/include/bits/floatn-common.h:
+
+/usr/include/bits/long-double.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/floatn.h:
+
+/usr/include/bits/types/__fpos_t.h:
+
+multi-compilation-unit.c:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/types/__mbstate_t.h:
+
+/usr/include/bits/types/clock_t.h:
+
+/usr/include/bits/atomic_wide_counter.h:
+
+/usr/include/bits/types/clockid_t.h:
+
+/usr/include/bits/uintn-identity.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/bits/types/struct_FILE.h:
+
+/usr/include/ncurses_dll.h:
+
+/usr/include/bits/types/struct_timespec.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/types/struct_timeval.h:
+
+/usr/include/bits/struct_rwlock.h:
+
+/usr/include/bits/types/time_t.h:
+
+/home/phillip/Projects/clay/renderers/textui/clay_renderer_textui.c:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/stdint-uintn.h:
+
+/usr/include/bits/types/cookie_io_functions_t.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/curses.h:
+
+/usr/include/features.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/stdint.h:
+
+/usr/include/bits/types/timer_t.h:
+
+/usr/include/stdio.h:
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/compiler_depend.ts b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/compiler_depend.ts
new file mode 100644
index 0000000..4ef6347
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for compiler generated dependencies management for clay_examples_textui_sidebar_scrolling_container.
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/depend.make b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/depend.make
new file mode 100644
index 0000000..52e311f
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/depend.make
@@ -0,0 +1,2 @@
+# Empty dependencies file for clay_examples_textui_sidebar_scrolling_container.
+# This may be replaced when dependencies are built.
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/flags.make b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/flags.make
new file mode 100644
index 0000000..8501d6c
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/flags.make
@@ -0,0 +1,10 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.30
+
+# compile C with /usr/bin/cc
+C_DEFINES = 
+
+C_INCLUDES = -I/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/.
+
+C_FLAGS = -g -std=gnu99
+
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/link.txt b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/link.txt
new file mode 100644
index 0000000..22069fb
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/link.txt
@@ -0,0 +1 @@
+/usr/bin/cc -g CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o "CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o" -o clay_examples_textui_sidebar_scrolling_container  -lncurses
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o
new file mode 100644
index 0000000..25fbae2
Binary files /dev/null and b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o differ
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o.d b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o.d
new file mode 100644
index 0000000..d48c7d1
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o.d
@@ -0,0 +1,42 @@
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o: \
+ /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/main.c \
+ /usr/include/stdc-predef.h /usr/include/curses.h \
+ /usr/include/ncurses_dll.h \
+ /usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h \
+ /usr/include/stdint.h /usr/include/bits/libc-header-start.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/timesize.h \
+ /usr/include/sys/cdefs.h /usr/include/bits/long-double.h \
+ /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/bits/time64.h /usr/include/bits/wchar.h \
+ /usr/include/bits/stdint-intn.h /usr/include/bits/stdint-uintn.h \
+ /usr/include/bits/stdint-least.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h \
+ /usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h \
+ /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \
+ /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \
+ /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \
+ /usr/include/bits/types/cookie_io_functions_t.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/floatn.h \
+ /usr/include/bits/floatn-common.h \
+ /usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h \
+ /usr/include/unctrl.h \
+ /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/../../clay.h \
+ /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/../../renderers/textui/clay_renderer_textui.c \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+ /usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
+ /usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/endianness.h /usr/include/bits/byteswap.h \
+ /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \
+ /usr/include/bits/types/__sigset_t.h \
+ /usr/include/bits/types/struct_timeval.h \
+ /usr/include/bits/types/struct_timespec.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
+ /usr/include/bits/pthreadtypes-arch.h \
+ /usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
+ /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
+ /usr/include/bits/stdlib-float.h
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o
new file mode 100644
index 0000000..c0485d2
Binary files /dev/null and b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o differ
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o.d b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o.d
new file mode 100644
index 0000000..1d6c7e3
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o.d
@@ -0,0 +1,16 @@
+CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o: \
+ /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/multi-compilation-unit.c \
+ /usr/include/stdc-predef.h \
+ /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/../../clay.h \
+ /usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h \
+ /usr/include/stdint.h /usr/include/bits/libc-header-start.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/timesize.h \
+ /usr/include/sys/cdefs.h /usr/include/bits/long-double.h \
+ /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/bits/time64.h /usr/include/bits/wchar.h \
+ /usr/include/bits/stdint-intn.h /usr/include/bits/stdint-uintn.h \
+ /usr/include/bits/stdint-least.h \
+ /usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h \
+ /usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/progress.make b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/progress.make
new file mode 100644
index 0000000..6a9dc74
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/progress.make
@@ -0,0 +1,4 @@
+CMAKE_PROGRESS_1 = 1
+CMAKE_PROGRESS_2 = 2
+CMAKE_PROGRESS_3 = 3
+
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/cmake.check_cache b/examples/textui-sidebar-scrolling-container/CMakeFiles/cmake.check_cache
new file mode 100644
index 0000000..3dccd73
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/cmake.check_cache
@@ -0,0 +1 @@
+# This file is generated by cmake for dependency checking of the CMakeCache.txt file
diff --git a/examples/textui-sidebar-scrolling-container/CMakeFiles/progress.marks b/examples/textui-sidebar-scrolling-container/CMakeFiles/progress.marks
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeFiles/progress.marks
@@ -0,0 +1 @@
+3
diff --git a/examples/textui-sidebar-scrolling-container/CMakeLists.txt b/examples/textui-sidebar-scrolling-container/CMakeLists.txt
new file mode 100644
index 0000000..009e69c
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CMakeLists.txt
@@ -0,0 +1,18 @@
+cmake_minimum_required(VERSION 3.27)
+project(clay_examples_textui_sidebar_scrolling_container C)
+set(CMAKE_C_STANDARD 99)
+
+add_executable(clay_examples_textui_sidebar_scrolling_container main.c multi-compilation-unit.c)
+
+target_compile_options(clay_examples_textui_sidebar_scrolling_container PUBLIC)
+target_include_directories(clay_examples_textui_sidebar_scrolling_container PUBLIC .)
+
+target_link_libraries(clay_examples_textui_sidebar_scrolling_container PUBLIC ncurses)
+set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Werror -DCLAY_DEBUG")
+set(CMAKE_CXX_FLAGS_RELEASE "-O3")
+
+add_custom_command(
+        TARGET clay_examples_textui_sidebar_scrolling_container POST_BUILD
+        COMMAND ${CMAKE_COMMAND} -E copy_directory
+        ${CMAKE_CURRENT_SOURCE_DIR}/resources
+        ${CMAKE_CURRENT_BINARY_DIR}/resources)
diff --git a/examples/textui-sidebar-scrolling-container/CPackConfig.cmake b/examples/textui-sidebar-scrolling-container/CPackConfig.cmake
new file mode 100644
index 0000000..7e774f9
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CPackConfig.cmake
@@ -0,0 +1,76 @@
+# This file will be configured to contain variables for CPack. These variables
+# should be set in the CMake list file of the project before CPack module is
+# included. The list of available CPACK_xxx variables and their associated
+# documentation may be obtained using
+#  cpack --help-variable-list
+#
+# Some variables are common to all generators (e.g. CPACK_PACKAGE_NAME)
+# and some are specific to a generator
+# (e.g. CPACK_NSIS_EXTRA_INSTALL_COMMANDS). The generator specific variables
+# usually begin with CPACK_<GENNAME>_xxxx.
+
+
+set(CPACK_BUILD_SOURCE_DIRS "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container;/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container")
+set(CPACK_CMAKE_GENERATOR "Unix Makefiles")
+set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE")
+set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE")
+set(CPACK_DEBIAN_PACKAGE_DEPENDS "libatomic1, libc6, libglfw3, libglu1-mesa | libglu1, libglx0, libopengl0")
+set(CPACK_DEBIAN_PACKAGE_NAME "libraylib-dev")
+set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS "OFF")
+set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake/Templates/CPack.GenericDescription.txt")
+set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_SUMMARY "clay_examples_raylib_sidebar_scrolling_container built using CMake")
+set(CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE "ON")
+set(CPACK_GENERATOR "ZIP;TGZ;DEB;RPM")
+set(CPACK_INNOSETUP_ARCHITECTURE "x64")
+set(CPACK_INSTALL_CMAKE_PROJECTS "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container;clay_examples_raylib_sidebar_scrolling_container;ALL;/")
+set(CPACK_INSTALL_PREFIX "/usr/local")
+set(CPACK_MODULE_PATH "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/cmake")
+set(CPACK_NSIS_DISPLAY_NAME "raylib 5.5.0")
+set(CPACK_NSIS_INSTALLER_ICON_CODE "")
+set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "")
+set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES")
+set(CPACK_NSIS_PACKAGE_NAME "raylib 5.5.0")
+set(CPACK_NSIS_UNINSTALL_NAME "Uninstall")
+set(CPACK_OBJCOPY_EXECUTABLE "/usr/bin/objcopy")
+set(CPACK_OBJDUMP_EXECUTABLE "/usr/bin/objdump")
+set(CPACK_OUTPUT_CONFIG_FILE "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CPackConfig.cmake")
+set(CPACK_PACKAGE_CONTACT "raysan5")
+set(CPACK_PACKAGE_DEFAULT_LOCATION "/")
+set(CPACK_PACKAGE_DESCRIPTION_FILE "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/src/../README.md")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Simple and easy-to-use library to enjoy videogames programming")
+set(CPACK_PACKAGE_FILE_NAME "raylib-5.5.0")
+set(CPACK_PACKAGE_INSTALL_DIRECTORY "raylib 5.5.0")
+set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "raylib 5.5.0")
+set(CPACK_PACKAGE_NAME "raylib")
+set(CPACK_PACKAGE_RELOCATABLE "true")
+set(CPACK_PACKAGE_VENDOR "Humanity")
+set(CPACK_PACKAGE_VERSION "5.5.0")
+set(CPACK_PACKAGE_VERSION_MAJOR "")
+set(CPACK_PACKAGE_VERSION_MINOR "")
+set(CPACK_PACKAGE_VERSION_PATCH "")
+set(CPACK_READELF_EXECUTABLE "/usr/bin/readelf")
+set(CPACK_RESOURCE_FILE_LICENSE "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/src/../LICENSE")
+set(CPACK_RESOURCE_FILE_README "/usr/share/cmake/Templates/CPack.GenericDescription.txt")
+set(CPACK_RESOURCE_FILE_WELCOME "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/src/../README.md")
+set(CPACK_RPM_PACKAGE_NAME "libraylib-devel")
+set(CPACK_SET_DESTDIR "OFF")
+set(CPACK_SOURCE_GENERATOR "TBZ2;TGZ;TXZ;TZ")
+set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CPackSourceConfig.cmake")
+set(CPACK_SOURCE_RPM "OFF")
+set(CPACK_SOURCE_TBZ2 "ON")
+set(CPACK_SOURCE_TGZ "ON")
+set(CPACK_SOURCE_TXZ "ON")
+set(CPACK_SOURCE_TZ "ON")
+set(CPACK_SOURCE_ZIP "OFF")
+set(CPACK_SYSTEM_NAME "Linux")
+set(CPACK_THREADS "1")
+set(CPACK_TOPLEVEL_TAG "Linux")
+set(CPACK_WIX_SIZEOF_VOID_P "8")
+
+if(NOT CPACK_PROPERTIES_FILE)
+  set(CPACK_PROPERTIES_FILE "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CPackProperties.cmake")
+endif()
+
+if(EXISTS ${CPACK_PROPERTIES_FILE})
+  include(${CPACK_PROPERTIES_FILE})
+endif()
diff --git a/examples/textui-sidebar-scrolling-container/CPackSourceConfig.cmake b/examples/textui-sidebar-scrolling-container/CPackSourceConfig.cmake
new file mode 100644
index 0000000..00aa758
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/CPackSourceConfig.cmake
@@ -0,0 +1,84 @@
+# This file will be configured to contain variables for CPack. These variables
+# should be set in the CMake list file of the project before CPack module is
+# included. The list of available CPACK_xxx variables and their associated
+# documentation may be obtained using
+#  cpack --help-variable-list
+#
+# Some variables are common to all generators (e.g. CPACK_PACKAGE_NAME)
+# and some are specific to a generator
+# (e.g. CPACK_NSIS_EXTRA_INSTALL_COMMANDS). The generator specific variables
+# usually begin with CPACK_<GENNAME>_xxxx.
+
+
+set(CPACK_BUILD_SOURCE_DIRS "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container;/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container")
+set(CPACK_CMAKE_GENERATOR "Unix Makefiles")
+set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE")
+set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE")
+set(CPACK_DEBIAN_PACKAGE_DEPENDS "libatomic1, libc6, libglfw3, libglu1-mesa | libglu1, libglx0, libopengl0")
+set(CPACK_DEBIAN_PACKAGE_NAME "libraylib-dev")
+set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS "OFF")
+set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake/Templates/CPack.GenericDescription.txt")
+set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_SUMMARY "clay_examples_raylib_sidebar_scrolling_container built using CMake")
+set(CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE "ON")
+set(CPACK_GENERATOR "TBZ2;TGZ;TXZ;TZ")
+set(CPACK_IGNORE_FILES "/CVS/;/\\.svn/;/\\.bzr/;/\\.hg/;/\\.git/;\\.swp\$;\\.#;/#")
+set(CPACK_INNOSETUP_ARCHITECTURE "x64")
+set(CPACK_INSTALLED_DIRECTORIES "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container;/")
+set(CPACK_INSTALL_CMAKE_PROJECTS "")
+set(CPACK_INSTALL_PREFIX "/usr/local")
+set(CPACK_MODULE_PATH "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/cmake")
+set(CPACK_NSIS_DISPLAY_NAME "raylib 5.5.0")
+set(CPACK_NSIS_INSTALLER_ICON_CODE "")
+set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "")
+set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES")
+set(CPACK_NSIS_PACKAGE_NAME "raylib 5.5.0")
+set(CPACK_NSIS_UNINSTALL_NAME "Uninstall")
+set(CPACK_OBJCOPY_EXECUTABLE "/usr/bin/objcopy")
+set(CPACK_OBJDUMP_EXECUTABLE "/usr/bin/objdump")
+set(CPACK_OUTPUT_CONFIG_FILE "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CPackConfig.cmake")
+set(CPACK_PACKAGE_CONTACT "raysan5")
+set(CPACK_PACKAGE_DEFAULT_LOCATION "/")
+set(CPACK_PACKAGE_DESCRIPTION_FILE "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/src/../README.md")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Simple and easy-to-use library to enjoy videogames programming")
+set(CPACK_PACKAGE_FILE_NAME "raylib-5.5.0-Source")
+set(CPACK_PACKAGE_INSTALL_DIRECTORY "raylib 5.5.0")
+set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "raylib 5.5.0")
+set(CPACK_PACKAGE_NAME "raylib")
+set(CPACK_PACKAGE_RELOCATABLE "true")
+set(CPACK_PACKAGE_VENDOR "Humanity")
+set(CPACK_PACKAGE_VERSION "5.5.0")
+set(CPACK_PACKAGE_VERSION_MAJOR "")
+set(CPACK_PACKAGE_VERSION_MINOR "")
+set(CPACK_PACKAGE_VERSION_PATCH "")
+set(CPACK_READELF_EXECUTABLE "/usr/bin/readelf")
+set(CPACK_RESOURCE_FILE_LICENSE "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/src/../LICENSE")
+set(CPACK_RESOURCE_FILE_README "/usr/share/cmake/Templates/CPack.GenericDescription.txt")
+set(CPACK_RESOURCE_FILE_WELCOME "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/_deps/raylib-src/src/../README.md")
+set(CPACK_RPM_PACKAGE_NAME "libraylib-devel")
+set(CPACK_RPM_PACKAGE_SOURCES "ON")
+set(CPACK_SET_DESTDIR "OFF")
+set(CPACK_SOURCE_GENERATOR "TBZ2;TGZ;TXZ;TZ")
+set(CPACK_SOURCE_IGNORE_FILES "/CVS/;/\\.svn/;/\\.bzr/;/\\.hg/;/\\.git/;\\.swp\$;\\.#;/#")
+set(CPACK_SOURCE_INSTALLED_DIRECTORIES "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container;/")
+set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CPackSourceConfig.cmake")
+set(CPACK_SOURCE_PACKAGE_FILE_NAME "raylib-5.5.0-Source")
+set(CPACK_SOURCE_RPM "OFF")
+set(CPACK_SOURCE_TBZ2 "ON")
+set(CPACK_SOURCE_TGZ "ON")
+set(CPACK_SOURCE_TOPLEVEL_TAG "Linux-Source")
+set(CPACK_SOURCE_TXZ "ON")
+set(CPACK_SOURCE_TZ "ON")
+set(CPACK_SOURCE_ZIP "OFF")
+set(CPACK_STRIP_FILES "")
+set(CPACK_SYSTEM_NAME "Linux")
+set(CPACK_THREADS "1")
+set(CPACK_TOPLEVEL_TAG "Linux-Source")
+set(CPACK_WIX_SIZEOF_VOID_P "8")
+
+if(NOT CPACK_PROPERTIES_FILE)
+  set(CPACK_PROPERTIES_FILE "/home/phillip/Projects/clay/examples/raylib-sidebar-scrolling-container/CPackProperties.cmake")
+endif()
+
+if(EXISTS ${CPACK_PROPERTIES_FILE})
+  include(${CPACK_PROPERTIES_FILE})
+endif()
diff --git a/examples/textui-sidebar-scrolling-container/Makefile b/examples/textui-sidebar-scrolling-container/Makefile
new file mode 100644
index 0000000..058ca2b
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/Makefile
@@ -0,0 +1,230 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.30
+
+# Default target executed when no arguments are given to make.
+default_target: all
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target package
+package: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Run CPack packaging tool..."
+	/usr/bin/cpack --config ./CPackConfig.cmake
+.PHONY : package
+
+# Special rule for the target package
+package/fast: package
+.PHONY : package/fast
+
+# Special rule for the target package_source
+package_source:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Run CPack packaging tool for source..."
+	/usr/bin/cpack --config ./CPackSourceConfig.cmake /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CPackSourceConfig.cmake
+.PHONY : package_source
+
+# Special rule for the target package_source
+package_source/fast: package_source
+.PHONY : package_source/fast
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
+	/usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+.PHONY : edit_cache/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+.PHONY : rebuild_cache/fast
+
+# The main all target
+all: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container//CMakeFiles/progress.marks
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+#=============================================================================
+# Target rules for targets named clay_examples_textui_sidebar_scrolling_container
+
+# Build rule for target.
+clay_examples_textui_sidebar_scrolling_container: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clay_examples_textui_sidebar_scrolling_container
+.PHONY : clay_examples_textui_sidebar_scrolling_container
+
+# fast build rule for target.
+clay_examples_textui_sidebar_scrolling_container/fast:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build.make CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build
+.PHONY : clay_examples_textui_sidebar_scrolling_container/fast
+
+main.o: main.c.o
+.PHONY : main.o
+
+# target to build an object file
+main.c.o:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build.make CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.o
+.PHONY : main.c.o
+
+main.i: main.c.i
+.PHONY : main.i
+
+# target to preprocess a source file
+main.c.i:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build.make CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.i
+.PHONY : main.c.i
+
+main.s: main.c.s
+.PHONY : main.s
+
+# target to generate assembly for a file
+main.c.s:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build.make CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/main.c.s
+.PHONY : main.c.s
+
+multi-compilation-unit.o: multi-compilation-unit.c.o
+.PHONY : multi-compilation-unit.o
+
+# target to build an object file
+multi-compilation-unit.c.o:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build.make CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.o
+.PHONY : multi-compilation-unit.c.o
+
+multi-compilation-unit.i: multi-compilation-unit.c.i
+.PHONY : multi-compilation-unit.i
+
+# target to preprocess a source file
+multi-compilation-unit.c.i:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build.make CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.i
+.PHONY : multi-compilation-unit.c.i
+
+multi-compilation-unit.s: multi-compilation-unit.c.s
+.PHONY : multi-compilation-unit.s
+
+# target to generate assembly for a file
+multi-compilation-unit.c.s:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/build.make CMakeFiles/clay_examples_textui_sidebar_scrolling_container.dir/multi-compilation-unit.c.s
+.PHONY : multi-compilation-unit.c.s
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... edit_cache"
+	@echo "... package"
+	@echo "... package_source"
+	@echo "... rebuild_cache"
+	@echo "... clay_examples_textui_sidebar_scrolling_container"
+	@echo "... main.o"
+	@echo "... main.i"
+	@echo "... main.s"
+	@echo "... multi-compilation-unit.o"
+	@echo "... multi-compilation-unit.i"
+	@echo "... multi-compilation-unit.s"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
diff --git a/examples/textui-sidebar-scrolling-container/Readme.md b/examples/textui-sidebar-scrolling-container/Readme.md
new file mode 100644
index 0000000..4952ebc
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/Readme.md
@@ -0,0 +1,39 @@
+# textui/console renderer example
+
+## Inroduction
+This renderer example utilizes ncurses and a mostly implemented library which converts the clay draw commands into ncurses commands.
+A console rendering is very limited, and all coordinates are simply rounded via integer division to the coordinate system of a terminal.
+
+## What works
+- Rectangles draw approximately correctly with the right color
+- Text wraps, and is well placed
+- Clicking a location on a scroll bar moves the scrolled area
+- Debug mode highlights on click
+- Window resize and layout reaction
+
+## What doesn't work
+- Image rendering
+- Sub character rectangles
+- Text fonts and colors
+- Clay extensions
+- Clay scissor mode
+
+## Reasonable expectations
+This renderer is intended to allow for a nearly dependency free implementation of Clay, and nearly all linux distributions have ncurses installed.
+This renderer will allow for quick visualization of layouts. There is no graphics acceleration though this example is quite responsive.
+The unit of a terminal is a character, not a pixel, so there is only so much detail that can be rendered. The default character size defined in the renderer is 5x8 pixels.
+
+## What could work
+- More precise rendering of borders and rectangles, this could be implemented with box-drawing characters: https://en.wikipedia.org/wiki/Box-drawing_characters
+- The mouse wheel on some terminals
+- Images with an additional dependency on something like kitty: https://sw.kovidgoyal.net/kitty/graphics-protocol/
+- Better text coloring by matching the background
+
+## Setup
+You'll have to setup an event loop using getch(), and pay attention to the various init functions in main.c
+Then it's the regular Clay layout definition and calls to the renderer function.
+
+## Conclusion
+The truth is that if you're willing to learn ncurses and how it handles windows you can get a better terminal experience without Clay.
+This example shows that for quick terminal apps, Clay could be extremely effective for organizing a user interface in the terminal.
+I hope that this renderer helps many people build fun and cool projects by lowering the barrier to a framwork.
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeCache.txt b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeCache.txt
new file mode 100644
index 0000000..f849646
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeCache.txt
@@ -0,0 +1,119 @@
+# This is the CMakeCache file.
+# For build in directory: /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild
+# It was generated by CMake: /usr/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//Enable/Disable color output during build.
+CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
+
+//Value Computed by CMake.
+CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/pkgRedirects
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//No help, variable specified on the command line.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake
+
+//Value Computed by CMake
+CMAKE_PROJECT_DESCRIPTION:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=raylib-populate
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make.  This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Value Computed by CMake
+raylib-populate_BINARY_DIR:STATIC=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild
+
+//Value Computed by CMake
+raylib-populate_IS_TOP_LEVEL:STATIC=ON
+
+//Value Computed by CMake
+raylib-populate_SOURCE_DIR:STATIC=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=30
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=5
+//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
+CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
+//Path to cache edit program executable.
+CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake
+//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
+CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
+//Name of external makefile project generator.
+CMAKE_EXTRA_GENERATOR:INTERNAL=
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Unix Makefiles
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/share/cmake
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/usr/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//linker supports push/pop state
+_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=FALSE
+
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/3.30.5/CMakeSystem.cmake b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/3.30.5/CMakeSystem.cmake
new file mode 100644
index 0000000..ddd7dc6
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/3.30.5/CMakeSystem.cmake
@@ -0,0 +1,15 @@
+set(CMAKE_HOST_SYSTEM "Linux-6.12.4-200.fc41.x86_64")
+set(CMAKE_HOST_SYSTEM_NAME "Linux")
+set(CMAKE_HOST_SYSTEM_VERSION "6.12.4-200.fc41.x86_64")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
+
+
+
+set(CMAKE_SYSTEM "Linux-6.12.4-200.fc41.x86_64")
+set(CMAKE_SYSTEM_NAME "Linux")
+set(CMAKE_SYSTEM_VERSION "6.12.4-200.fc41.x86_64")
+set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+
+set(CMAKE_CROSSCOMPILING "FALSE")
+
+set(CMAKE_SYSTEM_LOADED 1)
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/CMakeConfigureLog.yaml b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/CMakeConfigureLog.yaml
new file mode 100644
index 0000000..ba4aa22
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/CMakeConfigureLog.yaml
@@ -0,0 +1,11 @@
+
+---
+events:
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake/Modules/CMakeDetermineSystem.cmake:205 (message)"
+      - "CMakeLists.txt:16 (project)"
+    message: |
+      The system is: Linux - 6.12.4-200.fc41.x86_64 - x86_64
+...
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/CMakeDirectoryInformation.cmake b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/CMakeDirectoryInformation.cmake
new file mode 100644
index 0000000..1681300
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.30
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/CMakeRuleHashes.txt b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/CMakeRuleHashes.txt
new file mode 100644
index 0000000..51f1964
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/CMakeRuleHashes.txt
@@ -0,0 +1,11 @@
+# Hashes of file build rules.
+29a60977c3c59078509f68da5fe5afcd CMakeFiles/raylib-populate
+6df6b25b3b26577f95d6eead53af2cff CMakeFiles/raylib-populate-complete
+b4653bfc13ab44da1247cde54e554ce1 raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-build
+ed699a76b86494cfed11ab08fecf1473 raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-configure
+1b4b52a84a8ffe79debaaea42e18c146 raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-download
+5a668cd76229244c2cab9c280df73fdc raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-install
+77249502b0871322aac704c7b393ba25 raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-mkdir
+0a563d9e151e2df8c4eda5d6bb22219e raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-patch
+0aba7579717685514e0db89d565169bf raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-test
+7a667d930ce3d0793b9ab22f1ba74a26 raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/Makefile.cmake b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/Makefile.cmake
new file mode 100644
index 0000000..3c3d49a
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/Makefile.cmake
@@ -0,0 +1,55 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.30
+
+# The generator used is:
+set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
+
+# The top level Makefile was generated from the following files:
+set(CMAKE_MAKEFILE_DEPENDS
+  "CMakeCache.txt"
+  "CMakeFiles/3.30.5/CMakeSystem.cmake"
+  "CMakeLists.txt"
+  "raylib-populate-prefix/tmp/raylib-populate-mkdirs.cmake"
+  "/usr/share/cmake/Modules/CMakeDetermineSystem.cmake"
+  "/usr/share/cmake/Modules/CMakeGenericSystem.cmake"
+  "/usr/share/cmake/Modules/CMakeInitializeConfigs.cmake"
+  "/usr/share/cmake/Modules/CMakeSystem.cmake.in"
+  "/usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake"
+  "/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake"
+  "/usr/share/cmake/Modules/ExternalProject.cmake"
+  "/usr/share/cmake/Modules/ExternalProject/PatchInfo.txt.in"
+  "/usr/share/cmake/Modules/ExternalProject/RepositoryInfo.txt.in"
+  "/usr/share/cmake/Modules/ExternalProject/UpdateInfo.txt.in"
+  "/usr/share/cmake/Modules/ExternalProject/cfgcmd.txt.in"
+  "/usr/share/cmake/Modules/ExternalProject/gitclone.cmake.in"
+  "/usr/share/cmake/Modules/ExternalProject/gitupdate.cmake.in"
+  "/usr/share/cmake/Modules/ExternalProject/mkdirs.cmake.in"
+  "/usr/share/cmake/Modules/ExternalProject/shared_internal_commands.cmake"
+  "/usr/share/cmake/Modules/Platform/Linux-Initialize.cmake"
+  "/usr/share/cmake/Modules/Platform/Linux.cmake"
+  "/usr/share/cmake/Modules/Platform/UnixPaths.cmake"
+  )
+
+# The corresponding makefile is:
+set(CMAKE_MAKEFILE_OUTPUTS
+  "Makefile"
+  "CMakeFiles/cmake.check_cache"
+  )
+
+# Byproducts of CMake generate step:
+set(CMAKE_MAKEFILE_PRODUCTS
+  "CMakeFiles/3.30.5/CMakeSystem.cmake"
+  "raylib-populate-prefix/tmp/raylib-populate-mkdirs.cmake"
+  "raylib-populate-prefix/tmp/raylib-populate-gitclone.cmake"
+  "raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-gitinfo.txt"
+  "raylib-populate-prefix/tmp/raylib-populate-gitupdate.cmake"
+  "raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update-info.txt"
+  "raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-patch-info.txt"
+  "raylib-populate-prefix/tmp/raylib-populate-cfgcmd.txt"
+  "CMakeFiles/CMakeDirectoryInformation.cmake"
+  )
+
+# Dependency information for all targets:
+set(CMAKE_DEPEND_INFO_FILES
+  "CMakeFiles/raylib-populate.dir/DependInfo.cmake"
+  )
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/Makefile2 b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/Makefile2
new file mode 100644
index 0000000..75798bf
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/Makefile2
@@ -0,0 +1,112 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.30
+
+# Default target executed when no arguments are given to make.
+default_target: all
+.PHONY : default_target
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild
+
+#=============================================================================
+# Directory level rules for the build root directory
+
+# The main recursive "all" target.
+all: CMakeFiles/raylib-populate.dir/all
+.PHONY : all
+
+# The main recursive "preinstall" target.
+preinstall:
+.PHONY : preinstall
+
+# The main recursive "clean" target.
+clean: CMakeFiles/raylib-populate.dir/clean
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target CMakeFiles/raylib-populate.dir
+
+# All Build rule for target.
+CMakeFiles/raylib-populate.dir/all:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/raylib-populate.dir/build.make CMakeFiles/raylib-populate.dir/depend
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/raylib-populate.dir/build.make CMakeFiles/raylib-populate.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9 "Built target raylib-populate"
+.PHONY : CMakeFiles/raylib-populate.dir/all
+
+# Build rule for subdir invocation for target.
+CMakeFiles/raylib-populate.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles 9
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/raylib-populate.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles 0
+.PHONY : CMakeFiles/raylib-populate.dir/rule
+
+# Convenience name for target.
+raylib-populate: CMakeFiles/raylib-populate.dir/rule
+.PHONY : raylib-populate
+
+# clean rule for target.
+CMakeFiles/raylib-populate.dir/clean:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/raylib-populate.dir/build.make CMakeFiles/raylib-populate.dir/clean
+.PHONY : CMakeFiles/raylib-populate.dir/clean
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/Progress/4 b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/Progress/4
new file mode 100644
index 0000000..7b4d68d
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/Progress/4
@@ -0,0 +1 @@
+empty
\ No newline at end of file
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/Progress/6 b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/Progress/6
new file mode 100644
index 0000000..7b4d68d
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/Progress/6
@@ -0,0 +1 @@
+empty
\ No newline at end of file
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/Progress/count.txt b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/Progress/count.txt
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/Progress/count.txt
@@ -0,0 +1 @@
+9
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/TargetDirectories.txt b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/TargetDirectories.txt
new file mode 100644
index 0000000..3af8181
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/TargetDirectories.txt
@@ -0,0 +1,3 @@
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/edit_cache.dir
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/rebuild_cache.dir
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/cmake.check_cache b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/cmake.check_cache
new file mode 100644
index 0000000..3dccd73
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/cmake.check_cache
@@ -0,0 +1 @@
+# This file is generated by cmake for dependency checking of the CMakeCache.txt file
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/progress.marks b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/progress.marks
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/progress.marks
@@ -0,0 +1 @@
+9
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/DependInfo.cmake b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/DependInfo.cmake
new file mode 100644
index 0000000..29b95a5
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/DependInfo.cmake
@@ -0,0 +1,22 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/Labels.json b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/Labels.json
new file mode 100644
index 0000000..ab59397
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/Labels.json
@@ -0,0 +1,46 @@
+{
+	"sources" : 
+	[
+		{
+			"file" : "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate"
+		},
+		{
+			"file" : "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.rule"
+		},
+		{
+			"file" : "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate-complete.rule"
+		},
+		{
+			"file" : "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-build.rule"
+		},
+		{
+			"file" : "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-configure.rule"
+		},
+		{
+			"file" : "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-download.rule"
+		},
+		{
+			"file" : "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-install.rule"
+		},
+		{
+			"file" : "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-mkdir.rule"
+		},
+		{
+			"file" : "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-patch.rule"
+		},
+		{
+			"file" : "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-test.rule"
+		},
+		{
+			"file" : "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update.rule"
+		}
+	],
+	"target" : 
+	{
+		"labels" : 
+		[
+			"raylib-populate"
+		],
+		"name" : "raylib-populate"
+	}
+}
\ No newline at end of file
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/Labels.txt b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/Labels.txt
new file mode 100644
index 0000000..8d83cda
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/Labels.txt
@@ -0,0 +1,14 @@
+# Target labels
+ raylib-populate
+# Source files and their labels
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.rule
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate-complete.rule
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-build.rule
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-configure.rule
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-download.rule
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-install.rule
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-mkdir.rule
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-patch.rule
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-test.rule
+/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update.rule
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/build.make b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/build.make
new file mode 100644
index 0000000..525431e
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/build.make
@@ -0,0 +1,159 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.30
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild
+
+# Utility rule file for raylib-populate.
+
+# Include any custom commands dependencies for this target.
+include CMakeFiles/raylib-populate.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include CMakeFiles/raylib-populate.dir/progress.make
+
+CMakeFiles/raylib-populate: CMakeFiles/raylib-populate-complete
+
+CMakeFiles/raylib-populate-complete: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-install
+CMakeFiles/raylib-populate-complete: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-mkdir
+CMakeFiles/raylib-populate-complete: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-download
+CMakeFiles/raylib-populate-complete: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update
+CMakeFiles/raylib-populate-complete: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-patch
+CMakeFiles/raylib-populate-complete: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-configure
+CMakeFiles/raylib-populate-complete: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-build
+CMakeFiles/raylib-populate-complete: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-install
+CMakeFiles/raylib-populate-complete: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-test
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Completed 'raylib-populate'"
+	/usr/bin/cmake -E make_directory /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles
+	/usr/bin/cmake -E touch /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate-complete
+	/usr/bin/cmake -E touch /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-done
+
+raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update:
+.PHONY : raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update
+
+raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-build: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-configure
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "No build step for 'raylib-populate'"
+	cd /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-build && /usr/bin/cmake -E echo_append
+	cd /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-build && /usr/bin/cmake -E touch /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-build
+
+raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-configure: raylib-populate-prefix/tmp/raylib-populate-cfgcmd.txt
+raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-configure: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-patch
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "No configure step for 'raylib-populate'"
+	cd /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-build && /usr/bin/cmake -E echo_append
+	cd /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-build && /usr/bin/cmake -E touch /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-configure
+
+raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-download: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-gitinfo.txt
+raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-download: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-mkdir
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Performing download step (git clone) for 'raylib-populate'"
+	cd /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps && /usr/bin/cmake -DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE -P /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-gitclone.cmake
+	cd /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps && /usr/bin/cmake -E touch /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-download
+
+raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-install: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "No install step for 'raylib-populate'"
+	cd /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-build && /usr/bin/cmake -E echo_append
+	cd /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-build && /usr/bin/cmake -E touch /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-install
+
+raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-mkdir:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Creating directories for 'raylib-populate'"
+	/usr/bin/cmake -Dcfgdir= -P /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-mkdirs.cmake
+	/usr/bin/cmake -E touch /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-mkdir
+
+raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-patch: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-patch-info.txt
+raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-patch: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "No patch step for 'raylib-populate'"
+	/usr/bin/cmake -E echo_append
+	/usr/bin/cmake -E touch /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-patch
+
+raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update:
+.PHONY : raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update
+
+raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-test: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-install
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "No test step for 'raylib-populate'"
+	cd /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-build && /usr/bin/cmake -E echo_append
+	cd /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-build && /usr/bin/cmake -E touch /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-test
+
+raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update: raylib-populate-prefix/tmp/raylib-populate-gitupdate.cmake
+raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update-info.txt
+raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-download
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Performing update step for 'raylib-populate'"
+	cd /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src && /usr/bin/cmake -Dcan_fetch=YES -DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE -P /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-gitupdate.cmake
+
+raylib-populate: CMakeFiles/raylib-populate
+raylib-populate: CMakeFiles/raylib-populate-complete
+raylib-populate: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-build
+raylib-populate: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-configure
+raylib-populate: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-download
+raylib-populate: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-install
+raylib-populate: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-mkdir
+raylib-populate: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-patch
+raylib-populate: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-test
+raylib-populate: raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update
+raylib-populate: CMakeFiles/raylib-populate.dir/build.make
+.PHONY : raylib-populate
+
+# Rule to build all files generated by this target.
+CMakeFiles/raylib-populate.dir/build: raylib-populate
+.PHONY : CMakeFiles/raylib-populate.dir/build
+
+CMakeFiles/raylib-populate.dir/clean:
+	$(CMAKE_COMMAND) -P CMakeFiles/raylib-populate.dir/cmake_clean.cmake
+.PHONY : CMakeFiles/raylib-populate.dir/clean
+
+CMakeFiles/raylib-populate.dir/depend:
+	cd /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : CMakeFiles/raylib-populate.dir/depend
+
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/cmake_clean.cmake b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/cmake_clean.cmake
new file mode 100644
index 0000000..679d180
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/cmake_clean.cmake
@@ -0,0 +1,17 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/raylib-populate"
+  "CMakeFiles/raylib-populate-complete"
+  "raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-build"
+  "raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-configure"
+  "raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-download"
+  "raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-install"
+  "raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-mkdir"
+  "raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-patch"
+  "raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-test"
+  "raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/raylib-populate.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/compiler_depend.make b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/compiler_depend.make
new file mode 100644
index 0000000..0882617
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty custom commands generated dependencies file for raylib-populate.
+# This may be replaced when dependencies are built.
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/compiler_depend.ts b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/compiler_depend.ts
new file mode 100644
index 0000000..e1fdca1
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for custom commands dependencies management for raylib-populate.
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/progress.make b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/progress.make
new file mode 100644
index 0000000..d4f6ce3
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles/raylib-populate.dir/progress.make
@@ -0,0 +1,10 @@
+CMAKE_PROGRESS_1 = 1
+CMAKE_PROGRESS_2 = 2
+CMAKE_PROGRESS_3 = 3
+CMAKE_PROGRESS_4 = 4
+CMAKE_PROGRESS_5 = 5
+CMAKE_PROGRESS_6 = 6
+CMAKE_PROGRESS_7 = 7
+CMAKE_PROGRESS_8 = 8
+CMAKE_PROGRESS_9 = 9
+
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeLists.txt b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeLists.txt
new file mode 100644
index 0000000..61ca9df
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeLists.txt
@@ -0,0 +1,42 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+cmake_minimum_required(VERSION 3.30.5)
+
+# Reject any attempt to use a toolchain file. We must not use one because
+# we could be downloading it here. If the CMAKE_TOOLCHAIN_FILE environment
+# variable is set, the cache variable will have been initialized from it.
+unset(CMAKE_TOOLCHAIN_FILE CACHE)
+unset(ENV{CMAKE_TOOLCHAIN_FILE})
+
+# We name the project and the target for the ExternalProject_Add() call
+# to something that will highlight to the user what we are working on if
+# something goes wrong and an error message is produced.
+
+project(raylib-populate NONE)
+
+
+# Pass through things we've already detected in the main project to avoid
+# paying the cost of redetecting them again in ExternalProject_Add()
+set(GIT_EXECUTABLE [==[/usr/bin/git]==])
+set(GIT_VERSION_STRING [==[2.47.1]==])
+set_property(GLOBAL PROPERTY _CMAKE_FindGit_GIT_EXECUTABLE_VERSION
+  [==[/usr/bin/git;2.47.1]==]
+)
+
+
+include(ExternalProject)
+ExternalProject_Add(raylib-populate
+                     "UPDATE_DISCONNECTED" "False" "GIT_REPOSITORY" "https://github.com/raysan5/raylib.git" "EXTERNALPROJECT_INTERNAL_ARGUMENT_SEPARATOR" "GIT_TAG" "master" "GIT_PROGRESS" "TRUE" "GIT_SHALLOW" "TRUE"
+                    SOURCE_DIR          "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+                    BINARY_DIR          "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-build"
+                    CONFIGURE_COMMAND   ""
+                    BUILD_COMMAND       ""
+                    INSTALL_COMMAND     ""
+                    TEST_COMMAND        ""
+                    USES_TERMINAL_DOWNLOAD  YES
+                    USES_TERMINAL_UPDATE    YES
+                    USES_TERMINAL_PATCH     YES
+)
+
+
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/Makefile b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/Makefile
new file mode 100644
index 0000000..5fb6061
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/Makefile
@@ -0,0 +1,154 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.30
+
+# Default target executed when no arguments are given to make.
+default_target: all
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
+	/usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+.PHONY : edit_cache/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+.PHONY : rebuild_cache/fast
+
+# The main all target
+all: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild//CMakeFiles/progress.marks
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+#=============================================================================
+# Target rules for targets named raylib-populate
+
+# Build rule for target.
+raylib-populate: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 raylib-populate
+.PHONY : raylib-populate
+
+# fast build rule for target.
+raylib-populate/fast:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/raylib-populate.dir/build.make CMakeFiles/raylib-populate.dir/build
+.PHONY : raylib-populate/fast
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... edit_cache"
+	@echo "... rebuild_cache"
+	@echo "... raylib-populate"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/cmake_install.cmake b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/cmake_install.cmake
new file mode 100644
index 0000000..c0f74ab
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/cmake_install.cmake
@@ -0,0 +1,57 @@
+# Install script for directory: /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "0")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+  set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT)
+  if(CMAKE_INSTALL_COMPONENT MATCHES "^[a-zA-Z0-9_.+-]+$")
+    set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
+  else()
+    string(MD5 CMAKE_INST_COMP_HASH "${CMAKE_INSTALL_COMPONENT}")
+    set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INST_COMP_HASH}.txt")
+    unset(CMAKE_INST_COMP_HASH)
+  endif()
+else()
+  set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
+endif()
+
+if(NOT CMAKE_INSTALL_LOCAL_ONLY)
+  string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
+       "${CMAKE_INSTALL_MANIFEST_FILES}")
+  file(WRITE "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/${CMAKE_INSTALL_MANIFEST}"
+     "${CMAKE_INSTALL_MANIFEST_CONTENT}")
+endif()
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-gitinfo.txt b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-gitinfo.txt
new file mode 100644
index 0000000..6bf890d
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-gitinfo.txt
@@ -0,0 +1,15 @@
+# This is a generated file and its contents are an internal implementation detail.
+# The download step will be re-executed if anything in this file changes.
+# No other meaning or use of this file is supported.
+
+method=git
+command=/usr/bin/cmake;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-P;/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-gitclone.cmake
+source_dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src
+work_dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps
+repository=https://github.com/raysan5/raylib.git
+remote=origin
+init_submodules=TRUE
+recurse_submodules=--recursive
+submodules=
+CMP0097=NEW
+      
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-mkdir b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-mkdir
new file mode 100644
index 0000000..e69de29
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-patch-info.txt b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-patch-info.txt
new file mode 100644
index 0000000..53e1e1e
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-patch-info.txt
@@ -0,0 +1,6 @@
+# This is a generated file and its contents are an internal implementation detail.
+# The update step will be re-executed if anything in this file changes.
+# No other meaning or use of this file is supported.
+
+command=
+work_dir=
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update-info.txt b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update-info.txt
new file mode 100644
index 0000000..9fa04c8
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-update-info.txt
@@ -0,0 +1,7 @@
+# This is a generated file and its contents are an internal implementation detail.
+# The patch step will be re-executed if anything in this file changes.
+# No other meaning or use of this file is supported.
+
+command (connected)=/usr/bin/cmake;-Dcan_fetch=YES;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-P;/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-gitupdate.cmake
+command (disconnected)=/usr/bin/cmake;-Dcan_fetch=NO;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-P;/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-gitupdate.cmake
+work_dir=/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-cfgcmd.txt b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-cfgcmd.txt
new file mode 100644
index 0000000..6a6ed5f
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-cfgcmd.txt
@@ -0,0 +1 @@
+cmd=''
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-gitclone.cmake b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-gitclone.cmake
new file mode 100644
index 0000000..e1f7a3d
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-gitclone.cmake
@@ -0,0 +1,87 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+cmake_minimum_required(VERSION 3.5)
+
+if(EXISTS "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-gitclone-lastrun.txt" AND EXISTS "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-gitinfo.txt" AND
+  "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-gitclone-lastrun.txt" IS_NEWER_THAN "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-gitinfo.txt")
+  message(VERBOSE
+    "Avoiding repeated git clone, stamp file is up to date: "
+    "'/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-gitclone-lastrun.txt'"
+  )
+  return()
+endif()
+
+# Even at VERBOSE level, we don't want to see the commands executed, but
+# enabling them to be shown for DEBUG may be useful to help diagnose problems.
+cmake_language(GET_MESSAGE_LOG_LEVEL active_log_level)
+if(active_log_level MATCHES "DEBUG|TRACE")
+  set(maybe_show_command COMMAND_ECHO STDOUT)
+else()
+  set(maybe_show_command "")
+endif()
+
+execute_process(
+  COMMAND ${CMAKE_COMMAND} -E rm -rf "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+  RESULT_VARIABLE error_code
+  ${maybe_show_command}
+)
+if(error_code)
+  message(FATAL_ERROR "Failed to remove directory: '/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src'")
+endif()
+
+# try the clone 3 times in case there is an odd git clone issue
+set(error_code 1)
+set(number_of_tries 0)
+while(error_code AND number_of_tries LESS 3)
+  execute_process(
+    COMMAND "/usr/bin/git"
+            clone --no-checkout --depth 1 --no-single-branch --progress --config "advice.detachedHead=false" "https://github.com/raysan5/raylib.git" "raylib-src"
+    WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps"
+    RESULT_VARIABLE error_code
+    ${maybe_show_command}
+  )
+  math(EXPR number_of_tries "${number_of_tries} + 1")
+endwhile()
+if(number_of_tries GREATER 1)
+  message(NOTICE "Had to git clone more than once: ${number_of_tries} times.")
+endif()
+if(error_code)
+  message(FATAL_ERROR "Failed to clone repository: 'https://github.com/raysan5/raylib.git'")
+endif()
+
+execute_process(
+  COMMAND "/usr/bin/git"
+          checkout "master" --
+  WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+  RESULT_VARIABLE error_code
+  ${maybe_show_command}
+)
+if(error_code)
+  message(FATAL_ERROR "Failed to checkout tag: 'master'")
+endif()
+
+set(init_submodules TRUE)
+if(init_submodules)
+  execute_process(
+    COMMAND "/usr/bin/git" 
+            submodule update --recursive --init 
+    WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+    RESULT_VARIABLE error_code
+    ${maybe_show_command}
+  )
+endif()
+if(error_code)
+  message(FATAL_ERROR "Failed to update submodules in: '/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src'")
+endif()
+
+# Complete success, update the script-last-run stamp file:
+#
+execute_process(
+  COMMAND ${CMAKE_COMMAND} -E copy "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-gitinfo.txt" "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-gitclone-lastrun.txt"
+  RESULT_VARIABLE error_code
+  ${maybe_show_command}
+)
+if(error_code)
+  message(FATAL_ERROR "Failed to copy script-last-run stamp file: '/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/raylib-populate-gitclone-lastrun.txt'")
+endif()
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-gitupdate.cmake b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-gitupdate.cmake
new file mode 100644
index 0000000..4ffa66e
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-gitupdate.cmake
@@ -0,0 +1,317 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+cmake_minimum_required(VERSION 3.5)
+
+# Even at VERBOSE level, we don't want to see the commands executed, but
+# enabling them to be shown for DEBUG may be useful to help diagnose problems.
+cmake_language(GET_MESSAGE_LOG_LEVEL active_log_level)
+if(active_log_level MATCHES "DEBUG|TRACE")
+  set(maybe_show_command COMMAND_ECHO STDOUT)
+else()
+  set(maybe_show_command "")
+endif()
+
+function(do_fetch)
+  message(VERBOSE "Fetching latest from the remote origin")
+  execute_process(
+    COMMAND "/usr/bin/git" --git-dir=.git fetch --tags --force "origin"
+    WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+    COMMAND_ERROR_IS_FATAL LAST
+    ${maybe_show_command}
+  )
+endfunction()
+
+function(get_hash_for_ref ref out_var err_var)
+  execute_process(
+    COMMAND "/usr/bin/git" --git-dir=.git rev-parse "${ref}^0"
+    WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+    RESULT_VARIABLE error_code
+    OUTPUT_VARIABLE ref_hash
+    ERROR_VARIABLE error_msg
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+  )
+  if(error_code)
+    set(${out_var} "" PARENT_SCOPE)
+  else()
+    set(${out_var} "${ref_hash}" PARENT_SCOPE)
+  endif()
+  set(${err_var} "${error_msg}" PARENT_SCOPE)
+endfunction()
+
+get_hash_for_ref(HEAD head_sha error_msg)
+if(head_sha STREQUAL "")
+  message(FATAL_ERROR "Failed to get the hash for HEAD:\n${error_msg}")
+endif()
+
+if("${can_fetch}" STREQUAL "")
+  set(can_fetch "YES")
+endif()
+
+execute_process(
+  COMMAND "/usr/bin/git" --git-dir=.git show-ref "master"
+  WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+  OUTPUT_VARIABLE show_ref_output
+)
+if(show_ref_output MATCHES "^[a-z0-9]+[ \\t]+refs/remotes/")
+  # Given a full remote/branch-name and we know about it already. Since
+  # branches can move around, we should always fetch, if permitted.
+  if(can_fetch)
+    do_fetch()
+  endif()
+  set(checkout_name "master")
+
+elseif(show_ref_output MATCHES "^[a-z0-9]+[ \\t]+refs/tags/")
+  # Given a tag name that we already know about. We don't know if the tag we
+  # have matches the remote though (tags can move), so we should fetch. As a
+  # special case to preserve backward compatibility, if we are already at the
+  # same commit as the tag we hold locally, don't do a fetch and assume the tag
+  # hasn't moved on the remote.
+  # FIXME: We should provide an option to always fetch for this case
+  get_hash_for_ref("master" tag_sha error_msg)
+  if(tag_sha STREQUAL head_sha)
+    message(VERBOSE "Already at requested tag: master")
+    return()
+  endif()
+
+  if(can_fetch)
+    do_fetch()
+  endif()
+  set(checkout_name "master")
+
+elseif(show_ref_output MATCHES "^[a-z0-9]+[ \\t]+refs/heads/")
+  # Given a branch name without any remote and we already have a branch by that
+  # name. We might already have that branch checked out or it might be a
+  # different branch. It isn't fully safe to use a bare branch name without the
+  # remote, so do a fetch (if allowed) and replace the ref with one that
+  # includes the remote.
+  if(can_fetch)
+    do_fetch()
+  endif()
+  set(checkout_name "origin/master")
+
+else()
+  get_hash_for_ref("master" tag_sha error_msg)
+  if(tag_sha STREQUAL head_sha)
+    # Have the right commit checked out already
+    message(VERBOSE "Already at requested ref: ${tag_sha}")
+    return()
+
+  elseif(tag_sha STREQUAL "")
+    # We don't know about this ref yet, so we have no choice but to fetch.
+    if(NOT can_fetch)
+      message(FATAL_ERROR
+        "Requested git ref \"master\" is not present locally, and not "
+        "allowed to contact remote due to UPDATE_DISCONNECTED setting."
+      )
+    endif()
+
+    # We deliberately swallow any error message at the default log level
+    # because it can be confusing for users to see a failed git command.
+    # That failure is being handled here, so it isn't an error.
+    if(NOT error_msg STREQUAL "")
+      message(DEBUG "${error_msg}")
+    endif()
+    do_fetch()
+    set(checkout_name "master")
+
+  else()
+    # We have the commit, so we know we were asked to find a commit hash
+    # (otherwise it would have been handled further above), but we don't
+    # have that commit checked out yet. We don't need to fetch from the remote.
+    set(checkout_name "master")
+    if(NOT error_msg STREQUAL "")
+      message(WARNING "${error_msg}")
+    endif()
+
+  endif()
+endif()
+
+set(git_update_strategy "REBASE")
+if(git_update_strategy STREQUAL "")
+  # Backward compatibility requires REBASE as the default behavior
+  set(git_update_strategy REBASE)
+endif()
+
+if(git_update_strategy MATCHES "^REBASE(_CHECKOUT)?$")
+  # Asked to potentially try to rebase first, maybe with fallback to checkout.
+  # We can't if we aren't already on a branch and we shouldn't if that local
+  # branch isn't tracking the one we want to checkout.
+  execute_process(
+    COMMAND "/usr/bin/git" --git-dir=.git symbolic-ref -q HEAD
+    WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+    OUTPUT_VARIABLE current_branch
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+    # Don't test for an error. If this isn't a branch, we get a non-zero error
+    # code but empty output.
+  )
+
+  if(current_branch STREQUAL "")
+    # Not on a branch, checkout is the only sensible option since any rebase
+    # would always fail (and backward compatibility requires us to checkout in
+    # this situation)
+    set(git_update_strategy CHECKOUT)
+
+  else()
+    execute_process(
+      COMMAND "/usr/bin/git" --git-dir=.git for-each-ref "--format=%(upstream:short)" "${current_branch}"
+      WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+      OUTPUT_VARIABLE upstream_branch
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+      COMMAND_ERROR_IS_FATAL ANY  # There is no error if no upstream is set
+    )
+    if(NOT upstream_branch STREQUAL checkout_name)
+      # Not safe to rebase when asked to checkout a different branch to the one
+      # we are tracking. If we did rebase, we could end up with arbitrary
+      # commits added to the ref we were asked to checkout if the current local
+      # branch happens to be able to rebase onto the target branch. There would
+      # be no error message and the user wouldn't know this was occurring.
+      set(git_update_strategy CHECKOUT)
+    endif()
+
+  endif()
+elseif(NOT git_update_strategy STREQUAL "CHECKOUT")
+  message(FATAL_ERROR "Unsupported git update strategy: ${git_update_strategy}")
+endif()
+
+
+# Check if stash is needed
+execute_process(
+  COMMAND "/usr/bin/git" --git-dir=.git status --porcelain
+  WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+  RESULT_VARIABLE error_code
+  OUTPUT_VARIABLE repo_status
+)
+if(error_code)
+  message(FATAL_ERROR "Failed to get the status")
+endif()
+string(LENGTH "${repo_status}" need_stash)
+
+# If not in clean state, stash changes in order to be able to perform a
+# rebase or checkout without losing those changes permanently
+if(need_stash)
+  execute_process(
+    COMMAND "/usr/bin/git" --git-dir=.git stash save --quiet;--include-untracked
+    WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+    COMMAND_ERROR_IS_FATAL ANY
+    ${maybe_show_command}
+  )
+endif()
+
+if(git_update_strategy STREQUAL "CHECKOUT")
+  execute_process(
+    COMMAND "/usr/bin/git" --git-dir=.git checkout "${checkout_name}"
+    WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+    COMMAND_ERROR_IS_FATAL ANY
+    ${maybe_show_command}
+  )
+else()
+  execute_process(
+    COMMAND "/usr/bin/git" --git-dir=.git rebase "${checkout_name}"
+    WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+    RESULT_VARIABLE error_code
+    OUTPUT_VARIABLE rebase_output
+    ERROR_VARIABLE  rebase_output
+  )
+  if(error_code)
+    # Rebase failed, undo the rebase attempt before continuing
+    execute_process(
+      COMMAND "/usr/bin/git" --git-dir=.git rebase --abort
+      WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+      ${maybe_show_command}
+    )
+
+    if(NOT git_update_strategy STREQUAL "REBASE_CHECKOUT")
+      # Not allowed to do a checkout as a fallback, so cannot proceed
+      if(need_stash)
+        execute_process(
+          COMMAND "/usr/bin/git" --git-dir=.git stash pop --index --quiet
+          WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+          ${maybe_show_command}
+          )
+      endif()
+      message(FATAL_ERROR "\nFailed to rebase in: '/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src'."
+                          "\nOutput from the attempted rebase follows:"
+                          "\n${rebase_output}"
+                          "\n\nYou will have to resolve the conflicts manually")
+    endif()
+
+    # Fall back to checkout. We create an annotated tag so that the user
+    # can manually inspect the situation and revert if required.
+    # We can't log the failed rebase output because MSVC sees it and
+    # intervenes, causing the build to fail even though it completes.
+    # Write it to a file instead.
+    string(TIMESTAMP tag_timestamp "%Y%m%dT%H%M%S" UTC)
+    set(tag_name _cmake_ExternalProject_moved_from_here_${tag_timestamp}Z)
+    set(error_log_file ${CMAKE_CURRENT_LIST_DIR}/rebase_error_${tag_timestamp}Z.log)
+    file(WRITE ${error_log_file} "${rebase_output}")
+    message(WARNING "Rebase failed, output has been saved to ${error_log_file}"
+                    "\nFalling back to checkout, previous commit tagged as ${tag_name}")
+    execute_process(
+      COMMAND "/usr/bin/git" --git-dir=.git tag -a
+              -m "ExternalProject attempting to move from here to ${checkout_name}"
+              ${tag_name}
+      WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+      COMMAND_ERROR_IS_FATAL ANY
+      ${maybe_show_command}
+    )
+
+    execute_process(
+      COMMAND "/usr/bin/git" --git-dir=.git checkout "${checkout_name}"
+      WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+      COMMAND_ERROR_IS_FATAL ANY
+      ${maybe_show_command}
+    )
+  endif()
+endif()
+
+if(need_stash)
+  # Put back the stashed changes
+  execute_process(
+    COMMAND "/usr/bin/git" --git-dir=.git stash pop --index --quiet
+    WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+    RESULT_VARIABLE error_code
+    ${maybe_show_command}
+    )
+  if(error_code)
+    # Stash pop --index failed: Try again dropping the index
+    execute_process(
+      COMMAND "/usr/bin/git" --git-dir=.git reset --hard --quiet
+      WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+      ${maybe_show_command}
+    )
+    execute_process(
+      COMMAND "/usr/bin/git" --git-dir=.git stash pop --quiet
+      WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+      RESULT_VARIABLE error_code
+      ${maybe_show_command}
+    )
+    if(error_code)
+      # Stash pop failed: Restore previous state.
+      execute_process(
+        COMMAND "/usr/bin/git" --git-dir=.git reset --hard --quiet ${head_sha}
+        WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+        ${maybe_show_command}
+      )
+      execute_process(
+        COMMAND "/usr/bin/git" --git-dir=.git stash pop --index --quiet
+        WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+        ${maybe_show_command}
+      )
+      message(FATAL_ERROR "\nFailed to unstash changes in: '/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src'."
+                          "\nYou will have to resolve the conflicts manually")
+    endif()
+  endif()
+endif()
+
+set(init_submodules "TRUE")
+if(init_submodules)
+  execute_process(
+    COMMAND "/usr/bin/git"
+            --git-dir=.git 
+            submodule update --recursive --init 
+    WORKING_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src"
+    COMMAND_ERROR_IS_FATAL ANY
+    ${maybe_show_command}
+  )
+endif()
diff --git a/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-mkdirs.cmake b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-mkdirs.cmake
new file mode 100644
index 0000000..766a8a8
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp/raylib-populate-mkdirs.cmake
@@ -0,0 +1,27 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+cmake_minimum_required(VERSION 3.5)
+
+# If CMAKE_DISABLE_SOURCE_CHANGES is set to true and the source directory is an
+# existing directory in our source tree, calling file(MAKE_DIRECTORY) on it
+# would cause a fatal error, even though it would be a no-op.
+if(NOT EXISTS "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src")
+  file(MAKE_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-src")
+endif()
+file(MAKE_DIRECTORY
+  "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-build"
+  "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix"
+  "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/tmp"
+  "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp"
+  "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src"
+  "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp"
+)
+
+set(configSubDirs )
+foreach(subDir IN LISTS configSubDirs)
+    file(MAKE_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp/${subDir}")
+endforeach()
+if(cfgdir)
+  file(MAKE_DIRECTORY "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/_deps/raylib-subbuild/raylib-populate-prefix/src/raylib-populate-stamp${cfgdir}") # cfgdir has leading slash
+endif()
diff --git a/examples/textui-sidebar-scrolling-container/clay_examples_textui_sidebar_scrolling_container b/examples/textui-sidebar-scrolling-container/clay_examples_textui_sidebar_scrolling_container
new file mode 100755
index 0000000..5f719cf
Binary files /dev/null and b/examples/textui-sidebar-scrolling-container/clay_examples_textui_sidebar_scrolling_container differ
diff --git a/examples/textui-sidebar-scrolling-container/cmake_install.cmake b/examples/textui-sidebar-scrolling-container/cmake_install.cmake
new file mode 100644
index 0000000..231d49f
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/cmake_install.cmake
@@ -0,0 +1,62 @@
+# Install script for directory: /home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "Debug")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "0")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+  set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+# Set path to fallback-tool for dependency-resolution.
+if(NOT DEFINED CMAKE_OBJDUMP)
+  set(CMAKE_OBJDUMP "/usr/bin/objdump")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT)
+  if(CMAKE_INSTALL_COMPONENT MATCHES "^[a-zA-Z0-9_.+-]+$")
+    set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
+  else()
+    string(MD5 CMAKE_INST_COMP_HASH "${CMAKE_INSTALL_COMPONENT}")
+    set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INST_COMP_HASH}.txt")
+    unset(CMAKE_INST_COMP_HASH)
+  endif()
+else()
+  set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
+endif()
+
+if(NOT CMAKE_INSTALL_LOCAL_ONLY)
+  string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
+       "${CMAKE_INSTALL_MANIFEST_FILES}")
+  file(WRITE "/home/phillip/Projects/clay/examples/textui-sidebar-scrolling-container/${CMAKE_INSTALL_MANIFEST}"
+     "${CMAKE_INSTALL_MANIFEST_CONTENT}")
+endif()
diff --git a/examples/textui-sidebar-scrolling-container/main.c b/examples/textui-sidebar-scrolling-container/main.c
new file mode 100644
index 0000000..313c1ce
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/main.c
@@ -0,0 +1,288 @@
+#include <curses.h>
+#define CLAY_IMPLEMENTATION
+#include "../../clay.h"
+#include "../../renderers/textui/clay_renderer_textui.c"
+#include <stdlib.h>
+
+const uint32_t FONT_ID_BODY_24 = 0;
+const uint32_t FONT_ID_BODY_16 = 1;
+#define COLOR_ORANGE (Clay_Color) {225, 138, 50, 255}
+#define COLOR_BLUE (Clay_Color) {111, 173, 162, 255}
+
+//Texture2D profilePicture;
+//#define RAYLIB_VECTOR2_TO_CLAY_VECTOR2(vector) (Clay_Vector2) { .x = vector.x, .y = vector.y }
+
+Clay_String profileText = CLAY_STRING("Profile Page one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen");
+Clay_TextElementConfig headerTextConfig = (Clay_TextElementConfig) { .fontId = 1, .fontSize = 16, .textColor = {0,0,0,255} };
+
+void HandleHeaderButtonInteraction(Clay_ElementId elementId, Clay_PointerData pointerData, intptr_t userData) {
+    if (pointerData.state == CLAY_POINTER_DATA_PRESSED_THIS_FRAME) {
+        // Do some click handling
+    }
+}
+
+// Examples of re-usable "Components"
+void RenderHeaderButton(Clay_String text) {
+    CLAY(CLAY_LAYOUT({ .padding = {16, 8} }),
+        CLAY_RECTANGLE({ .color = Clay_Hovered() ? COLOR_BLUE : COLOR_ORANGE }),
+        Clay_OnHover(HandleHeaderButtonInteraction, 1)) {
+        CLAY_TEXT(text, CLAY_TEXT_CONFIG(headerTextConfig));
+    }
+}
+
+Clay_LayoutConfig dropdownTextItemLayout = (Clay_LayoutConfig) { .padding = {8, 4} };
+Clay_RectangleElementConfig dropdownRectangleConfig = (Clay_RectangleElementConfig) { .color = {180, 180, 180, 255} };
+Clay_TextElementConfig dropdownTextElementConfig = (Clay_TextElementConfig) { .fontSize = 24, .textColor = {255,255,255,255} };
+
+void RenderDropdownTextItem(int index) {
+    CLAY(CLAY_IDI("ScrollContainerItem", index), CLAY_LAYOUT(dropdownTextItemLayout), CLAY_RECTANGLE(dropdownRectangleConfig)) {
+        CLAY_TEXT(CLAY_STRING("I'm a text field in a scroll container."), &dropdownTextElementConfig);
+    }
+}
+
+Clay_RenderCommandArray CreateLayout() {
+    Clay_BeginLayout();
+    CLAY(CLAY_ID("OuterContainer"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(), .height = CLAY_SIZING_GROW() }, .padding = { 16, 16 }, .childGap = 16 }), CLAY_RECTANGLE({ .color = {200, 200, 200, 255} })) {
+        CLAY(CLAY_ID("SideBar"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_GROW() }, .padding = {16, 16}, .childGap = 16 }), CLAY_RECTANGLE({ .color = {150, 150, 255, 255} })) {
+            CLAY(CLAY_ID("ProfilePictureOuter"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW() }, .padding = { 8, 8 }, .childGap = 8, .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } }), CLAY_RECTANGLE({ .color = {130, 130, 255, 255} })) {
+                CLAY(CLAY_ID("ProfilePicture"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(60), .height = CLAY_SIZING_FIXED(60) } })) {}
+                //TODO CLAY_TEXT(profileText, CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {0, 0, 0, 255} }));
+            }
+            CLAY(CLAY_ID("SidebarBlob1"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(), .height = CLAY_SIZING_FIXED(50) }}), CLAY_RECTANGLE({ .color = {110, 110, 255, 255} })) {}
+            CLAY(CLAY_ID("SidebarBlob2"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(), .height = CLAY_SIZING_FIXED(50) }}), CLAY_RECTANGLE({ .color = {110, 110, 255, 255} })) {}
+            CLAY(CLAY_ID("SidebarBlob3"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(), .height = CLAY_SIZING_FIXED(50) }}), CLAY_RECTANGLE({ .color = {110, 110, 255, 255} })) {}
+            CLAY(CLAY_ID("SidebarBlob4"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(), .height = CLAY_SIZING_FIXED(50) }}), CLAY_RECTANGLE({ .color = {110, 110, 255, 255} })) {}
+        }
+
+        CLAY(CLAY_ID("RightPanel"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_GROW(), .height = CLAY_SIZING_GROW() }, .childGap = 16 })) {
+            CLAY(CLAY_ID("HeaderBar"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW() }, .childAlignment = { .x = CLAY_ALIGN_X_RIGHT }, .padding = {8, 8}, .childGap = 8 }), CLAY_RECTANGLE({ .color =  {180, 180, 180, 255} })) {
+                RenderHeaderButton(CLAY_STRING("Header Item 1"));
+                RenderHeaderButton(CLAY_STRING("Header Item 2"));
+                RenderHeaderButton(CLAY_STRING("Header Item 3"));
+            }
+            CLAY(CLAY_ID("MainContent"),
+                CLAY_SCROLL({ .vertical = true }),
+                CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .padding = {16, 16}, .childGap = 16, .sizing = { CLAY_SIZING_GROW() } }),
+                CLAY_RECTANGLE({ .color = {200, 200, 255, 255} }))
+            {
+                 CLAY(CLAY_ID("FloatingContainer"),
+                     CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_FIXED(300) }, .padding = { 16, 16 }}),
+                     CLAY_FLOATING({ .zIndex = 1, .attachment = { CLAY_ATTACH_POINT_CENTER_TOP, CLAY_ATTACH_POINT_CENTER_TOP }, .offset = {0, -16} }),
+                     CLAY_BORDER_OUTSIDE({ .color = {80, 80, 80, 255}, .width = 2 }),
+                     CLAY_RECTANGLE({ .color = {140,80, 200, 200 }})
+                 ) {
+                     CLAY_TEXT(CLAY_STRING("I'm an inline floating container."), CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {255,255,255,255} }));
+                 }
+
+                 CLAY_TEXT(CLAY_STRING("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt."),
+                     CLAY_TEXT_CONFIG({ .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {0,0,0,255} }));
+
+                 CLAY(CLAY_ID("Photos2"), CLAY_LAYOUT({ .childGap = 16, .padding = { 16, 16 }}), CLAY_RECTANGLE({ .color = {180, 180, 220, 255} })) {
+                     CLAY(CLAY_ID("Picture4"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }})) {}
+                     CLAY(CLAY_ID("Picture5"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }})) {}
+                     CLAY(CLAY_ID("Picture6"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }})) {}
+                 }
+
+                 CLAY_TEXT(CLAY_STRING("Faucibus purus in massa tempor nec. Nec ullamcorper sit amet risus nullam eget felis eget nunc. Diam vulputate ut pharetra sit amet aliquam id diam. Lacus suspendisse faucibus interdum posuere lorem. A diam sollicitudin tempor id. Amet massa vitae tortor condimentum lacinia. Aliquet nibh praesent tristique magna."),
+                     CLAY_TEXT_CONFIG({ .fontSize = 24, .lineHeight = 60, .textColor = {0,0,0,255} }));
+
+                 CLAY_TEXT(CLAY_STRING("Suspendisse in est ante in nibh. Amet venenatis urna cursus eget nunc scelerisque viverra. Elementum sagittis vitae et leo duis ut diam quam nulla. Enim nulla aliquet porttitor lacus. Pellentesque habitant morbi tristique senectus et. Facilisi nullam vehicula ipsum a arcu cursus vitae.\nSem fringilla ut morbi tincidunt. Euismod quis viverra nibh cras pulvinar mattis nunc sed. Velit sed ullamcorper morbi tincidunt ornare massa. Varius quam quisque id diam vel quam. Nulla pellentesque dignissim enim sit amet venenatis. Enim lobortis scelerisque fermentum dui faucibus in. Pretium viverra suspendisse potenti nullam ac tortor vitae. Lectus vestibulum mattis ullamcorper velit sed. Eget mauris pharetra et ultrices neque ornare aenean euismod elementum. Habitant morbi tristique senectus et. Integer vitae justo eget magna fermentum iaculis eu. Semper quis lectus nulla at volutpat diam. Enim praesent elementum facilisis leo. Massa vitae tortor condimentum lacinia quis vel."),
+                     CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {0,0,0,255} }));
+
+                 CLAY(CLAY_ID("Photos"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW() }, .childAlignment = { .x = CLAY_ALIGN_X_CENTER, .y = CLAY_ALIGN_Y_CENTER }, .childGap = 16, .padding = {16, 16} }), CLAY_RECTANGLE({ .color = {180, 180, 220, 255} })) {
+                     CLAY(CLAY_ID("Picture2"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }})) {}
+                     CLAY(CLAY_ID("Picture1"), CLAY_LAYOUT({ .childAlignment = { .x = CLAY_ALIGN_X_CENTER }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .padding = {8, 8} }), CLAY_RECTANGLE({ .color = {170, 170, 220, 255} })) {
+                         CLAY(CLAY_ID("ProfilePicture2"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(60), .height = CLAY_SIZING_FIXED(60) }})) {}
+                         CLAY_TEXT(CLAY_STRING("Image caption below"), CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {0,0,0,255} }));
+                     }
+                     CLAY(CLAY_ID("Picture3"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }})) {}
+                 }
+
+                 CLAY_TEXT(CLAY_STRING("Amet cursus sit amet dictum sit amet justo donec. Et malesuada fames ac turpis egestas maecenas. A lacus vestibulum sed arcu non odio euismod lacinia. Gravida neque convallis a cras. Dui nunc mattis enim ut tellus elementum sagittis vitae et. Orci sagittis eu volutpat odio facilisis mauris. Neque gravida in fermentum et sollicitudin ac orci. Ultrices dui sapien eget mi proin sed libero. Euismod quis viverra nibh cras pulvinar mattis. Diam volutpat commodo sed egestas egestas. In fermentum posuere urna nec tincidunt praesent semper. Integer eget aliquet nibh praesent tristique magna.\nId cursus metus aliquam eleifend mi in. Sed pulvinar proin gravida hendrerit lectus a. Etiam tempor orci eu lobortis elementum nibh tellus. Nullam vehicula ipsum a arcu cursus vitae. Elit scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Condimentum lacinia quis vel eros donec ac odio. Mattis pellentesque id nibh tortor id aliquet lectus. Turpis egestas integer eget aliquet nibh praesent tristique. Porttitor massa id neque aliquam vestibulum morbi. Mauris commodo quis imperdiet massa tincidunt nunc pulvinar sapien et. Nunc scelerisque viverra mauris in aliquam sem fringilla. Suspendisse ultrices gravida dictum fusce ut placerat orci nulla.\nLacus laoreet non curabitur gravida arcu ac tortor dignissim. Urna nec tincidunt praesent semper feugiat nibh sed pulvinar. Tristique senectus et netus et malesuada fames ac. Nunc aliquet bibendum enim facilisis gravida. Egestas maecenas pharetra convallis posuere morbi leo urna molestie. Sapien nec sagittis aliquam malesuada bibendum arcu vitae elementum curabitur. Ac turpis egestas maecenas pharetra convallis posuere morbi leo urna. Viverra vitae congue eu consequat. Aliquet enim tortor at auctor urna. Ornare massa eget egestas purus viverra accumsan in nisl nisi. Elit pellentesque habitant morbi tristique senectus et netus et malesuada.\nSuspendisse ultrices gravida dictum fusce ut placerat orci nulla pellentesque. Lobortis feugiat vivamus at augue eget arcu. Vitae justo eget magna fermentum iaculis eu. Gravida rutrum quisque non tellus orci. Ipsum faucibus vitae aliquet nec. Nullam non nisi est sit amet. Nunc consequat interdum varius sit amet mattis vulputate enim. Sem fringilla ut morbi tincidunt augue interdum. Vitae purus faucibus ornare suspendisse. Massa tincidunt nunc pulvinar sapien et. Fringilla ut morbi tincidunt augue interdum velit euismod in. Donec massa sapien faucibus et. Est placerat in egestas erat imperdiet. Gravida rutrum quisque non tellus. Morbi non arcu risus quis varius quam quisque id diam. Habitant morbi tristique senectus et netus et malesuada fames ac. Eget lorem dolor sed viverra.\nOrnare massa eget egestas purus viverra. Varius vel pharetra vel turpis nunc eget lorem. Consectetur purus ut faucibus pulvinar elementum. Placerat in egestas erat imperdiet sed euismod nisi. Interdum velit euismod in pellentesque massa placerat duis ultricies lacus. Aliquam nulla facilisi cras fermentum odio eu. Est pellentesque elit ullamcorper dignissim cras tincidunt. Nunc sed id semper risus in hendrerit gravida rutrum. A pellentesque sit amet porttitor eget dolor morbi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames. Nisl nunc mi ipsum faucibus vitae aliquet nec ullamcorper. Sed id semper risus in hendrerit gravida. Tincidunt praesent semper feugiat nibh. Aliquet lectus proin nibh nisl condimentum id venenatis a. Enim sit amet venenatis urna cursus eget. In egestas erat imperdiet sed euismod nisi porta lorem mollis. Lacinia quis vel eros donec ac odio tempor orci. Donec pretium vulputate sapien nec sagittis aliquam malesuada bibendum arcu. Erat pellentesque adipiscing commodo elit at.\nEgestas sed sed risus pretium quam vulputate. Vitae congue mauris rhoncus aenean vel elit scelerisque mauris pellentesque. Aliquam malesuada bibendum arcu vitae elementum. Congue mauris rhoncus aenean vel elit scelerisque mauris. Pellentesque dignissim enim sit amet venenatis urna cursus. Et malesuada fames ac turpis egestas sed tempus urna. Vel fringilla est ullamcorper eget nulla facilisi etiam dignissim. Nibh cras pulvinar mattis nunc sed blandit libero. Fringilla est ullamcorper eget nulla facilisi etiam dignissim. Aenean euismod elementum nisi quis eleifend quam adipiscing vitae proin. Mauris pharetra et ultrices neque ornare aenean euismod elementum. Ornare quam viverra orci sagittis eu. Odio ut sem nulla pharetra diam sit amet nisl suscipit. Ornare lectus sit amet est. Ullamcorper sit amet risus nullam eget. Tincidunt lobortis feugiat vivamus at augue eget arcu dictum.\nUrna nec tincidunt praesent semper feugiat nibh. Ut venenatis tellus in metus vulputate eu scelerisque felis. Cursus risus at ultrices mi tempus. In pellentesque massa placerat duis ultricies lacus sed turpis. Platea dictumst quisque sagittis purus. Cras adipiscing enim eu turpis egestas. Egestas sed tempus urna et pharetra pharetra. Netus et malesuada fames ac turpis egestas integer eget aliquet. Ac turpis egestas sed tempus. Sed lectus vestibulum mattis ullamcorper velit sed. Ante metus dictum at tempor commodo ullamcorper a. Augue neque gravida in fermentum et sollicitudin ac. Praesent semper feugiat nibh sed pulvinar proin gravida. Metus aliquam eleifend mi in nulla posuere sollicitudin aliquam ultrices. Neque gravida in fermentum et sollicitudin ac orci phasellus egestas.\nRidiculus mus mauris vitae ultricies. Morbi quis commodo odio aenean. Duis ultricies lacus sed turpis. Non pulvinar neque laoreet suspendisse interdum consectetur. Scelerisque eleifend donec pretium vulputate sapien nec sagittis aliquam. Volutpat est velit egestas dui id ornare arcu odio ut. Viverra tellus in hac habitasse platea dictumst vestibulum rhoncus est. Vestibulum lectus mauris ultrices eros. Sed blandit libero volutpat sed cras ornare. Id leo in vitae turpis massa sed elementum tempus. Gravida dictum fusce ut placerat orci nulla pellentesque. Pretium quam vulputate dignissim suspendisse in. Nisl suscipit adipiscing bibendum est ultricies integer quis auctor. Risus viverra adipiscing at in tellus. Turpis nunc eget lorem dolor sed viverra ipsum. Senectus et netus et malesuada fames ac. Habitasse platea dictumst vestibulum rhoncus est. Nunc sed id semper risus in hendrerit gravida. Felis eget velit aliquet sagittis id. Eget felis eget nunc lobortis.\nMaecenas pharetra convallis posuere morbi leo. Maecenas volutpat blandit aliquam etiam. A condimentum vitae sapien pellentesque habitant morbi tristique senectus et. Pulvinar mattis nunc sed blandit libero volutpat sed. Feugiat in ante metus dictum at tempor commodo ullamcorper. Vel pharetra vel turpis nunc eget lorem dolor. Est placerat in egestas erat imperdiet sed euismod. Quisque non tellus orci ac auctor augue mauris augue. Placerat vestibulum lectus mauris ultrices eros in cursus turpis. Enim nunc faucibus a pellentesque sit. Adipiscing vitae proin sagittis nisl. Iaculis at erat pellentesque adipiscing commodo elit at imperdiet. Aliquam sem fringilla ut morbi.\nArcu odio ut sem nulla pharetra diam sit amet nisl. Non diam phasellus vestibulum lorem sed. At erat pellentesque adipiscing commodo elit at. Lacus luctus accumsan tortor posuere ac ut consequat. Et malesuada fames ac turpis egestas integer. Tristique magna sit amet purus. A condimentum vitae sapien pellentesque habitant. Quis varius quam quisque id diam vel quam. Est ullamcorper eget nulla facilisi etiam dignissim diam quis. Augue interdum velit euismod in pellentesque massa. Elit scelerisque mauris pellentesque pulvinar pellentesque habitant. Vulputate eu scelerisque felis imperdiet. Nibh tellus molestie nunc non blandit massa. Velit euismod in pellentesque massa placerat. Sed cras ornare arcu dui. Ut sem viverra aliquet eget sit. Eu lobortis elementum nibh tellus molestie nunc non. Blandit libero volutpat sed cras ornare arcu dui vivamus.\nSit amet aliquam id diam maecenas. Amet risus nullam eget felis eget nunc lobortis mattis aliquam. Magna sit amet purus gravida. Egestas purus viverra accumsan in nisl nisi. Leo duis ut diam quam. Ante metus dictum at tempor commodo ullamcorper. Ac turpis egestas integer eget. Fames ac turpis egestas integer eget aliquet nibh. Sem integer vitae justo eget magna fermentum. Semper auctor neque vitae tempus quam pellentesque nec nam aliquam. Vestibulum mattis ullamcorper velit sed. Consectetur adipiscing elit duis tristique sollicitudin nibh. Massa id neque aliquam vestibulum morbi blandit cursus risus.\nCursus sit amet dictum sit amet justo donec enim diam. Egestas erat imperdiet sed euismod. Nullam vehicula ipsum a arcu cursus vitae congue mauris. Habitasse platea dictumst vestibulum rhoncus est pellentesque elit. Duis ultricies lacus sed turpis tincidunt id aliquet risus feugiat. Faucibus ornare suspendisse sed nisi lacus sed viverra. Pretium fusce id velit ut tortor pretium viverra. Fermentum odio eu feugiat pretium nibh ipsum consequat nisl vel. Senectus et netus et malesuada. Tellus pellentesque eu tincidunt tortor aliquam. Aenean sed adipiscing diam donec adipiscing tristique risus nec feugiat. Quis vel eros donec ac odio. Id interdum velit laoreet id donec ultrices tincidunt.\nMassa id neque aliquam vestibulum morbi blandit cursus risus at. Enim tortor at auctor urna nunc id cursus metus. Lorem ipsum dolor sit amet consectetur. At quis risus sed vulputate odio. Facilisis mauris sit amet massa vitae tortor condimentum lacinia quis. Et malesuada fames ac turpis egestas maecenas. Bibendum arcu vitae elementum curabitur vitae nunc sed velit dignissim. Viverra orci sagittis eu volutpat odio facilisis mauris. Adipiscing bibendum est ultricies integer quis auctor elit sed. Neque viverra justo nec ultrices dui sapien. Elementum nibh tellus molestie nunc non blandit massa enim. Euismod elementum nisi quis eleifend quam adipiscing vitae proin sagittis. Faucibus ornare suspendisse sed nisi. Quis viverra nibh cras pulvinar mattis nunc sed blandit. Tristique senectus et netus et. Magnis dis parturient montes nascetur ridiculus mus.\nDolor magna eget est lorem ipsum dolor. Nibh sit amet commodo nulla. Donec pretium vulputate sapien nec sagittis aliquam malesuada. Cras adipiscing enim eu turpis egestas pretium. Cras ornare arcu dui vivamus arcu felis bibendum ut tristique. Mus mauris vitae ultricies leo integer. In nulla posuere sollicitudin aliquam ultrices sagittis orci. Quis hendrerit dolor magna eget. Nisl tincidunt eget nullam non. Vitae congue eu consequat ac felis donec et odio. Vivamus at augue eget arcu dictum varius duis at. Ornare quam viverra orci sagittis.\nErat nam at lectus urna duis convallis. Massa placerat duis ultricies lacus sed turpis tincidunt id aliquet. Est ullamcorper eget nulla facilisi etiam dignissim diam. Arcu vitae elementum curabitur vitae nunc sed velit dignissim sodales. Tortor vitae purus faucibus ornare suspendisse sed nisi lacus. Neque viverra justo nec ultrices dui sapien eget mi proin. Viverra accumsan in nisl nisi scelerisque eu ultrices. Consequat interdum varius sit amet mattis. In aliquam sem fringilla ut morbi. Eget arcu dictum varius duis at. Nulla aliquet porttitor lacus luctus accumsan tortor posuere. Arcu bibendum at varius vel pharetra vel turpis. Hac habitasse platea dictumst quisque sagittis purus sit amet. Sapien eget mi proin sed libero enim sed. Quam elementum pulvinar etiam non quam lacus suspendisse faucibus interdum. Semper viverra nam libero justo. Fusce ut placerat orci nulla pellentesque dignissim enim sit amet. Et malesuada fames ac turpis egestas maecenas pharetra convallis posuere.\nTurpis egestas sed tempus urna et pharetra pharetra massa. Gravida in fermentum et sollicitudin ac orci phasellus. Ornare suspendisse sed nisi lacus sed viverra tellus in. Fames ac turpis egestas maecenas pharetra convallis posuere. Mi proin sed libero enim sed faucibus turpis. Sit amet mauris commodo quis imperdiet massa tincidunt nunc. Ut etiam sit amet nisl purus in mollis nunc. Habitasse platea dictumst quisque sagittis purus sit amet volutpat consequat. Eget aliquet nibh praesent tristique magna. Sit amet est placerat in egestas erat. Commodo sed egestas egestas fringilla. Enim nulla aliquet porttitor lacus luctus accumsan tortor posuere ac. Et molestie ac feugiat sed lectus vestibulum mattis ullamcorper. Dignissim convallis aenean et tortor at risus viverra. Morbi blandit cursus risus at ultrices mi. Ac turpis egestas integer eget aliquet nibh praesent tristique magna.\nVolutpat sed cras ornare arcu dui. Egestas erat imperdiet sed euismod nisi porta lorem mollis aliquam. Viverra justo nec ultrices dui sapien. Amet risus nullam eget felis eget nunc lobortis. Metus aliquam eleifend mi in. Ut eu sem integer vitae. Auctor elit sed vulputate mi sit amet. Nisl nisi scelerisque eu ultrices. Dictum fusce ut placerat orci nulla. Pellentesque habitant morbi tristique senectus et. Auctor elit sed vulputate mi sit. Tincidunt arcu non sodales neque. Mi in nulla posuere sollicitudin aliquam. Morbi non arcu risus quis varius quam quisque id diam. Cras adipiscing enim eu turpis egestas pretium aenean pharetra magna. At auctor urna nunc id cursus metus aliquam. Mauris a diam maecenas sed enim ut sem viverra. Nunc scelerisque viverra mauris in. In iaculis nunc sed augue lacus viverra vitae congue eu. Volutpat blandit aliquam etiam erat velit scelerisque in dictum non."),
+                     CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {0,0,0,255} }));
+            }
+        }
+
+        CLAY(CLAY_ID("Blob4Floating2"), CLAY_FLOATING({ .zIndex = 1, .parentId = Clay_GetElementId(CLAY_STRING("SidebarBlob4")).id })) {
+            CLAY(CLAY_ID("ScrollContainer"), CLAY_LAYOUT({ .sizing = { .height = CLAY_SIZING_FIXED(200) }, .childGap = 2 }), CLAY_SCROLL({ .vertical = true })) {
+                CLAY(CLAY_ID("FloatingContainer2"), CLAY_LAYOUT({ }), CLAY_FLOATING({ .zIndex = 1 })) {
+                    CLAY(CLAY_ID("FloatingContainerInner"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_FIXED(300) }, .padding = {16, 16} }), CLAY_RECTANGLE({ .color = {140,80, 200, 200} })) {
+                        CLAY_TEXT(CLAY_STRING("I'm an inline floating container."), CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {255,255,255,255} }));
+                    }
+                }
+                CLAY(CLAY_ID("ScrollContainerInner"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM }), CLAY_RECTANGLE({ .color = {160, 160, 160, 255} })) {
+                    for (int i = 0; i < 100; i++) {
+                        RenderDropdownTextItem(i);
+                    }
+                }
+            }
+        }
+        Clay_ScrollContainerData scrollData = Clay_GetScrollContainerData(Clay_GetElementId(CLAY_STRING("MainContent")));
+        if (scrollData.found) {
+            CLAY(CLAY_ID("ScrollBar"),
+                CLAY_FLOATING({
+                    .offset = { .y = -(scrollData.scrollPosition->y / scrollData.contentDimensions.height) * scrollData.scrollContainerDimensions.height },
+                    .zIndex = 1,
+                    .parentId = Clay_GetElementId(CLAY_STRING("MainContent")).id,
+                    .attachment = {.element = CLAY_ATTACH_POINT_RIGHT_TOP, .parent = CLAY_ATTACH_POINT_RIGHT_TOP}
+                })
+            ) {
+                CLAY(CLAY_ID("ScrollBarButton"),
+                    CLAY_LAYOUT({ .sizing = {CLAY_SIZING_FIXED(12), CLAY_SIZING_FIXED((scrollData.scrollContainerDimensions.height / scrollData.contentDimensions.height) * scrollData.scrollContainerDimensions.height) }}),
+                    CLAY_RECTANGLE({ .cornerRadius = {6}, .color = Clay_PointerOver(Clay__HashString(CLAY_STRING("ScrollBar"), 0, 0)) ? (Clay_Color){100, 100, 140, 150} : (Clay_Color){120, 120, 160, 150} })
+                ) {}
+            }
+        }
+    }
+    return Clay_EndLayout();
+}
+
+typedef struct
+{
+    Clay_Vector2 clickOrigin;
+    Clay_Vector2 positionOrigin;
+    bool mouseDown;
+} ScrollbarData;
+
+ScrollbarData scrollbarData = (ScrollbarData) {};
+
+bool debugEnabled = false;
+
+bool UpdateDrawFrame(WINDOW* win, int ch)
+{
+    int x = 0;
+    int y = 0;
+    getmaxyx(win, y, x);
+    MEVENT event;
+    int mouse_x = 0;
+    int mouse_y = 0;
+    int scroll_y = 0;
+    bool mouse_1_pressed = false;
+    if (ch == KEY_MOUSE) {
+        if (getmouse(&event) == OK) {
+            if (event.bstate & BUTTON1_PRESSED) {
+                mvwprintw(win, 1, 0, "Left mouse button at %d, %d", event.x, event.y);
+                mouse_x = event.x;
+                mouse_y = event.y;
+                mouse_1_pressed = true;
+                wrefresh(win);
+            }
+            if (event.bstate & BUTTON1_RELEASED) {
+                mvwprintw(win, 1, 0, "Left mouse button at %d, %d", event.x, event.y);
+                mouse_x = event.x;
+                mouse_y = event.y;
+                mouse_1_pressed = false;
+                wrefresh(win);
+            }
+        }
+    }
+    if (ch == 'D') {
+        debugEnabled = !debugEnabled;
+        Clay_SetDebugModeEnabled(debugEnabled);
+    }
+    //----------------------------------------------------------------------------------
+    // Handle scroll containers
+    Clay_Vector2 mousePosition = {mouse_x*HPIXELS_PER_CHAR, mouse_y*VPIXELS_PER_CHAR}; //event is not valid unless there was a mouse event
+    Clay_SetPointerState(mousePosition, mouse_1_pressed && !scrollbarData.mouseDown);
+    Clay_SetLayoutDimensions((Clay_Dimensions) { (float)x*HPIXELS_PER_CHAR, (float)y*VPIXELS_PER_CHAR });
+    if (!(mouse_1_pressed)) {
+        scrollbarData.mouseDown = false;
+    }
+
+    if (mouse_1_pressed && !scrollbarData.mouseDown && Clay_PointerOver(Clay__HashString(CLAY_STRING("ScrollBar"), 0, 0))) {
+        Clay_ScrollContainerData scrollContainerData = Clay_GetScrollContainerData(Clay__HashString(CLAY_STRING("MainContent"), 0, 0));
+        scrollbarData.clickOrigin = mousePosition;
+        scrollbarData.positionOrigin = *scrollContainerData.scrollPosition;
+        scrollbarData.mouseDown = true;
+    } else if (scrollbarData.mouseDown) {
+        Clay_ScrollContainerData scrollContainerData = Clay_GetScrollContainerData(Clay__HashString(CLAY_STRING("MainContent"), 0, 0));
+        if (scrollContainerData.contentDimensions.height > 0) {
+            Clay_Vector2 ratio = (Clay_Vector2) {
+                scrollContainerData.contentDimensions.width / scrollContainerData.scrollContainerDimensions.width,
+                scrollContainerData.contentDimensions.height / scrollContainerData.scrollContainerDimensions.height,
+            };
+            if (scrollContainerData.config.vertical) {
+                scrollContainerData.scrollPosition->y = scrollbarData.positionOrigin.y + (scrollbarData.clickOrigin.y - mousePosition.y) * ratio.y;
+            }
+            if (scrollContainerData.config.horizontal) {
+                scrollContainerData.scrollPosition->x = scrollbarData.positionOrigin.x + (scrollbarData.clickOrigin.x - mousePosition.x) * ratio.x;
+            }
+        }
+    }
+
+    Clay_UpdateScrollContainers(true, (Clay_Vector2) {0, scroll_y}, 20);
+    // Generate the auto layout for rendering
+    //double currentTime = GetTime();
+    Clay_RenderCommandArray renderCommands = CreateLayout();
+    //printf("layout time: %f microseconds\n", (GetTime() - currentTime) * 1000 * 1000);
+    // RENDERING ---------------------------------
+//    currentTime = GetTime();
+    Clay_textui_Render(win, renderCommands);
+
+    attr_on(color_set(0,0),0);
+    mvwprintw(win, 1, 0, "Left mouse button at %d, %d", event.x, event.y);
+    mvwprintw(win, 2, 0, "mouse mask: %d", event.bstate);
+    mvwprintw(win, 3, 0, "input ch: %d", ch);
+    mvwprintw(win, 4, 0, "scroll_y: %d", scroll_y);
+    refresh();//update the screen/window
+    //endwin();
+    return true;
+//    printf("render time: %f ms\n", (GetTime() - currentTime) * 1000);
+
+    //----------------------------------------------------------------------------------
+}
+
+bool reinitializeClay = false;
+
+void HandleClayErrors(Clay_ErrorData errorData) {
+    printf("%s", errorData.errorText.chars);
+    if (errorData.errorType == CLAY_ERROR_TYPE_ELEMENTS_CAPACITY_EXCEEDED) {
+        reinitializeClay = true;
+        Clay_SetMaxElementCount(Clay__maxElementCount * 2);
+    } else if (errorData.errorType == CLAY_ERROR_TYPE_TEXT_MEASUREMENT_CAPACITY_EXCEEDED) {
+        reinitializeClay = true;
+        Clay_SetMaxMeasureTextCacheWordCount(Clay__maxMeasureTextCacheWordCount * 2);
+    }
+}
+
+int main(void) {
+    WINDOW * win = initscr();
+    keypad(win, true);
+    cbreak();
+    noecho();
+    start_color();
+    mmask_t mask, oldmask;
+    mask = BUTTON1_PRESSED | BUTTON_SHIFT | BUTTON2_CLICKED | REPORT_MOUSE_POSITION;
+    mousemask(mask, &oldmask); // Assigns new mask and saves previous one
+    mouseinterval(0); // Set minimum time between mouse events
+
+    //declare x and y dimensions
+    int x = 0;
+    int y = 0;
+    getmaxyx(win, y, x);
+    uint64_t totalMemorySize = Clay_MinMemorySize();
+    Clay_Arena clayMemory = Clay_CreateArenaWithCapacityAndMemory(totalMemorySize, malloc(totalMemorySize));
+    Clay_SetMeasureTextFunction(Textui_MeasureText);//clay segfaults if this isn't defined, which is a bummer.
+    Clay_Initialize(clayMemory, (Clay_Dimensions) { (float)x*HPIXELS_PER_CHAR, (float)y*VPIXELS_PER_CHAR }, (Clay_ErrorHandler) { HandleClayErrors });
+
+    //Clay_Raylib_Initialize(1024, 768, "Clay - Raylib Renderer Example", FLAG_VSYNC_HINT | FLAG_WINDOW_RESIZABLE | FLAG_WINDOW_HIGHDPI | FLAG_MSAA_4X_HINT);
+    //profilePicture = LoadTextureFromImage(LoadImage("resources/profile-picture.png"));
+
+    //--------------------------------------------------------------------------------------
+
+    // Main game loop
+    int running = true;
+    while (running)    // Detect window close button or ESC key
+    {
+        if (reinitializeClay) {
+            Clay_SetMaxElementCount(8192);
+            totalMemorySize = Clay_MinMemorySize();
+            clayMemory = Clay_CreateArenaWithCapacityAndMemory(totalMemorySize, malloc(totalMemorySize));
+            Clay_Initialize(clayMemory, (Clay_Dimensions) { (float)x, (float)y }, (Clay_ErrorHandler) { HandleClayErrors });
+            reinitializeClay = false;
+        }
+        int ch = getch();
+        running = UpdateDrawFrame(win, ch);
+    }
+    return 0;
+}
diff --git a/examples/textui-sidebar-scrolling-container/multi-compilation-unit.c b/examples/textui-sidebar-scrolling-container/multi-compilation-unit.c
new file mode 100644
index 0000000..2c1a473
--- /dev/null
+++ b/examples/textui-sidebar-scrolling-container/multi-compilation-unit.c
@@ -0,0 +1,9 @@
+#include "../../clay.h"
+
+// NOTE: This file only exists to make sure that clay works when included in multiple translation units.
+
+void SatisfyCompiler() {
+    CLAY(CLAY_ID("SatisfyCompiler"), CLAY_LAYOUT({})) {
+      CLAY_TEXT(CLAY_STRING("Test"), CLAY_TEXT_CONFIG({ .fontId = 0, .fontSize = 24 }));
+    }
+}
\ No newline at end of file
diff --git a/examples/textui-sidebar-scrolling-container/resources/Roboto-Regular.ttf b/examples/textui-sidebar-scrolling-container/resources/Roboto-Regular.ttf
new file mode 100644
index 0000000..ddf4bfa
Binary files /dev/null and b/examples/textui-sidebar-scrolling-container/resources/Roboto-Regular.ttf differ
diff --git a/examples/textui-sidebar-scrolling-container/resources/RobotoMono-Medium.ttf b/examples/textui-sidebar-scrolling-container/resources/RobotoMono-Medium.ttf
new file mode 100644
index 0000000..f6c149a
Binary files /dev/null and b/examples/textui-sidebar-scrolling-container/resources/RobotoMono-Medium.ttf differ
diff --git a/examples/textui-sidebar-scrolling-container/resources/profile-picture.png b/examples/textui-sidebar-scrolling-container/resources/profile-picture.png
new file mode 100644
index 0000000..8c4ea3e
Binary files /dev/null and b/examples/textui-sidebar-scrolling-container/resources/profile-picture.png differ
diff --git a/renderers/textui/clay_renderer_textui.c b/renderers/textui/clay_renderer_textui.c
new file mode 100644
index 0000000..71d2cbb
--- /dev/null
+++ b/renderers/textui/clay_renderer_textui.c
@@ -0,0 +1,129 @@
+//#include <stdio.h>
+#include <curses.h>
+#define CLAY_IMPLEMENTATION
+#include "../../clay.h"
+
+#define HPIXELS_PER_CHAR 5 //these are used to convert between Clay pixel space and terminal character locations
+#define VPIXELS_PER_CHAR 8
+
+void Clay_textui_Render(WINDOW * win, Clay_RenderCommandArray renderCommands);
+
+void Clay_textui_Render(WINDOW * win, Clay_RenderCommandArray renderCommands){
+    short color_pair = 1; //increment on use, 0 is reserved
+    short color = 10; //get passed reserved colors
+    //maybe keep a list of Clay colors and only init a new color if required.
+    //clear the screen/window
+    clear();//sets cursor to 0,0
+    for(int i = 0; i < renderCommands.length; i++){
+        //handle every command
+        switch (renderCommands.internalArray[i].commandType){
+            case CLAY_RENDER_COMMAND_TYPE_NONE:
+                continue;
+            case CLAY_RENDER_COMMAND_TYPE_RECTANGLE:
+                Clay_RectangleElementConfig *rectangle_config = renderCommands.internalArray[i].config.rectangleElementConfig;
+                init_color(color, rectangle_config->color.r, rectangle_config->color.g, rectangle_config->color.b);
+                init_pair(color_pair, color, color);
+                attr_on(color_set(color_pair,0),0);
+                for(int j = 0; j < renderCommands.internalArray[i].boundingBox.height/VPIXELS_PER_CHAR; j++){
+                    mvhline(renderCommands.internalArray[i].boundingBox.y/VPIXELS_PER_CHAR + j, renderCommands.internalArray[i].boundingBox.x/HPIXELS_PER_CHAR, '#', renderCommands.internalArray[i].boundingBox.width/HPIXELS_PER_CHAR);
+                }
+                attr_off(color_set(color_pair,0),0);
+                color_pair++;
+                color++;
+                //TODO render radius corners
+                break;
+            case CLAY_RENDER_COMMAND_TYPE_BORDER:
+                Clay_BorderElementConfig *border_config = renderCommands.internalArray[i].config.borderElementConfig;
+                //just get a border on there for now
+                if(border_config->top.width > 0){
+                    init_color(color, border_config->top.color.r, border_config->top.color.g, border_config->top.color.b);
+                    init_pair(color_pair, color, COLOR_CYAN);//TODO get color at target location and init pair with that background
+                    attr_on(color_set(color_pair,0),0);
+                    mvhline(renderCommands.internalArray[i].boundingBox.y/VPIXELS_PER_CHAR, renderCommands.internalArray[i].boundingBox.x/HPIXELS_PER_CHAR + 1, '-', renderCommands.internalArray[i].boundingBox.width/HPIXELS_PER_CHAR - 2);
+                    attr_off(color_set(color_pair,0),0);
+                    color_pair++; //can we just check of the color requested is already there?
+                    color++;
+                }
+                if(border_config->bottom.width > 0){
+                    init_color(color, border_config->bottom.color.r, border_config->bottom.color.g, border_config->bottom.color.b);
+                    init_pair(color_pair, color, COLOR_CYAN);//TODO get color at target location and init pair with that background
+                    attr_on(color_set(color_pair,0),0);
+                    mvhline(renderCommands.internalArray[i].boundingBox.y/VPIXELS_PER_CHAR + renderCommands.internalArray[i].boundingBox.height/VPIXELS_PER_CHAR, renderCommands.internalArray[i].boundingBox.x/HPIXELS_PER_CHAR + 1, '-', renderCommands.internalArray[i].boundingBox.width/HPIXELS_PER_CHAR - 2);
+                    attr_off(color_set(color_pair,0),0);
+                    color_pair++;
+                    color++;
+                }
+                if(border_config->left.width > 0){
+                    init_color(color, border_config->left.color.r, border_config->left.color.g, border_config->left.color.b);
+                    init_pair(color_pair, color, COLOR_CYAN);//TODO get color at target location and init pair with that background
+                    attr_on(color_set(color_pair,0),0);
+                    mvvline(renderCommands.internalArray[i].boundingBox.y/VPIXELS_PER_CHAR + 1, renderCommands.internalArray[i].boundingBox.x/HPIXELS_PER_CHAR, '|', renderCommands.internalArray[i].boundingBox.height/VPIXELS_PER_CHAR - 1);
+                    attr_off(color_set(color_pair,0),0);
+                    color_pair++;
+                    color++;
+                }
+                if(border_config->right.width > 0){
+                    init_color(color, border_config->right.color.r, border_config->right.color.g, border_config->right.color.b);
+                    init_pair(color_pair, color, COLOR_CYAN);//TODO get color at target location and init pair with that background
+                    attr_on(color_set(color_pair,0),0);
+                    mvvline(renderCommands.internalArray[i].boundingBox.y/VPIXELS_PER_CHAR + 1, renderCommands.internalArray[i].boundingBox.x/HPIXELS_PER_CHAR + renderCommands.internalArray[i].boundingBox.width/HPIXELS_PER_CHAR - 1, '|', renderCommands.internalArray[i].boundingBox.height/VPIXELS_PER_CHAR - 1);
+                    attr_off(color_set(color_pair,0),0);
+                    color_pair++;
+                    color++;
+                }
+                break;
+            case CLAY_RENDER_COMMAND_TYPE_TEXT:
+                Clay_TextElementConfig *text_config = renderCommands.internalArray[i].config.textElementConfig;
+                attr_on(color_set(0,0),0);
+                int x = renderCommands.internalArray[i].boundingBox.x/HPIXELS_PER_CHAR;
+                int y = renderCommands.internalArray[i].boundingBox.y/VPIXELS_PER_CHAR; //text is referenced from bottom corner?
+                int w = renderCommands.internalArray[i].boundingBox.width/HPIXELS_PER_CHAR;
+                int h = renderCommands.internalArray[i].boundingBox.height/VPIXELS_PER_CHAR;
+                int line = 0;
+                int column = 0;
+                for (int k = 0; k < renderCommands.internalArray[i].text.length; k++) {
+                    if (column >= w) {
+                        column = 0;
+                        line += 1;
+                    }
+                    mvaddch(y + line, x + column, renderCommands.internalArray[i].text.chars[k]);
+                    column += 1;
+                }
+                break;
+            case CLAY_RENDER_COMMAND_TYPE_IMAGE:
+            case CLAY_RENDER_COMMAND_TYPE_SCISSOR_START:
+            case CLAY_RENDER_COMMAND_TYPE_SCISSOR_END:
+            case CLAY_RENDER_COMMAND_TYPE_CUSTOM:
+            default: continue;
+        }
+    }
+    attr_on(color_set(0,0),0);
+    mvwprintw(win, 0, 0, "Number of color pairs used: %i", color_pair);
+    refresh();//update the screen/window
+}
+
+
+//written by EmmanuelMess: https://github.com/nicbarker/clay/pull/91/commits/7ce74ba46c01f32e4517032e9da76bf54ecf7a43
+static inline Clay_Dimensions Textui_MeasureText(Clay_String *text, Clay_TextElementConfig *config) {
+	Clay_Dimensions textSize = { 0 };
+	float maxTextWidth = 0.0f;
+	float lineTextWidth = 0;
+	float textHeight = 1;
+
+	for (int i = 0; i < text->length; ++i)
+	{
+		if (text->chars[i] == '\n') {
+			maxTextWidth = maxTextWidth > lineTextWidth ? maxTextWidth : lineTextWidth;
+			lineTextWidth = 0;
+			textHeight++;
+			continue;
+		}
+		lineTextWidth++;
+	}
+	maxTextWidth = maxTextWidth > lineTextWidth ? maxTextWidth : lineTextWidth;
+
+	textSize.width = maxTextWidth*HPIXELS_PER_CHAR;
+	textSize.height = textHeight*VPIXELS_PER_CHAR;
+
+	return textSize;
+}