Commit Graph

2731 Commits

Author SHA1 Message Date
Campbell Barton 776b05fd98 Extensions: use replace exists with lexists to check a path can be used
Without this, a broken symbolic-link wasn't removed, causing renaming
to fail.
2024-11-29 16:35:41 +01:00
Campbell Barton fc9108ded9 Extensions: suppress noisy prints for extension wheel filtering
These messages could flood the output even when extension installation
succeeded. Only show them when Python debugging is enabled.
2024-11-29 16:35:33 +01:00
Campbell Barton 8e43ecdfe7 Correct error printing error in f03fba614d 2024-11-29 16:35:23 +01:00
Campbell Barton c22a3110b5 Fix #130211: Unhandled error installing extensions when renaming fails
Add error handling for rare but possible failures on installation.

- Account for the destination extension directory being a file.
- Handle the exception if renaming the temporary directory fails.
2024-11-29 16:35:15 +01:00
Richard Antalik 67b54bbf8d Fix #130944: VSE box select not working with industry compatible keymap
Commit d5d81c5078 did not update industry compatible keymap data script.

Pull Request: https://projects.blender.org/blender/blender/pulls/131033
2024-11-28 17:58:28 +01:00
Campbell Barton 8622917874 Fix failure to reinstall an extension uninstalling the extension
When an extension could could be removed but it's directory could be
renamed, the install operation would fail anyway.

Resolve by completing the installation when the directory can be moved.

Report as part of #129884.
2024-11-28 17:57:51 +01:00
Sean Kim 612852e245 Fix: Clone brush missing from image texture paint
Missed in 3798852071

Pull Request: https://projects.blender.org/blender/blender/pulls/131005
2024-11-28 17:56:38 +01:00
Campbell Barton cf8a569905 Fix #130561: incorrect Python compatibility checks for wheels
Regression in [0] caused wheels with an older Python version
that used CPython's stable ABI to be considered incompatible.

Resolve using the stable ABI for version checks.

[0]: cfc10b0232
2024-11-27 20:26:05 +01:00
Campbell Barton ead4f5a898 Extensions: fix building packages containing macos universal wheels 2024-11-27 20:25:58 +01:00
Campbell Barton 35c53bc3a5 Tests: correct hard coded version string in extensions test 2024-11-27 20:25:50 +01:00
YimingWu 9fa3ab4241 Fix #130513: Grease Pencil: material/vertex color pinning logic fix
When in grease pencil drawing mode, user could pin material or vertex
color to a specific brush or fill tool, but when switching tools, the
display and the logic of how those pinned material/vertex color are used
is inconsistent, leading to confusion.

The main cause of such problem is that the new GPv3 brush/fill tool is
not respecting pinning status, on top of that, user interface display
logic is also wrong. This PR makes sure that:

- Brush/fill tools respect pinning status.
- Buttons on the tool bar always display correct pinning status.
- Brush cursor will use correct color based on pinning status.

-------

Original PR is https://projects.blender.org/blender/blender/pulls/130968, this is a back port PR for 4.3 branch due to conflicts.

Pull Request: https://projects.blender.org/blender/blender/pulls/131020
2024-11-27 12:16:07 +01:00
Pratik Borhade f8d781b5f7 Fix #130739: Grease Pencil: MMB to confirm primitives does not work
This is due to conficting keymap. MMB was assigned for both panning and
confirm. As mentioned in a114534295, use
shift+MMB for panning.

Pull Request: https://projects.blender.org/blender/blender/pulls/130777
2024-11-26 17:43:01 +01:00
Thomas Dinges fcc04ec6b5 Cleeanup: Make format 2024-11-25 13:03:41 +01:00
Alaska ce048878a4 Fix #130822: Update built-in Python scripts to use new EEVEE material settings
In Blender 4.3 all the EEVEE Legacy compatibility Python API calls for
materials in were removed. All Python code that makes use of that API
need to be updated to make use of the new API.

This commit updates two built in Python scripts to use the new API
to avoid errors like the one reported in #130822

Candidate for 4.3.1 corrective release

