476b7ded9ee7ddabdd2002441a8882d1970117b1
This makes specifying a legacy type for new node types optional (e.g. `GEO_NODE_MESH_TO_CURVE`). Instead, only the `idname` is used as a stable identifier for node types. So there is less redundancy for now. This change helps with the decentralized definition of nodes and reduces the number minimum number of files that need to be changed for a new node from 5 to 4. It especially helps when multiple nodes are worked on at the same time, because the legacy type definition was very prone to have merge conflicts. For compatibility reasons and because it's still used by existing code, the `legacy_type` is not removed. All existing nodes keep their current `legacy_type`. New nodes will receive an auto-incremented legacy type. It's still necessary to give nodes unique legacy types, because some code checks if two nodes have the same type by comparing their `legacy_type`. These types only have to be unique at run-time though. Some randomness is used to avoid depending on stable generated legacy types accidentally. Pull Request: https://projects.blender.org/blender/blender/pulls/133044
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
