Vertex paint is of type VEC3 in the json part of Nomad glb’s, in the actual data it seems to be of type VEC4 (3 floats + 1 zero). Import works fine if I edit the glb to VEC4.
Note it could also be a bug in the tiny_gltf library (which might be adding the extra 0) .
Concerning colors in layers, gltf-validator has a bug on their side (I told them so but I think they forgot about it). The khronos viewer had the same bug but it has been fixed.
Otherwise if it’s a recent Nomad file with no issue, yes it’s a bug in tinygltf.
VEC3 is the accessor, but it’s the “byteStride” that drives the padding between elements.
Plus, in Nomad’s case I export COLOR_0 in 16bit (not float) so the glTF spec forces me to add an extra padding element for 32 for alignment purpose.