Pull Request: https://projects.blender.org/blender/blender/pulls/130873
2024-11-25 13:02:43 +01:00
Christoph Lendenfeld 5146018e3b Fix #130308: Missing keymap entry for bone eyedropper
Using the `E` hotkey (`I` for industry compatible) was not possible for the bone eyedropper.
This patch just adds that keymap entry for consistency.

Pull Request: https://projects.blender.org/blender/blender/pulls/130658
2024-11-25 13:00:48 +01:00
Pratik Borhade 6888417574 FIx: GPv3: Segment context menu missing
Use points context menu for segments in edit mode.

Pull Request: https://projects.blender.org/blender/blender/pulls/128743
2024-11-25 12:59:55 +01:00
Campbell Barton 780d22597a Fix #130705: importing/exporting FBX with lights fails 2024-11-25 12:59:06 +01:00
Pratik Borhade 7e12131aaf Fix: GPv3: Adjustment panel in dopesheet
Missed in b4881f6b0a
Expose adjustment panel in Grease pencil dopesheet side panel as
done for others in 6e137f957f

Pull Request: https://projects.blender.org/blender/blender/pulls/130311
2024-11-15 12:10:28 +01:00
Aaron Carlisle d8b90ee422 Docs: Update RNA to user manual URL mapping 2024-11-13 01:26:36 -05:00
Pratik Borhade dda364637c Fix #130059: Rigify Limb menu disppears for some rotation fields
Caused by 78b9218c98
Undefined `iface_` is used, this terminates execution of further UI panel draw
code. Fix this by importing iface_ from module.

Pull Request: https://projects.blender.org/blender/blender/pulls/130063
2024-11-12 12:08:53 +01:00
Pratik Borhade f93108fa28 Fix: GPv3: Hide sculpt automasking properties in UI
Automasking is not functional. Better to not expose it through the UI.
See: #130022.

Pull Request: https://projects.blender.org/blender/blender/pulls/130064
2024-11-11 18:28:42 +01:00
quackarooni ab051e1f17 Fix: GPv3: "Lineart" and "Opacity" modifier don't follow alphabetical order
The `Lineart` and `Opacity` modifier appear at the bottom of their respective
menus instead of following alphabetical order. There doesn't seem to be any
conceivable reason to do this, and it is inconsistent with how the modifiers
were laid out in older Blender versions. Fixes the order of the modifiers.

Pull Request: https://projects.blender.org/blender/blender/pulls/130080
2024-11-10 12:20:31 +01:00
Campbell Barton 325c8c0190 PyDoc: add doc-string for addon_utils.extensions_refresh 2024-11-09 13:19:27 +11:00
Campbell Barton cd07e729a2 Fix #130024: addon_utils.enable(..) doesn't setup extensions wheels
addon_utils.enable/disable now handle wheels so that the functions can
be used with extension add-ons.

A new argument `refresh_handled` supports scripts handing refresh
themselves which is needed to avoid refreshing many times in cases
when there are multiple calls to enable/disable.

