16371 Commits

Author SHA1 Message Date
Pablo Vazquez
0a22fbc153 UI: Add shadow to panels
At the moment, only menus and tooltips have a shadow. However, other
elements can benefit from having a shadow. This PR adds shadows to
panels in overlapped regions.  Makes the default shadow size slightly
larger, but less opaque so it's not so prominent. While dragging a
panel this makes the shadow larger for a "floating" effect.

Pull Request: https://projects.blender.org/blender/blender/pulls/139847
2025-06-19 02:21:35 +02:00
Pablo Vazquez
db9ae93f02 UI: Theme: Add Panel Outline
Add a panel outline theme option, set very low by default. This PR also
adds a slight (2 pixel) padding inset to subpanels.

Pull Request: https://projects.blender.org/blender/blender/pulls/139897
2025-06-18 19:16:24 +02:00
Pablo Vazquez
dd43eae0d3 UI: Theme: Remove NavBar/Execution regions colors
Remove barely used theme settings for "Navigation Bar" and
"Execution Region".

These properties were only used in two areas, which already had a good
candidate to be replaced with.

Visually it should look exactly the same by default.

Part of #135192, simplifying and cleaning up theme settings.

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/140352
2025-06-18 19:01:28 +02:00
Pablo Vazquez
11e729219a UI: Theme: Add Asset Shelf global styling
Simplify theming by making Asset Shelf style global, not per editor.

See PR for details and screenshots.

Part of #135192

Pull Request: https://projects.blender.org/blender/blender/pulls/140553
2025-06-18 14:54:42 +02:00
Pablo Vazquez
2ea3cd2188 UI: Theme: Make nodes use the exact theme color
Make node headers (or body when collapsed) use the exact theme color
set for that node type, instead of a hardcoded blend between it and the
node backdrop.

This can result in unreadable combinations, but allows more
flexibility and it is consistent with the rest of Blender.

Both dark and light theme defaults have been updated.

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/140481
2025-06-16 18:34:29 +02:00
Brecht Van Lommel
b10b2d509c Merge branch 'blender-v4.5-release' 2025-06-16 18:03:22 +02:00
Brecht Van Lommel
440a6e99a4 OpenColorIO: Add Color Interop Forum aliases to config
For improved interop, see:
https://github.com/AcademySoftwareFoundation/ColorInterop/blob/main/Recommendations/01_TextureAssetColorSpaces/TextureAssetColorSpaces.md

In future Blender versions we may use these names for storing color spaces
in blend files, so having this in 4.5 LTS improves forward compatibility.

Pull Request: https://projects.blender.org/blender/blender/pulls/140473
2025-06-16 18:02:52 +02:00
Campbell Barton
7ae8e18f0b Cleanup: rename preferences for NDOF sensitivity
Clarify the terms for NDOF translation & rotation sensitivity.
Previously translation was named: "ndof_sensitivity" making it
sound like it would control rotation as well.
2025-06-14 16:35:51 +10:00
Pablo Vazquez
7818082d02 UI: Theme: Add global style for panel colors
Move panel header, panel background, and sub-panel background color
settings to be global, under `User Interface`, like other widgets.

Remove per-editor panel styling. This way users can edit the panel
colors once, and affect all panels.

See pull request for screenshots and details.

Pull Request: https://projects.blender.org/blender/blender/pulls/140295
2025-06-12 20:05:34 +02:00
Pablo Vazquez
e8735c3203 UI: Theme: Use tab widget colors for sidebar tabs
Make sidebar tabs use the `wcol_tab` widget colors, instead per editor
settings. Simplifying theme tweaking and the following benefits:

* Set colors in one place, affect all tabs.
* Support for text colors for inactive and active tabs.
* Support for the new `Outline Selected` property.
* In the future sidebar tabs could support `Shaded` style.

The tabs region background color remains per-editor, to be able to
customize it in a way that fits the surrounding colors (sidebar region,
header, or navigation bar background).

See pull request for screenshots and details.

