New api: generate mappings from a descriptor object