Only took me 3 weeks.Eh that at least was a reasonable mistake. You can at least follow the logic of what you were thinking
So the issue was that I was using a pointer to set up my variable length arrays. So then when I foolishly used sizeof during the call to copy the array to the buffer, it was taking the size of the pointer instead of the size of the array.
So then there wasn't enough information for a color or vertex.
That was my stupid mistake.
But now it works!!!