Commit Graph

860 Commits

Author SHA1 Message Date
Damien Picard
5998795aa6 UI: Replace contractions with long-form text
Avoid using contractions for can't, aren't, doesn't, and shouldn't.
Following the writing style guide in the Human Interface Guidelines.

Pull Request: https://projects.blender.org/blender/blender/pulls/143852
2025-08-05 11:16:22 +02:00
Nika Kutsniashvili
7158e02aed Modeling: Set shape key default value to 1.0
When adding a shape key, set its blend value to 1.0 / 100%.

There is no practical use case where user wants to add shape key but
not work on it. New shape keys at value 0 have no purpose. Adding
shape key should be interpreted by Blender as user wanting to
sculpt/model on it. Also, being at 1.0 initially doesn't change
anything visually, because key isn't edited yet and it doesn't deform
mesh.

The default value of the shape key is also set to 1.0. When using
right-click to reset values, user most often wants to return to 1
(which is "correct" state of deformation without multiplication)
rather than 0 (which is no deformation at all).

Co-authored-by: Sybren A. Stüvel <sybren@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/133399
2025-08-01 15:43:31 +02:00
Campbell Barton
2c27d2be54 Cleanup: grammar corrections, minor improvements to wording 2025-08-01 21:41:24 +10:00
Falk David
4a36f5b2dc Fix: Rigify: Wrong type in create_object_data for Grease Pencil
The code was using the legacy Grease Pencil data type
in `create_object_data`. For the object type `GREASEPENCIL` we should
be using `bpy.data.grease_pencils_v3`.

Pull Request: https://projects.blender.org/blender/blender/pulls/142335
2025-08-01 13:35:10 +02:00
Brecht Van Lommel
eb8dc8f535 Fix: Operator, app template and benchmarking script errors after media type
Always set the media type before the file format.

Ref #142955

Pull Request: https://projects.blender.org/blender/blender/pulls/143433
2025-07-28 11:55:11 +02:00
Aaron Carlisle
60bd15ca40 Core: Add-ons: Display Maintainer as "Blender Foundation"
The author field is displayed in the UI as "Maintainer",
most of the original authors are no longer active or are part of the foundation.
Since the core add-ons are maintained the same as the rest of Blender they should be shown accordingly.

The exceptions here are the GLTF and Hydra add-ons; these Khronos Group and AMD are included as maintainers.

The orginal author field is preserved in the chance the add-on looses it's "core" status.

Pull Request: https://projects.blender.org/blender/blender/pulls/140690
2025-07-26 03:42:15 +02:00
Omar Emara
e34e6373b6 Compositor: Replace Composite node with Group Output node
This patch replaces the Composite node with the Group Output node as the
primary compositor output. The old node was removed and versioned. This
was done for consistency with Geometry Nodes and in preparation for more
generic use of the compositor in VSE modifiers, layered compositing, NPR
multi-stage compositing, and more.

The Group Output node relies on the node tree interface, so we now have
a default interface of a single input and a single output. For now, only
the first input is considered while the rest are ignored, just like the
Geometry Nodes design. Furthermore, the input is required to be of type
color. Warnings and errors are issues if any of those are not met, also
similar to Geometry Nodes.

This introduces a new limitation: Composite outputs can no longer exist
in node groups, since they obviously then act as their respective group
outputs.

A refactor for the compositor scheduler is needed to simplify the logic
after this change, but this will be done in a separate patch.

Pull Request: https://projects.blender.org/blender/blender/pulls/142232
2025-07-24 13:41:56 +02:00
Campbell Barton
0442a9fe0a Extensions: clarify the identifiers must "Python" id's in the error
Without this, it's not clear what a "valid identifier" means,
ref: #136517.
2025-07-24 18:29:36 +10:00
Campbell Barton
e5947bdf63 Cleanup: spelling (make check_spelling_*)
Also exclude some files that have too many false positives.
2025-07-20 14:59:19 +10:00
Campbell Barton
eee549f882 Docs: add readme for extensions
This intends to give an overview of the extensions implementation.

Co-authored-by: Sybren A. Stüvel <sybren@blender.org>

Ref !134785
2025-07-17 03:20:16 +00:00
Campbell Barton
989af38c93 Docs: add some code-comments regarding the default exclusions 2025-07-17 13:11:43 +10:00
Nika Kutsniashvili
169dbdd60f Extensions: exclude backup blend files when building an extension
Ref !142091
2025-07-17 13:11:29 +10:00
Campbell Barton
d15e7b17aa Fix #142009: Extensions/Addon Tags not showing (property not found)
Changes to the Python API [0] broke the extension tags popover
which relied on RNA properties also having ID property access.

Replace the ID property based tags with a collection.

