Commit Graph

1508 Commits

Author SHA1 Message Date
Lukas Tönne
400c738db9 GPv3: Import and export for SVG and PDF
Implements the SVG import/export and PDF export operators for GPv3.

Pull Request: https://projects.blender.org/blender/blender/pulls/123996
2024-08-20 11:41:37 +02:00
Campbell Barton
9ab9aab3d7 Cleanup: use "Helper" suffix for mix-in panel classes
This clarifies that they aren't themselves panel types.
2024-08-20 14:25:56 +10:00
Campbell Barton
ec759b6caf Cleanup: suppress debug warning with unregistered Panel sub-classes 2024-08-20 14:25:55 +10:00
Campbell Barton
12549de989 Cleanup: remove unused menu definition 2024-08-20 14:25:53 +10:00
Casey Bianco-Davis
1a07c08718 GPv3: Eyedropper tool
This adds the Eyedropper tool to GPv3.

A few changes have been made:

- Added `Brush` mode.
- Set active color in palette.
- Show the palette in the UI.
- Add UI for setting material mode.
- Drag for color accumulation.

Pull Request: https://projects.blender.org/blender/blender/pulls/126211
2024-08-19 11:27:49 +02:00
Campbell Barton
8a7ff41a85 Cleanup: wrap long lines in Python scripts 2024-08-19 10:48:07 +10:00
Harley Acheson
aa78d43a05 UI: Multicolor Autokeying Indicator
Show the autokeying indicator (record button) on the Timeline header in
red when enabled. With a white outline on dark theme, or with a black
outline on light theme. The red color is user changeable.

Pull Request: https://projects.blender.org/blender/blender/pulls/126344
2024-08-16 23:16:40 +02:00
casey bianco-davis
8f386cd308 GPv3: Edit Mode: "Scale Thickness" option
This implements the `use_scale_thickness` setting for GPv3.

Pull Request: https://projects.blender.org/blender/blender/pulls/126213
2024-08-16 19:50:34 +02:00
Jacques Lucke
ab26dc5817 Nodes: add operator to get node width from parent
This operator sets the new default group node width (from e842966c5e) based on
the parent group node. This makes it easier to initialize the value. Without
this, one had to create and delete the group node potentially many times to find
a good default width.

Pull Request: https://projects.blender.org/blender/blender/pulls/126239
2024-08-15 17:54:56 +02:00
YimingWu
4f4add5406 Fix #125426: Update paths in animation when renaming IDProperty
Previously when renaming an IDProperty the existing paths in the
animation/driver system isn't updated, this leads to missing animation
after renaming the property. Now `BKE_animdata_fix_paths_rename_all`
will be called so the animation system records the updated name.

Pull Request: https://projects.blender.org/blender/blender/pulls/125474
2024-08-15 13:56:17 +02:00
Campbell Barton
74fae7f943 Presets: remove poll functions that scan the file-system
The poll functions for theme & key-map preset operators used functions
documented not to be used on redraw draw and could make the interface
slow when extensions (for example) are stored on a network file-system.

While the file-system lookups are typically cached, it can still cause
occasional stuttering or hanging. In general scanning the file-system
on poll should be avoided.
2024-08-15 16:06:17 +10:00
Campbell Barton
9e09351b5b Fix active theme behavior when adding/removing themes
Regression in [0] which displays the filename for the active
theme but still used the label internally.

This meant actions such as removing the theme would not always apply
to the name being displayed.

- Adding a new theme was not setting it active.
- Detecting if a theme was built-in used the run-time label as a lookup.
- Theme removal first require it to be re-selected.

[0]: 0bb6317035
2024-08-15 16:06:13 +10:00
Campbell Barton
9f931ee3d2 Presets: consider presets within the extensions repo to be "built-in"
It was possible to remove a preset defined within an extension,
the only way to restore it was to uninstall & re-install the extension.
2024-08-15 16:06:11 +10:00
Pratik Borhade
8e771104d8 GPv3: Cursor panel not usable in paint modes
This is due to failing poll function. Use correct tool setting pointer
based on the active mode.

Pull Request: https://projects.blender.org/blender/blender/pulls/126279
2024-08-14 13:26:00 +02:00
Pratik Borhade
7bfdc6dfea GPv3: Invert weight operator
Port gp legacy "invert weight" operator.

