This patch adds support for disabling outputs in built-in nodes based on menu inputs using a custom usage_inference callback. This just essentially calls usage_inference_fn for outputs as well, while it was only being called for inputs. Additionally, the usage_by_menu methods were adjusted to only consider outputs if it is being called on inputs. Some types were renamed to be more general, and not just for inputs. Pull Request: https://projects.blender.org/blender/blender/pulls/148132