[0]: 7276b2009a
2025-07-16 13:29:42 +00:00
Campbell Barton
bf7dd85818 Cleanup: remove redundant imports 2025-07-16 23:19:30 +10:00
Campbell Barton
19ee3932c3 Fix #141948: No error on arbitrary assignments to PropertyGroup
Declare `__slots__` to prevent arbitrary assignment.
2025-07-16 17:44:06 +10:00
Denis Meyzer
e0a9e98cbd Fix: Only last tangents layer is exported to fbx when mesh has multiple uv layers
Only last tangents layer was written to all tangent layers before this fix.

Code before fix evaluate tangents for all layers into mesh loops data (which keeps data only for one layer) and then writes information about 'each' layer which is actually only the last one.
Code after fix evaluates tangents in the beginning of the loop that exports tangent data so that data for correct layer is being written into fbx.

Co-authored-by: Andrey Zhitkov

Pull Request: https://projects.blender.org/blender/blender/pulls/141839
2025-07-14 10:36:46 +02:00
Damien Picard
db39daf9e7 Fix: Node Wrangler: Various fixes and cleanup
Fix error in Attributes menu in World shading mode

Node Wrangler's Attributes menu allows direct addition of attributes
to a shading node tree. It only works on objects, not World, since the
latter does not store attributes.

Fix: Update Merge Nodes operator for new node types

Nodes were deduplicated between node modes (shading, compositing,
geometry) in Blender 5.0. This commit aligns Node Wrangler's Merge
Nodes operator to the new node types.

Cleanup
- Remove unused import and variables
- Merge Nodes Operator
  - Use negative list indices instead of length - index.
  - Chain conditions instead of nesting them.

Pull Request: https://projects.blender.org/blender/blender/pulls/141508
2025-07-11 15:25:06 +02:00
Philipp Oeser
6d900f841f Merge branch 'blender-v4.5-release' 2025-07-11 13:18:42 +02:00
Jesse Yurkovich
6df4c14e4b Fix #141760: FBX export inadvertently modifies color property on lights
Broken with commit a12bce039f

The Blender `Color` type is treated as a reference in Python. Make a
`.copy` to ensure that changes are not made to the actual scene.

Pull Request: https://projects.blender.org/blender/blender/pulls/141762
2025-07-11 10:17:07 +02:00
Julien Duroure
dcd8d4423d Merge branch 'blender-v4.5-release' 2025-07-09 09:46:26 +02:00
Julien Duroure
100ed60f2d Fix: Importer can fail with blender file browser recursive option enabled
The files property, provided by the blender file browser, contain
paths relative to the directory property. Use that instead of using
the filepath parent directory.
2025-07-09 09:44:10 +02:00
Jesse Yurkovich
39215f00a4 Merge branch 'blender-v4.5-release' 2025-07-07 14:24:55 -07:00
Guillermo Venegas
2cf0c63461 Fix #140942: FBX importer fails when using file browser recursive option
The `files` property, provided by the blender file browser, contain
paths relative to the `directory` property. Use that instead of using
the file's parent directory.

Pull Request: https://projects.blender.org/blender/blender/pulls/141575
2025-07-07 23:24:26 +02:00
Ido-Shahar
0e8110fa94 Node Wrangler: Add support for boolean sockets to nw_merge_nodes, results in a Boolean Math node
### Summary

A small fix / addition to Node Wrangler operators.py, specifically the
nw_merge_node operation. I added support for merging nodes with
boolean sockets, which used to not respond to nw_merge_nodes / nw_lazy_mix.

### Motivation

As a user, I found it frustrating that I couldn't use lazy mix on boolean
nodes, as geonodes-heavy projects relied on them, and required adding
Boolean Math nodes often.
I intuitively expected it to add a Boolean Math node, which is the most
similar to Math Add for floats & Join Geometry for geometry.

### Implementation

A boolean nodes list is created when the rest of the lists are cerated,
nodes with boolean outputs get added to it, it's taken into consideration
when checking if PASS_THROUGH, then if we didn't PASS_THROUGH,
a Boolean Math node is created, similar to the existing options.
When the user uses a math merge shortcut (ctrl+0, ctrl+*, etc), the
code ignores it, adds Boolean Math anyway.

Pull Request: https://projects.blender.org/blender/blender/pulls/140236
2025-07-04 15:26:21 +02:00
Guillermo Venegas
1adf9ce9dc IO: Add FileHandler for importing SVG as curves
This enables drag-n-drop support for the `import_curve.svg` operator.
Since the existing `Import SVG as Grease Pencil` operator handles the
same file type, when dropping `.svg` files this will prompt to choose
between theses 2 operators.

See PR for examples and notes on eventually changing the operator
description.

Pull Request: https://projects.blender.org/blender/blender/pulls/140603
2025-07-03 19:35:53 +02:00
Campbell Barton
9ba5963a1e Merge branch 'blender-v4.5-release' 2025-07-03 18:39:23 +10:00
Campbell Barton
9a1ae5b514 Merge branch 'blender-v4.5-release' 2025-07-03 18:39:19 +10:00
Campbell Barton
4127f5c47c Extensions: suppress errors printed because of missing directories
When dropping an extension onto Blender, the URL lookup would print
errors to the STDOUT if a repository directory was missing.

