Commit Graph

4006 Commits

Author SHA1 Message Date
Julien Duroure
a673c627e5 Fix #142767 - glTF exporter: Fix crash with shader node group traversal
Make sure to pass group_path by value in recursive function
2025-09-29 10:43:38 +02:00
Jacques Lucke
fa03d2558c UI: support searching for more recent files
When trying to find and open an older file, it is annoying when it is not in the
recent files list anymore. This patch increases the length of the recent files
list, without making the menu huge by making better use of menu-search.

Specifically the following is changed: * Number of remembered recent files is
increased from 20 to 200 by default. * The recent files menu is limited to 20
entries. * When activating menu search (by pressing space when in the menu), all
available recent files can be searched. * There is a new "More..." menu entry at
the bottom, which also activates the menu search.

Pull Request: https://projects.blender.org/blender/blender/pulls/146884
2025-09-28 20:22:02 +02:00
quackarooni
e7cae0b220 Fix: Nodes: Occasional crashing when using swap operators
Calling the swap operators can result in Blender crashing. From my
testing, the behavior is inconsistent, as sometimes a crash is triggered
and other times it isn't. Though notably, they seem involve nodes
already linked to other nodes, or zones.

The crashing stems from the operators trying to access deleted data.
There were two places where this happens that were identified, one
involving removed links and the other involving removed nodes.

Pull Request: https://projects.blender.org/blender/blender/pulls/146909
2025-09-28 19:40:55 +02:00
quackarooni
7e25ed26f0 Nodes: add "Mix Vector" to Shader Editor Add menu
The Mix node has multiple subtypes for handling different data types. (Float, Color, Vector, etc.)

Since these are commonly used operations, the different subtypes are made easily accessible
under the names "Mix Color" & "Mix Vector". These are mostly present in the various node
editors. (Shader, Geometry, & Compositing)

Notably, for Shader Nodes, however, only the "Mix Color" entry is present in the Add Menu.
This patch adds the missing "Mix Vector" entry under the "Vector" category of the
Shader Editor Add Menu.

Pull Request: https://projects.blender.org/blender/blender/pulls/142886
2025-09-28 14:21:44 +02:00
quackarooni
4498cb7baa Geometry Nodes: add "Mix Rotation" to Add menu
This patch exposes the "Rotation" subtype of the Mix node in the Geometry Node Add Menu.

This is in a similar vein to "Mix Color" & "Mix Vector", as it makes this subtype more easily
accessible and searchable in the menu.

Pull Request: https://projects.blender.org/blender/blender/pulls/142887
2025-09-28 14:20:14 +02:00
Hans Goudey
eef9a1b9ae Geometry Nodes: UV tangent node
This node outputs tangent values for face corners. There are two methods:
- **Exact** is the same MikkTSpace calculation used elsewhere in Blender.
- **Fast** (from #131308) is over 4x faster, and useful in many of
  the same situations, though not necessarily tangential to the surface.

The reason to include both methods is that there are use cases where the
quality of the tangents don't matter (though the results are actually very
similar visually), we just need some continuous values across faces.

Pull Request: https://projects.blender.org/blender/blender/pulls/145813
2025-09-27 18:57:18 +02:00
Nika Kutsniashvili
3e51b449be UI: Per-camera composition guide colors
Currently cameras composition guide colors are defined in theme, and not even by an individual
property. They follow 3D Viewport -> View Overlay color, which also defines many other things,
such as world origin cursor. By default it's black and it's difficult to change, because then other
things stand out. But using default black for composition guides is impossible.

This PR, instead, adds new Composition Guide Color property on camera, and uses it in camera view.
This not only fixes the issue mentioned above, but also allows different cameras in one scene to
have different overlay colors. This is very handy when you have, for example, two cameras, one of
which looks at the black corner, and another at the lit-up white one. Using a single black or white color
in this case makes the other one more difficult to see. Now, each camera can have its own color.

This PR only changes color for Composition Guides, and NOT for Safe Areas and sensor. Reasons are:
- It's important to differentiate between different concepts, having everything one color is distracting
- Safe areas are per-scene and shared with Sequencer preview. The camera shouldn't dictate color there.
I have separate plans about handling safe areas in the future.

