Commit Graph

2004 Commits

Author SHA1 Message Date
Campbell Barton
732a246cc0 Merge branch 'blender-v4.2-release' 2024-06-23 14:50:09 +10:00
Campbell Barton
485a4dbf0f Extensions: order "System" repositories last
The default "System" repository which was ordered before "User Default",
order system repositories last as these are a special case many users
won't touch.
2024-06-23 14:43:31 +10:00
Campbell Barton
5ae871f39d Merge branch 'blender-v4.2-release' 2024-06-23 13:33:59 +10:00
Campbell Barton
84b1c50dc9 Extension: improve server-generate help text 2024-06-23 13:33:02 +10:00
Campbell Barton
278aa84218 Merge branch 'blender-v4.2-release' 2024-06-23 13:02:18 +10:00
Campbell Barton
09481fd40d Merge branch 'blender-v4.2-release' 2024-06-23 13:02:15 +10:00
Campbell Barton
c78adfc698 Extensions: use str.casefold for case insensitive search
`str.casefold` is intended for case insensitive string matching and
finds more matches with some unicode characters.
2024-06-23 12:57:08 +10:00
Campbell Barton
6019aa304b Extensions: Improve "server-generate" site, group by type, include links 2024-06-23 12:50:35 +10:00
Campbell Barton
8cfe25b90c Merge branch 'blender-v4.2-release' 2024-06-22 23:51:48 +10:00
Campbell Barton
f885b2267f Merge branch 'blender-v4.2-release' 2024-06-22 23:51:46 +10:00
Campbell Barton
cf73897690 Extensions: add HTML generation to the "server-generate" command
- Optionally generate a simple HTML page (using --html).
- Links include repository, blender_versnon_* & platform information,
  so the information can be used by blender when links are dropped
  into Blender.
- Support using a template as the default HTML is primitive.
2024-06-22 23:48:00 +10:00
Campbell Barton
fc3e0507cc Extensions: development functionality to mark all & clear marks
- Disable enabling on install when installing marked.
  This simplifies installing many packages from a repository which can
  be useful for testing.
- Fix an error installing marked when a local-only package was marked.
2024-06-22 23:03:52 +10:00
Campbell Barton
b32f3ae538 Merge branch 'blender-v4.2-release' 2024-06-22 19:22:14 +10:00
Campbell Barton
1ba06956e7 Extensions: support platform & version from URL parameters
Improve errors when dropping incompatible extensions, where previously
the extension would report as being unknown.
2024-06-22 19:13:45 +10:00
Campbell Barton
cebe845da9 Merge branch 'blender-v4.2-release' 2024-06-21 16:53:00 +10:00
Campbell Barton
9cd6520693 Merge branch 'blender-v4.2-release' 2024-06-21 16:52:58 +10:00
Campbell Barton
91d5a639dc Extensions: prevent install/upgrade while sync is in progress
When syncing in the background the UI could refresh immediately
before clicking making it possible for the user to install the wrong
extension. Since install also enables the extension, it meant it was
too easy to accidentally run untrusted code.

Disable install/upgrade while sync runs.

Also tweak text alignment and use round brackets for "(disabled)"
extensions.
2024-06-21 16:51:57 +10:00
Campbell Barton
72af4d0977 Cleanup: use a set to store enabled add-on module names
Was using a dictionary when the value was never used.
2024-06-21 16:03:11 +10:00
Campbell Barton
3b559fdf8a Merge branch 'blender-v4.2-release' 2024-06-21 15:44:26 +10:00
Campbell Barton
bd3c783139 Merge branch 'blender-v4.2-release' 2024-06-21 15:44:24 +10:00
Campbell Barton
5bad967d31 Merge branch 'blender-v4.2-release' 2024-06-21 15:44:21 +10:00
Campbell Barton
78a5ade1be Extensions: remove disabled UI logic 2024-06-21 15:42:11 +10:00
Campbell Barton
c312f20627 Extensions: add an extension menu for each extension
Use a per-extension menu so extra functionality can be accessed from
one place.

- The install/upgrade button remains top-level.
- "Uninstall" and "Visit Website" have been moved into the menu.
- Theme extensions can be set from the menu.
- Installed add-on extensions have a "View Details" menu item
  to switch to the add-ons view (useful to access preferences).

Based on design by Pablo & Dalai.

Co-authored-by: Pablo Vazquez <pablo@blender.org>
Co-authored-by: Dalai Felinto <dalai@blender.org>
2024-06-21 15:41:45 +10:00
Campbell Barton
91ba2e10ba Extensions: avoid duplicate "." for legacy add-on descriptions 2024-06-21 12:48:33 +10:00
Campbell Barton
bfd999401f Merge branch 'blender-v4.2-release' 2024-06-21 11:37:32 +10:00
Campbell Barton
38e25d7838 UI: tweaks to extension & addon items
- Use line separator over box instead of separate boxes.
- Format web-links with a label, then the button instead
  of positioning the buttons side-by-side.

