Commit Graph

154707 Commits

Author SHA1 Message Date
Jacques Lucke
6bf69766aa Fix: making packed data-blocks local does not clear the packed-flag
This fixes the root cause of #147541. However, the file in the report is still
in a bad shape. It needs to be resaved after this patch so that appending the
node group works as expected.

The issue was that making a data-block local did not clear the
`ID_FLAG_LINKED_AND_PACKED` flag.

Pull Request: https://projects.blender.org/blender/blender/pulls/147603
2025-10-09 14:36:34 +02:00
Damien Picard
331ac6157f Cleanup: I18n: Remove unused translation macros
The translated strings literals were empty.

Pull Request: https://projects.blender.org/blender/blender/pulls/147583
2025-10-09 12:09:58 +02:00
Damien Picard
30ee6a27df I18n: Translate a single custom report in quit dialog
Reported by Ye Gui in #43295.
2025-10-09 12:09:56 +02:00
Damien Picard
22f339037a I18n: Translate node tree subtypes
In 73fcbaf7c4, the `node_tree_sub_type` enum was given a custom item
function. The items now need to be extracted manually.

In addition, the translation context for this property, "ID", was
removed since it was not useful at a glance, and likely added by
mistake.

Reported by Ye Gui in #43295.
2025-10-09 12:09:56 +02:00
Damien Picard
86ea2bd1ce I18n: Sort sockets in translation extraction, for stable .po files
Socket names and descriptions were not sorted, which could result in
changes between invocations of the translation extraction script.
2025-10-09 12:09:56 +02:00
Damien Picard
78db22fd27 I18n: Translate reports for fluid baking
A few reports for fluid baking were not completely translated because
they used the baking job's name, matching the operator name. That
needs to be translated manually in the report.

Reported by Ye Gui in #43295.
2025-10-09 12:09:56 +02:00
Damien Picard
98814c1dcd I18n: Translate reports using "WM_global_report(f)"
In bd06baf6e6, "WM_report" was renamed to "WM_global_report", but this
name was not changed in the translation extraction regex. Same for the
format version of this function.

Reported by Ye Gui in #43295.
2025-10-09 12:09:56 +02:00
Damien Picard
214f4aa946 I18n: Translate "Storyboarding" file template
File template names are only extracted in the
`blo_is_builtin_template()` versioning function, not the template
files themselves.

This commit adds the recent "Storyboarding" template to the list of
built-in templates, which allows extracting it for translation.

Reported by Ye Gui in #43295.
2025-10-09 12:09:56 +02:00
Damien Picard
09f9edb38c I18n: Translate "Hide Hotkey List" in Node Wrangler preferences
The button used a custom text that could be the same as the default,
properly extracted text ("Show Hotkey Text"), or a different
one ("Hide Hotkey Text"), and was thus not always shown.

Reported by Ye Gui in #43295.
2025-10-09 12:09:56 +02:00
Damien Picard
b9401637c8 I18n: Fix four messages that used the wrong translation macro
Four messages in geometry nodes appear in panel headers, but used
`TIP_` instead of `IFACE_`.

Reported by Alexandr Fatih.
2025-10-09 12:09:56 +02:00
Damien Picard
7ec15a3a98 I18n: Use rpt_ instead of tip_ to translate reports
This was the case in:
- FBX add-on
- Cycles OSL
2025-10-09 12:09:56 +02:00
Damien Picard
2750cc1a70 I18n: Translate Geometry Nodes modifier warnings
Geometry Nodes can generate warnings inside node trees using a Warning
node. This is used to report warnings in the modifier interface.

This commit allows translation of these warnings in the interface
template, and extracts the messages from built-in asset node groups,
by looking at each warning node.

Pull Request: https://projects.blender.org/blender/blender/pulls/147584
2025-10-09 12:09:44 +02:00
Damien Picard
c35de6f92d I18n: Translate labels using node UI function from node_add_menu.py
In 2a1a658492, layout functions for nodes were refactored and new
methods were introduced, but this change was not applied to the
translation extraction script.

This commit adds these method names and argument order to Python
extraction: "node_operator", "node_operator_with_outputs",
"simulation_zone", "repeat_zone", "for_each_element_zone",
"closure_zone".

Tooltips specified in a special structure are manually extracted using
`n_()`.

Actual translation is done manually in the UI methods inside NodeMenu,
in order to override the context, which by default would have been
"Operator".

Reported by Ye Gui in #43295.

