Go to file
2026-04-06 11:24:46 -05:00
src remove unused layers 2026-04-06 10:11:28 -05:00
.gitattributes replace granular gpu sync, access, & texture-layouts with queue-exclusive/shared layouts & tracked sync 2026-03-05 07:07:00 -06:00
.gitignore bomb wip 2026-02-20 18:49:29 -06:00
build.bat text box mouse selection & caret interpolation 2026-04-03 00:35:07 -05:00
readme.md readme 2026-04-06 11:24:46 -05:00

Building


Run build.bat from a terminal with MSVC/Clang available.

Codebase structure


This codebase is organized into a series of layers with acyclic dependencies, denoted by the file tree and by namespacing in source code. The .lay files that exist alongside each layer specify these dependencies along with things like source files, CPU/GPU linkage information, and binary assets to embed with the layer. These files are parsed by the metaprogram (controlled by build.bat) in order to assemble the final executable. The base layer is the only layer that doesn't adhere to these rules, so that the metaprogram can itself depend on it.

Other than .lay files, there are three types of source files present:

  • .c/.h C code
  • .g/.gh HLSL code
  • .cg/.cgh Combined C/HLSL code, mostly used to share structures/definitions for CPU <-> GPU communication

Media


For project media, see https://projects.cagori.com/#power-play