Images in the PR.

Pull Request: https://projects.blender.org/blender/blender/pulls/143788
2025-09-27 13:25:34 +02:00
Jacques Lucke
b186e60759 Nodes: support node output visibility inferencing
Currently, only the visibility of input sockets can be changed dynamically based
on other menu inputs. However, under some circumstances, it can also be useful
to hide certain outputs. For example, the built-in Curve Arc primitive node does
that.

This patch adds support for automatic detection of unused outputs. How to detect
unused outputs is less straight forward compared to inputs. This patch uses the
rule that an output is unused if it always outputs a "fallback value" (typically
0) irrespective of the currently used inputs. If the output is independent of
all inputs, it stays visible though.

There is a new small utility node called "Enable Output". It replaces a value
with it's fallback value unless it is disabled. This simplifies setting up
unused outputs. In theory, a normal switch node can also be used, but that is
less usable and the user will have to hardcode the fallback value for each type
which is not something that is explicitly exposed yet.

Supporting dynamic output visibility is also a prerequisite for exposing some
menu node options as sockets (e.g. in the Arc node).

Pull Request: https://projects.blender.org/blender/blender/pulls/140856
2025-09-27 10:09:48 +02:00
Brecht Van Lommel
fff8d35e3f Color Management: Add option to control display emulation
In Render properties > Color Management > Display.

* Off: Directly output image as produced by OpenColorIO. This is not correct
  in general, but may be used when the system configuration and actual display
  device is known to match the chosen display.
* Automatic: Display images consistent with most other applications, to preview
  images and video for export. A best effort is made to emulate the chosen
  display on the actual display device.

The option is grayed out when the current OpenColorIO config and display/view
does not support emulation.

Ref #145022, #144911

Pull Request: https://projects.blender.org/blender/blender/pulls/146808
2025-09-26 17:05:18 +02:00
Sean Kim
31dfbc4bef Fix: Reset Curve applies incorrect slope
Missed in 635f42c023

Pull Request: https://projects.blender.org/blender/blender/pulls/146846
2025-09-26 16:58:33 +02:00
Sean Kim
0e2316c2bc Paint: Disable pressure sensitivity for certain brushes
A subset of brushes behave as "anchored" brushes, in that they do not
apply to the surface continually underneath the cursor, but have a
starting point and then are influenced by the mouse movement. These
brushes behave oddly with tablet pressure sensitivity, as they cannot
modulate over the course of the stroke without causing odd behavior.

Currently, the pressure is only sampled at the very beginning of the
stroke, which makes it difficult to control intuitively. Further work
can be done to improve this behavior (e.g. D6603).

The full list of brush types affected is below:
* Grab
* Snake Hook
* Elastic Deform
* Pose
* Boundary
* Thumb
* Rotate
* Cloth with Grab deformation

Resolves #83697

Pull Request: https://projects.blender.org/blender/blender/pulls/146825
2025-09-26 16:41:01 +02:00
Sean Kim
c94e1bf73d Fix: Python errors in brush falloff panel
Caused by 327a1925cf

Pull Request: https://projects.blender.org/blender/blender/pulls/146830
2025-09-26 14:08:17 +02:00
Campbell Barton
9ebc02fc99 Cleanup: spelling, repeated words (make check_spelling_*) 2025-09-26 22:00:27 +10:00
Pablo Vazquez
916f0afd45 UI: Nodes: Add Node Group Indicator and minor style tweaks
Nodes have many indicators in their header: whether they have a
preview, warnings, whether they are a node group, plus potentially
more such as if the library is linked/overriden or packed data.

Of all indicators, whether the node is a node group or not is often not
so relevant (especially when many nodes will be just node group assets)
so having an icon takes away precious real estate for other indicators.

Draw the node shape slightly different. A subtle "stack" of nodes
behind Node Groups indicate this is more than just one node.
The stack is only drawn at a certain zoom.

It is now possible to double-click a node group to enter.

