How to access vertex_color layer directly from inside BMVert
Vertex colors are stored in face loops, you can't ignore/overlook this.

However its reasonable that you might want to generate vertex colors per vertex and not have to deal with looping on vertex-loops while generating/manipulating the colors.

Your best options would be to have 2 functions for converting colors between loops and verts. This could take &amp; return array of Color objects. Then at least you can keep the conversion isolated and not complicate your color calculation logic. (If your generating new colors you only need one function to go from vertices to loops of course)