summaryrefslogtreecommitdiffstats
path: root/HACKING
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2010-10-29 01:58:23 -0400
committerTavian Barnes <tavianator@gmail.com>2010-10-29 01:58:23 -0400
commite17db7ee6be3c56796394c96a79d267e6858cf59 (patch)
tree82d90726e5a2bf42645c2c47345554122696d779 /HACKING
parentdb0b35dcfaa2a77500393d917a2a1ef598b8bf36 (diff)
downloaddimension-e17db7ee6be3c56796394c96a79d267e6858cf59.tar.xz
New HACKING file.
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING24
1 files changed, 24 insertions, 0 deletions
diff --git a/HACKING b/HACKING
new file mode 100644
index 0000000..d57be49
--- /dev/null
+++ b/HACKING
@@ -0,0 +1,24 @@
+Here's an overview of how the code is arranged:
+
+Client (GPLv3):
+===============
+
+ENTRY POINT: dimension/main.c
+Tokenizing: dimension/lexer.l
+Language directives: dimension/tokenize.c
+Parsing: dimension/common.rules
+Extra parsing stuff: dimension/{common,grammar,directives}.*
+Tests: tests/dimension/*.{pov,sh}
+Benchmarks: bench/dimension/*.{sh,pov}
+
+Library (LGPLv3):
+=================
+
+API: libdimension/dimension.h, libdimension/dimension/*.h
+ (Implementations for libdimension/dimension/$file.h
+ are generally at libdimension/$file.c)
+Ray tracing algorithm: libdimension/raytrace.c
+Bounding hierarchy: libdimension/prtree.{c,h}
+Library internals: libdimension/dimension-impl.h and its #includes
+Tests: tests/libdimension/*.{c,cpp}
+Benchmarks: bench/libdimension/*.c