This implements the update logic for the fields visualization. The socket shapes may still have to be updated. That should be done separately, because it might be a bit more involved, because socket shapes are currently linked to keyframe shapes. Currently the circle and diamond shapes are used with the following meanings:
- Input Sockets:
- Circle: This input is required to be a single value. Connecting a field here is an error.
- Diamond: This input supports fields.
- Output Sockets:
- Circle: This output is a single value.
- Diamond: This output may be a field.
Those definitions have the benefits that they (1) only require two different socket shapes and (2) compose well when used with node groups.
Another video with three socket shapes. Also it shows improved support for sockets that have a field as input implicitly (Noise Texture and Set Position).
