Commit Graph

153147 Commits

Author SHA1 Message Date
Philipp Oeser
20d7b5563c Release: Include 4.5 LTS gitea issue in notes generator
Include the issue number so we don't have to specify this for 4.5 versions.

Pull Request: https://projects.blender.org/blender/blender/pulls/144865
2025-08-20 14:54:22 +02:00
Brecht Van Lommel
8138fa3ce3 Fix: Non-existent mask.cursor_set operator in keymap
The mask editor is using uv.cursor_set instead.

Ref #136086

Pull Request: https://projects.blender.org/blender/blender/pulls/144852
2025-08-20 13:33:45 +02:00
Campbell Barton
9cabbe074f Fix #144858: Invalid text selection in the Python console 2025-08-20 21:24:36 +10:00
Bastien Montagne
27a613d9ea Fix: BPY props: broken custom set function for strings.
Another dummy mistake in BPY accessors refactor from yesterday (134d66201a)...
We critically need more unittests in this area!
2025-08-20 12:48:47 +02:00
Clément Foucault
2f2ff44e56 GPU: Shader: Remove legacy creation API
This API is no longer used for 5.0.

Pull Request: https://projects.blender.org/blender/blender/pulls/144819
2025-08-20 09:25:32 +02:00
Alberto12345678999
d803ee4c79 Nodes: Port shader Gamma node to Geometry Nodes
This patch unifies the Gamma node across editors:

- Compositor now uses the Shader Gamma node implementation.
- Geometry Nodes also uses the node as a new addition.
- UI-wise in the Compositor, only socket labels change to "Color".

Forward compatibility is broken for the compositor, and the python API
changed, since the node's ID name is now ShaderNodeGamma as opposed to
CompositorNodeGamma.

Pull Request: https://projects.blender.org/blender/blender/pulls/142414
2025-08-20 08:46:34 +02:00
Campbell Barton
b8ce7d419e Cleanup: use PyErr_SetString when formatting isn't needed 2025-08-20 16:10:54 +10:00
Campbell Barton
9a1af169d9 Cleanup: use bool argument for object_cacheIgnoreClear 2025-08-20 16:10:54 +10:00
Aaron Carlisle
782adf8878 Docs: Update RNA to user manual URL mapping 2025-08-20 00:42:05 -04:00
Aaron Carlisle
2725dfe3d1 Tests: Fix RNA manual look up checks
- RNA Patterns Unknown to the Manual -- only print rna_ids that do not return a URL
- Undocumented Sections -- consider the case of types that do not have props (a lot of nodes were returning as false positives)
2025-08-19 22:31:24 -04:00
Campbell Barton
c45ee0eb98 Cleanup: quiet compiler warnings
Suppressing "null-pointer-subtraction" was needed for clang
but caused a warning with GCC.
2025-08-20 11:18:29 +10:00
Campbell Barton
3a8a379ea2 Cleanup: use camel-case/pascal-case for struct names 2025-08-20 11:01:13 +10:00
Campbell Barton
96a7b37652 Cleanup: spelling in comments (make check_spelling_*) 2025-08-20 10:45:51 +10:00
Campbell Barton
d741e7a21f Docs: mention why paths aren't checked on startup
Follow up to fix for #132460, slow startup from file file-system access
has been removed as it causes problems, then added back since it seems
like a fix if we assume all file-systems are local & online.

Note why this causes problems to prevent the checks being re-introduced.
2025-08-20 10:34:15 +10:00
Sean Kim
8723bd4f58 Cleanup: Change BKE_paint_brush_set to take in const reference
Changes the overload from accepting `const AssetWeakReference *` to
`const AssetWeakReference &` to more strongly indicate proper usage. We
should not have a usecase for setting a null `AssetWeakReference`

Pull Request: https://projects.blender.org/blender/blender/pulls/144821
2025-08-20 00:01:04 +02:00
Casey Bianco-Davis
f5952fd178 Fix: Grease Pencil: Pen Tool does not work with multiple layers
The problem was that `threading::parallel_for` will return a range containing multiple elements even though the grain size is `1`.

