Now messages for loading the preferences are logged instead of printed,
with additional logging for the startup file.
Access with the argument --log "wm.files"
Custom command-line actions would print that the preferences were
loading which distracts from the commands output.
Regular blend files loading still prints a message.
During work on GeometrySet import it was discovered that periodic
(cyclic) bezier curves do not need their first control point repeated
in the actual scene description.
The USD API documentation was a bit unclear on this aspect but this has
been confirmed informally on the AOUSD forum and emperically using
another implementation.
This patch removes the duplicated start point during export.
Pull Request: https://projects.blender.org/blender/blender/pulls/119185
Add support for add-ons to define commands using the new argument
`-c` or `--command`.
Commands behave as follows:
- Passing in a command enables background mode without the need to pass
in `--background`.
- All arguments following the command are passed to the command
(without the need to use the `--` argument).
- Add-ons can define their own commands via
`bpy.utils.register_cli_command` (see examples in API docs).
- Passing in `--command help` lists all available commands.
Ref !119115
"Own" (the adjective) cannot be used on its own. It should be combined
with something like "its own", "our own", "her own", or "the object's own".
It also isn't used separately to mean something like "separate".
Also, "its own" is correct instead of "it's own" which is a misues of the verb.
Reverting aa328e898e as this causes unintended changes elsewhere. Even
if made more conservative with just allowing UI_LAYOUT_PANEL and
force_menu. Will need further investigation for a better solution.
Pull Request: https://projects.blender.org/blender/blender/pulls/119187
Currently UI_BTYPE_POPOVER with icon and without text will get enough
extra padding to fit a downward arrow, only if in a header region. This
PR allows it to get the same padding in other areas when "force_menu"
is true.
Pull Request: https://projects.blender.org/blender/blender/pulls/119181
This class was just used to hold some functions which can just as well
be declared static outside of any class. It was never even instantiated.
Removing the class removes some indirection in this file that made
the code less readability, and avoids misleading readers.
Pull Request: https://projects.blender.org/blender/blender/pulls/119137
Consider offset caused by transform and translate nodes in backdrop.
Affected nodes are:
- Corner Pin
- Sun Beams.
The behavior is now slightly different for rotated images (using a transform or rotate node) compared to Tiled compositor: the gizmos might move when image is rotated. The reason is the Full Frame compositor changes the image dimensions after rotation
Pull Request: https://projects.blender.org/blender/blender/pulls/119025
Did not realize it, but original commit was re-generating some 'static'
strings (at modifier level) for each and every processed FCurves!
Now create these base RNA paths only once per modifier, outside of the
lambda callback.
The new operator "View in Graph Editor" (#114407) only looked at the selection
when generating the FCurve bounds.
This failed in certain cases if things are not selected, or not selectable.
The simplest example is to key the emission strength of the world settings and
try to view that.
This was mentioned by Jonathan Lampel on the PR #114407
The fix is to also resolve the bounds of the animation data on the button.
This means for a few FCurves the bounds might be calculated twice but it
doesn't change the overall result.
This has another side effect though:
The Graph Editor might zoom into an area where there is no FCurve
visible because the thing is not selected so it isn't shown.
This issue existed before if filters were applied, but is now more pronounced
since by default the Graph Editor doesn't show unselected objects.
A warning is raised when at least one of the FCurves that are viewed is not
visible with the current filter settings. The view will still zoom into that area.
Pull Request: https://projects.blender.org/blender/blender/pulls/118658
Introduce new DNA for the `Animation` data-block and its sub-data.
This includes the blenkernel code for reading & writing to blend files,
and for memory management (freeing, duplicating). Minimal C++ wrappers
are included, with just the functionality needed for blenkernel to do
its job.
The Outliner code is extended so that it knows about the new data-type,
nothing more.
For more info, see issue #113594.
Pull Request: https://projects.blender.org/blender/blender/pulls/119077
Fix 'unused variable' warning in release-mode builds. The variable is
only used in a `BLI_assert`.
I've assumed that the call to `BKE_sculpt_object_pbvh_ensure()` is still
important, and not just there for the assertion.
No functional changes.
Pull Request: https://projects.blender.org/blender/blender/pulls/119158
Caused by 9c1da81a4c.
This happened in the case where objects shared the same data and slots
are assigned to object and receiving object did not have a material slot
yet.
Then, `ob->matbits` may be NULL, now just check for this, too.
Pull Request: https://projects.blender.org/blender/blender/pulls/119161
The BLI image interpolation function with clamped boundary returns zero
for out of bound pixels. That's because the neighbour pixel wrapping
condition disregarded the border template argument. To fix this, only
handle that condition if in border mode.
Pull Request: https://projects.blender.org/blender/blender/pulls/119164
These containers (Set, Vector, Map, Span), etc. have default constructors,
making the braces unnecessary for default initialization. Better to depend
on that consistently rather than having braces in some places and not others.
This class was used to make `AssetLibraryReference` work as a key
in `Map`. But defining a class for that is unnecessary. Instead it's
simpler to just declare the equals and hash operators separately.
Reducing the number of wrappers and indirections should make
this code slightly easier to understand.
This is a solution to avoid redrawing the depth buffer for each Zoom
with `Auto Depth`.
The solution is to move the `ED_view3d_depth_override` function out of
`ED_view3d_autodist` and only call `ED_view3d_depth_override` if the
depth buffer is not used by any current engine.
Pull Request: https://projects.blender.org/blender/blender/pulls/113026
The hard eraser changes end caps to "flat" when cutting strokes. This
requires detecting when the start or end points of a stroke have been
cut.
The previous method relied on checking the next curve's start point for
cuts to determine end point cuts, but this only holds true for cutting
strokes in the middle. When only the start point is cut the preceding
curve should not be affected.
The new test uses local properties of the `PointTransferData` to detect
unchanged source curve end points, instead of doing a look-ahead for the
next curve. This works using the source point indices, which are
inverted for end points. Combined with checking for the `is_cut` flag
this gives a reliable answer to when a stroke end point is cut.
Pull Request: https://projects.blender.org/blender/blender/pulls/119151
The property is actually there, but was marked PROP_SKIP_SAVE |
PROP_HIDDEN in 4234cddda9
This PR removes this again (with the consequence that shortcuts/menu
entries will now remember the select setting from the last time).
This is now in line to how editmode does this (the "Reveal Hidden"
operator).
Pull Request: https://projects.blender.org/blender/blender/pulls/119153
When in mesh editmode, skin_vertices point to bmesh customdata, the
skin_vertices data is empty since custom data is stored per element
instead of a single array there (same es UVs etc.).
Fix similar to 3e2619b3e7, 5179b8236b (basically disallowing the
access in editmode).
Pull Request: https://projects.blender.org/blender/blender/pulls/119149
The enumerator values for various GPU compute platforms were
added starting with OIDN 2.0, with the Metal GPU type added
in OIDN 2.2.
This is an alternative fix to ebb781675d, which does not lead to
unhandled cases in switch statement, and follows the configuration
of OIDN and not Cycles (as OIDN might report devices which are
disabled in local Cycles build).
Pull Request: https://projects.blender.org/blender/blender/pulls/119155