Pull Request: https://projects.blender.org/blender/blender/pulls/140288
2025-06-12 19:09:23 +02:00
Pablo Vazquez
ea3bfcfc2c Fix: Theme: List item widget default outline alpha
The default outline color was set to opaque when it should be
transparent.
2025-06-12 14:42:54 +02:00
Bastien Montagne
bc80ef136e Big Endian Support Removal.
This commit implements #125759.

It removes:
* Blender does not build on big endian systems anymore.
* Support for opening blendfiles written from a big endian system is
  removed.

It keeps:
* Support to generate thumbnails from big endian blendfiles.
* BE support in `extern` or `intern` libraries, including Cycles.
* Support to open big endian versions of third party file formats:
  - PLY files.
  - Some image files (cineon, ...).

Pull Request: https://projects.blender.org/blender/blender/pulls/140138
2025-06-12 10:37:47 +02:00
Pablo Vazquez
23fb5752ed UI: Theme: Add new Outline Selected property
Allow theming the outline of selected elements. This helps to make
active elements more prominent, and allows for flat theme combinations
not possible before.

Pull Request: https://projects.blender.org/blender/blender/pulls/139850
2025-06-11 23:20:50 +02:00
Shengyu Qu
a741c8a3fb Color Management: Rename from_reference to from_scene_reference
In OpenColorIO v2 the name changed but remained backwards compatible.

Pull Request: https://projects.blender.org/blender/blender/pulls/139683
2025-06-11 16:14:25 +02:00
John Kiril Swenson
fa5178e366 Cleanup: VSE: Remove Legacy Handle Tweaking
This patch removes the older handle selection and transformation logic,
which was accessible through user preferences by switching off the
default "simple tweaking" mode in Editing -> Video Sequencer.

There was some initial bugginess with the new handle behavior, hence
the option to revert to legacy mode, but with recent updates this no
longer applies. With the new system, all selection workflows
are still possible -- this just drops older code to make things simpler.

No functional changes intended.

Pull Request: https://projects.blender.org/blender/blender/pulls/140031
2025-06-11 04:03:17 +02:00
Pablo Vazquez
71e02b3229 UI: Draw sidebar tabs as pills
The tabs in the sidebar are aligned to the content, which looks great
when region overlap is off, but when it isn't, it looks like the tabs
are attaching to nothing. Solve this by drawing sidebar tabs as pills,
when using region overlap. This matches the top-bar workspace tabs.

Pull Request: https://projects.blender.org/blender/blender/pulls/139951
2025-06-10 21:59:55 +02:00
Falk David
d4c143957f Merge branch 'blender-v4.5-release' 2025-06-09 14:16:12 +02:00
Clément Foucault
1c47e31367 GPU: Enable GL multithreaded compilation by default
This allows to reduce the waiting time caused by
shader compilation on some GPU-driver combo.

A new settings in the User Preferences make it
possible to override the default amount of worker
threads and optionally use subprocesses.

We still use only one worker thread in cases where
there is no benefit with adding more workers
(like AMD pro driver and Intel windows).

It doesn't scale as much as subprocesses for material
shader compilation but that is for other reasons
explained in #139818.

Add some heuristic to avoid too much memory usage
and / or too many stalls.

Also add some heuristic to the default number of subprocess for
the platform that shows scalling.

Historically, multithreaded compilation was prevented by the
need of context per thread inside `DRWShader` module.
Also there was no good scaling at that time. But
nowadays numbers shows different results with
good scaling with reasonable amount of threads on many
platforms.

Even if we are going for vulkan in the next release
most of the legacy hardware will still use OpenGL for
a few other releases. So it is relevant to make this
easy improvement.

See pull request for measurements.

Pull Request: https://projects.blender.org/blender/blender/pulls/139821
2025-06-09 12:36:06 +02:00
Aras Pranckevicius
5ad6d42c83 IO: Remove Collada import/export
Removes Collada import/export (has been deprecated since 4.2).

Pull Request: https://projects.blender.org/blender/blender/pulls/139337
2025-06-06 08:38:57 +02:00
Philipp Oeser
65fe5f4b0f Merge branch 'blender-v4.5-release' 2025-06-06 08:10:15 +02:00
Alaska
3a35b26005 Release note tools: Changes for 4.5 branch
This commit adjust the list of official Blender version, and the script
usage example in preparation for the Blender 4.5 and 5.0 split.

