Currently, some mesh primitive nodes create a uv map with the hardcoded name uv_map. This is fairly non-standard in geometry nodes. Typically, we want to output generated attributes as sockets. This would also have the benefit that the attribute does not have to be computed when it is not used.
This patch outputs the uv map as a vector from the primitive nodes. Since the generated geometry now does not contain the uv_map node anymore, an additional Store Named Attribute node is added to existing nodes to restore the old behavior.
Additionally, this patch also adds support for 2D vectors in the Store Named Attribute node (this should probably be committed separately). Also see T92765: 2D Vector Socket Type. For now, 2d vectors are still 3d vectors within geometry nodes, but when storing the attribute, 2d vectors can be used to reduce memory consumption.
This commit breaks forward compatibility in the case when the uv map was used before.
Tests have to be updated afterwards, because an attribute that was 2d before is now 3d due to the versioning code.
