Commit Graph

151379 Commits

Author SHA1 Message Date
Campbell Barton
084ded1c07 Merge branch 'blender-v4.5-release' 2025-06-30 17:21:10 +10:00
Campbell Barton
0fb80f698a PyDoc: use string literals for enum values
Use literals since their literal values need to be used in code.
2025-06-30 17:12:04 +10:00
Benjamin Beilharz
ac82b70b87 Compositor: Add extension mode to Translate node
This patch introduces a new Extension Mode option to the Translate node,
replacing the current repeat option and adding an extra Extend mode when
the nearest boundary pixel is sampled. The option allows choosing from
Zero, Repeat, and Extend for each of the axis independently.

A new generic sample method was added to the Result class for sampling
with arbitrary interpolation and extension modes.

Pull Request: https://projects.blender.org/blender/blender/pulls/140607
2025-06-30 09:01:34 +02:00
Jacques Lucke
4c418bfa86 Merge branch 'blender-v4.5-release' 2025-06-30 08:48:50 +02:00
Jacques Lucke
42cc65e5b5 Fix #141149: crash when toggling bake node muting
The `StringRef` in `MemoryBlobReader` was referencing data
that was freed under some circumstances. While the actual packed
data is shared between the original object and copy-on-eval object,
the name of the blobs are not.
2025-06-30 08:47:54 +02:00
Jacques Lucke
63894afe19 Fix #141177: crash opening file browser from geometry nodes modifier 2025-06-30 08:19:28 +02:00
Campbell Barton
f5e9731b2d WM: increase the maximum name length for the select_pattern operator
Follow up to !137196.
2025-06-30 16:01:46 +10:00
Campbell Barton
3b538a01d9 Cleanup: quiet deprecation warning building with Python 3.14
Replace use of `_PyDict_Pop` with `PyDict_Pop` when available.
2025-06-30 15:55:19 +10:00
Campbell Barton
6e67489785 Refactor: use bpy.data.libraries.load(..) for the "Quick Fur" operator
Replace use of bpy.ops.wm.append with the Python equivalent.
This avoids a separate append call for every group.

Also refactor lookups so node-group names only need to be declared once,
then used to populate a named-tuple.
2025-06-30 15:47:16 +10:00
Campbell Barton
e9f675f40b PyAPI: add missing options to bpy.data.library.load(..)
Support options which were available from the operator:
set_fake, recursive, reuse_local_id & clear_asset_data.
2025-06-30 15:47:16 +10:00
Campbell Barton
b2ec149652 Merge branch 'blender-v4.5-release' 2025-06-30 14:31:56 +10:00
Andrej730
b025874666 Fix: Pydocs: EnumProperty items is also allowing iterables
Ref !141134
2025-06-30 14:31:15 +10:00
Aaron Carlisle
60ba9a2595 Merge branch 'blender-v4.5-release' 2025-06-29 15:29:29 -04:00
Aaron Carlisle
03d7ed05b9 Docs: Update RNA to user manual URL mapping 2025-06-29 15:28:46 -04:00
Bastien Montagne
4bc5874e89 Refactor: BLO: ID listing in blendfile: factorize 'read & check' logic.
The same logic was duplicated in two places, now factorize it into its
own function.

This code reads (peeks) _some_ ID info from a blendfile, without actually
reading the full ID data. And it also decides if the given ID BHead
should retained, or skipped.

This is mainly used to show a list of available IDs or assets to link or
append.

Pull Request: https://projects.blender.org/blender/blender/pulls/141103
2025-06-28 22:06:12 +02:00
Jonas Holzman
68c4f55af7 UI: Use Fit as the default frame method for Camera background images
This PR sets the default frame method for camera background images from
the current `Stretch` to `Fit`. For a lot of use cases, `Fit` is the
desired frame method, rarely `Crop` is used, with `Stretch` being even
more rare. This saves the user from having to manually set the frame
method after adding an image. This can also prevent cases where an
artist adds a reference image that's close to the camera aspect ratio
but doesn't match it completely, giving a slight distortion that they
might not immediately notice, and causing confusion down the line.

Pull Request: https://projects.blender.org/blender/blender/pulls/141075
2025-06-28 15:54:00 +02:00
Habib Gahbiche
4463ac083d Merge branch 'blender-v4.5-release' 2025-06-28 15:30:23 +02:00
Habib Gahbiche
c8cb24121f Fix #140381: Crash after deleting a node group and redo
The fix in #140381 addressed the crash after redo. This commit fixes
the crash after redo (make group) and deleting the node group.

Pull Request: https://projects.blender.org/blender/blender/pulls/140858
2025-06-28 15:27:30 +02:00
Habib Gahbiche
120c8165fc Fix #141100: Compositor: Duplicated nodes when pressing Setup Tracking Scene
The default nodes were still present in the node tree when Setup
Tracking Scene operator was called.

The issue was that the operator assumed the default tree always has the
same number and types of nodes, which wasn't true anymore after the
default node tree was changed in df6e65dd93