Changes by Brecht with minor edits (see !123420).

Co-authored-by: Brecht Van Lommel <brecht@blender.org>
2024-06-21 11:34:10 +10:00
Campbell Barton
8b9cf02ce9 Merge branch 'blender-v4.2-release' 2024-06-21 10:53:08 +10:00
Campbell Barton
72ef03d5a1 Extensions: split add-ons & extensions into separate preferences
Add back the "Add-ons" preferences, removing add-on logic from
extensions.

- Add support for filtering add-ons by tags
  (separate from extension tags).
- Tags now respect the "Only Enabled" option.
- Remove the ability to enable/disable add-ons from extensions.
- Remove add-on preferences from extensions.
- Remove "Legacy" & "Core" prefix from add-on names.
- Remove "Show Legacy Add-ons" filtering option.

Implements design task #122735.

Details:

- Add-on names and descriptions are no longer translated,
  since it's impractical to translate text which is mostly
  maintained outside of Blender.
- Extensions names have a `[disabled]` suffix when disabled so it's
  possible to identify installed but disabled extensions.
- The add-on "type" is shown in the details,
  so it's possible to tell the difference between an extension,
  a core add-on & a legacy user add-on.
- Icons are also used to differentiate the add-on type.
- User add-on's must be uninstalled from the add-ons section
  (matching 4.1 behavior).
- Simplify logic for filtering tags, move into a function.
2024-06-21 10:42:53 +10:00
Harley Acheson
9c4e56e307 UI: Move Save Incremental Menu Item Down
Move "Save Incremental" down the File menu to the bottom of its
section.

Pull Request: https://projects.blender.org/blender/blender/pulls/123463
2024-06-20 18:14:04 +02:00
Brecht Van Lommel
1fe4279bba Fix: Missing description for Copy Global Transform add-on 2024-06-20 15:04:43 +02:00
Brecht Van Lommel
5a2053a8b6 Fix: Missing description for Copy Global Transform add-on 2024-06-20 14:25:04 +02:00
Campbell Barton
b78c0e6619 Merge branch 'blender-v4.2-release' 2024-06-20 22:03:36 +10:00
Campbell Barton
1eda5bca68 Fix error with all local extensions showing as orphan
Also correct wording in install-file help text.
2024-06-20 21:56:31 +10:00
Pratik Borhade
c49bbb978a Fix: GPv3: Assert opening overlay panel in sculpt mode
Assert is due to wrong bounds passed to `std::clamp`. There seems no
error in UI code, instead this occurs due to `layout.label()`. It
returns an error due to missing case of `SCULPT_GREASE_PENCIL`. Due to
the error, panel is not generated with properties and the `rect-> min/max`
remained short enough to trigger assert

Pull Request: https://projects.blender.org/blender/blender/pulls/123478
2024-06-20 13:32:39 +02:00
Campbell Barton
4326585c5b Merge branch 'blender-v4.2-release' 2024-06-20 17:12:48 +10:00
Campbell Barton
801e47f42a Extensions: support "Install from Disk" for remote repositories
When installing from disk, include remote repositories in the list.

- Works with drag & drop from file system.
- This is the only way to "downgrade" an extensions.
2024-06-20 17:10:01 +10:00
Campbell Barton
f89cb1ef77 Merge branch 'blender-v4.2-release' 2024-06-20 15:17:57 +10:00
Campbell Barton
e2522e5f03 Extensions: support displaying "Orphan" extensions
Extensions in remote repositories that have no remote entries (orphans)
are now listed in the UI and the "list" sub-command.