It also makes some more room for the node label, since the node group
icon in the header is no longer needed.

Plus a few visual tweaks and fixes for broken/non-valid nodes.

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/145674
2025-09-26 13:29:45 +02:00
Christoph Lendenfeld
b2653be057 Anim: Place Pose Bone Gizmo at Custom Transform
This PR adds an option "Affect Gizmo" for custom shape transforms to affect
the transform gizmos. If enabled, this will place the gizmo at the
location and orientation of the "Override Transform" (i.e. in its local space).

For Orientations: The gizmo mode *is* respected. I.e. global mode is aligned to the world etc.
There is a special case for "Gimbal" where it will not follow the orientation of the
"Override Transform" bone. I think it makes sense to keep it that way since this
is about the channels of the bone you are actually manipulating.

The other option is "Use as Pivot" with which the bone is actually rotated
around the override bone. This can be useful for rigs in which shapekeys and
armature deformation is combined

Taken over from #136468
For design task #135429

Co-authored-by: Wayde Moss <wbmoss_dev@yahoo.com>
Pull Request: https://projects.blender.org/blender/blender/pulls/142847
2025-09-26 13:25:01 +02:00
Nika Kutsniashvili
eca7056cfe UI: Remove paint curve theme colors, use gizmo colors instead
3D Viewport and Image Editor had theme colors for paint curve handle and pivot.
Paint curves are one of the stroke methods for brushes, and are generally not
widely used. To simplify theming it's best to remove those four properties and
use other shared colors instead.

We could use common curve colors for them, but they don't have point color
and handle point color is black, so we would need to add one more property
anyway and it would look bad as well.

Instead, use gizmo primary and secondary colors. Technically, paint curves
can be treated as gizmos, because they're interactive widgets in the viewport.

Pull Request: https://projects.blender.org/blender/blender/pulls/146777
2025-09-26 13:03:55 +02:00
Weizhen Huang
2b0a1cae06 Cycles: Add an option to use ray marching for volume rendering
Null Scattering currently has performance and noise issues, and it will
take time to address them. For now add the previous Ray Marching back as
an option.

Co-authored-by: Brecht Van Lommel <brecht@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/146317
2025-09-26 12:14:45 +02:00
Julian Eisel
90f723bdd4 UI: Follow HIG for view item selecting/activating
Makes selecting/activating view items (tree and grid view items) behave
as wanted by the guidelines, consistent with many other editors:
https://developer.blender.org/docs/features/interface/human_interface_guidelines/selection/#select-tweaking

Noteworthy:
- View items activate on press again, not on release
- Pose library still only activates poses on click (releasing mouse
  before moving cursor), so dragging can be used to blend poses
- New: Clicking on empty space in a view deselects all
- Redundant activation in interface handlers code is removed

Pull Request: https://projects.blender.org/blender/blender/pulls/146569
2025-09-26 11:26:34 +02:00
Jacques Lucke
4e4976804e Core: Add packed linked data-blocks
This adds support for packed linked data. This is a key part of an improved
asset workflow in Blender.

Packed IDs remain considered as linked data (i.e. they cannot be edited),
but they are stored in the current blendfile. This means that they:
* Are not lost in case the library data becomes unavailable.
* Are not changed in case the library data is updated.

These packed IDs are de-duplicated across blend-files, so e.g. if a shot
file and several of its dependencies all use the same util geometry node,
there will be a single copy of that geometry node in the shot file.

In case there are several versions of a same ID (e.g. linked at different
moments from a same library, which has been modified in-between), there
will be several packed IDs.

Name collisions are averted by storing these packed IDs into a new type of
'archive' libraries (and their namespaces). These libraries:
* Only contain packed IDs.
* Are owned and managed by their 'real' library data-block, called an
  'archive parent'.

For more in-depth, technical design: #132167
UI/UX design: #140870

