To create a connection with the icon that shows up in
ID templates and decorators once library is overriden.
Affects Outliner context and Object menu in 3D Viewport.
Similar to the Asset menu.
Replace the 'armature layers' operator (which would toggle visibility of
armature layers) with the 'bone collections' menu (which allows assigning
to and unassigning from bone collections). The functionality of these
operators is quite different, but it unifies the behaviour between
armature pose and edit modes.
Selecting which bone collections are visible in the 3D Viewport may be
reintroduced after nestable bone collections are implemented. Otherwise
the list of bone collections will likely become unwieldy.
This is a compatibility breaking change to rename all usages of the name
`asset_library_ref` with `asset_library_reference`. Brecht recently
suggested that such abbreviations should be avoided in public API names.
The asset handle type is supposed to be replaced by the asset
representation type. It is designed for the asset system as opposed to
the file browser backend. With d421ebac5e, d04cd3f3e6 and f6a6b27ac1, it
can now do everything that is needed in Python to be a replacement.
With this commit the asset handle type and the file handle type it uses
is almost entirely replaced in Python files (only for the asset view
template we require a collection property taking asset handles still,
for internal reasons.)
Part of #102877 and #108806.
In armature edit mode, replace the 'bone layers' operator with the 'move
to bone collection' operator. This operator now works in both pose mode
and edit mode, and is available with the 'M' hotkey in either mode.
Remove the Ctrl+G shortcut (remnant of the bone group assignment operator),
and change the 'Pose / Bone Collections' menu so that it handles linked
and overridden data properly. Shift+M now shows that menu too.
Each type of Freestyle modifier gets its own panel. Each panel draws
breadcrumbs below the header. These breadcrumbs look like:
MyLineSet > MyLineStyle
They are currently translated, but since they represent data they
should not.
This commit disables translation for these breadcrumbs.
Pull Request: https://projects.blender.org/blender/blender/pulls/112418
This finalize the implementation of the screen space tracing
for EEVEE-Next.
Refractive objects can now have screen space reflection too
and self reflect.
This keeps the feedback radiance buffer principle of the
Classic EEVEE so that we still get infinite bounces by default.
There are some conflict with refraction tracing and ambient
occlusion nodes. Materials using screen space refraction will
not be able to detect occlusion from any refractive surface using
screen space refraction including itself.
They also won't be visible to screen space reflections from other
materials *not* using screen space refraction.
This should be added to the list of limitations for now.
Note that the current approach to feed the radiance is to copy
the radiance buffer. This has the nice property of only containing
the currently rendered objects and not project transparent objects
or other non-yet rendered object onto the depth behind them.
Pull Request: https://projects.blender.org/blender/blender/pulls/112341
This is (mainly) some cleanup in names and descriptions, since we are
not using any SVN repository anymore, and layout of working new Git
repository is quite different.
Change in sync with upcoming update of the `ui_translate` add-on.
Related to https://projects.blender.org/infrastructure/blender-projects-platform/issues/65
Remove `es_ES` language.
Rename `uz_UZ` to `uz_UZ@latin`
Rename `zh_CN` to `zh_HANS`
Rename `zh_TW` to `zh_HANT`
Add support for lowercase chars in `country` part of the locale code
(although in the end it is not needed, since `boost::locale` backend
does not supports lowercase 'country' part in locales identifiers
currently) .
Related to https://projects.blender.org/infrastructure/blender-projects-platform/issues/65
Changes the `asset_poll()` and `draw_context_menu()` methods for asset
shelves to use the `AssetRepresentation` type, instead of `AssetHandle`.
The latter should be removed, so it's better to avoid using it in the
asset shelf BPY to avoid future compatibility breakage. This is possible
now with d421ebac5e.
Blender's generic custom property panel doesn't support operating on
overridden data yet, so it's better to just hide the panel altogether.
Before this commit, the 'Custom Properties' panel was shown but empty.
Fixed by using a slightly transparent white color that blends
correctly with the background of text inputs and list items.
Also use the same colors in the Text Editor for consistency in both
Dark and Light themes.
Account for sys.modules not to have a __main__ module, various other
minor improvements too.
- Use a context manager to temporarily override the __main__ module.
- Use a context manager to override the stdin when auto-completing.
- Remove `_BPY_MAIN_OWN` constant as the __main__ module is needed.
Since [0] mixing weight-paint & pose modes made weight-paint overlay
options inaccessible. Display both popovers in the 3D view header
in this case.
[0]: 4fa4f5432d
The recent change to the 'Add Modifier' created at least two issues:
* A complete duplicate of UI info for each modifier (its name and icon),
now existing in both the RNA enum definition of modifiers types, and
in the pyhton UI code.
* An implicit duplication of these UI names in two different translation
contexts, since the ones from the enum use the default one, while
explicit labels passed to the `layout.operator` UI API get assigned a
default 'operator' context. See PR !112246 for details about this.
Both issues can be easily solved by making the new python code for these
menus a bit smarter. Adding a helper function that adds the `add_modifier`
operator with the right parameters, just based on the operator type.
Both names (labels) and icons can be found in the enum property
`bl_rna` definition itself then.
This change:
* Avoids duplicating UI info.
* Fixes translation context mismatch, by forcing the usage of the
default one also from the python code.
* Makes code less verbose and overall more readable.
NOTE: An attempt has been made to use the `get_name` callback of
operator types to automatically return the right name based on the
defined type, but this is currently utterly failing with regular
layout-based UI code. This will be reported and handled separately.
Pull Request: https://projects.blender.org/blender/blender/pulls/112252
Regression in [0] which removed empty regions that were used to
ensure pie menu items match the location of regions.
The header for e.g. in time-line / graph editor for e.g. showed
on the opposite side.
[0]: 48b8c8f78f
During the recent operator renames, the menu
entry for "Sound to Samples" was missed and
left as "graph.sound_bake"
This fixes it to be the correct "graph.sound_to_samples"
After Renaming "Bake Curve" to "Samples to Keys" in #111049,
the name of the `ACTION_OT_sample` operator needed renaming.
That is because the word "sample" is now used to describe FCurve
data in an uneditable state.
Rename to `ACTION_OT_bake_keys` since baking is the
term used in animation to describe the action of creating dense key data.
Pull Request: https://projects.blender.org/blender/blender/pulls/112151
After Renaming "Bake Curve" to "Samples to Keys" in #111049,
the name of the `GRAPH_OT_sample` operator needed renaming.
That is because the word "sample" is now used to describe FCurve
data in an uneditable state.
Rename to `GRAPH_OT_bake_keys` since baking is the term
used in animation to describe the action of creating dense key data.
Pull Request: https://projects.blender.org/blender/blender/pulls/112148
The `VIEWLAYER_PT_eevee_next_layer_passes_data` class name was
re-used by mistake for Workbench Next in ba982119cd,
and the actual EEVEE Next class was then removed in 678dc456e3.
This adds back the UI as it was, and the missing passes (Vector and
Position) it referenced.
Pull Request: https://projects.blender.org/blender/blender/pulls/112162
Now that specific menus can be searched directly (see 7f9d51853c),
there is no need to maintain separate search functionality for adding
nodes. This PR removes the add node search. In a way this brings us
closer to the `NodeItem` situation before, but the setup is more
flexible since the menus are more standard and easier to customize.
In the few ways we customized the node search items before, this gives
us the same results as before. Overall the searching is less flexible,
but I think that is just a tradeoff we have to accept for the simplicity
of searching menus. In the future menus could be made more dynamic,
with each builtin node's menu path stored on the node type, similar to
assets. That might be a nice compromise. In the meantime this code
is just dead weight.
Pull Request: https://projects.blender.org/blender/blender/pulls/112056
This operator is a combination of the previous delete operator `frame` mode
and the `active_frames_delete_all` operator.
This also add the delete menu and key binds.