Rename "Animation data-block" to "Action" or "Layered Action", where
appropriate. Some uses of the term actually refer to the `AnimData`
struct, in which case they were left as-is.
No real functional changes, just changing some messages & descriptions.
Pull Request: https://projects.blender.org/blender/blender/pulls/124170
Rename 'Binding' to 'Slot'. The old term was causing all kind of
confusion, and 'slot' was considered to be a better term for the
intended functionality.
This commit breaks existing blend files that were using the new layered
Action for their animation. The animation data will be lost due to the
rename, as there is no versioning code or DNA renaming logic. At this
time the new system is still marked as experimental, so shouldn't be
used for anything serious anyway.
Pull Request: https://projects.blender.org/blender/blender/pulls/124170
Some users were concerned that the tooltip wasn't clear enough on
indicating that Blender doesn't really inforce an offline mode.
The final text was a collaborative effort together with the UI team and
participants from the user-interface-module chat.
The tooltip talks about internet instead of specifically extensions or
repositories to leave room to be used in the future for other things
(e.g., for Blender to check for new release updates).
Some users were concerned that the tooltip wasn't clear enough on
indicating that Blender doesn't really inforce an offline mode.
The final text was a collaborative effort together with the UI team and
participants from the user-interface-module chat.
The tooltip talks about internet instead of specifically extensions or
repositories to leave room to be used in the future for other things
(e.g., for Blender to check for new release updates).
Caused by 396ad5db83
It is possible that some edge collapsing of non-manifold mesh will
eventually result in extra wire edges, and loose vertices. This was
not properly handled in the boundary checks, assuming that all
modifications preserve mesh manifold.
This fix avoids the crash by adding nullptr check in the boundary
check.
While this is not fully ideal from the result perspective, it is
a safe change for 4.2. Ideally the wire edges and loose vertices
will be removed, but this is a bigger and more risky change. Also,
in Blender 4.0 it was possible to generate loose geometry in
dyntopo as well, so it just a general improvement to happen (and not
a regression).
Pull Request: https://projects.blender.org/blender/blender/pulls/124236
Part of #118145.
Note that topology relax isn't affected here, only the slide part of the
brush. I did make one small logic change-- the brush strength is now
applied to the final translations rather than taken into account when
adding the influence from every vertex neighbor. The behavior doesn't
seem meaningfully different that way and it's easier to use common
utilities.
Allow inserting duplicate keys of visible drawing when using sculpt tools.
Added new variable `is_tool_supported` to include cases where
duplicating drawings is required.
Pull Request: https://projects.blender.org/blender/blender/pulls/124087
This moves the core of the cutter tool to
`ed::greasepencil::cutter::trim_curve_segments`.
This is in preperation for the draw tool which
also needs to be able to trim the stroke.
No functional changes expected.
Some errors were reported as warnings because they didn't prevent the
operation from completing (such as failing to remove some paths when
uninstalling).
Change message types for the extensions internal command line program:
- Add "fatal error" to use when an operation fails and exits with a
non-zero error code.
- Use "error" when an operation fails which doesn't prevent other
actions from succeeding.
- Use "warn" reporting issues what don't prevent the operation
from completing but may cause problems.
EEVEE Raytracing on Intel Arc wasn't working as there were no rays
generated. The reason was that the raytract tile compact shader
didn't set count the correct tiles it needed due to atomic operations
that were initialized without atomic.
This PR solves the issue by using atomic operations to initialize
the counts. We also tried memory barriers but that didn't fix the
problem.
Other shaders were also tested if they have this issue, but they were
setup in a specific shader or where done using a race condition (SSS) which
is working.
Pull Request: https://projects.blender.org/blender/blender/pulls/124213
Instead of making the dark outline be bright for active but unselected
strips, make it have dark outline just like all other strips,
and a 1px inner bright line inside of that.
Pull Request: https://projects.blender.org/blender/blender/pulls/124210
Because a thumbnail image can get cropped, we can not calculate
horizontal zoom factor once for all thumbnails. Cropping happens
at integer coordinates, so recalculate zoom_x for each thumbnail
based on final image size.
Pull Request: https://projects.blender.org/blender/blender/pulls/124178
Old python STL exporter, as well as other exporters like OBJ,
reverse the face order when object being exported has odd number
of negative scales in the matrix. The C++ STL exporter was lacking
that, resulting in the exported object looking "inside out".
The extra branch inside triangle export inner loop has no measurable
performance impact, probably because it is entirely predictable.
Pull Request: https://projects.blender.org/blender/blender/pulls/124219
The issue was that the `OBJECT_OT_shape_key_clear` ignored
the slider limits and always reset the value to 0.
Judging by the commit introducing that operator (2e74a6ba30fe0357338e032f22db3eb3795c0b6f)
the idea was to quickly disable all shape keys.
That means this PR changes that meaning slightly, so I updated the description.
I can foresee a potential issue where users expect the current behavior
with the use case to actually disable all shapekeys.
Given that we have an option now to disable a shapekey without
changing its value (the checkbox) we should look into making a different operator
that utilizes that instead of modifying the value property.
Pull Request: https://projects.blender.org/blender/blender/pulls/123889
When linking object data between two armatures the selection would not work
on the armature which got the new armature data assigned.
That is until a bone is added or something else is done to the armature that triggers a rebuild.
The fix is to trigger the rebuild in the link operator.
This only fixes this particular issue, the issue of bone selection sync between armature instances
is not fixed, but tracked in this report #117892
Pull Request: https://projects.blender.org/blender/blender/pulls/123743
When dropping an extension into Blender, check if the extensions is
part of a remote repository which is then used to set the default
repository.
This makes it more convenient to download larger extensions from
remote repositories using a web-browser & drop them into Blender after,
rather than dropping the URL directly into Blender.
Part of #118145.
Remove the iterator macro and the "sculpt mask write" abstraction.
A few mask utilities have been added/moved to the common mask
code. They'll be useful in a couple more places including the mask
filter.
TODO: Still needs to be tested
Pull Request: https://projects.blender.org/blender/blender/pulls/124131
Retiming versioning used incorrect source for strip length, so produced
inverted strips. Also it tried to scale sound strips by `speed_factor`,
but sound strips did not change length when retimed.
Finally, the original versioning code was in versioning_300.cc file,
even though it was released with 4.0 version.
Pull Request: https://projects.blender.org/blender/blender/pulls/123144
With the latest fixes of #124061, the `pipelines.volume.is_enabled`
predicate is now obsolete.
Replace it by `!current_objects_.is_empty()`.
Fixes#124159
For text objects, current code will use another font if you ask for
a character that is not found in the selected font. But what if the
selected font is invalid? This can happen with a saved Blend that uses
a non-packed font that is since deleted. Current behavior will show
nothing. This PR restores earlier behavior where we use the built-in
font in this case. This does not make any changes to error reporting.
Pull Request: https://projects.blender.org/blender/blender/pulls/124184
This commit does multiple things:
- It checks `is_behind_occluder` in all non-extrapolated
cases. This avoid false positive hit caused by tracing
basis X axis being almost parallel to the light.
- It checks time only on the last sample. This avoid
light leaking when the ray poke through some solid
objects because of raymarching steps.
- Add bias to `is_behind_occluder` to avoid
precision issues when ray is parallel to the light
direction.
This reduces noisy area lights but there are still issue
very close to them.
Fixes#123588