Co-authored-by: Bastien Montagne <bastien@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/133801
2025-09-26 10:53:40 +02:00
Omar Emara
73fcbaf7c4 VSE: Add Compositor modifier
This patch adds a new Compositor modifier that applies a compositing
node group on a sequencer strip. This patch also introduces the concept
of a compositor node tree space subtype, where we now have a Scene and a
Sequencer subtypes. Practically, this just means that node like the
Render Layers node will not be available in the node editor in the
Sequencer subtype.

Future improvements includes:

- The compositor context is recreated on every modifier application,
  while it should ideally be persistent somehow to make use of the
  compositor static cache. This might require work from the compositor
  side by moving the static cache outside of the context and make it
  thread safe if needed. See `Render.compositor` for an example on
  persistent context.
- GPU execution is not supported. This just needs a GPU context to be
  bound before execution, but the tricky part is getting a GPU context.
  See `render::Compositor::execute` for an example on bounding a GPU
  context and why it is less straight forward.
- Node inputs are not exposed on the sequencer modifier interface. An
  approach similar to Geometry Nodes modifier could be used, look at
  `update_input_properties_from_node_tree` for reference, but notice
  that Geometry Nodes naturally exempt the main Geometry socket because
  Geometry inputs can't be exposed, but for the compositor, we will have
  to exempt the main Color and Mask sockets manually. !145971

Co-authored-by: Aras Pranckevicius <aras@nesnausk.org>
Co-authored-by: Falk David <falk@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/139634
2025-09-26 08:40:42 +02:00
Campbell Barton
9c5fda87a5 Cleanup: use format specifier, full sentences 2025-09-26 05:10:23 +00:00
Campbell Barton
945590c1d9 Fix: un-escaped strings for node operators/UI
Correct error [0] constructing data paths without escaping.

[0]: 2a1a658492
2025-09-26 14:40:43 +10:00
Campbell Barton
b4fbc0c32d Cleanup: remove f-strings use, use double quotes, quiet pylint warnings 2025-09-26 14:31:05 +10:00
Pablo Vazquez
06b13c8fb4 UI: Splash: Adjust layout and add icons
Small layout and links adjustments to the splash screen.

- Extend list of templates to fit the new Storyboarding template.
- Extend the list of recent files by one row, so it matches templates.
- Add icons to templates.
- Rename `Donate` to `Donate to Blender`.
- Move donate link down so it's more prominent.
- Make separator visible.
- Add "Get Involved" link.
- Remove "Tutorials" link. The Support link already provides help, and
it's been a while since we no longer promote tutorials on blender.org.

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/146730
2025-09-26 00:45:10 +02:00
Brecht Van Lommel
78ae7ec392 Render: Rename render passes for clarity
In very old OpenEXR version there was a limit on the channel names, which meant
the pass names needed to be short like "DiffDir". Change them to be longer like
"Diffuse Direct".

* This breaks forward compatibility. Old Blender version will lose links when
  reading compositing node setups with such passes, but #146571 will fix it
  for 4.5 LTS.
* Add-ons, scripts and compositing setups in other applications that rely on these
  names will also break.
* The find_by_type function for render passes has also been removed, as this was
  already deprecated and replaced by find_by_name.
* We assume spaces in the name are ok, since we have passes with them already
  and have not seen reports about compatibility issues.

Pull Request: https://projects.blender.org/blender/blender/pulls/142731
2025-09-25 18:04:14 +02:00
Pablo Vazquez
b74e696acc UI: Theme: Add Curve widget theme settings
Add theme settings for the Curve and CurveProfile widgets.

Even though the curve widget is used all over Blender, it never had its
own theme settings. It was using a mix of colors from the “regular”
toggle widget with text colors inherited from the editor.

Thanks to the recent cleanup and removal of so many redundant theme
options, we can now add new/missing settings without overwhelming
the theme.

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/146274
2025-09-25 17:44:33 +02:00
Jeroen Bakker
8111fe2369 Fix #146655: GPU: Call of deprecated function
There are deprecation usages in the gpu presets and custom
shapes python module. This PR uses the correct calls to remove the
deprecation warnings.

Pull Request: https://projects.blender.org/blender/blender/pulls/146746
2025-09-25 17:22:35 +02:00
quackarooni
2a1a658492 Nodes: Swap Node Operator
Implement a native method to swap between different node and zone types.