Pull Request: https://projects.blender.org/blender/blender/pulls/147582
2025-10-09 12:09:25 +02:00
Damien Picard
aa6f572ef2 I18n: Translate placeholder text in one prop
Pull Request: https://projects.blender.org/blender/blender/pulls/147580
2025-10-09 12:09:04 +02:00
Damien Picard
3eb03e56b2 I18n: Translate labels using layout->prop, ->prop_search & ->op
These types of buttons do not automatically extract and translate the
label when specified specifically. This commit adds the missing
translation macros.

Some issues reported by Alexandr Fatih.
2025-10-09 12:09:03 +02:00
Jacques Lucke
8eb3fdf398 Fix #147587: don't enter custom groups with double click
This is the same behavior as with TAB.
2025-10-09 11:23:13 +02:00
Jacques Lucke
17954b8d8d Fix #147484: crash when opening window while rendering
The issue here was that the node-tree-update code was accessing data in `bmain`
when it shouldn't. The fix is to just use the correct API for this use-case when
updating a temporary node tree. It doesn't need `bmain` in this case.

Pull Request: https://projects.blender.org/blender/blender/pulls/147611
2025-10-09 11:02:00 +02:00
Sybren A. Stüvel
8b5c13ac28 Anim: do not access clipboard in Paste Global Transform poll function
Remove access to the clipboard from the Paste Global Transform operator
poll function, as it can cause slowdowns when there is a lot of data on
the clipboard.

This also means that the parsing code has to be a bit more lenient to the
contents of the clipboard. And, because the error message that there is
no matrix on the clipboard is now going to be shown more often, I made it
a bit more friendly.

Pull Request: https://projects.blender.org/blender/blender/pulls/147562
2025-10-09 11:01:25 +02:00
Damien Picard
227ce1711a Cleanup: Remove unused color balance modifier draw function
Sequencer modifiers are no longer drawn from Python since 866fcd0a09.
The function `draw_color_balance` that draws the Color Balance
modifier is no longer called anywhere, so it can be removed.

Pull Request: https://projects.blender.org/blender/blender/pulls/147571
2025-10-09 10:42:22 +02:00
Christoph Neuhauser
02e873537b Fix: GPU: Add DO_STATIC_COMPILATION() to overlay edit shaders
This PR fixes an assert by adding DO_STATIC_COMPILATION() to
overlay_edit_pointcloud, overlay_edit_lattice_wire and
overlay_edit_lattice_point.

Fixes issue introduced by:
https://projects.blender.org/blender/blender/pulls/147650

Pull Request: https://projects.blender.org/blender/blender/pulls/147682
2025-10-09 10:36:34 +02:00
Christoph Neuhauser
ab01f7254b Fix: GPU: Remove selectable variants for invalid overlay edit shaders
The Intel Windows driver generates an error when linking a vertex shader
and fragment shader where the vertex shader does not write to an output
used as an active input in the fragment shader.

This PR fixes failing "gpu" tests by removing the selectable shader
variants for overlay_edit_pointcloud, overlay_edit_lattice_wire and
overlay_edit_lattice_point.

Pull Request: https://projects.blender.org/blender/blender/pulls/147650
2025-10-09 09:18:25 +02:00
tariqsulley
fb035bfef6 Fix #147472: "Cursor to Selected" on Edit Bone causes assert
Fix assert when using Cursor to Selected on armatures which is
documented to require an evaluated object.

Ref !147526
2025-10-09 17:22:20 +11:00
tariqsulley
68fecf9fa9 Fix #147606: Spin tool causes immediate crash
Resolve regression in [0], remove unintended trailing space passed to
BMO_op_initf, causing a crash when the spin tool was activated.

Ref !147674

[0]: 83097400f0
2025-10-09 05:29:34 +00:00
Campbell Barton
0b1c7fef48 Docs: remove reference to non-existent members in doc-string 2025-10-09 04:43:47 +00:00
Campbell Barton
f9c7c8fdcb Fix #146670: Disabled key-map items lost when loading old preferences
Version patching keymaps was only handling new/changed key-map items.
However it's important to version patch removed key-map items so they
match the key-map items in the updated key-map and disable them.

Regression from [0] which copied the error from [1].

Resolve both by updating all key-map items.

Ref !147668

[0]: 5e2b421996
[1]: 4986f71848
2025-10-09 14:38:41 +11:00
Richard Antalik
a82f3a0fe0 UI: Add tab filter popover to vertical tabs
This adds unobtrusive tab button for selecting displayed tabs to the
tabs region. The idea is, that this way, the filter is much more
discoverable than it being hidden in options popover. The button is
grayed out, when all tabs are visible.

To only draw arrow, is achieved by setting `UILayout.emboss` to `NONE`
or `NONE_OR_STATUS`

