As can be seen in the mockups, it is still possible to write to attributes by name and to retrieve data from attributes by name.
Loops are not part of this proposal. They can be discussed separately.
Sure.
Seeing the partially evaluated geometry in edit mode and being able to select parts of it, is not part of this proposal.
No, it just means means that the Attribute Processor would not be necessary if this proposal would be accepted. While I do not know exactly how you’d generate new geometry just from fields, I’m sure there are ways. The proposed system does not have this inherent limitation that the Attribute Processor has.
No, a list is a finite ordered sequence of values (for me in this context anyway). A field is a function that computes a single value based on some inputs. I wouldn’t say these things are the same. I might be possible to see a list as a special case of a field, but not really because a field does not have a length.
When you have a field, you usually shouldn’t think of it as multiple values, but as a single value (this is why it is possible to reuse the existing sockets). Operations on lists (like append, shift, reverse, …) don’t really make sense on fields. However, I do see value in these kinds of operations for some tasks, so I think have lists in geometry nodes in addition to the fields system would be valuable.
Just to think this a bit further: If we support lists, we can also me the field system work for them. So a vector list socket would be a vector list field. This could be useful if you want to access e.g. all the positions of connected vertices to the “current” vertex.
There is certainly a bit more overhead when everything is treated as a field internally. However, I doubt that this will have a noticeable impact on performance. That’s mainly because the overhead is in the order of O(number of sockets)
instead of O(amount of data being processed)
.
The existing concept of attributes on geometry is not going anywhere. All the existing nodes can still work if this proposal is accepted. It’s just that they offer a much worse workflow. I do not know yet how we will handle the existing nodes. We could just change the nodes that are easy to write versioning for and just leave the others as they are.
That’s a separate topic. It is handled as part of the compact nodes discussion.