In the attribute workflow with fields some sockets/links contain data while some contain functions that only compute data later on. The goal of this task is to decide how we want to visualize different aspects of this design in the node editor.
In earlier discussions we noticed that there are numerous aspects that can be visualized. Showing all different aspects at all times will probably overload the ui. Therefore, part of this task is to prioritize it is to visualize different aspects. The most important aspects can then always be shown, while other aspects are e.g. only visible in tooltips or when creating new links.
Aspects that can be visualized:
* Inputs that only allow data (includes geometry inputs).
* Inputs that allow fields that are evaluated by this node.
* Inputs that allow fields that are only passed through.
* Outputs that are pure data.
* Outputs that are fields.
* Fields that only depend on built-in, named or derived attributes (those can generally be used on every geometry).
* Fields that only depend on anonymous attributes (those can only be used on "downstream" geometries that contain the anonymous attribute).
* Fields that depend on both.