Pull Request: https://projects.blender.org/blender/blender/pulls/144826
2025-08-19 22:54:28 +02:00
Sean Kim
6e82e403df Fix: Image Editor can have no default active brush
Prior to this commit, determining the default brush asset used for a
particular mode was based on the object's mode. This is slightly
incorrect for the Image Editor, since it may be in Paint Mode no matter
the underlying object type. To fix this, use the runtime `PaintMode`
enum for determining these default values instead of `eObjectType` and
store the `PaintMode` on `PaintRuntime` for easy access.

Additionally, inside the toolsystem, prevent accidentally unsetting
the default brush by checking for the presence of the asset when
loading an `AssetWeakReference`.

Pull Request: https://projects.blender.org/blender/blender/pulls/144765
2025-08-19 22:44:24 +02:00
Brecht Van Lommel
c7e2368d6c Fix #144528: Cycles renders OpenVDB grids with rotation wrong
Pull Request: https://projects.blender.org/blender/blender/pulls/144825
2025-08-19 21:39:30 +02:00
Damien Picard
abf743c380 Keymap: Consistent hotkey for Jump to Previous/Next Keyframe
Use "Up Arrow" to jump to the next keyframe, and "Down Arrow" for the
previous keyframe, to be consistent within Blender and other software.

See PR for details.

Pull Request: https://projects.blender.org/blender/blender/pulls/140301
2025-08-19 21:08:57 +02:00
Brecht Van Lommel
28f93d5443 Fix #144569: Cycles NanoVDB rendering broken with oneAPI
Wrong assumption about packed_int3, and not caught because the assert was in
the wrong place.

Pull Request: https://projects.blender.org/blender/blender/pulls/144803
2025-08-19 18:41:53 +02:00
Brecht Van Lommel
b5606b5634 Fix #144599: Cycles OSL node with external script does not update
Some code got lost in the refactor for OSL cameras.

Pull Request: https://projects.blender.org/blender/blender/pulls/144808
2025-08-19 18:33:37 +02:00
Clément Foucault
869fc2cf4e GPU: Shader: Add Shared Variable in shader create info
This allows to control the type of data inside the create infos for
easy variation of the same shader.

Also this wraps the last global shader resource usage for the future
SRD.

Pull Request: https://projects.blender.org/blender/blender/pulls/144769
2025-08-19 18:27:49 +02:00
Damien Picard
ced8281c32 I18n: Allow translation of two formatted reports using dynamic types
Two formatted reports introduced in e239c7f43c used a type defined at
compile time using the PRId64 macro. Translation failed for these
messages, because the message was extracted as:

"No keyframes removed from % strip(s)"

and the type was lost at the time formatting happened.

This commit instead uses fmt to format the message, which deals with
using the proper int type depending on the platform.