Pull Request: https://projects.blender.org/blender/blender/pulls/139823
2025-06-06 08:09:19 +02:00
Campbell Barton
9a79ed5fb4 Merge branch 'blender-v4.5-release' 2025-06-05 21:31:39 +10:00
Kamil Galik
64696cc699 NDOF: simplify the UI and preferences
- Navigation modes has been redefined a bit and introduced in a form of
  an enum so that new ones can me implemented in the future.
  Additionally switching between modes shouldn't require any additional
  configurations like inverting all the axes.
  Currently there are only 2 modes implemented,
  but 2 more are planned and will be proposed in follow-up PRs.
  Implemented modes are:

  - Object: works like "Orbit" option.
    but has all axes implicitly inverted
  - Fly: works the same as "Free".

- "Turntable" option has been turned into "Lock Horizon".
  This single option works for both normal navigation and Fly/Walk
  modes now.
- Pan and Rotation axes inversion has been removed from default
  configuration.
- UI has been simplified following the design from #136880.
- Zoom Invert has been removed since it looks like a duplication of
  `NDOF_PANZ_INVERT`.

Ref !139343
2025-06-05 21:29:53 +10:00
Campbell Barton
e9400dfb8d Merge branch 'blender-v4.5-release' 2025-06-05 15:41:36 +10:00
Campbell Barton
b9fc0d3712 Cleanup: spelling in comments 2025-06-05 05:26:55 +00:00
Thomas Dinges
ea5b1f7527 Release: Update 4.5 branch to beta
Splash by Blender Studio
2025-06-04 14:10:17 +02:00
Thomas Dinges
ccbcde4adb Release: Bump main to 5.0
Splash by Blender Studio
2025-06-04 13:55:07 +02:00
Alaska
6e43896e86 Release note tool: Sort backport version numbers from lowest to highest
This commit adds a feature to the bug fixes per release tool to ensure
the version numbers of the backported Blender versions are in ascending
order.

Before: 4.2.9, 4.4.1, 4.2.9
After: 3.6.22, 4.2.9, 4.4.1

Pull Request: https://projects.blender.org/blender/blender/pulls/139011
2025-06-04 09:47:42 +02:00
Alaska
2c41ee58d1 Release note tools: Remove manual sorting of revert commits
In a previous commit (1) a feature was added to the bug fixes per
release script that prompted users if they want to sort revert commits.