This is mostly useful for internal operations.
2024-11-09 11:44:34 +11:00
Campbell Barton eb390425f3 Fix missing extensions refresh after the repository config changed
Enabling/disabling a repository was not refreshing its wheels or
compatibility data.
2024-11-09 11:10:26 +11:00
John Kiril Swenson 8bbe0bc838 Fix #129947: VSE: B to box-select on strips
d2a802d3c6 got overzealous by removing the "tweak" property which was
actually necessary to differentiate box select on click-drag vs. box
select on B. Fix by restoring the tweak property for everything but
preview keymap items (where it doesn't actually do anything).

Main reason this happened is because the original description was a bit
too cryptic, so update it to be clearer.

Pull Request: https://projects.blender.org/blender/blender/pulls/130015
2024-11-08 21:29:53 +01:00
Campbell Barton 08693d05c1 Fix missing wheel refresh after updating extensions
Applying all available updates wasn't re-synchronizing wheels.
2024-11-09 00:41:23 +11:00
Campbell Barton ec22e967ad Fix error installing extensions with wheels
Error in [0] caused versions not to match when enabling
extensions after installation or upgrade.

[0]: a3a3dda563
2024-11-09 00:41:21 +11:00
Alaska 79cb23b049 Add GPU backend to "Report a Bug" script
Adds the current GPU backend to the `Help -> Report a bug` script
when using the OpenGL or Vulkan backend. This makes it easier for
triagers to figure out if a user is using OpenGL or Vulkan
in cases the user doesn't explictly state which they're using.

Pull Request: https://projects.blender.org/blender/blender/pulls/130006
2024-11-08 14:25:35 +01:00
Lukas Tönne 449e7229f3 Fix #129749: Use consistent GPv3 color settings in different modes
Always use the Brush.color setting in the Draw mode side bar.
Technically the "Color" panel in the sidebar can draw in other modes,
but it's polling for explicit tools that limit it to the Draw mode
implicitly.

Use the appropriate brush or unified color in other GP modes based on
the unified paint settings flag.

Worth noting this was technically broken for a long time:
The default was that unified paint is disabled, so the GP panels would
use the brush color as expected. Enabling unified paint would then break
the colors, probably wasn't done very frequently since GP files
and e.g. mesh sculpting don't mix often. The default was changed in
#129127 to enable unified paint by default, which now breaks GP colors
by default.

Pull Request: https://projects.blender.org/blender/blender/pulls/129790
2024-11-08 10:21:24 +01:00
Campbell Barton 67865cb73a Tests: add tests to ensure literal paths are properly handled
Add tests to ensure literal paths are handled properly
(created as part of the fix for #129724).
2024-11-08 16:08:38 +11:00
Campbell Barton 4be66511de Extensions: quote paths in error messages, improve missing file error 2024-11-08 16:08:38 +11:00
Campbell Barton ae5f5c5bca Fix #129724: building extensions fails with non empty paths 2024-11-08 16:08:38 +11:00
Sean Kim 5c880a5291 UI: Revert default brush icon to monochrome version
Earlier in the brush assets project, for mesh sculpting, grease pencil,
and curves sculpting, the toolbar brush icon used was changed to a
version with a green highlight. This commit reverts that change to use
the monochrome grey icon instead in each of these modes.

For Sculpt mode specifically, the Paint tool icon is kept as this green
version to differentiate the usages. In future releases, further changes
are planned for sculpting related brushes to better represent their
functionality.

---

### Sculpt Mode Toolbar

![image](/attachments/f1575814-88f0-44f7-8ab6-7b069ff09763)

Pull Request: https://projects.blender.org/blender/blender/pulls/129934
2024-11-07 22:13:58 +01:00
casey bianco-davis a114534295 Fix #121233: GPv3: Primitives: Add missing confirm action and ability to pan viewport.
This adds `MMB+shift`/`MMB+Alt` for panning, while keeping `MMB` to confirm.

Pull Request: https://projects.blender.org/blender/blender/pulls/122813
2024-11-07 12:00:29 +01:00
Campbell Barton a3a3dda563 Extensions: support for filtering based on Python versions
Support multiple extensions with different Python versions in a similar
way to how "platforms" are handled now.

This will be needed when Blender upgrades to a newer version of Python
so extensions which have a binary dependency on Python 3.11 don't
attempt to install in a Blender built with a newer Python version.

Details:

- Extensions from incompatible Python versions are not listed.
- Python versions are extracted from wheel names.
- An extension may include wheels for multiple Python versions,
  only the compatible wheels will be installed.
- Links may include a "python_versions" field which is checked
  when dropping into Blender.
- JSON generated by the "server-generate" command include the:
  "python_versions" field for extensions that include wheels.
- The "python_versions" field is optional, when omitted no version
  checks are performed.

Also correct watch_test make target.

Ref #128750.
2024-11-07 18:16:11 +11:00
Campbell Barton 3d76e43e4a Extensions: exclude "wheels" from the static JSON package listing
While relatively harmless, it's unnecessary bloat.
2024-11-06 11:47:51 +11:00
Campbell Barton 6ccbafc5dc Cleanup: spelling in comments 2024-11-06 10:49:51 +11:00
Campbell Barton 4210a4f1cf Fix error keymap conflict operator
Detecting conflicts was failing because of an undefined function call &
an unknown "Timeline" keymap in the keymap hierarchy.
2024-11-06 10:49:41 +11:00
Julian Eisel 5afee98ad9 Fix: Unsaved changes label not showing up for essentials brushes
The label was hidden explicitly when saving changes wouldn't be
possible. But this was done for an earlier design iteration where there
would be a button to save changes, not just a label as indicator. The
indicator should always be shown when applicable.
2024-11-05 18:35:09 +01:00
YimingWu 334e9be8f4 Fix #129819: GPv3: Context menu for all paint tools
Previously the `W` menu was only available for brush tools (brush and
eraser), it should be available to all tools, thus putting the key map
registering function into `km_grease_pencil_paint_mode`.

Pull Request: https://projects.blender.org/blender/blender/pulls/129837
2024-11-05 10:36:21 +01:00
Christoph Lendenfeld be54e36333 Fix #125816: Clear constraint while action baking not doing visual keying
When doing action baking, the option "Clear Constraints" mentions
it's doing visual keying while not actually using that option.
Just fixing the description, even though a better solution
would be to revisit the design of the options to see if they
even make sense in some configurations.

Pull Request: https://projects.blender.org/blender/blender/pulls/129052
2024-11-05 09:41:29 +01:00
Jeroen Bakker ca1c06e8c4 Vulkan: Hide behind developer extras
Vulkan backend selection will be hidden behind developer extras. There
are some issues which would not be inviting for users to start testing.

- Some basic functionality are not working (object selection, depth
  testing)
- NVIDIA UI artifacts are annoying and unsure where the error is.
- AMD artifacts
- Memory leaks

The backend will still be part of Blender 4.3 only hidden behind an
additional flag.

Ref: #129265, #129262, #127225, #128624, #127768, #127223
Pull Request: https://projects.blender.org/blender/blender/pulls/129799
2024-11-05 08:06:42 +01:00
Philipp Oeser adac5c97f0 Fix #129784: GPv3: Non-functiona Trim tool in menus
Accidentally added in d70b10dcd4 and moved in dc652aeedb, the
`GREASE_PENCIL_OT_stroke_trim` operator is meant for usage in draw mode
(as the Cutter tool), but not in editmode. It is not the same as the
GPv2 Trim operator, see 4fbef3dc6b

To resolve, remove this from the menu again.

Pull Request: https://projects.blender.org/blender/blender/pulls/129805
2024-11-04 17:00:05 +01:00
Campbell Barton 41ec8a6d44 Fix errors calling tool set operators without a space
This check was added [0] but only for WM_OT_tool_set_by_brush_type.

[0]: 7cbc94d835
2024-11-04 11:55:39 +11:00
Campbell Barton 091ee2833b PyDoc: replace references to the deprecated "bgl" with "gpu"
Also correct bullet-points in gpu.state.blend_set.
2024-11-03 21:50:33 +11:00
Campbell Barton b00550916c PyDoc: correct use of single back-ticks 2024-11-03 21:50:33 +11:00
Campbell Barton 901359abf7 Cleanup: replace doc-strings with comments for internal logic
There is no need to store text in memory for comments on functions
that aren't exposed publicly and are only of used when reading
the code.
2024-11-03 21:50:33 +11:00
Campbell Barton ca8d00d0bb Cleanup: add doc-strings for bpy_extras.id_map_utils 2024-11-03 21:50:29 +11:00
Campbell Barton 3bcfb151c1 PyDoc: use Python's type annotation syntax for doc-strings
Replace plain-text type information with the type syntax used
for Python's type annotations as it's more concise, especially for
callbacks which often didn't include useful type information.

Note that this change only applies to inline doc-strings,
generated doc-strings from RNA need to be updated separately.

Details:

- Many minor corrections were made when "list" was incorrectly used
  instead of "sequence".
- Some type information wasn't defined in the doc-strings and has been
  added.
- Verbose type info would benefit from support for type aliases.
2024-11-03 15:44:35 +11:00