import vulkan , gpu , swapchain , vkTypes , buffer , depth_stencil , render_pass , uniform_buffer , graphics_pipeline type Vulkan_Record_Object = object of RootObj command_pool*: VkCommandPool vk_device*: VkDevice gpu*: GPU graphics_queue*: VkQueue instance*: VkInstance logicalDevice*: VkDevice presentQueue*: VkQueue queue*: VkQueue swapchain*: Swapchain semaphores*: Semaphores pipeline_cache*: VkPipelineCache frame_buffers*: seq[VkFramebuffer] currentFrameBuffer*: uint32 instanceExtensions*: cstringarray ieLen*: int deviceExtensions*: cstringarray deLen*: int framePrepared*: bool qfi*: QueueFamily qfps*: seq[VkQueueFamilyProperties] qni*: uint32 submitInfo*: VkSubmitInfo draw_command_buffers*: seq[VkCommandBuffer] fences*: seq[VkFence] presentCompleteSemaphore*: VkSemaphore renderCompleteSemaphore*: VkSemaphore current_viewport*: VkViewport readyFrame*: bool master_vertex_buffer*: Buffer master_index_buffer*: Buffer master_uniform_buffer*: Buffer Vulkan_Record* = ref object of Vulkan_Record_Object