4bf34d9591a30247e89fa670fa69df4e72a1b5cc
Currently each node's position is stored in the coordinate space of its parent. To find the location of a node on the canvas, we have to apply the translation of each of its parents. Also, nodes have hidden "offset" values used while transforming frame nodes. Together, those made the system much more complicated than necessary, and they made the Python API ineffective. This commit removes usage of the offset values and moves nodes to be stored in the "global" space of the node canvas. It also resolves some weird behavior when resizing frame nodes, and fixes a few bugs. The change is forward compatible, so we still write files with nodes in the old parent-space format. In 5.0 the conversion when writing can be removed. The existing Python API also stays the same. A new "location_absolute" property gives node locations in global space, and changing the old property also moves the child nodes of frames. Resolves #92458, #72904. Pull Request: https://projects.blender.org/blender/blender/pulls/131335
…
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%