This commit removes this feature, instead preferring that revert
commits are sorted in the overrides task (blender/blender#137983)

This was done because:
- The overrides task allows for greater control over how revert commits
  are classified, and it's synced between all users.
- The prompt to sort the commits appearing each time the script is run
  is annoying for triagers who may run the script multiple times in one
  day as they sort through various commits.

(1) blender/blender@9679d9a3eb

Pull Request: https://projects.blender.org/blender/blender/pulls/138505
2025-06-04 09:47:25 +02:00
RedMser
24a2da62b3 Movie Clip Editor: Show preview range
Overall the goal of the PR is to show the preview range in the
clip editor's dopesheet and graph mode.

To accomplish this, some cleanup and refactor were needed:

- Clip editor had a nearly 1:1 copy paste of the timeline draw code,
  which has been replaced with `ANIM_draw_framerange`.
- Preview range draw code required `bContext`, which was only used to
  access scene. Now scene is passed explicitly, without need to know the
  context.
- The macro to access the preview range was removed. This is because the
  code is within `PRVRANGEON` check, so `PSFRA`/`PEFRA` were doing
  redundant checks.

Pull Request: https://projects.blender.org/blender/blender/pulls/138678
2025-05-28 16:28:38 +02:00
Brecht Van Lommel
f165c75e14 Refactor: Add various DNA_*_enums.h and DNA_*_types.h files
* Move colorband and theme DNA to own headers
* Move some anim, curve, modifier and space enums to new headers
* Move data transfer enums to DNA
* Duplicate imbuf proxy and GPU backend enums

For a few reasons:
* Reduce number of includes in DNA headers
* Don't define enums used in DNA outside of DNA
* Move theme settings to separate header for userdef_default_theme.c
* Prepare for using default initializers in DNA headers. (#134531)

Pull Request: https://projects.blender.org/blender/blender/pulls/138831
2025-05-20 13:26:43 +02:00
Aras Pranckevicius
9e4c26574a VSE: new cache implementation
Rework internals of how VSE caching is done. Primarily to make all the
caching logic more understandable from development point of view, but
also has several user visible implications (more details in the PR):
- Simpler and fewer caching UI options,
- Disk cache is gone (primary reason: proxies are kinda the same thing),
- VSE cache size set in preferences is actual size used for VSE caches
  now (previously caching stopped as soon as whole Blender used that
  much memory, even if some memory usage was not about VSE at all),
- Certain scenarios of cache invalidation are faster now.

Pull Request: https://projects.blender.org/blender/blender/pulls/137926
2025-05-14 12:59:46 +02:00
Alaska
ba38a2257e Release notes tools: Improve grammar in list of backported commits
This commit improves the grammar when reporting which versions of
Blender a commit was backported to in the "bug fixes per major release"
script if it was backported to 3 or more verisons of Blender.

Before:
- Backported to 3.6.22 & 4.2.9 & 4.4.1

After:
- Backported to 3.6.22, 4.2.9, and 4.4.1

Along with this change, I now use the word "and" rather than the
symbol "&".

Pull Request: https://projects.blender.org/blender/blender/pulls/138500
2025-05-09 15:52:43 +02:00
Alaska
d3c0cf87cb Release note tools: Don't cache commits with unknown modules
The script for collecting bug fixes per release have a caching feature
to speed up frequent re-running of the script by triagers to sort
commits.

This commit changes the script so that fix commits that don't have a
known module are no longer cached.

This is done because part of the sorting of commits is making sure
they're assigned to the right module. This typically means checking
on commits with "Unknown" modules and giving them a module label.

However due to caching, triagers running the script won't see those
changes until they clear their cache. To fix this, we no longer cache
commits with unknown modules.

Pull Request: https://projects.blender.org/blender/blender/pulls/138503
2025-05-09 15:51:38 +02:00
Harley Acheson
48403607dd UI: Status Bar Event Icons for Trackpad Gestures
Adding three icons to represent panning, rotate, and zoom gestures
and using them for status bar event icons for
GHOST_kTrackpadEventScroll, GHOST_kTrackpadEventRotate, and
GHOST_kTrackpadEventMagnify.

Pull Request: https://projects.blender.org/blender/blender/pulls/138569
2025-05-07 23:57:03 +02:00
Campbell Barton
accc3de59e Cleanup: resolve mypy warnings
Also include bug_fixes_per_major_release.py in the "make check_mypy"
target.
2025-05-07 15:39:06 +10:00
Alaska
9fe0b05acd Release note tools: Read Blender website crawl delay from robots.txt
This commit update the release note tools to read the crawl delay for
projects.blender.org directly from
https://projects.blender.org/robots.txt instead of relying on a hard
coded value.
2025-05-07 15:58:45 +12:00
Sergey Sharybin
9477fa4eb0 Migrate existing files to Git LFS
The files that were binary and were committed prior to the
Git LFS configuration in the main repository.

override restrictions

Pull Request: https://projects.blender.org/blender/blender/pulls/138452
2025-05-05 17:18:42 +02:00
Sergey Sharybin
bbfc97ad6f Move tests/data and assets to the main repository
This change moves the tests data files and publish folder of assets
repository to the main blender.git repository as LFS files.

The goal of this change is to eliminate toil of modifying tests,
cherry-picking changes to LFS branches, adding tests as part of a
PR which brings new features or fixes.

More detailed explanation and conversation can be found in the
design task.

Ref #137215

Pull Request: https://projects.blender.org/blender/blender/pulls/137219
2025-05-05 15:10:22 +02:00
Aaron Carlisle
c92abb6af1 Icons: Match SVG height for Add/Remove icons
Adjust the height of the remove icon SVG to match the add icon, ensuring consistent sizing across UI elements.

This resolves alignment issues when pairing SVG icons with text or font-based elements. A height of 1100px was chosen to vertically center the icon cleanly in Blender's UI without introducing fractional pixel offsets.

No visual differences are expected in Blender.

Pull Request: https://projects.blender.org/blender/blender/pulls/137438
2025-05-03 17:21:06 -04:00
Alaska
c2883f73ed Release note tools: Shift commit fix overrides to a Gitea issue
The list of bug fixes per release tool has a option to override which
issue a commit fixed (Useful if someone accidentally put the wrong
fix report number in their commit message).

The way the feature was setup previously wasn't that great, requiring
commiting information to the Blender repository, and it was prone to
bad merge conflicts if multiple people worked on it.

This commit fixes this issue by shifting the overrides list to a bug
report in the Blender repository, detaching it from commits to the
Blender repo, avoiding merge conflicts.

Pull Request: https://projects.blender.org/blender/blender/pulls/136750
2025-04-28 07:09:02 +02:00
Alaska
3532a25966 Refactor: Factor out Blender API URL in bug fixes per release script 2025-04-25 15:52:09 +12:00
Ray Molenkamp
aced31fd3f Fix #137552: change REINSTALLMODE to amus
This changes the REINSTALLMODE [1] from the default omus
to amus. this isn't recommended [2] but CMAKE [3] has been doing
it for 6 years now without issues, so it will probably be fine?

[1] https://learn.microsoft.com/en-us/windows/win32/msi/reinstallmode
[2] https://stackoverflow.com/a/71225056/1938798
[3] https://github.com/Kitware/CMake/blame/master/Utilities/Release/WiX/WIX.template.in#L28

Pull Request: https://projects.blender.org/blender/blender/pulls/137668
2025-04-23 15:26:13 +02:00
Thomas Dinges
8706390dd8 License: Regenerate licence doc 2025-04-22 14:35:37 +02:00
Thomas Dinges
77022c7f28 Fix: License document had wrong link for public domain
Pull Request: https://projects.blender.org/blender/blender/pulls/137841
2025-04-22 14:34:51 +02:00
Alaska
9679d9a3eb Release notes tools: Add manual revert commit sorting
This adds a small feature to the script that generates a list of
bug reports per release to help users of the script sort reverted fix
commits.

This comes in the form of the script presenting you with the commit
message for each revert commit and asking you what commit hash was
reverted (The hash should hopefully be in the commit message.)

Pull Request: https://projects.blender.org/blender/blender/pulls/137582
2025-04-18 03:48:42 +02:00
Thomas Dinges
6655c6fa75 Release: Update installer graphic for 4.4
Also switch to .png format for better compression.

Pull Request: https://projects.blender.org/blender/blender/pulls/137471
2025-04-14 17:36:09 +02:00
Campbell Barton
5affe5fc6d Cleanup: spelling in comments (make check_spelling_*) 2025-04-12 19:31:29 +10:00
Alaska
44eb32f68d Release note tools: Only check for issue numbers if they contain a space before them
In the bug fixes per release tool, we got a list of bug reports that
were fixed by a commit using a regular expression that pulled the
number from `#NUMBER`.

However in specific situations, this resulted in the retrieval of the
wrong issue numbers, and ultimately a mis-classification of a
fix commit.

For example 778b1efd84 contains `Fixes blender/blender-manual#NUMBER`

We were extracting the NUMBER from this and treating it as if it was
a bug report for the `blender/blender` repository, which means it
points to the wrong bug report.

This commit fixes this issue by taking a simple approach of only
checking for report numbers that match the format:
`SPACE#NUMBER`, which will eliminate cases like
`blender/blender-manual#NUMBER`.

Pull Request: https://projects.blender.org/blender/blender/pulls/136744
2025-04-11 10:58:24 +02:00
Pablo Vazquez
3e8801849f UI: Make auto-run scripts setting off by default
Even though the default startup already has `Trusted Source` and
`Auto Run Python Scripts` off by default, when resetting their values
to default (right click, Reset to Default) they would be turned on.

It was simply missing explicitly setting this off by default.

Pull Request: https://projects.blender.org/blender/blender/pulls/137205
2025-04-09 18:57:13 +02:00