This patch removes the Auto Render option from the compositor. This is
done for the following reason:
- The option didn't really work except in the case of transforming an
object. So it wasn't really reliable.
- It made little sense to use since the introduction of the Viewport
Compositor.
- It had a number of UX issues, including the fact that it can't be used
with animation playback, and the fact that rendering can get in the
way of the UI depending on the preferences for temporary editors.
Pull Request: https://projects.blender.org/blender/blender/pulls/123132
These utiltities aren't really specific to the scrape brush; they're used elsewhere
too. With simpler names it feels better to put them in the common utilities file
so they can be shared more easily.
Pull Request: https://projects.blender.org/blender/blender/pulls/123152
Negative values for the strength should be clamped to 0.0f for this
brush to behave correctly. Without this, holding CTRL and doing a stroke
results in weird deformations.
Pull Request: https://projects.blender.org/blender/blender/pulls/123142
Part of #118145.
Since only multires was supported, this was simpler. The grid iteration has
more boilerplate code than I'd like, but that can be improved later on.
Use of the "proxy" system is unnecessary here (as it is in general) and it's
removed in this commit.
Pull Request: https://projects.blender.org/blender/blender/pulls/123101
Part of #118145.
Like the draw brush, the overall API is still in progress, and in particular
duplication will be reduced in the future. But this brush already reuses
quite a bit of the utilities from the draw brush. A new utility is added for
finding vertex neighbor indices as well.
Overall I found this about 8% faster than the smooth brush in main already.
Pull Request: https://projects.blender.org/blender/blender/pulls/122906
Fixing a bug which was causing forward-slash separators in
skeleton joint paths to be replaced with underscores, resulting in
invalid skeletons.
This was inadevertantly introduced in 9ad2c7df0b. I should
have caught this when I reviewed #122471.
Pull Request: https://projects.blender.org/blender/blender/pulls/123031
This is kind of wrong fix from the perspective of properly maintaining dependencies
of static libraries, but having cyclic dependencies and whole-archive for the test suit
makes it very hard to do things properly.
Pull Request: https://projects.blender.org/blender/blender/pulls/123123
Render border is stored either in the current View3D data (UI data, not
undoable), or in Scene's render data when in camera view (only undoable
case).
This commit removes the `UNDO` flag of the related operators, and
instead manually pushes an undo step when executed in camera view.
Pull Request: https://projects.blender.org/blender/blender/pulls/122767
The VSE timeline strip thumbnail code seems to have at least two issues:
Sometimes the thumbnail would go 1px outside of the right side of the strip
itself. This seems to be caused by floating point inaccuracy where current
thumbnail position is tracked in "fractional timeline frames" instead of some
integers like pixels. The last, often clipped, thumbnail would thus spill over
outside of the strip. Fixed this by making sure the last pixel column of the
strip is not included into thumbnail drawing (pointless to draw there since it
is always covered by strip border).
Another problem was that the first thumbnail of the strip was often incorrectly
clipped and the last pixel from it was removed, and so it was leaving a pixel
gap between first and other thumbnails. This was under "Set the clipping bound
to show the left handle moving" comment, where due to inclusive range check it
was always causing the "clipped" part to be set to true for the first thumb.
Also while trying to untangle all of this, moved variables closer to their
usage. Some of them were only used inside the thumb loop but were declared in
whole function (probably coming from when it was C code).
Pull Request: https://projects.blender.org/blender/blender/pulls/123119
Part of #118145.
Reuse the draw brush code, since the brushes are exactly the same
except with a different offset direction. There may be better ways to
share the code besides defining them in the same file, but it doesn't
really matter either way currently.
Part of #118145.
The inflate brush is also very simple. Compared to the draw brush,
it just uses the normal as an offset instead of a global one calculated
from surrounding vertices.
Part of #118145.
This brush is exactly the same as the fill brush, except with the check
for which side of the brush plane each vertex is on removed. This
commit introduces more duplication than we'll have eventually.
Part of #118145.
These two are almost exactly the same. The difference between them
is just an inverted condition and negating the radius. That can be changed
later, maybe by implementing a more advanced fill algorithm. But for the
purposes of this refactor, mainly keep the duplication. I just shared two
functions as a compromise to not duplicate *everything*. It also shows
the reader that the implementations are currently linked without fully
conflating the two and making future changes harder.
Pull Request: https://projects.blender.org/blender/blender/pulls/123038
7413031dd6 introduced an error and related warning when generating Py API docs:
```
/blender/doc/python_api/sphinx-in/bpy.app.translations.rst:132: ERROR: Unexpected indentation.
...
/blender/doc/python_api/sphinx-in/bpy.app.translations.rst:132: WARNING: Lexing literal_block 'See :func:`pgettext` notes.' as "python3" resulted in an error at token: '`'. Retrying in relaxed mode.
```
Pull Request: https://projects.blender.org/blender/blender/pulls/123097
Currently we have to maintain an array of deformed positions on the
PBVH for historical reasons (once all brushes are refactored it can be
removed). The ported brushes handled it incorrectly though-- they
applied the inverse deformation to the translations applied to the
deformed mesh. Instead we have to apply the inverse deformation
after updating the PBVH's deformed positions.
Pull Request: https://projects.blender.org/blender/blender/pulls/123087
Asset library loading uses the file browser backend (file-list), so it
would use the same job type. The job system makes sure that jobs of the
same type (or actually, with the same start callback)
wait for others of the same type to finish. This can be a problem here,
since loading asset libraries (which can take a while) could conflict
with regular file browers. Having both run in parallel is no issue, they
use local data only.
Also see #123033 to address the added TODO comment.
Fixes#121235
Pull Request: https://projects.blender.org/blender/blender/pulls/123027
When converting GPv3 object with zero drawings to curves, Blender crashes
due to accessing invalid drawing/offset value.
With `curve to mesh` node, the evaluated `gemoetry_set` had
a dummy GPv3 object data with zero drawings, see
`BKE_grease_pencil_data_update`. Hence, the crash in
`object_convert_exec` while accessing the offset array.
Pull Request: https://projects.blender.org/blender/blender/pulls/123067
Previous commit that made VSE strip controls not be blurry (91fa37fecb)
applied "snap to pixel grid" in a wrong place - the rectangle corners
should be snapped, not the center and half-size of it.
Pull Request: https://projects.blender.org/blender/blender/pulls/123065
The documentation of some of `BKE_animsys_nla_remap_keyframe_values()`'s output
parameters were unclear/misleading, in particular making it unclear how those
output parameters should be used/interpreted by calling code.
This commit attempts to improve that, in particular trying to make it clearer
what actions calling code can/should take based on the returned output
parameters.
Pull Request: https://projects.blender.org/blender/blender/pulls/123081