This implementation repurposes the existing menu definitions as base
classes, from which both an "Add" and a "Swap" version would be generated
from. This allows both menus to have the same layout, but use their own
operators for handling the different node/zone types.

In this PR, support for all node editors has been implemented.

Invoking the menu is currently bound to `Shift + S`, same as the old
implementation in Node Wrangler. Since "Swap" is implemented as a
regular menu, features that menus already have such as type-to-search
and adding to Quick Favorites don't require any extra caveats to
consider.

Resolves #133452

Pull Request: https://projects.blender.org/blender/blender/pulls/143997
2025-09-25 16:12:02 +02:00
Hans Goudey
fc4fc2d16c Geometry Nodes: Make displaying "Manage" panel optional
Often displaying the "Manage" panel is not very useful, or at least it
isn't worth taking up the screen real-estate. This commit adds an option
for showing the panel in the modifier, and adds an option to the node
group which is used to initialize the modifier option when creating a
modifier for a node group asset.

Pull Request: https://projects.blender.org/blender/blender/pulls/146775
2025-09-25 16:00:07 +02:00
Damien Picard
da92614fd2 Fix: Node Wrangler: Error in Merge Nodes when only one node selected
Running Node Wrangler's Merge Nodes operator on only one node
resulted in an error. It was introduced in commit db39daf9e7.

That commit assumed that `l[len(l)-2]` and `l[-2]` were the same, but
they are not when `len(l) == 1`. In that case, the former is valid but
the latter is not.

This commit fixes the error by checking how many nodes are selected.

Pull Request: https://projects.blender.org/blender/blender/pulls/146361
2025-09-25 14:52:47 +02:00
Nika Kutsniashvili
28b97afda2 UI: Theme: Generalize geometry attribute properties
This PR generalizes properties for geometry (currently mesh only) attributes
found in 3D Viewport theme, namely:

- Combine "Edge Bevel" and "Vertex Bevel" into one "Bevel" property.
- Combine "Freestyle Edge Mark" and "Freestyle Face Mark" into one "Freestyle" property.
- Remove word "Edge" from Crease, Sharp, and Seam properties, to match others.
- Group all of the above together in the UI.

This is a breaking change (that will be handled with others in migration),
but doesn't introduce any visual changes in the default theme (and almost any theme).

Pull Request: https://projects.blender.org/blender/blender/pulls/146732
2025-09-25 14:02:46 +02:00
Pablo Vazquez
e77261f306 UI: Move Render Preview operators to View menu
Move operators inside the "Render Preview" menu back to the View menu.

This does not include "Render Viewport Keyframes", see #146749

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/146756
2025-09-25 12:24:35 +02:00
Pablo Vazquez
4193cb4f17 UI: Rename animation footers to Playback Controls
Rename the menu item "Footer" in Animation/VSE to "Playback Controls".

This only affects the menu item label under `View`, in the following editors:
* Dope Sheet
* Graph Editor
* NLA Editor
* Sequencer

The name "footer" has issues:

* It's not descriptive of what it does/contains.
* It can be moved to the top, so no longer a footer.
* When used in other editors, it may contain different things so it
  is unexpected what to find in it.

See PR for screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/146727
2025-09-25 12:16:32 +02:00
Sean Kim
327a1925cf Paint: Rename curve and curve_preset
This commit renames the following DNA fields and corresponding RNA
properties to better represnt usage:

* `Brush.curve` to `Brush.curve_distance_falloff`
* `Brush.curve_preset` to `Brush.curve_distance_falloff_preset`

Pull Request: https://projects.blender.org/blender/blender/pulls/146254
2025-09-25 11:54:53 +02:00
Aaron Carlisle
d33e78bf06 UI: Movie Clip Editor: Consistent Header Layout
Align header layout with the Image Editor:

