All rendering is done on CPU and the final image is uploaded to the GPU.
This Vulkan implementation is not a trivial one. Only when necessary, memory allocations are done. All data is loaded during startup, hence a lot of opportunity to optimise for specific use case.
Quaternions are now used for rotation...