"Awareness" refers to an entity's view of the surrounding world with
regards to how the entity could navigate. We use Recast/Detour to build
a navmesh for the entity.
However, since each world can have many NPCs, each one with their own
mind, we don't want to keep a complete navmesh for each single mind.
This will quickly become expensive. Therefore we want to share
awarenesses between multiple entities of the same type. So, for example,
all fishes handled by the same ai client will share one single awareness
of the world.
This to some degree involves some cheating, since AI minds now might get
knowledge of the world they otherwise wouldn't have. We consider this to
not be such a big issue. If this is unacceptable for some worlds these
should then disable awareness sharing and take the resource hit.
Since this format both is easier to write, more widely known and
actually can be read without problems "raw".
Only thing that doesn't really work when reading the raw markdown is the
links, since we need to use the @ref format.
* dox/cyphesis/Thing.py, dox/cyphesis/__init__.py: Add a tree of
stub python files used to document the API exposed by the C++ core.
* Doxyfile-python: Trim the directories down to the top level, and
turn on recursion.
* Doxyfile, Makefile.am, configure.ac, index.dox,
data/architecture.dox, dox/Makefile.am, dox/architecture.dox,
dox/index.dox: Move the non-embedded documentation into its
own directory to keep the root a bit cleaner.