Socket Shapes Design

Shape in Prototype Input Meaning Output Meaning
Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More โ†’
Multiple Supported Types Multiple Possible Types
Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More โ†’
Requires Single Value Is Single Value
Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More โ†’
Requires Field Is Field
Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More โ†’
Requires Grid Is Grid
  • Still need a name for these differences. Currently I call it the Structure Type.
  • Structure type of group inputs.
    • Image Not Showing Possible Reasons
      • The image was uploaded to a note which you don't have access to
      • The note which the image was originally uploaded to has been deleted
      Learn More โ†’
    • By default it is automatically determined if possible.
    • Can be choosen manually.
  • Structure type of group outputs.
    • Currently, I think it's possible to automatically determine it in all cases.
    • If not, we need the same dropdown for outputs too.
  • There is no visible inferencing between nodes.
    • E.g. currently the math node changes its socket shapes depending on what you connect. That would not happen anymore.
    • The socket shapes describe the behavior of a node on its own.
    • There is automatic inferencing for the group inputs/outputs though.
  • The link visualization of fields can still work as before.
    • It's somewhat nice to not communicate the field state twice (before the diamond shape and dashed lines communicated pretty much the same).
  • For field inputs, there is no difference anymore between sockets that have a default field value and those that don't like we had in the Set Position node.
    • Image Not Showing Possible Reasons
      • The image was uploaded to a note which you don't have access to
      • The note which the image was originally uploaded to has been deleted
      Learn More โ†’
    • This may require a new visualization, or we say that socket inspection is good enough.
  • Actual socket shapes (besides what is used in the prototype).
    • For single values we could start using line sockets based on a design by William Reynish.
      • Image Not Showing Possible Reasons
        • The image was uploaded to a note which you don't have access to
        • The note which the image was originally uploaded to has been deleted
        Learn More โ†’
    • If the line socket is used for single values, then we could use the circle for "dynamic" types.
      • Need to think about whether it's fine to change geometry/data-block/shader(?) sockets to use the thin socket too.
    • The diamond shape for fields is probably good to keep.
    • Still need proper socket shapes for Volume Grid, List and Image (+ Single?).