in native/src/work_asset/construct.rs [192:204]
fn map_variants(&self, variant_ix_lookup: HashMap<usize, Tag>) -> Result<Vec<Vec<HashMap<Tag, MeldKey>>>> {
let map_material = |(tag, ix): (&MeldKey, &usize)| -> Result<(Tag, MeldKey)> {
Ok((tag.to_string(), self.material_keys[*ix].to_owned()))
};
let map_primitive = |p: &Primitive| -> Result<HashMap<Tag, MeldKey>> {
let variant_map = extension::extract_variant_map(p, &variant_ix_lookup)?;
variant_map.iter().map(map_material).collect()
};
let map_mesh = |m: &Mesh| -> Result<Vec<HashMap<Tag, MeldKey>>> {
m.primitives.iter().map(map_primitive).collect()
};
self.parse.meshes.iter().map(map_mesh).collect()
}