--- /dev/null
+Implementation of the `apitrace` command line interface.
--- /dev/null
+The dispatch layer objecting is to get public or private symbols from DLLs /
+shared objects and dispatch calls to them.
+
+It used both by the tracing wrappers (to dispatch the intercepted calls to
+their true counterparts) and when replaying traces (to dispatch the calls
+recorded on the file)
+
+All code is generated from dispatch.py Python script, which is then used in
+several places.
--- /dev/null
+Implementation of the `qapitrace` Qt-based GUI for apitrace.
--- /dev/null
+This directory contains several headers with inline functions that are referred
+in the specs for determining array/sizes.
+
+These are used both when tracing and replaying so care must be taken not to
+make any assumptions.
--- /dev/null
+This directory contains class to represent and manipulate images, in memory or
+disk.
--- /dev/null
+Utilities for injection of DLLs in Windows.
+
+Wrapper DLLs work well for self-contained APIs (e.g., OpenGL with its
+opengl32.dll), but not for APIs which are spread across multiple DLLs, in
+particular DXGI and D3D10+ APIs.
--- /dev/null
+The source for replaying retraces lives in this directory.
+
+There are actually several discting layers in this directory which should be eventually be split out:
+
+ - `*`retrace -- deserialization and interpretation of calls from a trace
+
+ - `*`ws -- windowing system helpers and abstractions
+
+ - `*`state -- dumping of state into JSON format
--- /dev/null
+This directory contains specification of several APIs in a Python class
+hierarchy.
+
+The base classes of this hierarchy are in stdapi.py.
+
+Some of this specifications are (partially) generated from other external
+specifications, by scripts in the scripts subdirectory.
--- /dev/null
+This directory contains the source for the generation of wrapper DLLs or
+preload shared-objects.
+
+The cmake targets have names different from the true DLLs/shared-objects to
+prevent collision when trying to link against the true ones.