Instead of storing an optional in the runtime data of each node, move the field status for the socket to an array in the node tree's runtime data. This wasn't possible before because selecting nodes reordered nodes which caused too much cache recomputation. The benefit is having less geometry-nodes specific data in the node socket runtime struct, and a slight move to a more data- oriented storage format. Pull Request: https://projects.blender.org/blender/blender/pulls/131822