Commit Graph

123854 Commits

Author SHA1 Message Date
Falk David
2a88d748af Merge branch 'blender-v5.0-release' 2025-10-13 17:33:39 +02:00
Falk David
7026911502 Fix: Core: Crash when trying to link shapekey from driver target
Found while trying to append the scene from this file:
https://studio.blender.org/characters/rain/showcase/1/

Before calling `id_lib_extern` when setting the id in the driver target,
check that the ID is linkable.

Pull Request: https://projects.blender.org/blender/blender/pulls/147829
2025-10-13 17:33:08 +02:00
Hans Goudey
1d372bdc8b Refactor: Split CustomData attribute and newer attribute headers
Avoid including DNA_customdata_types.h everywhere we include the
attributes header. Over time the older attribute header should be
used less and less.

Part of #122398

Pull Request: https://projects.blender.org/blender/blender/pulls/147980
2025-10-13 15:38:26 +02:00
Omar Emara
5517941a60 Compositor: Support implicit conversion across 2D vectors
This patch adds the necessary functions needed to support implicit
conversion in GPU execution across 2D vectors in the compositor.

Pull Request: https://projects.blender.org/blender/blender/pulls/147975
2025-10-13 15:12:56 +02:00
Clément Foucault
139fa532c1 GPU: Add command line option to output shader source
This command line outputs only shaders whose name
matches the argument string.

Metal is missing as it waits until #147010 lands.

Pull Request: https://projects.blender.org/blender/blender/pulls/147970
2025-10-13 14:37:54 +02:00
Clément Foucault
304461e761 Merge branch 'blender-v5.0-release' 2025-10-13 14:36:00 +02:00
Clément Foucault
4ce37852fe GPU: Preprocessor: Remove disabled code before builtin parsing
This avoid issues with drw_debug_ prefix being scanned in
disabled code.

Fixes assert in debug builds.

Pull Request: https://projects.blender.org/blender/blender/pulls/147974
2025-10-13 14:35:42 +02:00
Dan Oak
633102c219 Fix: add label to View Center property
For unknown reasons, this property did not have a label before.

Pull Request: https://projects.blender.org/blender/blender/pulls/147712
2025-10-13 13:11:15 +02:00
Sybren A. Stüvel
84d99a5902 Fix: Timeline versioning conflict with pre-2.80 files
Move the versioning code that switches the Timeline editor to Dope
Sheet from the 'first' to the 'after linking' versioning stage.

There was already versioning code that effectively turns the Dope
Sheet back into a Timeline, for pre-2.80 files, and this runs in the
'after linking' stage. The 5.0 versioning code now correctly runs
after this.

Fixes: #147742

Pull Request: https://projects.blender.org/blender/blender/pulls/147734
2025-10-13 12:53:50 +02:00
Sybren A. Stüvel
5460601da3 Fix #147259: new Timeline / Dope Sheet always shows summary backdrop color
Only draw the Summary backdrop color when the Summary channel has been
expanded. This prevents the default used-to-be-timeline Dope Sheet
from showing a big red bar at the bottom of the window.

The channel box backdrop (when the channel bar is expanded) also
follows this, so when expanded it is red as before, and when collapsed
it is dark grey.

Pull Request: https://projects.blender.org/blender/blender/pulls/147708
2025-10-13 12:24:48 +02:00
Weizhen Huang
b4cd23d0fe Merge branch 'blender-v5.0-release' 2025-10-13 12:15:33 +02:00
Sybren A. Stüvel
07ccb021d2 Armature: Elongate tiny bones instead of deleting them
Blender cannot handle bones with (near) zero length. Prior to this
commit such bones were deleted when exiting Armature Edit mode. Now
they are kept and elongated so that they are numerically stable (or at
least they should be, given the threshold to the length that was
already in place).

To avoid the elongation from impacting the position of child bones,
they are disconnected from the tiny bone.