While this didn't break installation, these kinds of errors should
only be shown when the directory is expected to exist.

The issue was raised in #141212.
2025-07-03 18:21:16 +10:00
Campbell Barton
e0d2a0bc1a Fix URL's in extension errors accessing remote data
The base URL was used when reporting errors accessing a URL,
use the full URL being accessed instead since anything else
is misleading, the full URL is needed to troubleshoot issues.
2025-07-03 18:21:16 +10:00
Julien Duroure
2aed558f08 Fix #141345 - glTF: Fixes after recent Blender changes on IDprops 2025-07-02 18:04:00 +02:00
Bastien Montagne
3bb53a27bb Merge branch 'blender-v4.5-release' 2025-06-30 11:21:59 +02:00
Damien Picard
33f31f1842 I18n: Translate a few messages
I18n: Translate a few messages

- Translate add-on types in the user preferences.
- Translate a report which uses formatting.
- Do not translate scene names in `sequencer.scene_strip_add` operator
  UI.
- Do translate the type of new scene in
  `sequencer.scene_strip_add_new` operator.
- Translate Half and Float image format color depth enum items.
- Translate Mix node header with non-color data types.
- Translate sequencer modifiers' names if data translation is enabled.

Most issues reported by Ye Gui in #43295.

Pull Request: https://projects.blender.org/blender/blender/pulls/141145
2025-06-30 11:12:48 +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
Aaron Carlisle
98d11bf445 Cleanup: Use "Custom Normals" in code comments
Follows up on f0675f05a7 and corrects the terminology in some code comments.
2025-06-21 19:42:04 -04:00
Aaron Carlisle
f0675f05a7 UI: Make Custom Normal naming consistent
This changes the naming of "Custom Split Normals" or "Split Normals" to be "Custom Normals"

This addresses #134744, only UI naming has been adjusted.
Internal/External APIs are left unchanged.

Pull Request: https://projects.blender.org/blender/blender/pulls/140440
2025-06-22 01:28:02 +02:00
Julien Duroure
a582b06829 Merge branch 'blender-v4.5-release' 2025-06-19 18:47:03 +02:00
Julien Duroure
a051f87fee glTF import: Fix importing implicit scene idx 2025-06-19 18:45:58 +02:00
Nika Kutsniashvili
efa8d942b8 Refactor: Remove grid and compact UI list layout in Python scripts
The grid layout type for UI list is planned for removal in 5.0, see
blender/blender#110461.

In previous UI meetings, we talked about deprecating the Grid mode of
the UI list, which is not actually accessible in UI and was never used.
Nowadays, there is a new grid view that can be exposed in the API in
the future.

Initially, I wanted to remove references to layout_type in UI templates
in the text editor, because a lot of add-on developers on the
extensions platform base their lists on that code, and a lot of them
are therefore including soon to be deprecated code in their add-ons,
which I want to avoid in the future. But I thought we might as well
remove it from our python scripts as well, since it's just basically
redundant code that doesn't do anything. And also because many add-on
developers use bundled python scripts for references as well.

Pull Request: https://projects.blender.org/blender/blender/pulls/138395
2025-06-18 13:45:06 +02:00
Julien Duroure
1579d20c0b Merge branch 'blender-v4.5-release' 2025-06-17 13:06:48 +02:00
Julien Duroure
550b3e8088 glTF exporter: Fix typo 2025-06-17 13:05:19 +02:00
Julien Duroure
d945abdc25 Merge branch 'blender-v4.5-release' 2025-06-17 12:59:44 +02:00
Julien Duroure
febe562f01 glTF importer: Refactoring merge material slots:
- Fixes some bugs with Variant import
- Fixes some bugs for no material but VC
- Add optino to choose to merge or not
2025-06-17 12:58:02 +02:00
Julien Duroure
81cfc41d36 Merge branch 'blender-v4.5-release' 2025-06-17 12:52:34 +02:00
Julien Duroure
4aa36b11d0 glTF exporter: Animation NLA track mode - fix export for SK & KHR_animation_pointer 2025-06-17 12:51:26 +02:00
Julien Duroure
6f3d61dc96 Merge branch 'blender-v4.5-release' 2025-06-17 12:47:26 +02:00
Julien Duroure
0bd1fbc731 glTF exporter: Variant: Sanity checks to avoid bad duplicate exports 2025-06-17 12:46:34 +02:00
Julien Duroure
7d51edba4b Merge branch 'blender-v4.5-release' 2025-06-17 12:39:54 +02:00
Julien Duroure
6a684cf4f8 glTF exporter: avoid crash for big WebP images 2025-06-17 12:38:39 +02:00
Julien Duroure
e1a66cf64e Merge branch 'blender-v4.5-release' 2025-06-17 12:35:21 +02:00
Julien Duroure
d00e01e663 glTF: Fix missing unregister 2025-06-17 12:34:10 +02:00