- Place ID selectors and transform controls in the center
- Place Display properties to the far right.
2025-09-24 20:40:12 -04:00
Aaron Carlisle
f16320e118 UI: Improve Movie Clip Display Aspect Ratio
- Disable animation support (consistent with image editor)
- Use property split layout
2025-09-24 20:20:15 -04:00
Aaron Carlisle
18d0532915 UI: Movie Clip Editor: Add Overlays Support
Move several clip and mask display options into a common Overlays popover,
consistent with other editors. Includes a global toggle (Shift-Alt-Z) to
show/hide all overlays at once.

Also adds the missing annotations toggle, cursor visibility toggle, and moves mask display options in
the Image Editor into the Overlays popover due to shared code paths.

See PR for images.

Pull Request: https://projects.blender.org/blender/blender/pulls/145895
2025-09-24 23:51:06 +02:00
Nika Kutsniashvili
e0392599f8 UI: Theme: Remove face dot color property
Mesh faces have a separate theme color for selected dots (1px dot in the center of the face),
in both the 3D Viewport and the Image Editor.

I don't think there is any justification for why that 1 pixel has to be a different color from rest
of the active face. Even if result isn't satisfying, we should be tweaking Face Selected color
for this purpose. 1 pixel doesn't deserve its own theme setting.

