Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-13Fix T100699: Older preferences from 2.93 wont loadCampbell Barton
Even though this was intentionally removed in [0], loading data from older startup files is supported. So show them when available. [0]: 45439dfe4c05eabaa83d0c1b75463966b5ba896d
2022-10-10UI: show the windowing environment in the "About" splashCampbell Barton
Show the windowing environment on non MS-Windows/Apple systems, since X11/WAYLAND are selected startup there was no convenient way for users to know which back-end was being used. Include the windowing environment in the About splash & system-info.txt since it will be useful for handling bug reports. This commit adds a private API call not intended for general use as I would like to be able to remove this later and it's only needed in the specific case of testing if Blender is using WAYLAND or X11 (which maybe be used via XWayland). Python scripts can already inspect the system to check which windowing environment used, the API call is mainly useful for troubleshooting.
2022-10-05I18n: disambiguate a few messagesDamien Picard
- Active Track (NLA vs movie clip) - New (file) - Object Index (loop cut) - Object Index (render pass) - Proxy Storage (sequence) - Rim (Solidify modifier) - Roughness (particle children) - Spaces (text whitespace) - Out (sequencer wipe transition) Also make new asset tag name translatable. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D16067
2022-09-28Geometry Nodes: viewport previewJacques Lucke
This adds support for showing geometry passed to the Viewer in the 3d viewport (instead of just in the spreadsheet). The "viewer geometry" bypasses the group output. So it is not necessary to change the final output of the node group to be able to see the intermediate geometry. **Activation and deactivation of a viewer node** * A viewer node is activated by clicking on it. * Ctrl+shift+click on any node/socket connects it to the viewer and makes it active. * Ctrl+shift+click in empty space deactivates the active viewer. * When the active viewer is not visible anymore (e.g. another object is selected, or the current node group is exit), it is deactivated. * Clicking on the icon in the header of the Viewer node toggles whether its active or not. **Pinning** * The spreadsheet still allows pinning the active viewer as before. When pinned, the spreadsheet still references the viewer node even when it becomes inactive. * The viewport does not support pinning at the moment. It always shows the active viewer. **Attribute** * When a field is linked to the second input of the viewer node it is displayed as an overlay in the viewport. * When possible the correct domain for the attribute is determined automatically. This does not work in all cases. It falls back to the face corner domain on meshes and the point domain on curves. When necessary, the domain can be picked manually. * The spreadsheet now only shows the "Viewer" column for the domain that is selected in the Viewer node. * Instance attributes are visualized as a constant color per instance. **Viewport Options** * The attribute overlay opacity can be controlled with the "Viewer Node" setting in the overlays popover. * A viewport can be configured not to show intermediate viewer-geometry by disabling the "Viewer Node" option in the "View" menu. **Implementation Details** * The "spreadsheet context path" was generalized to a "viewer path" that is used in more places now. * The viewer node itself determines the attribute domain, evaluates the field and stores the result in a `.viewer` attribute. * A new "viewer attribute' overlay displays the data from the `.viewer` attribute. * The ground truth for the active viewer node is stored in the workspace now. Node editors, spreadsheets and viewports retrieve the active viewer from there unless they are pinned. * The depsgraph object iterator has a new "viewer path" setting. When set, the viewed geometry of the corresponding object is part of the iterator instead of the final evaluated geometry. * To support the instance attribute overlay `DupliObject` was extended to contain the information necessary for drawing the overlay. * The ctrl+shift+click operator has been refactored so that it can make existing links to viewers active again. * The auto-domain-detection in the Viewer node works by checking the "preferred domain" for every field input. If there is not exactly one preferred domain, the fallback is used. Known limitations: * Loose edges of meshes don't have the attribute overlay. This could be added separately if necessary. * Some attributes are hard to visualize as a color directly. For example, the values might have to be normalized or some should be drawn as arrays. For now, we encourage users to build node groups that generate appropriate viewer-geometry. We might include some of that functionality in future versions. Support for displaying attribute values as text in the viewport is planned as well. * There seems to be an issue with the attribute overlay for pointclouds on nvidia gpus, to be investigated. Differential Revision: https://developer.blender.org/D15954
2022-09-27WM: batch rename action clipsIyad Ahmed
Batch rename for action clips works in outliner and 3d view. Reviewed By: campbellbarton Ref D15819
2022-09-19Nodes: Add node group assets to search menusHans Goudey
Currently node group assets are supported, but using them by dragging from the asset browser is cumbersome. This patch adds all node group assets from user asset libraries and the current file libraries to the add node search menu and the link drag search menu. Node groups added through the search will have their "options" hidden, meaning the data-block selector is displayed. This helps keep the UI clean, and the selector shouldn't be necessary anyway. To make that possible, metadata like the node tree type and its inputs and outputs has to be saved in the file. This requires re-saving the files that contain the assets with the patch applied. The node add search operator is moved from Python to C++ to ease development and allow more flexibility. It supports a tooltip that gives the description of assets. Currently the node groups are added with the asset system's existing "Append & Reuse" behavior. It's likely that linking should be possible in the future too, but for now the idea is to use the more foolproof option that doesn't create dependencies between files. Because loading assets can potentially take a long time, the search menu refreshes its items as new assets are loaded. However, changing the search field is necessary to see the update. Differential Revision: https://developer.blender.org/D15568
2022-09-14Cleanup: remove redundant braces from assert & raiseCampbell Barton
autopep8 v1.7 added a space after assert & raise, remove the braces as they aren't needed.
2022-09-07Cleanup: de-duplicate bounding box center calculationCampbell Barton
2022-09-07Cleanup: add sections, use float literalsCampbell Barton
2022-09-07Cleanup: formatCampbell Barton
2022-09-07UV: add new operator, uvcalc_align_rotationChris Blackbourn
Adds a new operator to automatically rotate UV Islands into alignment. Modes: * Auto (All edges) * Geometry (V direction will point in geometry direction) [1] * Edge (Rotate until selected edge is in V direction) Also adds uv_sync_selection support to UV Randomize Transform. Resolves: T78399 Differential Revision: https://developer.blender.org/D15820 [1] Listed as "World" in Task description.
2022-08-30Merge branch 'blender-v3.3-release'Campbell Barton
2022-08-30Fix error in operator poll functionsCampbell Barton
- PALETTE_OT_color_add: crashed without a brush. - SCREEN_OT_actionzone: crashed without a window. - PREFERENCES_OT_studiolight_show: exception when opening prefs failed.
2022-08-30Merge branch 'blender-v3.3-release'Campbell Barton
2022-08-30Fix Dirty Vertex Colors failure when no vertex colors existedCampbell Barton
2022-08-29I18n: translate newly created node group socketsDamien Picard
Translate: - new group socket names - default names Input and Output - on connecting a link from another node - new geometry nodes input and output socket names Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15763
2022-08-26UV: improve consistency for scale parameter of uvcalc_randomize_transformChris Blackbourn
2022-08-25PyAPI: return faces instead of indices from bmesh_linked_uv_islandsCampbell Barton
Return faces instead of face indices from bmesh_linked_uv_islands since BMesh indices aren't reliable when geometry is added/removed, where the faces will still be valid.
2022-08-25Cleanup: replace dict with set for bmesh_utils.bmesh_linked_uv_islandsCampbell Barton
Also correct doc-string syntax.
2022-08-25Fix T78406: create uv randomize islands operatorChris Blackbourn
Implement a new operator to randomize the scale, rotation and offset of selected UV islands.
2022-08-12WM: define WM_OT_drop_blend_file path as a file-path, skip-saveCampbell Barton
File paths have special handling of non-utf8 characters, so it's best to use the FILE_PATH sup-type for all file-paths.
2022-08-04Merge branch 'blender-v3.3-release'Bastien Montagne
2022-08-04I18n: make several parts of the UI translatableDamien Picard
- batch rename - keyframe settings - tool name in Tool properties header - tool name in Tool properties Drag (fake) enum - new file templates - new preset - new text datablock - new collection datablock - new geometry nodes (modifier and node group) - new grease pencil data (layers and materials) Ref. T43295 Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15533
2022-07-28Cleanup: Remove unused node "add and link node" operatorHans Goudey
The link drag search from 11be151d58ec0ca9 implements this now. It was added in 3ebe7d970e77 but never used.
2022-07-18I18n: translate add node operator tooltipsDamien Picard
The tooltips from the Add Node menu were extracted, but not translated. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15467
2022-07-08Add a few missing UI strings to translation.Damien Picard
Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15392
2022-06-23Cleanup: make formatBrecht Van Lommel
2022-06-23Fix T98975: Broken vertex paint mode operatorsHans Goudey
All of the operators in vertex paint mode didn't work properly with the new color attribute system. They only worked on byte color type attributes on the face corner domain. Since there are four possible combinations of domains and types now, it mostly ended up being simpler to convert the code to C++ and use the geometry component API for retrieving attributes, interpolating between domains, etc. The code changes ended up being fairly large, but the result should be simpler now. Differential Revision: https://developer.blender.org/D15261
2022-06-17UI: Custom Properties - Rename properties to remove "Use/Is"Dalai Felinto
There is no need to have use/is in the final name. This is implicitly represented by the checkbox already. This does not change the Python API, only the names we show in the user interface. * Is Library Overridable -> Library Overridable * Use Soft Limits -> Soft Limits Differential Revision: https://developer.blender.org/D15217
2022-06-15Make Instance Face: Support instanced collections tooDalai Felinto
Differential Revision: https://developer.blender.org/D15204
2022-06-14Cleanup: unused argument, variable warningsCampbell Barton
2022-06-07Nodes: Show node description in Node add menuMonique Dewanchand
Though no nodes have descriptions currently, this patch makes it possible to add descriptions that display in the add menu, for custom node systems and existing builtin nodes. Differential Revision: https://developer.blender.org/D14963
2022-06-07Add Instance Offset operators to Collections property panelSybren A. Stüvel
Add three operators to the Collections properties panel: - `object.instance_offset_to_cursor`, which is already available from the Object properties panel. The operator works on the active collection, though, so it's weird to not have it in the Collections panel. - `object.instance_offset_from_object` is a new operator, which performs the same operation as above, but then based on the active object's evaluated world position. - `object.instance_offset_to_cursor` is also new, and performs the opposite of the first operator: it moves the 3D cursor to the collection's instance offset. The first two operators make it easier to set the instance offset. The last operator makes it possible to actually see the offset in the 3D viewport; drawing it using some overlay could also work, but that would be more effort to get right, and then snapping the 3D cursor would still be useful. The operators are placed in a popup menu, as to not clutter the interface too much with various buttons. Reviewed By: dfelinto, eyecandy Differential Revision: https://developer.blender.org/D14966
2022-06-02Cleanup: remove "<pep8 compliant>" from headersCampbell Barton
It can be assumed that all scripts comply with basic pep8 formatting regarding white-space, indentation etc. Also remove note in best practices page & update `tests/python/pep8.py`. If we want to exclude some scripts from make format, this can be done by adding them to `ignore_files` in: source/tools/utils_maintenance/autopep8_format_paths.py Or using `# nopep8` for to ignore for individual lines. Ref T98554
2022-05-26UI: use visible regions when showing candidates for operators data-pathCampbell Barton
When expanding the data path for the context, use Context.temp_override to extract context members. Without this, only context-members available in the preferences were used which misses members which are likely to be useful. Iterate over all windows, areas and regions showing unique member as candidates. The search is limited to WINDOW/PREVIEW region types, the preferences space type is also excluded. See the doc-string for rna_path_prop_search_for_context for additional notes on this.
2022-05-26UI support for showing candidates for string propertiesCampbell Barton
Currently strings are used for cases where a list of identifiers would be useful to show. Add support for string properties to reference a callback to populate candidates to show when editing a string. The user isn't prevented from typing in text not found in this list, it's just useful as a reference. Support for expanding the following strings has been added: - Operator, menu & panel identifiers in the keymap editor. - WM operators that reference data-paths expand using the Python-consoles auto-complete functionality. - Names of keying sets for insert/delete keyframe operators. Details: - `bpy.props.StringProperty` takes an option `search` callback. - A new string callback has been added, set via `RNA_def_property_string_search_func` or `RNA_def_property_string_search_func_runtime`. - Addresses usability issue highlighted by T89560, where setting keying set identifiers as strings isn't practical. - Showing additional right-aligned text in the search results is supported but disabled by default as the text is too cramped in most string search popups where the feature would make sense. It could be enabled as part of other layout tweaks. Reviewed By: brecht Ref D14986
2022-05-17Remove incorrect poll method from `object.instance_offset_from_cursor`Sybren A. Stüvel
Remove poll method from the `OBJECT_OT_instance_offset_from_cursor` operator. It was checking for `context.active_object`, but not even doing anything with the active object. It'll get in the way of exposing this operator in another area of the interface, though.
2022-04-19Cleanup: run autopep8 on release/scripts/startup/Campbell Barton
2022-04-18Fix T94559: Copying geometry node group does not copy animation dataAngus Stanton
Reimplement copy geometry node groups in C. The version implemented in Python could also manually copy the animation data, but it's more standard to do this with `BKE_id_copy_ex` and `LIB_ID_COPY_ACTIONS`. Differential Revision: https://developer.blender.org/D14615
2022-04-15Curves: initial geometry nodes support for curves objectsJacques Lucke
* Curves objects now support the geometry nodes modifier. * It's possible to use the curves object with the Object Info node. * The spreadsheet shows the curve data. The main thing holding this back currently is that the drawing code for the curves object is very incomplete. E.g. it resamples the curves always in the end, which is not expected for curves in general. Differential Revision: https://developer.blender.org/D14277
2022-04-11Fix adding certain nodes can cause python errorsPhilipp Oeser
Adding nodes via `NodeAddOperator` could fail if the node's poll fails in `rna_NodeTree_node_new`. Examples are trying to add a RenderLayers node or a Cryptomatte node to a nodegroup. Now except the python error and use blender error reporting only instead of throwing full python stacktraces at the user. Differential Revision: https://developer.blender.org/D14584
2022-03-31Cleanup: Curves draw cache renaming, use referencesHans Goudey
Also change some remaining cases of "hair object" to "curves object".
2022-03-29Geometry Nodes: Don't create node tree when adding nodes modifierLeon Schittek
Don't always create a new geometry nodes node tree when adding a geometry nodes modifier. This avoids files getting cluttered with empty and unused geometry node trees that are created every time a nodes modifier is added to an object - even if only to apply an already existing. This is also more consistent with other modifiers that also don't automatically create new data blocks. The new modifier still automatically gets populated with a new node tree when adding it via the "New" button in the header of the geometry nodes editor. Reviewed By: Hans Goudey, Dalai Felinto, Pablo Vazquez Differential Revision: D14458
2022-03-19Fix T96584: Properly translate operator on splash screenJesse Yurkovich
The previous fix looks to have been accidentally removed as part of rB7aec5b06227. Restore the change.
2022-03-08Merge branch 'blender-v3.1-release'Sergey Sharybin
2022-03-08Fix T96228: TypeError on use of Copy from Active Track operationPratik Borhade
Issue was introduced after the python 3.10 switch Explicit conversion to int will fix the issue. Same issue is likely to happen with `MovieTrackingSettings.default_search_size` So I did the same change over there. Differential Revision: https://developer.blender.org/D14273
2022-02-23Cleanup: Simplify manual url version handlingAaron Carlisle
Recently we changed the build pipeline to always create a version number in the url and point 'dev' to the latest version rather than creating the version number url once we release. This makes the check to `bpy.app.version_cycle` unnecessary.
2022-02-22Cleanup: remove Python 3.9 annotation workaroundsCampbell Barton
2022-02-15Fix playing image-sequences with frames containing 9 or more numbersCampbell Barton
The path calculation method for animation players: frame-cycler, rv & mplayer would fail when the number of digits exceeded the range of a 32bit int causing RenderData.frame_path() to raise a ValueError. Use a simpler method of extracting the range that uses the sign to detect the beginning of the number.
2022-02-15Cleanup: move utility to create a frame path into a static methodCampbell Barton
Add PlayRenderedAnim._frame_path_with_number_char since mixing this logic inline made the code harder to follow.