September 22, 2021, 13:54 (GMT) |
Cleanup: WM append code: de-duplicate post-make-local process a bit. |
September 22, 2021, 13:54 (GMT) |
Cleanup: Rename USER_APP_LOCK_UI_LAYOUT There will be other settings that lock other aspects of the UI layout (e.g., resizing of editors). So better to name this setting what it actually handles (the corners). New name: USER_APP_LOCK_CORNER_SPLIT Differential Revision: D12516 |
September 22, 2021, 13:54 (GMT) |
Rename show_layout_ui > show_corner_split and remove from UI This breaks API compatibility. However we are now grouping this setting in the proper section (preferences.apps), so scripts had to update anyways. So they may as well do it for the final name. The reason to remove from the UI is that this is intended for app setup, and as such it should not be exposed to final users until we have apps better presented (for 3.1 hopefully). Differential Revision: D12516 |
September 22, 2021, 13:54 (GMT) |
App Settings: Regions Visbility Toggle The toggle that allow users to "show" the region (header, toolbar, ...) when it is collapsed can now be configured for the apps. Note: This option is not visibile in the UI. Differential Revision: D12516 |
September 22, 2021, 13:54 (GMT) |
App Settings: Edge Resize This prevents both editor resize as well as regions (e.g., the toolbar). Note: This option is not visible in the UI. Differential Revision: D12516 |
September 22, 2021, 13:54 (GMT) |
Hide empty keymap warnings when running a template |
September 22, 2021, 13:54 (GMT) |
Assets: Recursive reading of asset libraries With this, asset libraries can be directory structures and all assets in sub-directories will show up in an Asset Browser. With complex directory structures and many .blend files inside, asset library reading will be quite slow for now. There's initial work being done to introduce indexing for this (T82979), other optimizations are being discussed as well. Addresses T91406. Differential Revision: https://developer.blender.org/D12139 |
September 22, 2021, 13:54 (GMT) |
Rename App Menu to Blender Menu "App" is a name reserved for the application templates at the moment. It may become its own term in the near future if Templates are separated from "Apps". So since this is a name not exposed to the users we should renamed it sooner than later. Note that this will require scripts to update since the name of the class is renamed here. This also requires an update in the User Manual. Differential Revision: https://developer.blender.org/D12523 |
September 22, 2021, 13:54 (GMT) |
Cleanup: Add built-in check for an attribute ID |
September 22, 2021, 13:54 (GMT) |
Geometry Nodes: Simplify using OutputAttribute in a vector Store the optional temporary span storage as a unique_ptr and move it in the move constructor, to avoid the need to add a special move constructor that clears the "show_warning" fields from it. Maybe this is very slightly slower, but we'll need this class less often in the future anyway. |
September 22, 2021, 13:54 (GMT) |
Geometry Nodes: Transfer attributes in the curve to mesh node This patch allows point and spline attributes to be transferred to the mesh generated by the curve to mesh node. All dynamic named and anonymous attributes are transferred. So a user-created attribute will be transferred, but "radius", "tilt" or the handle position attributes won't be transferred by default and will need to be copied first. This trade-off is made for performance, since most of the time, users won't need these attributes copied. Generally, attributes are transferred to the point/vertex domain. However, if they have the same name as a built-in mesh attribute that only exists on a different domain, like "shade_smooth", then they can be transferred directly to that domain as well. Conversion directly to the face corner domain is not necessary because there are no builtin face corner attributes. I see this conversion directly to other domains as an optimization we could use behind the scenes in the future as well, when named attributes are less common. For performance, I haven't tested which of the following is better: ``` for each spline combination: for each attribute: for each attribute: for each spline combination: ``` For now I used the existing loop to avoid more threading overhead. Differential Revision: https://developer.blender.org/D12363 |
September 22, 2021, 13:54 (GMT) |
Cleanup: Remove unnecessary manual of move constructor Turns out this isn't actually necessary. |
September 22, 2021, 13:54 (GMT) |
UI: Remove Menus & Show Wait Cursor When Saving When saving blend files close any menus that might be open, show "waiting" mouse cursor right away, before creating preview. See D12507 for more details. Differential Revision: https://developer.blender.org/D12507 Reviewed by Campbell Barton |
September 22, 2021, 13:54 (GMT) |
Cleanup: Move mesh_convert.c to C++ This should allow easier changes when it's helpful to use C++ types. The diff is for a test on the buildbot. Differential Revision: https://developer.blender.org/D12528 |
September 22, 2021, 13:54 (GMT) |
Cleanup: Pass const mesh argument Also remove unnecessary parantheses. |
September 22, 2021, 13:54 (GMT) |
UI: Automatic Blend Thumbnail Selection Adds an "Auto" option to blend thumbnail types that will automatically use Screenshot if there is no camera and 3dview, or workbench render with shading settings from the largest 3dview. See D12407 for more details. Differential Revision: https://developer.blender.org/D12407 Reviewed by Campbell Barton |
September 22, 2021, 13:54 (GMT) |
Geometry Nodes: Add a toggle to use attributes as input values This adds a toggle to node group inputs exposed in the modifier to use an attribute instead of a single value. When the toggle is pressed, the button switches to a text button to choose an attribute name. Attribute search isn't implemented here yet. One confusing thing is that some values can't be driven by attributes at all, like the size of a primitive node. In that case, we should have a node warning, but that will be separate since it's more general. We can also have an option to turn off this toggle in node group input settings. The two new properties for each input are stored with the same name as the value, but with `"_use_attribute"` and `"_attribute_name"`` suffixes. The properties are not added for socket types that don't support attribute input, like object sockets. Differential Revision: https://developer.blender.org/D12504 |
September 22, 2021, 13:54 (GMT) |
Fix: Nodes modifier ignores input value with new property missing An issue with the previous commit-- the default value of the type was used instead of the property value when the "use_attribute" property was missing. |
September 22, 2021, 13:54 (GMT) |
UI: wait for input for operators that depend on cursor location Support waiting for input so operators that depend on the cursor location are usable from menus / buttons. Use an operator type flag which the user interface code checks for, waiting for input when run from a menu item. This patch only supports this feature, there are no functional changes. The motivation for this change is discoverability since some actions were either hidden or broken when accessed from menus (where the behavior of the operator depended on the menu location). In general, waiting for input is *not* an efficient way to access tools, however there are over 50 operators with a "wait_for_input" property so this isn't introducing a new kind of interaction, rather exposing this in a way that does not need to be hard-coded into each operator, or having modal callbacks added for the sole purpose of waiting for input. Besides requiring boiler plate code using a "wait_for_input" property has the added down-side of preventing key shortcuts from showing. Only the menu items will enable the property, causing them not to match key-map items. Reviewed By: Severin Ref D12255 |
September 22, 2021, 13:54 (GMT) |
UI: split screenshot area into a separate operator While the screenshot operator showed an "Area" option, it wasn't usable from the main menu (unless accessed via menu search). Split screenshot area into an operator that depends on cursor. |
|