This PR removes property from both editors, and instead uses "Face Selected" color with alpha
hardcoded to 1 (removed properties didn't have alpha). Also note that dot is still visible in 3D viewport
because Face Selected color is different from Face Mode Selected color, which is used for faces
when dots are drawn.

There are no visual changes in default themes.

Pull Request: https://projects.blender.org/blender/blender/pulls/145364
2025-09-24 19:04:28 +02:00
Pablo Vazquez
039549900b Templates: Add Storyboarding app template
Implements #144061, part of the Story Tools project #135058

Add a new "Storyboarding" app template, as a quick way to start drawing
on multiple scenes/shots thanks to the VSE Sync Scene setting.

- Created based on the 2D Animation template
- Features an additional Sequencer editor with `Sync Scene` enabled.
- Adds one `Edit` scene used in the Sequencer.
- Adds one Scene asset (`Shot.000`) as example to be used as blueprint,
users can edit it and later add/duplicate in VSE to create new shots.
- Adds two scenes as example (`Shot.001`, `Shot.002`), based on the
  included `Shot.000` Scene asset.

Default Edit scene length is 10 seconds, while the shots are 2 seconds
each. The default of 250 frames for each shot was a bit much and didn't
serve as good example in the Sequencer timeline.

One aspect missing is the Scene range overlay from !146165, but that can
be added via versioning.

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/146658
2025-09-24 15:14:08 +02:00
Bastien Montagne
00612f0960 Fix (unreported) broken ui_undo_tests due to mistake in geonode code.
poll function expects a modifier or `None` from `get_context_modifier`,
and was getting `False` instead...
2025-09-24 11:51:15 +02:00
Hans Goudey
db4d9067d0 Shape Keys: Options to mirror shape keys in update, join operators
As described in #135095, this adds a "mirror" option to the "Join as
Shapes" and "Update from Objects" operators, and additional menu items
with the option enabled. Like the operators, this is a convenience
feature that's functionally the same as selecting all shape keys with
changed data and running the existing "Flip" operator.

Pull Request: https://projects.blender.org/blender/blender/pulls/144098
2025-09-23 22:12:10 +02:00
Sybren A. Stüvel
e1b6cc2404 Anim: imported action slot named "Slot" when importing BVH/FBX files
Always name the imported action slot "Slot" when importing BVH and FBX
files, for ease of switching between imported Actions.

Note: this is only adjusting the old Python-based FBX importer.

Previously the slot would be named after the file itself (BVH) or had a
combination of the animated object, the animation "stack", and the
animation "layer" (FBX). This meant  that every imported animation would
get another slot name, making Action switching tedious.

Pull Request: https://projects.blender.org/blender/blender/pulls/146601
2025-09-23 15:19:55 +02:00
Pablo Vazquez
33ca6456d0 Template: Update 2D Animation template
Maintenance update to the 2D Animation template.

The following changes were made:
- Remove Timeline.
- Enable DopeSheet footer.
- Save (with compression).
- Enable "By Active Tool" in tool shelf. (suggested by the GP module)
- Remove Compositing and Rendering workspaces

All changes done in a 1920x1090 window, factory startup, without a
preferences folder.

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/146359
2025-09-23 15:04:24 +02:00
Brecht Van Lommel
52c028e0b0 Shaders: Move repeat and closure/bundle nodes into Utilities submenu
It may be worth reconsidering how to organize these menus and add consistency
with geometry nodes. However we should at least avoid putting these as 5 new
top level entries.

Ref #141936

Pull Request: https://projects.blender.org/blender/blender/pulls/146607
2025-09-23 13:06:17 +02:00
Falk David
2b53ed9add Fix: VSE: Python errors when no sequencer scene is present
There were multiple places in the UI code that assumed
that the sequencer scene and tool settings exist, when
they might not.
2025-09-23 11:51:54 +02:00
Damien Picard
f2126e211f Fix: URL prefix for experimental preferences
Recent commit 4c2ea47aec changed the URL prefix for experimental
preferences, missing a "/" and making them look like:

`https://projects.blender.orgblender/blender/issues/83811`

instead of:

`https://projects.blender.org/blender/blender/issues/83811`

Ref !145215

Pull Request: https://projects.blender.org/blender/blender/pulls/146531
2025-09-23 10:00:09 +02:00
Campbell Barton
9ee1076fd4 Cleanup: warning from ruff 2025-09-23 09:41:14 +10:00
Dalai Felinto
420dfebbb8 UI: Add Modifier: Move Geometry Nodes last
With Blender 5.0 a few modifier assets are bundled. This makes the
Geometry Nodes modifier even more of a special modifier which isn't
intended for many people to use.

As such this PR moves it to the end to be a bit less prominent.

| 4.5 | PR | PR |
| - | - | - |
|<img width="217" alt="Screenshot 2025-09-22 at 16.10.17.png" src="attachments/c12fedc4-549e-4b7b-bc28-c990e17a679e">|<img width="182" alt="Screenshot 2025-09-22 at 16.11.18.png" src="attachments/ce80702e-95dd-441a-8d36-c41f64d03a64">|<img width="214" alt="Screenshot 2025-09-22 at 16.11.45.png" src="attachments/5b07d5e9-b133-4fc5-a5a4-a1989929e58e">|

The PR column shows the changes proposed here in two scenarios: with and another without Unassigned assets.

Ref: !146590
2025-09-22 18:59:36 +02:00
Dalai Felinto
851e5b55af VSE: Story Tools: Add Scene Strip Menu improvements
- Show unassigned scene assets directly under Assets.
- Use Icons for Assets label.
- Only show "Scenes" when there are Assets.
- Don't show scene assets on the "Scenes" list.

The design about changing the operator default behaviour will be
addressed separately. This patch only changes the UI.

Design ref: #145522
Ref: !146574
2025-09-22 17:19:03 +02:00
Tenkai Raiko
f8d579d153 Nodes: Add Radial Tiling Node
On its own, the main functionality of the Radial Tiling node
is the ability to divide a 2D Cartesian coordinate system into
as many radial segments as specified by the "Segments" input.
Each segment has its own affinely transformed coordinate system,
provided through the "Segment Coordinates" output, which can be
used to tile textures in a radially symmetric manner.

Additionally, a unique index is provided for every segment through
the "Segment ID" output, the width of each segment at Y-coordinate
of the "Segment Coordinates" output without normalization = 0 is
provided through the "Segment Width" output and the rotation value
of the affine transformation of the coordinate system of each segment
is provided through the "Segment Rotation" output.

The roundness of the coordinate lines of the "Segment Coordinates"
output can be controlled through the "Roundness" inputs.
This can be used to make the coordinate systems of the segments
a mix of Cartesian and polar coordinates.

Lastly, the lines of points of the "Segment Coordinates" output with
constant Y-coordinates have the shape of polygon with rounded corners,
which can be used to procedurally create rounded polygons.

Pull Request: https://projects.blender.org/blender/blender/pulls/127711
2025-09-22 16:02:37 +02:00