This PR keeps the changes to a minimum by updating the assumption
about the default node tree.

Pull Request: https://projects.blender.org/blender/blender/pulls/141141
2025-06-28 15:26:53 +02:00
Pratik Borhade
1329e6d361 Merge branch 'blender-v4.5-release' 2025-06-28 18:11:32 +05:30
Pratik Borhade
9a9d52f550 Fix #141082: UV: Select overlap crash
Mistake in 69a1feabe6

Pull Request: https://projects.blender.org/blender/blender/pulls/141138
2025-06-28 14:39:57 +02:00
Pratik Borhade
a7b4137f3e UI: Tree View: Click select operator
Part of !138979
With that, it is now possible to configure specific key for
selection in tree view.

Pull Request: https://projects.blender.org/blender/blender/pulls/140033
2025-06-28 13:41:51 +02:00
Eitan Traurig
0571b66566 Fix: Remove All Materials operator is not greyed out when list is empty
Disable the operator when there are no materials in the list to delete

Co-authored-by: Pratik Borhade <pratikborhade302@gmail.com>
Pull Request: https://projects.blender.org/blender/blender/pulls/141003
2025-06-28 12:57:14 +02:00
Aras Pranckevicius
acebf4b6d5 IO: make new FBX importer the default one, mark Python as legacy
- Remove "experimental" label from C++ based FBX importer,
- Make drag-n-drop use the C++ FBX importer,
- Add "Legacy" label to the previous Python FBX importer

