Here's an overview of how the code is arranged: Library (LGPLv3): ================= API: libdimension/dimension.h, libdimension/dimension/**/*.h Ray tracing algorithm: libdimension/render/render.c Bounding hierarchy: libdimension/bvh/prtree.{c,h} Library internals: libdimension/internal.h, libdimension/internal/*.h Tests: libdimension/tests/*.{c,cpp} Benchmarks: libdimension/bench/*.c Implementations for libdimension/dimension//.h are generally at libdimension//.c Python Module (LGPLv3): ======================= Implementation: libdimension-python/dimension.{pyx,pxd} Platform-specific components: libdimension-python/platform.{c.h} Tests: libdimension-python/tests/*.py Client (GPLv3): =============== Implementation: dimension/dimension.in Tests: dimension/tests/*.dmnsn