So how come the bones/hoofs/cartilage/etc don't get generified into the generic animal type like leather does?
The butchering reactions generate CORPSEPIECEs based on the animal they come from, not the
materials of the animal they come from. In order to generify them I'd need to be able to modify the butchering reactions, and those are hardcoded. (This would be necessary, but might not be sufficient - dealing with corpses through reactions is tricky business.)
The reason meats, fat and skin aren't similarly tied to their creatures is because they're not CORPSEPIECEs - they're MEATs and GLOBs.
IIRC, with the exception of the megabeasts & [INTELLIGENT] creatures, products
made of bones, hooves, & teeth should be generic.
Warning: rambling follows.
It would be possible to
somewhat generify body parts by creating dummy animals for each different
category of animal, where the categories are an intersection of average size and what sorts of products they're supposed to produce. For example I could make a generic woolbeast, and make every wooly animal drop a woolbeast corpse instead of its own corpse. However, this has the strong drawback that a newborn lamb would drop a corpse with the same amount of meat, bones & wool as a full-grown ram. This could be worked around with child castes and timed transformation syndromes, but this would require at least 2 new castes, interactions, and syndromes per creature, and I don't think it would be worth it in either development time or performance enhancement. Hell, it might actually
reduce performance, as critters tend to spam interactions, and there would be a bunch of ticking syndromes to track.