Roy Triesscheijn's collection of code libraries
Note
After cloning this repository, clone the required submodules using:
git submodule update --init --recursiveI have been writing code since 2003. I started in Visual Basic 6 and I switched to C# in 2007. Since then I have written an incredible amount of code. But, most of that code was barely tested and sits in forgotten repositories.
With CapriKit I try to organize what I write in a more reusable set of libraries with better documentation and test coverage. For myself, and maybe for others. Most of the code is focussed on game engine development as that is my favorite hobby.
I greatly enjoy the craft of programming but I make some use of AI tools for chores, maintenance and prototyping, for more information see: Responsible use of AI.
In general you can use the standard .net commands. For example, when using PowerShell.
# build the solution
dotnet build# run all tests or a single test
dotnet test
dotnet test --treenode-filter /Assembly/Namespace/Class/Methodfor example, to run all tests in the LightweightChannelTests test class
dotnet test --treenode-filter "/*/CapriKit.Tests.Concurrency.Primitives/LightweightChannelTests/*"
# formatting according to .editorconfig
dotnet format # format code# running an individual project
dotnet run --project <the project>For native C and C++ libraries (like the basis_universal submodule) I use cmake and PowerShell based build scripts.
Warning
These examples assume you are using PowerShell. When using Git Bash the / characters are silently converted to \, making the commands fail. Use powershell or set MSYS_NO_PATHCONV=1 to work around this problem.
Note
This project uses non-standard output directories. See the .build directory in the root of this repository. This keeps all source code in the source folder clean.
There is a command line utility called CapriKit.Meta that assist in publishing in a consistent way. It also contains utilities to run benchmarks and to compare if those results significantly differ from previous versions. Build the project in DEBUG mode and run it from .build\bin\CapriKit.Meta-Debug\CapriKit.Meta.exe.