strict graph OS {
    layout=dot;
    ModelingSoftware -- GraphicsAPI;
    ModelingSoftware -- HID;
    ModelingSoftware -- VFS;
    
    GameEngine3D -- GraphicsAPI;
    GameEngine3D -- VFS;
    GameEngine3D -- AudioSubsystem;
    GameEngine3D -- HID;
    GameEngine3D -- Networking;
    
    Git -- VFS;
    Git -- Networking;
    
    ListFile -- VFS;
    MakeFile -- VFS;
    
    AudioSubsystem -- AbleOSInterface;
    GraphicsAPI -- AbleOSInterface;
    HID -- AbleOSInterface;
    Networking -- AbleOSInterface;
    
    FatFileSystemProc -- VFS;
    NTFSFileSystemProc -- VFS;
    EXT2 -- VFS;
        
    FatFileSystemProc -- DriveSystemProc;
    NTFSFileSystemProc -- DriveSystemProc;
    EXT2 -- DriveSystemProc;
    
    
    DriveSystemProc -- AbleOSInterface;
    
    AbleOSInterface -- DriveSystemProc;
    AbleOSInterface -- Kernel;


    Kernel -- x86HAL;
    Kernel -- riscvHAL;
    Kernel -- aarch64HAL;

    x86HAL -- GPU;
    riscvHAL -- GPU;
    aarch64HAL -- GPU;

    x86HAL -- SoundCard;
    riscvHAL -- SoundCard;
    aarch64HAL -- SoundCard;
}