force componentsPerAttribute count per semantic type. This is overlooking issues like having potentially edge-case with shared buffer for both texcoord and positions but fixes immediate important issues.