Ok, I think I'm making some progress.
I had to use a attribpromote from Point to Vertex (Cd) outside the Asset in order to preview in Houdini, and then an attribpromote Vertex to Point (Cd) inside the Asset to get the polyReduce node to use the vertex colour info in Maya.
I really think this needs explaining in the Houdini Maya workflow docs and tutorials. The fact that Houdini generally seems to use Points for data whereas Maya Maps to vertex or vertex face.
Now I've added a Python node to set the variable names as below, with my polyReduce node set to use Cd2 param. Unfortunately the order of the ‘maya_colorset_name’ tuple seems to make no difference as to which is being used for Cd2. Am I misunderstanding how maya_colorset_name maps to maya_colorset_mapped_Cd? In the example below I expected the ‘colorSet1’ to be used for my polyReduce node, but it doesn't
node = hou.pwd()
geo = node.geometry()
attributes = {
'maya_uv_name': ['uvSet1', 'uvSet2'],
'maya_uv_mapped_uv': ['uv', 'uv2'],
'maya_uv_current': 'uvSet',
'maya_colorset_name': ['colorSet_Lod', 'colorSet1'],
'maya_colorset_mapped_Cd': ['Cd', 'Cd2'],
'maya_colorset_mapped_Alpha': ['Alpha', 'Alpha2'],
'maya_colorset_current': 'colorSet1',
}
for attr_name, attr_count in attributes.items():
geo.addAttrib(hou.attribType.Global, attr_name, attr_count, transform_as_normal=False, create_local_variable=False)
geo.setGlobalAttribValue(attr_name, attr_count)