Pull Request: https://projects.blender.org/blender/blender/pulls/144374
2025-08-19 18:16:18 +02:00
Bastien Montagne
59201ddc28 BPY props: Fix own mistake in recent refactor.
New code from 134d66201a was using uninitialized variable. Not sure how
I missed the compiler warning... :(
2025-08-19 17:49:46 +02:00
Bastien Montagne
134d66201a Cleanup: BPY prop: Move get/set... py callbacks into own scope.
Moving the python call itself into a dedicated sub-scope allows to
ensure local variables (arguments) do not risk leaking into the
rest of the code after being released.

Also use helper macro `PyTuple_SET_ITEMS`.

Pull Request: https://projects.blender.org/blender/blender/pulls/144798
2025-08-19 17:16:31 +02:00
Hans Goudey
8b7a0b307b Cleanup: Make AttributeStorage method const 2025-08-19 10:23:13 -04:00
Omar Emara
fee17f40a2 Nodes: Lower main socket priority of menu sockets
This patch lowers the priority of menu sockets from the maximum priority
to the lowest priority. That's because menu sockets are nearly never the
main socket.

The current state is blocking the adoption of menu sockets in the
compositor, since most of the compositor nodes have color and float main
sockets, which currently have lower priority than menu sockets, making
node link insertion fail.

Pull Request: https://projects.blender.org/blender/blender/pulls/144779
2025-08-19 16:18:58 +02:00
Weizhen Huang
c672aa9ef4 Cleanup: Cycles: Check if background light is enabled in one place.
`world_use_portal` is not needed anymore, now that we always add world
as object (b20b4218d5).
We now check if background light is enabled only in
`test_enabled_lights()`, depending on the sample settings.

Pull Request: https://projects.blender.org/blender/blender/pulls/144710
2025-08-19 15:58:19 +02:00
Weizhen Huang
d866517708 Fix #144639: light missing update because it was disabled
the `light->is_enabled` check was only intended for background light,
for other light types we need to recompute the contribution at each
update.
2025-08-19 15:58:17 +02:00
Miguel Pozo
da7bcfc642 Fix #144441: EEVEE: Wrong projection matrix with Walk Navigation + Overscan
Disable overscan if we need to use the v3d winmat as-is.

Pull Request: https://projects.blender.org/blender/blender/pulls/144724
2025-08-19 15:12:54 +02:00
Weizhen Huang
83dcaf0501 Fix #144610: Cycles: do not convert open volume mesh to sdf
because we can't determine the interior. Sample densities in the whole
bounding box instead.

Pull Request: https://projects.blender.org/blender/blender/pulls/144732
2025-08-19 13:26:11 +02:00
Brecht Van Lommel
f41a0d5ab9 Fix: Cycles OptiX + OSL fails to render images with OSL releases
It works with the beta we are using to build Blender 4.5, but the official
release is a bit different. This fix was tested to work with OSL 1.14.7.

Thanks to Paul Zander for finding the OSL commit that lead to this.

Pull Request: https://projects.blender.org/blender/blender/pulls/144715
2025-08-19 13:22:07 +02:00
Sergey Sharybin
660f6ae0ec Fix #144681: Add support for inactive color spaces
So far only active color spaces were queries from the OpenColorIO, which
made sense from the list of spaces displayed in the menus. However, some
logic requires knowing more details about color spaces used by displays,
for example to check if it is data, or whether color space matches the
display one.

This change makes it so our OpenColorIO integration handles inactive color
spaces by storing them in a separate array. Config::get_color_space will
now work for both active and inactive color spaces.

Pull Request: https://projects.blender.org/blender/blender/pulls/144780
2025-08-19 12:37:24 +02:00
Bart van der Braak
075c2eca06 Fix #144483: Use-after-free when splitting View3D opened Asset Shelf
`asset_shelf::regiondata_duplicate()` first creates a shallow copy of
the `AssetShelf`, including its `AssetShelfSettings` member. So the
contained pointer point to the same memory.

While this is a rather unusual case for a copy assignment operator to
consider, I think this is fine since the API allows these shadow copies.
This is a bit of a consequence of mixing C and C++ style memory
management.

Pull Request: https://projects.blender.org/blender/blender/pulls/144613
2025-08-19 12:26:13 +02:00
Bastien Montagne
a3c4b0b07a Fix #144749: Crash on opening a file with a Sculpt toolsettings gravity object.
Mistake in code is at least 2 years old, interesting that this was never
noticed/reported before...

Candidate for LTS's backport.
2025-08-19 12:12:47 +02:00
Campbell Barton
8e85423f63 Refactor: simplify zero stripping in units code
Passing negative precision to internal units functions made the code
difficult to follow, especially when the precision is being
adjusted/clamped.

While the public API remains unchanged, detect the negative precision
early and assign it to a boolean which is passed as an argument.

Also improve doc-strings.
2025-08-19 09:37:38 +00:00
Pratik Borhade
1b5c896346 Fix #144371: Prevent inserting keyframes on linked action
When action is linked/overridden, it should not be editable. In this
situation, exit early from `insert_keyframes` to avoid inserting keys on
linked ID.

Pull Request: https://projects.blender.org/blender/blender/pulls/144416
2025-08-19 10:10:41 +02:00
илья _
3a6a663a15 Fix: Zero division exception in ca60419b3a
Pull Request: https://projects.blender.org/blender/blender/pulls/144770
2025-08-19 10:00:41 +02:00
Christoph Lendenfeld
c80834fbf7 Anim: Draw Time editor minor lines on full frames
For Todo: #138764
This follows a fix that tried to address this issue, but got negative feedback #139398

At certain zoom levels the animation editors in 4.5 would draw lines on subframes.
The previous patch fixed that by drawing less lines, but that got pushback from artists.
This patch restores the previous behavior, but ensures that major lines are *always* drawn
on even frame numbers, thus allowing minor lines to be drawn between
them on full frames.

Pull Request: https://projects.blender.org/blender/blender/pulls/142858
2025-08-19 09:39:16 +02:00
Jeroen Bakker
e83cce910d Fix #144700: Incorrect operator model draw example
The example script for the Model Draw Operator was out of date. It
didn't used the polyline shader. This PR updates the example to use the
polyline shader.

Pull Request: https://projects.blender.org/blender/blender/pulls/144722
2025-08-19 07:42:44 +02:00
nutti
99aa76035d Fix: typo in mathutils.Vector doc-string
Ref !144731
2025-08-19 02:36:42 +00:00
Campbell Barton
087c442567 Build: unbreak lite builds (WITH_TBB=OFF) 2025-08-19 12:31:17 +10:00
илья _
ca60419b3a Mesh: Avoid mutex lock in hot loop for custom normals
Use a thread local buffer to gather info about the custom normal space
for each corners group in threading to concatenate them later. This
avoids need to lock a mutex to write into a buffer shared betwen threads
in the corner groups traversal hot loop.

The performance improvement depends on the mesh size and the number of
CPU threads. In some files there might be no change, in other files an
improvement of over 2x was observed, mostly because we can now remove
the compromise from c8a4026984.

Pull Request: https://projects.blender.org/blender/blender/pulls/144660
2025-08-19 03:46:03 +02:00
John Kiril Swenson
5a0c0826b7 VSE: Support adding multiple images
Before, trying to add multiple strips would always create an image
sequence. This patch allows images to be added in bulk, just like movie
& sound strips.

A new "Image Sequence Detection" property has been added which works
like the image editor. Toggling it off will always import individual
images and never create image sequences.
If it's on, you can also optionally "Use Placeholders" to fill in gaps,
which exhibits the same behavior as before (placeholders will show as
pink in the preview until you have the files on your system in the right
folders).

You can even add both image sequences and regular images at the same
time. Only caveat is that this doesn't work if the regular images are
interspersed within sequence frames in the file browser view when you
add them. I.e., all frames of a sequence should be listed without any
regular frames in between (but the sequence frame numbers don't have to
be in order). This can usually be ensured on all sort types (like date,
name).

NOTE: This patch also replaces the "end_frame" property on image /
effect strips with "length," to support behavior when multiple strips
are involved. This is a breaking change for the API, but is a fairly
small change and will be included in the release notes.

The "length" property allows one to adjust all image strips' lengths at
once. It does nothing for image sequences, however, since their lengths
are defined by their image count.

Pull Request: https://projects.blender.org/blender/blender/pulls/143974
2025-08-19 00:09:04 +02:00
John Kiril Swenson
644fcd6bfb Cleanup: VSE: Reorganize and clean up sequencer add code
- Deduplicate `scale_fit_methods` enum
- Reorder functions, polls, and code to locations that make sense
- Rename some functions to remove `seq` terminology in favor of `strip`
- Renames `len` in `LoadData` to `count` for images
- Add clarifying comments and improve descriptions
2025-08-18 15:10:42 -06:00
John Kiril Swenson
4254730b20 Cleanup: VSE: Add Doxygen sections to sequencer_add.cc 2025-08-18 15:10:41 -06:00
Hans Goudey
76c5bdf0be Refactor: Clear Panel and ARegion runtime pointers when writing files
Avoid writing unnecessary pointers to blend files.

Pull Request: https://projects.blender.org/blender/blender/pulls/144743
2025-08-18 20:56:40 +02:00
Hans Goudey
178eca9427 Refactor: Move various window manager runtime pointers out of DNA
All of these pointers were cleared on file read. It's clearer to just
move them to the runtime struct.

Pull Request: https://projects.blender.org/blender/blender/pulls/144729
2025-08-18 20:44:44 +02:00
Brecht Van Lommel
2615cecf10 Refactor: Cycles: Align log levels with CLOG
WORK -> DEBUG
DEBUG, STATS -> TRACE

Pull Request: https://projects.blender.org/blender/blender/pulls/144490
2025-08-18 20:22:44 +02:00
Brecht Van Lommel
6d6c950750 Fix #144543: Cycles NanoVDB render error with empty volume grid
Thanks to Weizhen for finding the cause.

Pull Request: https://projects.blender.org/blender/blender/pulls/144735
2025-08-18 20:21:44 +02:00