Directory Structure
Each top-level directory in the Ensemble source code tree represents a separate project within Ensemble. This project ideally has a namespace override (e.g. the project BCL actually uses the namespace System). Within that, each folder represents one namespace addition, e.g. BCL/Collections represents System.Collections. Note that more than one namespace addition is allowed per folder (e.g. BCL/Collections.Generic), but is PROHIBITED where one of the namespace additions is shared (e.g. BCL/Collections and BCL/Collections.Generic is NOT allowed).
Example:
Kernel (using namespace Ensemble.Kernel)
BootEntry.cs
IO
IOManager.cs
Platform
X86
X86_64
OCJ (using namespace OCJ)
Compiler
Native
X86
Compiler.cs
ECL (using namespace System)
String.cs
BCL (using namespace System)
Collections
Generic
List.cs