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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
- 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
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
The keymap `km_image_paint` righfully includes both
`VIEW3D_AST_brush_texture_paint` and `IMAGE_AST_brush_paint` since
painting can be done in both Editors.
So we want to improve upon polling.
Three parent classes involved: `ImageAssetShelf`, `View3DAssetShelf`,
both inherit from `BrushAssetShelf`
`IMAGE_AST_brush_paint` (inherits from `ImageAssetShelf`) was already
checking for being in paint mode (so that Asset Shelf already wasnt
showing), but `VIEW3D_AST_brush_texture_paint` (inherits from
`View3DAssetShelf`) was permissive (doesnt have specialized poll, relies
on the "mother" classes `BrushAssetShelf` which only checks for an
active object and if that active objects `mode` equals the Assets Shelfs
"mode"). This can be true if you have an object in Texture Paint mode in
the 3DView.
So to make shelves like `VIEW3D_AST_brush_texture_paint` **not** pass
their poll in the Image Editor, add a specific poll case.
NOTE: the report also mentiones a crash when actually selecting a "bad"
brush from the "bad" asset shelf. Since that scenario is now impossible
to reach, the crash has not been investigated further.
Pull Request: https://projects.blender.org/blender/blender/pulls/146071
Support adding lattices to selected objects,
deforming them with with the lattice modifier.
By default the lattice fits to the object bounds and is oriented
to the active object (if it's set).
Resolves#144076
Ref !144888
Move 3D Viewport and Sequencer OpenGL render operators into a
"Render Preview" sub-menu.
The goal is to make the operation more clear, and being able to add
new entries to render the active scene or Sequencer scene (handy when
using the new "Sync Scene").
This also reduces the length of the `View` menu which in some cases
can get quite long.
See PR for details and screenshots.
Resolves#146302
Pull Request: https://projects.blender.org/blender/blender/pulls/146316
Follow up to !146169
- Add versioning so the new sidebar shows up in old files.
- Remove the hidden flag so it shows up in new Preferences editors.
- Add "Sidebar" toggle to the View menu, and expose region toggle.
Pull Request: https://projects.blender.org/blender/blender/pulls/146321
This commit builds off of 5f8311f596 to support collapsing the custom
paint curve to reduce the amount of information shown to the user.
To support this, a new field is added to the `Paint` struct for this
visibility flag. This value is stored on a per-mode level, not a
per-brush level, as a user editing this curve is likely to not need
the visibility granularity on a per-brush basis.
Additionally, changes are included here to draw the curve button
itself as inactive if the parent layout it is part of is inactive.
Notably, this does not make the curve read only - it only changes
the appearance.
Pull Request: https://projects.blender.org/blender/blender/pulls/145699
"Use Nodes" was removed in the compositor to simplify the compositing
workflow. This introduced a slight inconsistency with the Shader Node
Editor.
This PR removes "Use Nodes" for object materials.
For Line Style, no changes are planned (not sure how to preserve
compatibility yet).
This simplifies the state of objects; either they have a material or
they don't.
Backward compatibility:
- If Use Nodes is turned Off, new nodes are added to the node tree to
simulate the same material:
- DNA: Only `use_nodes` is marked deprecated
- Python API:
- `material.use_nodes` is marked deprecated and will be removed in
6.0. Reading it always returns `True` and setting it has no effect.
- `material.diffuse_color`, `material.specular` etc.. Are not used by
EEVEE anymore but are kept because they are used by Workbench.
Forward compatibility:
Always enable 'Use Nodes' when writing blend files.
Known Issues:
Some UI tests are failing on macOS
Pull Request: https://projects.blender.org/blender/blender/pulls/141278
This commit implements the design task #78398
- Box region
- Set Custom UV Region (Ctrl-B).
- Disabled with Custom Region checkbox in the menu or (Ctrl-Alt-B).
- Box Select (Pinned) changed to (Alt-B).
- When the Custom Region enum is chosen the islands are packed
into the bounding box of the drawn region.
Ref !140020
While perhaps it is more accurate to draw the sidebar navigation in a
"Navigation Bar" region, the navigation "tabs" are not real tabs, so
the darker background usually used for tabs doesn't look good here.
Draw the sections radio buttons in a regular sidebar region instead.
See PR for details and screenshots.
Co-authored-by: Brecht Van Lommel <brecht@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/146169
Continues and depends on #145609, part of #140360 project.
Previously, all 5 animation/video editors had different properties
for Scrubbing/Markers region. This PR adds new Region panel for it,
so that all editors can share one color.
Text color in this region was coming from regular editor text color.
To differentiate between editors (as is the pattern already with other editors),
and allow more modular themeability of regions, new Text color is added
for that region as well.
Video in PR
Pull Request: https://projects.blender.org/blender/blender/pulls/146113