701f90c677cacfd2fa377249a3463128848c8a38
Ref #104280 The scaling of area light / spot light blend was wrong because it is calculated for pivot at the edges. The new implementation in theory works for all `abs(pivot) <= 0.5f`, although we only have -0.5, 0, and 0.5. - Axis constraint for box cage was only applied when there is translate flag, now the same logic is applied regardless of the translate flag, this means when dragging the edge, the scaling in the other axis stays the same; when dragging the corners, it applies free-form scaling. - Due to the existence of margin, `data->orig_mouse` does not lie exactly on the boundary. Using that value to compute the scaling causes the error to accumulate over distance. The new implementation uses the original dimension of the object instead, and only uses `data->orig_mouse` to determine the side of the original cursor relative to the pivot. - For circular gizmo with unsigned scaling, the gizmo only follow the cursor exactly when the cursor stays in the original quadrant, otherwise it's hard to handle the logic when we should clamp the scaling.
…
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%
