classDiagram namespace ConjureEngine { class Application { + Run() int + Tick(double deltaTime) void } class Window { + std::shared_ptr~SDL_Window~ m_window; + std::shared_ptr~VulkanContext~ m_vulkanContext; } class VulkanContext { - uint32_t m_extensionCount - char** m_extensionNames - VkInstance m_vkInst - uint32_t m_physicalDeviceCount - std::vector~VkPhysicalDevice~ m_physicalDevices - VkPhysicalDevice m_selectedDevice - uint32_t m_queueFamilyCount } } Window "1" *-- "1" VulkanContext