Anyway, I believe that the right way how to study U++ sources is to use some examples. These
a) Will list just packages necessary for given problem
b) Will allow quick navigation through sources
Directory structure is certainly very different from "standard". However, all weird concepts you can meet with U++ directory structure are direct responses to solve problems with "traditional" approach.
E.g.:
- all (re)sources for package (source unit) should be contained in single directory (-> no separation of include files from sources)
- this directory should not contain intermediate and output files (.obj, .lib, .exe), these should be put somewhere else (e.g. so that you can simply delete the whole folder when running out of space)
- each package should now what else packages it needs to run (handled by TheIDE package system)
- system has to be independent from fixed locations, while allowing to place sources anywhere, even in multiple dirs) (->assembly concept)