From 4146f117af1ea3ff8465dec397d16c43be296d46 Mon Sep 17 00:00:00 2001 From: Sara Date: Mon, 27 Oct 2025 14:40:56 +0100 Subject: [PATCH] chore: updated README.md --- README.md | 94 +++++-------------------------------------------------- 1 file changed, 7 insertions(+), 87 deletions(-) diff --git a/README.md b/README.md index 7e63075..b40c788 100644 --- a/README.md +++ b/README.md @@ -1,94 +1,14 @@ -# Clay SDL3 Template +# Dice GUI -## Using Template +A simple dice rolling GUI app using Clay for layout, Ceramic elements and SDL3 rendering. -### Just use [`just`](https://just.systems/man/en/) +# Compiling -Run `just set-project-name {project name}` first. +Either `git clone --recursive` or remember to `git submodule update --init --recursive`. Then `cmake -S. -Bbuild` and `cmake --build build`. Which compiles `bin/dice-gui`, which you can run. -And remember to `git remote set-url origin {repo}`. +# Code Standards -### Otherwise - -Modify the CMakeLists.txt manually, just replace CHANGEME with whatever your binary should be called. - -## Compiling - -> Remember to `git submodule update --init --recursive`! - -### Just again - -`just configure` runs cmake configuration and generates a `compile_commands.json`. - -`just build` runs the cmake build. - -### CMake works too, I guess - -`cmake -S. -Bbuild` - -`cmake --build build` - -Same as always - -## Files - -### thread_pool.h/cpp - -Thread pool used for parallel GoL generation ticking. - -### application.h/cpp - -UI and layout logic. - -### style.h/cpp - -Reusable UI styling - -### resources.h/cpp - -Font loading. - -### elements.h/cpp - -Reusable UI elements - -### input.h/cpp - -Handling of input events. - -### main.cpp: - -Entrypoint, setup, and main application loop. - -## Prerequisites - -* CMake 3.21 or higher - -* Compiler capable of C++23 and C23. - -## Dependencies - -### SDL3 - -Included as git submodule at `vendor/SDL3/` and dynamically linked. - -### SDL3_ttf - -Included as git submodule at `vendor/SDL3_ttf/` and dynamically linked. - -### Clay - -Included as files in `vendor/clay/clay.h`; Single header library. - -### Clay SDL3 renderer - -Included as files in `vendor/renderer/` and compiled as part of the project. - -> Note: Mildly modified from the official Clay_SDL3_renderer to enable more advanced styling. - -## Code Standards - -* Keep program structure as simple as possible. No `class Application {` class or other Java-isms. Prefer namespaces with static lifetime variables. +* Keep program structure as simple as possible. No `class Application` or other Java-isms. Prefer namespaces with static lifetime variables. * Use STL where possible. Don't reinvent the wheel. @@ -98,7 +18,7 @@ Included as files in `vendor/renderer/` and compiled as part of the project. * In class member functions, always use `this->` to access member variables. -* const applies to the name to it's left, so it goes after the type, not `const int x;` but `int const x`. +* `const` applies to the name to it's left, so it goes after the type, not `const int x;` but `int const x`. * \* and & flush with the declaration name. `Type const &Function(Type &inRef)`