Pull Request: https://projects.blender.org/blender/blender/pulls/126275
2024-08-14 08:55:24 +02:00
Omar Emara
94d3b764e7 Geometry Nodes: Implement Gabor noise node
This patch ports the Gabor noise shader texture node into Geometry
Nodes.

Pull Request: https://projects.blender.org/blender/blender/pulls/125718
2024-08-14 08:48:17 +02:00
Hans Goudey
be53bd079f Cleanup: Formatting 2024-08-12 09:47:02 -04:00
Pratik Borhade
c89b878371 GPv3: Sculpt context menu
Similar to GP legacy context menu of sculpt mode.

Pull Request: https://projects.blender.org/blender/blender/pulls/126135
2024-08-12 13:05:13 +02:00
Jacques Lucke
e842966c5e Nodes: add group node default width
This adds the ability to customize the default width of a group node that's
created for a node group. This feature works towards the goal of unifying the
features available to built-in nodes and node groups. We often customize the
width of built-in nodes from them to looks slightly better (e.g. to avoid
cut-off labels).

Pull Request: https://projects.blender.org/blender/blender/pulls/126054
2024-08-11 19:25:53 +02:00
Omar Emara
f2fcbc3330 Cleanup: Format 2024-08-08 17:36:23 +03:00
Pratik Borhade
9ca6e049a7 GPv3: Draw Mode: Context menu
Right click context menu has been missing in gpv3 draw mode.
Similar to gp legacy, this includes color picker, active layer etc.

Pull Request: https://projects.blender.org/blender/blender/pulls/125964
2024-08-08 16:03:09 +02:00
Omar Emara
f40cf759c7 Compositor: Add experimental option for new CPU compositor
This patch introduces a new experimental option for the new CPU
compositor under development. This is to make development easier such
that it happens directly in main, but the compositor is not expected to
work and will probably crash.

Pull Request: https://projects.blender.org/blender/blender/pulls/125960
2024-08-08 15:40:06 +02:00
Christoph Lendenfeld
a451971026 Fix #124691: Custom bone wire rendering broken on Mac
This issue occurred only on Mac which has to circumvent
geometry shaders lacking support for them.

This patch reverts the vertex shader for Mac devices to
how it was before f9ea64b0ba. (and uses the frag shader from before that commit)
In order to communicate that to the user I added a label
in the GUI when the platform is Mac.

Co-authored-by: Clément Foucault <foucault.clem@gmail.com>
Pull Request: https://projects.blender.org/blender/blender/pulls/125967
2024-08-08 11:19:12 +02:00
Pablo Vazquez
000d34c398 EEVEE: Add toggle for Fast GI Approximation
Add a toggle for Fast GI Approximation in the header of the panel,
following Cycles layout.

Move the `Max Roughness` setting inside the panel, and rename to
Threshold.

Since Fast GI Approximation only has any effect when Threshold/
Max Roughness is below the max (1.0), gray out the rest of the
panel when at that value.

Co-authored-by: Clément FOUCAULT <foucault.clem@gmail.com>
Pull Request: https://projects.blender.org/blender/blender/pulls/125452
2024-08-06 14:28:56 +02:00
Campbell Barton
5110833ff1 Extensions: use wait cursor when toggling add-ons
Add-ons with large wheels can take a while to extract,
set the wait cursor so it's clear Blender is busy.
2024-08-06 12:48:08 +10:00
Devashish Lal
f6e6f2b2d2 Geometry Nodes: PLY import node
This commit adds a PLY format import node, part of the current Google
Summer of Code Project [0]. The importer is refactored to output a mesh,
and a node is added to wrap around the importer. The node supports error
messages from the importer. The node is hidden behind an experimental
option for now, like the others.

0: https://devtalk.blender.org/t/gsoc-2024-geometry-nodes-file-import-nodes/34482)

Pull Request: https://projects.blender.org/blender/blender/pulls/125587
2024-08-05 14:54:54 +02:00
Campbell Barton
fc6a99e0d2 Fix #77837: Error removing addons/extension/wheels on WIN32
When deleting files on WIN32, open files cannot be removed.
This is especially a problem for compiled Python modules which
remain open once imported.

Previously it was not as common for add-ons to include compiled Python
modules however with extensions supporting Python-wheels,
it's increasingly likely users run into this.