Required for installing into remote repositories from disk (see #122302)

Details:

- Consistent ordering (local, remote) arguments.
- Use zip(..., strict=True) when sequences are expected to be aligned.
2024-06-20 15:16:05 +10:00
Falk David
68824a059c Fix script_validate_keymap test
Introduced by dab338a9b0.
Removes duplicate keymap entries to fix the test.
2024-06-19 18:25:49 +02:00
Falk David
dab338a9b0 Fix: GPv3: Shortcut 'F' to change brush radius no longer working
This was introduced with b7c570c854.
For the draw tools, we no longer use the unified paint settings.
This means that we can't use the `_template_paint_radial_control` anymore.

The fix explicitly sets up the shortcut to use the `brush.size` and `brush.strength`
for the `radial_control` operator.
2024-06-19 15:31:14 +02:00
Campbell Barton
318dc9ff43 Merge branch 'blender-v4.2-release' 2024-06-19 21:04:09 +10:00
Campbell Barton
da3461f8eb Fix #123241: Wrong dialog shown when dropping an unsupported package
Dropping an extension URL for an incompatible package displayed the
"Unknown Repository" dialog.

Resolve by detecting the case of an unknown package being dropped from
a known repository. Noting the package may not be compatible.
2024-06-19 20:47:55 +10:00
Omar Emara
4f51033708 Nodes: Implement Gabor noise
This patch implements a new Gabor noise node based on [1] but with the
improvements from [2] and the phasor formulation from [3].

We compare with the most popular existing implementation, that of OSL,
from the user's point of view:

  - This implementation produces C1 continuous noise as opposed to the
    non continuous OSL implementation, so it can be used for bump
    mapping and is generally smother. This is achieved by windowing the
    Gabor kernel using a Hann window.

  - The Bandwidth input of OSL was hard-coded to 1 and was replaced with
    a frequency input, which OSL hard codes to 2, since frequency is
    more natural to control. This is even more true now that that Gabor
    kernel is windowed as opposed to truncated, which means increasing
    the bandwidth will just turn the Gaussian component of the Gabor
    into a Hann window. While decreasing the bandwidth will eliminate
    the harmonic from the Gabor kernel, which is the point of Gabor
    noise.

  - OSL had three discrete modes of operation for orienting the kernel.
    Anisotropic, Isotropic, and a hybrid mode. While this implementation
    provides a continuous Anisotropy parameter which users are already
    familiar with from the Glossy BSDF node.

  - This implementation provides not just the Gabor noise value, but
    also its phase and intensity components. The Gabor noise value is
    basically sin(phase) * intensity, but the phase is arguably more
    useful since it does not suffer from the low contrast issues that
    Gabor suffers from. While the intensity is useful to hide the
    singularities in the phase.

  - This implementation converges faster that OSL's relative to the
    impulse count, so we fix the impulses count to 8 for simplicitly.

  - This implementation does not implement anisotropic filtering.

Future improvements to the node includes implementing surface noise and
filtering. As well as extending the spectral control of the noise,
either by providing specialized kernels as was done in #110802, or by
providing some more procedural control over the frequencies of the
Gabor.

References:

[1]: Lagae, Ares, et al. "Procedural noise using sparse Gabor
convolution." ACM Transactions on Graphics (TOG) 28.3 (2009): 1-10.

[2]: Tavernier, Vincent, et al. "Making gabor noise fast and
normalized." Eurographics 2019-40th Annual Conference of the European
Association for Computer Graphics. 2019.

[3]: Tricard, Thibault, et al. "Procedural phasor noise." ACM
Transactions on Graphics (TOG) 38.4 (2019): 1-13.

Pull Request: https://projects.blender.org/blender/blender/pulls/121820
2024-06-19 09:33:32 +02:00
Campbell Barton
df78d23f93 Merge branch 'blender-v4.2-release' 2024-06-19 16:01:53 +10:00
Campbell Barton
6eb2b5f47b Fix local extension errors being shown as remote errors
Also fix error with non extension add-on display by removing
an exception for extensions which is no longer needed.
2024-06-19 15:58:45 +10:00
Brecht Van Lommel
a26fd603b0 Merge branch 'blender-v4.2-release' 2024-06-18 21:19:24 +02:00
Nathan Vegdahl
295df94478 Anim: add "legacy behavior" option to Limit Rotation constraint
This adds a "Legacy Behavior" option to the Limit Rotation constraint that makes
it behave how Limit Rotation constraints did prior to
ed2408400d. Newly created constraints have this
option disabled, but versioning code enables the option on constraints from
older files to ensure that the behavior of e.g. existing rigs is not altered.

This is one part of a two-part fix for #123105. The other part is in PR
extensions/rigify#4.

Pull Request: https://projects.blender.org/blender/blender/pulls/123361
2024-06-18 18:29:25 +02:00
Pablo Vazquez
6684504d4f UI: Rename "Strip Colors" panel in theme editor
Rename to "Strip Color Tags" to match how these are called throughout
menus and overlay popover.
2024-06-18 16:13:28 +02:00
Campbell Barton
d7e9c8cd87 Merge branch 'blender-v4.2-release' 2024-06-18 19:50:42 +10:00
Campbell Barton
1ed6449c82 Extensions: better error message when already installed
Change the main error messages that happens when we drag and drop an
extension URL.

Ref !123242

Co-authored-by: Dalai Felinto <dalai@blender.org>
2024-06-18 19:49:36 +10:00