Pull Request: https://projects.blender.org/blender/blender/pulls/135132
2025-10-09 04:51:18 +02:00
Harley Acheson
43654059ba Fix #147624: Playhead Drawing While Time Stretching
This PR updated the drawing of the playhead so that it better supports
time stretching, which separates the top from the line. This draws the
shadows as separate pieces and draws the line higher.

Pull Request: https://projects.blender.org/blender/blender/pulls/147658
2025-10-09 01:50:43 +02:00
Campbell Barton
a920f26920 Cleanup: remove unused doc-strings 2025-10-09 09:40:57 +11:00
Harley Acheson
2eaac0ad74 Fix #147574: Icon_Group Use Instead of Icon_Outliner_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/147652
2025-10-08 23:04:11 +02:00
Harley Acheson
765e38677a Fix: Default Collection Color Always White
With #126307 the default collection color (not set to a specific one),
set in Icon Colors / Collection, is always white. This PR restores the
correct behavior of following the theme color (an error in the SVG
source). And does so immediately (change in property_update).

Pull Request: https://projects.blender.org/blender/blender/pulls/147651
2025-10-08 20:58:42 +02:00
Jacques Lucke
4ca8cf27aa Fix: quick fur operator reads asset from wrong file
The assets files were moved a couple of days ago.
2025-10-08 20:00:15 +02:00
Hans Goudey
a60e0cd44b Geometry Nodes: Support lists and grids in more function nodes
Now every function node except for "Sample UV Surface" supports
both list and grid outputs. Any grid or list input means the output also
has that type (combinations of grids and lists aren't supported).
However note that some nodes also have inputs that are always fields
evaluated on the target geometry.

There is still plenty of room for optimization. For grids and lists, all
the outputs will be computed, and every function node is evaluated
completely separately. It would be better to build a network similar to
fields and evaluate it lazily (when topology doesn't change anyway).

Pull Request: https://projects.blender.org/blender/blender/pulls/147312
2025-10-08 19:49:03 +02:00
Jacques Lucke
66dd8beef3 Fix #147037: copying node referencing packed id does not work
The solution is to remember the deep hash of the copied data-block pointers
instead of just relying on the library file path.

Pull Request: https://projects.blender.org/blender/blender/pulls/147275
2025-10-08 19:39:53 +02:00
Hans Goudey
dd75c0b5ec Fix #147429: Set Resolution node doesn't use default for unselected curves
The fix in this case is to properly use the stored builtin attribute defaults
when capturing the field on the mesh. I extracted that to a function so
the code would read better with early returns.

Pull Request: https://projects.blender.org/blender/blender/pulls/147646
2025-10-08 19:26:12 +02:00
Jacques Lucke
7422f2ea7a Fix #147559: performance regression due to unnecessary geometry copy
The geometry was copied later on when it was modified because there was still a
reference to it in the modifier. Since this uses implicit sharing, if there is
more than one reference, the data has to be copied before it can be modified.

Pull Request: https://projects.blender.org/blender/blender/pulls/147644
2025-10-08 19:14:37 +02:00
Miguel Pozo
8c425ccd4d Cleanup: Remove unused variables 2025-10-08 16:59:20 +02:00
Miguel Pozo
75f3d8c68f Fix #147483: Crash switching scene while rendering animation in main window
When rendering in the main window and changing the active scene,
RE_FreeUnusedGPUResources can free the resources of an active Render,
since no wmWindow references the Scene anymore.

Active Render instances always reference their Scene, so we check those
directly instead.

Pull Request: https://projects.blender.org/blender/blender/pulls/147553
2025-10-08 16:48:38 +02:00
Miguel Pozo
71f4277467 GPU: Codegen: Native support for repeat zones
Support loops at the GLSL level instead of relying on
NOD_shader_nodes_inline.
This improves compilation and runtime performance, avoids causing
recompilations on iteration count changes, and allows supporting
dynamic iteration counts.

(EEVEE-only)

Pull Request: https://projects.blender.org/blender/blender/pulls/145269
2025-10-08 16:38:14 +02:00
Sergey Sharybin
2998b97d5e Fix #147626: Crash when clicking on the "Rendering" workspace
Make the logic in the image editor drawing robust against configuration
when the image editor has flag "show render result from sequencer scene"
and the sequencer scene being nullptr.

It could happen when user configures image editor is such way and then
removes the sequencer scene.

Or, it could also happen when the image editor has the flag set, which
was exactly the cause of the originally reported issue. So this change
also clears the flag which was expected to be cleared. It could affect
some current files saved in the past day, but since the render operator
sets it based on the way the scene is rendered it is not too bad.

Caused by 76c03744a8

Pull Request: https://projects.blender.org/blender/blender/pulls/147630
2025-10-08 16:28:56 +02:00
Hans Goudey
085276d8ba UI: Nodes: Sort packed groups below assets in add menu search
Previously items in the "Group" list would usually show up first because
their menu path is shorter. Now, adjust their search weight so they show
up lower than the corresponding asset. That this is just a heuristic,
because we don't have a good way to directly deduplicate groups
that are just packed assets in the add menu currently.

Pull Request: https://projects.blender.org/blender/blender/pulls/147629
2025-10-08 16:15:03 +02:00
Clément Foucault
e5f13a727a Refactor: EEVEE: Make surfel ray list stable and baking workload auto-adjust
This avoid putting too much work in only one thread for building very long surfel lists.

Instead of insertion sort, we use a prefix sum where all surfel scan the whole ray
list to know their position. Only the coplanar surfel patching is dispatched as
one thread per list.
This is currently a bruteforce approach and could be optimized further.

On top of this, we add a heuristic to scale the amount of work from the baking
depending on the scene complexity. Complex scene will have more overhead but
will remain responsive during baking, while simple scene will be faster to bake.
This avoids hitting TDR in most cases.

The update refresh is now limited to 1 per second to avoid the readback overhead.

Fix #142988

Pull Request: https://projects.blender.org/blender/blender/pulls/146848
2025-10-08 15:59:43 +02:00
Bastien Montagne
89efaee069 Fix #147565: Crash in 'make liboverride' due to threading issues in geonodes.
This is the 'safe and simple' aspect of the fix: prevent `node_warnings`
RNA property of the Node modifier to be overridable.

Its access is 100% not thread safe currently - and it makes no sense to
have this reuntime data overridable anyway!

Another side of the issue will be fixed in a separate commit, for main
only, as it affects quite deeply the behavior of viewlayer resync, and
fixes some unrelated logical issues in the current code.
2025-10-08 15:29:26 +02:00
Thomas Dinges
615911e430 Release: Blender 5.0 splash screen
by Juan Hernández - https://www.artstation.com/donchuan3d
2025-10-08 15:16:34 +02:00
Pablo Vazquez
6a109a75dd Fix: Compositor: Add Asset Shelf toggle to View menu
Add missing Asset Shelf entry in the View menu in the Compositor.

Pull Request: https://projects.blender.org/blender/blender/pulls/147615
2025-10-08 14:57:53 +02:00
Clément Foucault
ab4c245a7e Fix: EEVEE: Lightprobe Volume backfacing toggle is inverted
The UI property was changed 7b97bc48d8
to a negative boolean but the boolean conversion inside EEVEE was
not inverted.

This mean that since 4.2, the default behavior for Lightprobe
volume has been broken / inverted.

To make an existing scene bake the same as before, all material
needs to have their `BackFace Culling > Light Probe Volume` options
inverted. This is done automatically through the versioning code.

The only test cases broken are the ones using default materials which
do not have their property turned off.

Release Notes should contains the compatibility breakage.

Pull Request: https://projects.blender.org/blender/blender/pulls/147218
2025-10-08 14:55:14 +02:00
Brady Johnston
9a8fb5fe98 Fix: Geometry Nodes: Drag-to-search for Grid Info node
This PR adds the drag-to-search for the **Grid Info** node.

Pull Request: https://projects.blender.org/blender/blender/pulls/147547
2025-10-08 14:09:08 +02:00
Jacques Lucke
14966dfe0f Nodes: skip processing some unlinked outputs in usage inferencing
This is a partial fix for #146949. It speeds up drawing by about 15% for me.

Pull Request: https://projects.blender.org/blender/blender/pulls/147612
2025-10-08 13:55:09 +02:00
Nikita Sirgienko
b133019f9f Cycles: oneAPI: use ocloc 101.8132 on Windows
This new version of the graphics compiler improves performance
for the majority of supported Intel devices and adds support
for upcoming Intel hardware. Such an upgrade also requires
an increase in the minimal supported driver version on Windows,
which is why these changes are combined together with
the ocloc upgrade.

Previously set minimal version 101.6557 was increased to 101.8132.

Pull Request: https://projects.blender.org/blender/blender/pulls/147460
2025-10-08 13:36:08 +02:00
Jacques Lucke
8ef6127b70 Nodes: minor speedup for usage inferencing
This reduces some overhead for group input nodes where many sockets are not used.
This helps a bit with resolving the performance regression in #146949.

Pull Request: https://projects.blender.org/blender/blender/pulls/147610
2025-10-08 13:00:38 +02:00
Jacques Lucke
3e0df5d2d7 BLI: inline fast case of CacheMutex.ensure
I can measure a few percent speedup by doing that in the file from #146949.

Pull Request: https://projects.blender.org/blender/blender/pulls/147608
2025-10-08 12:23:22 +02:00