Workaround the problem by:
- Scheduling the files for removal next time Blender starts.
- Rename paths that cannot be removed to avoid collisions when
  the paths is reused (re-installing for example).

This is supported for:
- Extensions.
- Python wheels.
- Legacy user add-ons.
- App-templates.

Details:
- On startup, a file exists that indicates cleanup is needed.
  In the common case the file doesn't exist.
  Otherwise module paths are scanned for files to remove.
- Since errors resolving paths to remove could result in user data loss,
  ensure the paths are always within the (extension/addon/app-template)
  directory.
- File locking isn't used, if multiple Blender instances start at the
  same time and try to remove the same files, this won't cause errors.
  Even so, remove the checking file immediately avoid unnecessary
  file-system access overhead for other Blender instances.

Also resolves #125049.
2024-08-05 09:49:14 +10:00
Campbell Barton
afa44b16a6 Fix error installing app-templates & legacy add-ons overwriting symlinks
Resolve error when overwriting existing Python modules would attempt
to recursively remove a symlink which raised an error.

Related to #123827, same error but for extensions.
2024-08-04 20:58:48 +10:00
Pratik Borhade
e60422c5a7 GPv3: Delete active keyframe operator
Port missing keyframe operator to new structure.
Found this missing operator during #125261

Pull Request: https://projects.blender.org/blender/blender/pulls/125770
2024-08-02 08:18:32 +02:00
Pablo Vazquez
b00a16b4e1 VSE: Place modifier-specific properties first
Modifiers in the VSE have mask properties first, then modifier-specific
settings. This breaks consistency with other modifiers for objects
and Grease Pencil.

Move Mask properties to the bottom, after a separator, and group them
in a column for better alignment.

Fixes #120360

Pull Request: https://projects.blender.org/blender/blender/pulls/125710
2024-08-01 11:28:58 +02:00
Dalai Felinto
7b8640896e Templates: Blender Manifest template
Pull Request: https://projects.blender.org/blender/blender/pulls/125668
2024-08-01 10:15:01 +02:00
Pablo Vazquez
27c06ccd15 UI: VSE: Apply writing style on modifier labels
* Remove colons on labels.
* Do not include "Use" in checkboxes.

https://developer.blender.org/docs/features/interface/human_interface_guidelines/writing_style/
2024-07-31 14:07:22 +02:00
Miguel Pozo
0c429ee652 Fix #125387: Cycles Material Panel shows EEVEE Legacy settings
Update `draw_material_settings` to show EEVEE Next properties.
This only changes the internal function, instead of the Panel classes
themselves, to avoid breaking the Python API.

Pull Request: https://projects.blender.org/blender/blender/pulls/125616
2024-07-30 17:49:25 +02:00
Leon Schittek
d30d8b4bfa UI: Add padding to items in ui lists and tree views
Add a utility function to add horizontal padding to the left and right
of items in UI lists and tree views to make them more consistent with
other buttons like menu entries.

Pull Request: https://projects.blender.org/blender/blender/pulls/125498
2024-07-29 23:52:38 +02:00
softyoda
5e9096829c Cycles: Add Central Cylindrical Panoramic camera model
This type of projection is often used e.g. in exhibitions that leverage big
curved screens.

Effectively, the frame is mapped onto a cylinder, with the x axis becoming the
longitude and y axis becoming the height.

Users can configure the min/max longitude, the min/max height and the radius of
the cylinder.

Co-authored-by: Lukas Stockner <lukas.stockner@freenet.de>
Pull Request: https://projects.blender.org/blender/blender/pulls/123046
2024-07-29 15:03:57 +02:00
Harley Acheson
f2f408bebf UI: Tooltip Final Period and Other Typography
This removes the terminal periods automatically added to the end of
tooltip items. The current desire is to only end in period if there
are multiple sentences - so if there is one in the middle of the
description. This also converts our uses of lists to use space and
bullet, rather than just bullet or asterisks.

Pull Request: https://projects.blender.org/blender/blender/pulls/125460
2024-07-26 18:29:50 +02:00
Pratik Borhade
1da83ab046 GPv3: Duplicate active keys operator
Port legacy `frame_duplicate()` operator.

Pull Request: https://projects.blender.org/blender/blender/pulls/125369
2024-07-26 15:39:42 +02:00
Germano Cavalcante
0dad3bdfa7 Fix #123179: can't select multiple snap target elements in UV Editor
Missed after 'Set Snap Base' commit.