Pull Request: https://projects.blender.org/blender/blender/pulls/140703
2025-06-28 11:54:06 +02:00
Campbell Barton
5e927eae1b Docs: corrections, clarifications to code-comments 2025-06-28 10:46:57 +10:00
Campbell Barton
6253a33aa3 Cleanup: use nodiscard attribute for functions in the Python API
In most (cases functions returning a PyObject pointer
requires it to be used by the caller, declare functions in the Python
API with the `nodiscard` attribute.
2025-06-28 10:15:27 +10:00
Campbell Barton
0d3826b354 Cleanup: make the blend file header private
This was split out as part of a refactor but isn't intended to be a
new public module for other scripts to use.

Ref !141088
2025-06-28 08:40:31 +10:00
Campbell Barton
257486630e Merge branch 'blender-v4.5-release' 2025-06-28 08:38:48 +10:00
Sybren A. Stüvel
dff44f1413 Fix #140962: Vertex Slide with Proportional Editing crashes Blender
Use a separate index for indexing into `Array<TransDataVertSlideVert>
r_sv`, as that only contains the selected items (and not all items
considered for proportional editing).

Since the introduction of the sorted index map (df6d345bb4) the
selected "transform items" are simply visited first, but not sorted to
the front of the array. This means that these array indices cannot be
used to index into other arrays that only contain sorted data, because
they will overflow.

Ref !140976
2025-06-28 08:36:31 +10:00
Brecht Van Lommel
85890fb3b7 Merge branch 'blender-v4.5-release' 2025-06-28 00:06:31 +02:00
Brecht Van Lommel
9711efece7 Fix #141085: Cycles adaptive subdivision crash with zero length edges
As produced by booleans in the reported blend file.

Pull Request: https://projects.blender.org/blender/blender/pulls/141105
2025-06-28 00:03:45 +02:00
Sean Kim
9b0e62a35b Merge branch 'blender-v4.5-release' 2025-06-27 14:02:59 -07:00
Sean Kim
0354d2e02c Cleanup: Fix warnings
Introduced in b472570875
2025-06-27 14:00:51 -07:00
Sean Kim
f14feeb853 Merge branch 'blender-v4.5-release' 2025-06-27 13:36:19 -07:00
Sean Kim
b472570875 Fix #140998: Grease Pencil stroke-level color jitter doesn't work
Introduced with 96e549c092

While the above commit applied versionings to the related flags, it did
not convert either the UI elements or the underlying grease pencil code
to use the now generic `Brush` properties.

Pull Request: https://projects.blender.org/blender/blender/pulls/141001
2025-06-27 22:21:53 +02:00
Bastien Montagne
81a775b6d9 Revert "Refactor: BLO: ID listing in blendfile: factorize 'read & check' logic."
This reverts commit 7e2b90df40.

It mysteriously and spectacularly fails on WoA...
2025-06-27 21:47:48 +02:00
Bastien Montagne
7e2b90df40 Refactor: BLO: ID listing in blendfile: factorize 'read & check' logic.
The same logic was duplicated in two places, now factorize it into its
own function.

This code reads (peeks) _some_ ID info from a blendfile, without actually
reading the full ID data. And it also decides if the given ID BHead
should retained, or skipped.

This is mainly used to show a list of available IDs or assets to link or
append.
2025-06-27 18:54:49 +02:00
Hans Goudey
a3d14424d6 Merge branch 'blender-v4.5-release' 2025-06-27 11:24:56 -04:00
Hans Goudey
7fe9e87263 Fix: AttributeStorage skips reading attributes from empty domains
This check was meant to catch unknown failure cases but instead it
meant any attribute with an empty array (e.g. from a mesh with no
faces) would not be loaded. Instead the failure case should only be
when there is no data when the array is not meant to be empty.

Pull Request: https://projects.blender.org/blender/blender/pulls/141096
2025-06-27 17:22:01 +02:00
Falk David
ba3eaf3a84 Assets: Add scene assets
This adds support for scene assets.

* Scenes can be marked like any other ID as assets (e.g. by right-clicking on a scene ID selector).
* Scenes will generate previews by rendering the view from the active camera in solid view.
   Note that this requires the scene to have an active camera.
* When dragging a scene asset onto anywhere in a window (except the asset browser itself),
   it will import the asset (or use the local ID) and set the scene as the active one in the window.

Pull Request: https://projects.blender.org/blender/blender/pulls/141081
2025-06-27 16:44:33 +02:00
Clément Foucault
3b9525ce7d Fix #141067: EEVEE: Mising UDIM texture Crash the EEVEE
It was missing the error texture for the tile maps.

Pull Request: https://projects.blender.org/blender/blender/pulls/141072
2025-06-27 15:46:37 +02:00
Campbell Barton
57e04d009d Merge branch 'blender-v4.5-release' 2025-06-27 23:27:03 +10:00
Campbell Barton
db2f8782b5 Fix #141018: Gizmos allow editing linked data
Camera, lamp & object placement gizmos weren't checking ID data was
editable.

Ref !141069
2025-06-27 13:25:31 +00:00
Julian Eisel
4b2d60a2c3 Ghost: Make special user directory query thread safe
Similar to e0ff7731e0.

Noticed a data race when working on blender/blender!130543, which calls
this function from a thread. Make this thread safe by avoiding returning
of static memory, instead use an optional `std::string`.

Pull Request: https://projects.blender.org/blender/blender/pulls/141083
2025-06-27 15:16:35 +02:00
Pratik Borhade
52caedb19e Fix #73072: Outliner: Alt click fails to enable toggle on selected objects
Alt click works perfect to disable restriction toggle (hide/selection
toogle) on selected object tree elements from outliner. But fails when
re-enabling them. This is because `screen_ctx_selected_editable_objects`
returns a list of selectable bases. When above two restriction toggles
are disabled, `selection` flag is cleared from resepective bases. To avoid
such situation, handle outliner case separately inside
`UI_context_copy_to_selected_list ()`, store list of objects that are selected
in outliner (i.e. `TSE_SELECTED` flag is set).

Also added few findings as comments in #133459

Pull Request: https://projects.blender.org/blender/blender/pulls/133469
2025-06-27 13:43:19 +02:00
Pablo Vazquez
e431145e4a Fix: Graph: Do not use deprecated op in footer
The graph.keyframe_jump operator is deprecated. Use the regular
screen.keyframe_jump operator that was recently fixed to work in all
animation editors.
2025-06-27 12:42:00 +02:00
Pablo Vazquez
a90ce938dd UI: Dope Sheet: Add Cache visualization
Add cache visualization to the Dope Sheet editor, previously limited to
just the Timeline.

See PR for details and screenshots.

Part of #131102

Pull Request: https://projects.blender.org/blender/blender/pulls/140966
2025-06-27 12:23:48 +02:00
Jeroen Bakker
e058e4f8ca Merge branch 'blender-v4.5-release' 2025-06-27 11:28:54 +02:00
Jeroen Bakker
a74b663bf9 Cleanup: Vulkan: Enable extensions (2)
Missing part of the cleanup done by 225449b96d
2025-06-27 11:26:24 +02:00
Nathan Vegdahl
56d8c11304 Core: Add more variables for path templates
This PR adds several more built-in variables for path templates:

- `scene_name`: name of the current scene.
- `camera_name`: name of the current camera.
- `node_name`: only for paths owned by a node; the name of the node.
- `blend_name_lib`: name of the blend file of the ID the path property
  is on, sans file extension.
- `blend_dir`: path up to (but not including) the currently open blend
  file.
- `blend_dir_lib`: path up to (but not including) the blend file of the
  ID the path property is on.

Additionally, adding support for `node_name` required re-thinking the
"path template type" system a bit:

Previously, the the `PropertyPathTemplateType` of a property completely
dictated what variables were made available to it. However, if we stuck
with that system then we would need to split
`PROP_VARIABLES_RENDER_OUTPUT` into two enum items: one for "normal"
render output paths like the one that lives on the `Scene`, and one for
"node" render output paths like the ones on the File Output node.

Instead of doing that, this PR makes `PropertyPathTemplateType` only
responsible for dictating the "purpose-specific" variables. In this
case, render-specific variables like fps, resolution, etc. Then the
availability of variables like `node_name` are instead based on what
owns the path (a node or not, in this case). There are also general
variables, like `blend_name`, that are now available to all path
templates.

(Part of #133001)

Pull Request: https://projects.blender.org/blender/blender/pulls/139438
2025-06-27 11:07:04 +02:00