Apart from that it's quite nice for users that Blender no longer
silently deletes bones, this is also useful for the USD importer, as
it can import bones and expect them to exist afterwards (see
#147048).

Note: this only impacts armatures with bones of length ≤ 0.000001
units.

Pull Request: https://projects.blender.org/blender/blender/pulls/147814
2025-10-13 12:12:25 +02:00
Habib Gahbiche
e7a220e056 Fix #146724: Crash when deleting node group from outliner
An update to set the right context was missing after the current
`edittree` was updated.

Pull Request: https://projects.blender.org/blender/blender/pulls/147828
2025-10-13 12:00:32 +02:00
Campbell Barton
3349b97987 Core: add --no-window-frame command line option
Add a command line option to load Blender without a window frame.

Currently this is only used on Wayland, enabled for WITH_UI_TESTS since
attempting to load LIBDECOR caused the tests to crash on start on Fedora.
For tests there is no need to use LIBDECOR, so disable the window frame.
This can also be used by users who don't want to use the X11 fallback if
LIBDECOR can't be found.

Ref !147716
2025-10-13 09:47:07 +00:00
Sybren A. Stüvel
d79a23e6b9 Fix #147259: new Timeline / Dope Sheet always shows summary backdrop color
Only draw the Summary backdrop color when the Summary channel has been
expanded. This prevents the default used-to-be-timeline Dope Sheet
from showing a big red bar at the bottom of the window.

The channel box backdrop (when the channel bar is expanded) also
follows this, so when expanded it is red as before, and when collapsed
it is dark grey.

Pull Request: https://projects.blender.org/blender/blender/pulls/147708
2025-10-13 11:46:12 +02:00
Campbell Barton
9cfa925916 Merge branch 'blender-v5.0-release' 2025-10-13 20:37:56 +11:00
Campbell Barton
1216651ca9 PyAPI: make internal modules explicitly "private"
Rename modules in `./scripts/modules/` to use an underscore prefix to
make it clear they aren't intended to be part of public API's. This
also means there is no implication that these modules should be stable,
allowing us to change them based on Blender's internal usage.

The following modules have been marked as private:

- `animsys_refactor`
- `bl_console_utils`
- `bl_i18n_utils`
- `bl_previews_utils`
- `bl_rna_utils`
- `bl_text_utils`
- `bl_ui_utils`
- `bpy_restrict_state`
- `console_python`
- `console_shell`
- `graphviz_export`
- `keyingsets_utils`
- `rna_info`
- `rna_manual_reference`
- `rna_xml`

Note that we could further re-arrange these modules
(under `_bpy_internal` in some cases), this change is mainly to mark
them as private, further changes can be handed on a case-by-case basis.

Ref !147773
2025-10-13 09:35:09 +00:00
Jeroen Bakker
58a49274a0 Merge branch 'blender-v5.0-release' 2025-10-13 09:11:57 +02:00
Jeroen Bakker
d510baa4b8 Fix #147815: Vulkan: Performance NVIDIA
An oversight in b9dcc087a9 where textures aren't allocated correctly
leading to performance issues.

Pull Request: https://projects.blender.org/blender/blender/pulls/147959
2025-10-13 09:06:11 +02:00
Aras Pranckevicius
72ffd4e0a1 Merge branch 'blender-v5.0-release' 2025-10-13 09:53:37 +03:00
Aras Pranckevicius
218317b8b9 Fix #147381: VSE preview shows incorrect transparency for masks
Since VSE HDR preview was implemented (18110744a2), the preview image
is put into RGBA 16F format "color texture", and the overlay
(checkerboard, grids etc.) is put into RGBA 8U format "overlay texture".
This was rendering the color image as NON premultiplied alpha in
the viewport color texture, which is not what happens in other places
(e.g. image space).

Later commit (c279d894db) fixed transparency of the overlay texture,
in order to make pure emissive (color non zero, alpha zero) colors
from EXR files show up in VSE preview. However that exposed the issue
that underlying color texture is not premultiplied.

Fix this by premultiplying the output color in gpu_shader_display_transform
that is used by VSE preview. This is done at the end of the shader
isntead of using fixed function blending, since premultiplication needs
to happen in a way that preserves pure-emissive colors.

Comparison images in the PR.

Pull Request: https://projects.blender.org/blender/blender/pulls/147892
2025-10-13 08:52:33 +02:00
Harley Acheson
3ad589e973 Merge branch 'blender-v5.0-release' 2025-10-12 16:30:01 -07:00
Harley Acheson
6691529dcc Fix #147926: Incorrect Icon used for Generic Collection
We have icons that represent specific individual collections. like
Icon_Outliner_Collection for a default (uncolored) collection, and
Icon_Collection_color_x for ones with colors. For "collections" as a
general thing though we have icon_group. Sometimes we confuse the two,
for example the list of tabs to show in Properties uses a different
icon than the actual category icon. This PR fixes the complaint by
using the correct icon for each of these purposes.

Pull Request: https://projects.blender.org/blender/blender/pulls/147942
2025-10-13 01:26:16 +02:00
Lukas Stockner
c0bec1d068 Merge branch 'blender-v5.0-release' 2025-10-13 01:08:43 +02:00
Lukas Stockner
d458416f4d Fix #146850: Assert when removing custom camera after loading file 2025-10-13 01:07:13 +02:00
Hans Goudey
6d856a1d8c Merge branch 'blender-v5.0-release' 2025-10-12 11:21:00 -04:00
Hans Goudey
6d884e0da5 Fix #147270: Smooth by angle asset detection broken
The previous commit 80e8493c11 was incorrect. I must have
tested it incorrectly, because `BLI_path_contains` only tests the
beginning of the path. Instead just make the shorter asset path
native, and explicitly use StringRef for the test.
2025-10-12 11:14:03 -04:00
Hans Goudey
9e89f8fa06 Merge branch 'blender-v5.0-release' 2025-10-12 10:55:30 -04:00
Hans Goudey
8c4c92f304 Fix #147907: Geometry Node Viewer Item "Auto Remove" toggle crash
The RNA property had an incorrect update callback assigned. The
update callback assumed the RNA pointer data was a node rather
than a node's viewer item.
2025-10-12 10:51:08 -04:00
Hans Goudey
241849e397 Merge branch 'blender-v5.0-release' 2025-10-12 10:37:21 -04:00
W_Cloud
ef58bd609b Fix: Nodes: String node initialization regression with link-drag-search
I think the special handling for string input node, added in #139478,
was broken by #146033. The early check for src_value (`if (!src_value)`)
caused the string-specific logic to be skipped. This PR moves the
string-specific handling before the src_value check.

Pull Request: https://projects.blender.org/blender/blender/pulls/147697
2025-10-12 16:33:50 +02:00
Campbell Barton
a9d330fe25 Merge branch 'blender-v5.0-release' 2025-10-12 21:39:42 +11:00
tariqsulley
2db54c43d8 Fix #147246: Translate with absolute increment snap fails
Snap translation to the world grid when absolute grid increments is
enabled. Previously, absolute increment snap shifted in perspective
view, causing objects to misaligned with the world grid.

Resolves regression introduced since 3.6.

Ref !147246
2025-10-12 10:34:11 +00:00
Campbell Barton
ba6b0ebaeb Merge branch 'blender-v5.0-release' 2025-10-12 20:08:08 +11:00
tariqsulley
f8a592a7f0 Fix #147905: No radius indicator for proportional UV editing
Resolve regression in [0] which hid transform overlay in the image view.

The indicator now displays when overlays are enabled in the UV editor.

[0]: 1df4a09539
2025-10-12 20:03:24 +11:00
Campbell Barton
b8809f3b89 Merge branch 'blender-v5.0-release' 2025-10-12 19:44:01 +11:00
Campbell Barton
87937059b1 Fix #147639: Crash When Clicking On Extrude Region in Edit Mode
Account for change in !141303 which increased the size by 1 returned
by RNA_property_string_length, which now includes the nil byte.
2025-10-12 08:43:04 +00:00
Campbell Barton
5ddb195017 Merge branch 'blender-v5.0-release' 2025-10-12 16:59:23 +11:00
Germano Cavalcante
b42e4052b7 Fix #121378: Can't snap parent to children with Affect Only Parent activated
The flag that skips objects for snapping (`BA_SNAP_FIX_DEPS_FIASCO`) is
set for all objects that have a `DEG_OB_COMP_TRANSFORM` relation.

However, when the **Affect Only Parent** option is enabled, children
are not transformed and therefore could still be snapped to.
Despite this, the `DEG_OB_COMP_TRANSFORM` dependency remains present on
them.

To address this, a new callback was introduced that skips
Transform-to-Transform dependencies while preserving
Transform-to-Geometry dependencies in this scenario.

This approach may introduce some false positives, leading to spurious
dependency cycles (e.g., when constraints are involved).
Nevertheless, the trade-off favors accepting these false positives
rather than disabling the feature altogether.

Also make non-functional change that just removes a flag before the snap
loop, thus avoiding checking if the flag exists inside the loop.

Ref !142007
2025-10-12 16:49:58 +11:00
Campbell Barton
ffa750fd5e Cleanup: use doxygen style doc-strings for IMB 2025-10-12 01:12:52 +00:00
Campbell Barton
523322f241 Cleanup: remove unused Python operator defines 2025-10-12 01:12:49 +00:00
Campbell Barton
729251ebac Cleanup: pass const arguments 2025-10-12 01:12:47 +00:00
Campbell Barton
c4b2c1c19e Cleanup: spelling (check_spelling_*), trailing spaces in comments 2025-10-12 12:12:46 +11:00
Howard Trickey
ebd2909123 Merge branch 'blender-v5.0-release' 2025-10-11 20:14:26 -04:00
Howard Trickey
d58afb615c Fix #147718: Bevel accuracy at small scale.
There was a bug in the move_weld_profile_planes function where
it would only move the profile plane involved in a "weld" if
certain vectors were not too small (less than BEVEL_EPSILON in
length). The intent of the code was just to avoid problems with
zero length normals (post normalization), and the normalize_v3
function indicates that with an exact 0.0f return, so there was
no need for an epsilon test.
The example file in the issue had a small-scale model (100 times
smaller than typical), which ended up causing the old code to
prevent moving the profile plane to where it belongs.

Pull Request: https://projects.blender.org/blender/blender/pulls/147898
2025-10-12 02:03:46 +02:00
Casey Bianco-Davis
9496d941fd Grease Pencil: Add Sample Color operator to Vertex Color Mode
This PR adds the `sample_color` operator to Grease Pencil Vertex Paint
Mode.

Pull Request: https://projects.blender.org/blender/blender/pulls/146951
2025-10-12 01:45:13 +02:00
Harley Acheson
152405489d Merge branch 'blender-v5.0-release' 2025-10-11 11:10:41 -07:00
Harley Acheson
2d9a883822 Fix #147487: Disable Area Maintenance Animations
Disabling (at least temporarily) the fading animations shown during and
after some area maintenance routines (like splitting, joining, closing)
as this causes memory leaks during automated testing. This doesn't
occur during regular usage, just when the window is closed within the
animation time. We'll look for an improved solution in the future.

Pull Request: https://projects.blender.org/blender/blender/pulls/147890
2025-10-11 20:09:08 +02:00
Nick Alberelli
877283a09a PyAPI: bpy.ops callable type in the C-API
Moving `__call__` logic into Python's C-API means error messages
caused by operators reference the code of the caller instead of the
call from `.scripts/modules/bpy/ops.py`.

When a full call stack is available this isn't so important,
however when logging callers it's not useful to log the call
from `ops.py`.

There minor performance advantages for moving from Python to C++
however this wasn't a significant consideration for the change.

Note that this is a fairly direct conversion from Python to C++,
there is room for refactoring to simplify the calling logic.

See #144746 for the motivation & #147448 for further improvements.

Ref !145344
2025-10-11 03:04:57 +00:00
Harley Acheson
78029fa777 Merge branch 'blender-v5.0-release' 2025-10-10 11:06:36 -07:00