Just like in 3D View, UV editing can also benefit from selecting
multiple snap target elements.

The C++ code was already done, it was only necessary to edit the
interface.

Pull Request: https://projects.blender.org/blender/blender/pulls/124986
2024-07-26 14:59:13 +02:00
Sybren A. Stüvel
7346ef03f4 Anim: hide slot selector in Action editor behind experimental flag
Hide the Action Slot selector in the Action editor behind the experimental
flag. Not only shouldn't it be shown, but also it uses an API that's only
available in experimental builds.
2024-07-26 14:34:20 +02:00
Harley Acheson
5bf44c6eb4 UI: Text Style for Tooltips
This gives users the ability to control the size of tooltip text
separately from other text styles. This is an accessibility issue
in that users with low vision can choose to make these larger than
the working text.

Pull Request: https://projects.blender.org/blender/blender/pulls/125147
2024-07-25 19:12:41 +02:00
Lukas Tönne
f7672438bf GPv3: Trace image operator
Convert an image to grease pencil strokes by tracing features.

Uses the Potrace library to generate curve on averaged b/w values of the image.
Ported from the GPv2 feature of the same name.

Pull Request: https://projects.blender.org/blender/blender/pulls/125328
2024-07-25 18:44:07 +02:00
Sybren A. Stüvel
a8ee0b9a05 Anim: add Action Slot selector to Action editor
Add an Action Slot selector to the Action editor's header, next to the
Action selector. The selector shows all slots in the action that are
suitable for animating objects (as the Action editor itself is limited
to showing the Action of the active object).

This also considerably simplifies the 'Animation Debug' panel, as some
debugging code has been removed, as well as the display of any animation
layers. The latter can be reintroduced (if necessary) when multi-layer
animation support is added. Most importantly, it removes the
WindowManager property that was used as a hack to assign layered Actions
to objects.

API change: the RNA property `AnimData.slot` is now a pointer property
that reflects the actual slot (it used to be an enum property).

Some small changes to the UI code were necessary to make the selector
show the slot's display name (and not their internal name).

Pull Request: https://projects.blender.org/blender/blender/pulls/125416
2024-07-25 17:20:27 +02:00
Pablo Vazquez
784aca8cbc UI: Use hyphen as separator for attribute lists
Replace the "play" emoji ▶ with a hyphen as separator in attribute
lists (Attributes and Color Attributes panel).

The hyphen uses less space while at the same time adding negative
space around domain/datatype making it easier to scan through the list.

See pull request for images.

Pull Request: https://projects.blender.org/blender/blender/pulls/125436
2024-07-25 17:15:46 +02:00
Julian Eisel
0baeca8f9e Fix #123735: Tooltip missing from open URL preset operator
Necessary because the "type" property is no longer the default
`bl_property` since 7bc34283ea.
2024-07-25 12:28:50 +02:00
Sybren A. Stüvel
abf0a2ba05 Anim: rename 'Baklava' panel to 'Animation Debug'
This makes it clearer that this panel is for debugging the new animation
system, and not intended to represent any final user interface.
2024-07-25 11:57:49 +02:00
Sybren A. Stüvel
da458c66e5 Anim: only show Action Slot panel when experimental flag set
Only show the Action Slot panel in the dope sheet when the experimental
flag is set.
2024-07-25 11:41:37 +02:00
Campbell Barton
4cf9f53946 Cleanup: remove unused BUG_ADDON URL preset 2024-07-24 13:35:41 +10:00
Dalai Felinto
13f27ea0ae Fix #122858: Core extensions report bugs to add-on repository
Core extensions should have their bugs reported as any other issue in
Blender.

This PR removes their "Rrport a Bug" link.

I left the link only for glTF since it has its own tracker. But I
wouldn't mind removing it as well.

Ref: !125218
2024-07-24 13:28:48 +10:00
Guillermo Venegas
6e152df547 Fix #125319: Can't drop images in uv editor
Caused in b97ac126f8

Pull Request: https://projects.blender.org/blender/blender/pulls/125322
2024-07-23 19:02:12 +02:00
Falk David
ccc5922ece GPv3: Add "Set Curve Resolution" operator
Set the resolution of the selected curves.

Pull Request: https://projects.blender.org/blender/blender/pulls/125235
2024-07-23 15:23:35 +02:00