Commit Graph

16241 Commits

Author SHA1 Message Date
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
Harley Acheson
a21481cbdd UI: Allow Changing Editor Outline Width
The gaps between editors need to be selected and manipulated in order
to resize areas. How wide these need to be depends on the accuracy and
resolution of your pointing device. And also on the fine motor control
and visual acuity of the user. If you are using a tablet pen, touch
device, or are visually or physically challenged, then you need these
gaps to be wider. This PR allows a wide latitude in this.

Pull Request: https://projects.blender.org/blender/blender/pulls/126334
2025-04-07 21:15:20 +02:00
Jacques Lucke
8ec9c62d3e Geometry Nodes: add Closures and Bundles behind experimental feature flag
This implements bundles and closures which are described in more detail in this
blog post: https://code.blender.org/2024/11/geometry-nodes-workshop-october-2024/

tl;dr:
* Bundles are containers that allow storing multiple socket values in a single
  value. Each value in the bundle is identified by a name. Bundles can be
  nested.
* Closures are functions that are created with the Closure Zone and can be
  evaluated with the Evaluate Closure node.

To use the patch, the `Bundle and Closure Nodes` experimental feature has to be
enabled. This is necessary, because these features are not fully done yet and
still need iterations to improve the workflow before they can be officially
released. These iterations are easier to do in `main` than in a separate branch
though. That's because this patch is quite large and somewhat prone to merge
conflicts. Also other work we want to do, depends on this.

This adds the following new nodes:
* Combine Bundle: can pack multiple values into one.
* Separate Bundle: extracts values from a bundle.
* Closure Zone: outputs a closure zone for use in the `Evaluate Closure` node.
* Evaluate Closure: evaluates the passed in closure.

Things that will be added soon after this lands:
* Fields in bundles and closures. The way this is done changes with #134811, so
  I rather implement this once both are in `main`.
* UI features for keeping sockets in sync (right now there are warnings only).

One bigger issue is the limited support for lazyness. For example, all inputs of
a Combine Bundle node will be evaluated, even if they are not all needed. The
same is true for all captured values of a closure. This is a deeper limitation
that needs to be resolved at some point. This will likely be done after an
initial version of this patch is done.

Pull Request: https://projects.blender.org/blender/blender/pulls/128340
2025-04-03 15:44:06 +02:00
Campbell Barton
42ad772a1f Cleanup: spelling & repeated terms (make check_spelling_*)
Also use comment blocks for English text.
2025-03-27 01:13:34 +00:00
Alaska
573f182ff7 Release tools: Update the example for the bug fixes per release script for Blender 4.5
This commit updates the bug fixes per release script with small changes
to the readme.

- It removes the example script for Blender 4.4 as it's no longer
under development.
- It updates the example for Blender 4.5 to include the 4.4 backports task

Pull Request: https://projects.blender.org/blender/blender/pulls/136224
2025-03-25 07:09:08 +01:00
Alaska
b805980c20 Release tools: In bug fixes per release script, add a check for when a user puts the word "broken" in the working field
Occasionally users will fill out a bug report with the fields like:
```
Broken: A
Working: Also Broken in B
```

This can lead to bug fixes per release script classifying the report
incorrectly.

This commit adds a small check that sees if "broken" is in the working
field, and if it is, then avoid adding the versions in that working
field to the list of working versions used for classifcation since we
can't trust it.

Pull Request: https://projects.blender.org/blender/blender/pulls/136392
2025-03-25 07:09:04 +01:00
Thomas Dinges
c3d2a016e8 Merge branch 'blender-v4.4-release' 2025-03-17 09:32:04 +01:00
Thomas Dinges
c2eaccd4a7 Release: Update freedesktop file with updated bugfix numbers 2025-03-17 09:29:40 +01:00
Thomas Dinges
4124e67116 Release: Update license doc for 4.4 2025-03-12 12:28:05 +01:00
Thomas Dinges
9c1d1cdb9d Release: Update license doc for 4.4 2025-03-12 12:24:34 +01:00
Thomas Dinges
d8e4789244 Merge branch 'blender-v4.4-release' 2025-03-11 17:11:00 +01:00
Thomas Dinges
8ef60f7cc8 Release: Update freedesktop file for 4.4 2025-03-11 17:10:29 +01:00
Harley Acheson
0ee642611c UI: Add Specific Icon to Represent Preview While Loading
Rather than continuing to use ICON_TEMP, meant to represent temporary
locations, this PR adds a specific one - ICON_PREVIEW_LOADING - for
this purpose. Just a copy of ICON_TEMP for now, but with all parts at
40% opacity, matching how we use it now. Not only gives us an icon we
can later change, but also removes our special handling of reducing
opacity for one icon id.

Pull Request: https://projects.blender.org/blender/blender/pulls/135463
2025-03-04 23:35:30 +01:00
Alaska
b149388000 Merge branch 'blender-v4.4-release' 2025-03-05 02:56:55 +13:00
Alaska
72437aa87c Release tools: Add a option to ignore certain bug reports in list of bug fixes
While sorting reports for the "list of bug fixes for old bug reports",
occasionally triagers have encountered a report that's too difficult or time consum
ng to track down the correct information for.

In cases like this, it was decided that just ignoring the bug report
was a better option, and so this commit adds a option to do this by
adding the string `skip_for_bug_fix_release_notes` to the report.
preferable as `<!-- skip_for_bug_fix_release_notes -->` since it's
invisible.

Pull Request: https://projects.blender.org/blender/blender/pulls/135218
2025-03-04 14:55:58 +01:00
Jeroen Bakker
657770dfa6 Merge branch 'blender-v4.4-release' 2025-03-04 07:50:36 +01:00
Jeroen Bakker
192d328f16 Vulkan: Enable vk loader logging
Enable VK loader debug messages when running blender_debug_gpu_*
scripts.

Allows easier debugging for users not familiar with using terminal.
It won't log anything when using OpenGL.

Vulkan loading logging can be big (1000 lines) but gives a lot of insight
how vulkan and related applications are configured on the user system
Sadly it does contains actual paths but think it is OK as the user is still
responsible for uploading it in the tracker.

An example of a log has been attached.

See #135327.

Pull Request: https://projects.blender.org/blender/blender/pulls/135399
2025-03-04 07:28:49 +01:00
Harley Acheson
a021176ff4 UI: Show "Not Found" Icon when Not Found
In the unlikely event that an icon is requested that is not found, show
a specific icon that is meant to indicate this state, in "Error" color.

Pull Request: https://projects.blender.org/blender/blender/pulls/134959
2025-03-03 22:25:42 +01:00
Alaska
4865afcff0 Merge branch 'blender-v4.4-release' 2025-03-04 01:54:13 +13:00
Alaska
60e4b0e5d0 Release tools: Refactor bug fixes per release script to be easier to expand
If a user wants to expand the "bug fixes per release" script with
new classifications, it requires them searching for and expanding a few
lists spread through out the code.

This annoying for anyone not familiar with the code, so refactor these
lists out to the "Constants" section to make it easier to see and
expands.
2025-03-04 01:52:59 +13:00
Thomas Dinges
c403b654ba Merge branch 'blender-v4.4-release' 2025-02-24 15:02:46 +01:00
Thomas Dinges
da2555e41c Release: Update license.md for 4.4 2025-02-24 15:01:55 +01:00
Harley Acheson
e850a09762 UI: Add Icons to Represent Error Conditions
This PR adds three SVG Icons. One to represent that an icon is not
found - ICON_NOT_FOUND - so represent when an out-of-range value was
used to specify an icon. The second - ICON_CHAR_NOTDEF - is to
represent that a text character is not found in the specified font or
font stack. The third - ICON_CHAR_REPLACEMENT - is to indicate the
portion of a text string that contains invalid bytes.

Pull Request: https://projects.blender.org/blender/blender/pulls/134008
2025-02-19 01:11:24 +01:00
Harley Acheson
0dce68333f UI: Vertically Aligned Grip Icon
Add a variation of the current Grip icon that is vertically-aligned.
the current ICON_GRIP works great when it has lots of horizontal space,
but ICON_GRIP_V might be needed for horizontally constrained uses.

Pull Request: https://projects.blender.org/blender/blender/pulls/134777
2025-02-19 00:19:08 +01:00
Harley Acheson
d111b46b7a Merge branch 'blender-v4.4-release' 2025-02-17 09:47:59 -08:00
Harley Acheson
3e77dd1e46 Fix: Enable Translation Options by Default
This PR changes the default user preferences so that the Translation
Options are enabled. Otherwise with fresh install changing language
only translates tooltips.

Pull Request: https://projects.blender.org/blender/blender/pulls/134649
2025-02-17 18:46:43 +01:00
RedMser
aa1a1d586e Fix Unreported: Use correct icons for pose markers in Action editor
The pose markers were confusing, as the selection state also changed
the shape of the icon.

`PMARKER_ACT` and `PMARKER_SEL` (resp. active and selected) now look
the same. There is no concept any more of an "active" pose marker, but
the icon is still there to avoid breaking add-ons that happen to use
it.

`PMARKER` (unselected) now uses the icon that previously was used for
`PMARKER_SEL`.

This way the pose markers are always visually different from scene
markers.

Pull Request: https://projects.blender.org/blender/blender/pulls/132819
2025-02-13 16:23:42 +01:00
Harley Acheson
0381f18429 UI: New Presets Icons
Replacement for ICON_PRESET AND ICON_PRESET_NEW that looks like settings
on an audio mixing board.

Pull Request: https://projects.blender.org/blender/blender/pulls/134313
2025-02-13 02:44:47 +01:00
Brecht Van Lommel
e2e1984e60 Refactor: Convert remainder of blenlib to C++
A few headers like BLI_math_constants.h and BLI_utildefines.h keep working
for C code, for remaining makesdna and userdef defaults code in C.

Pull Request: https://projects.blender.org/blender/blender/pulls/134406
2025-02-12 23:01:08 +01:00
Harley Acheson
5956752eb7 UI: Themeable RedAlert, Error, Warning, Info Colors
The "Red Alert" color is currently hard-coded, which causes problems in
themes.  It also has an Enum value of 0, which precludes using this
value as "unset". We also use Error, Warning, and Info colors that are
part of the Info Editor.  This PR moves these out of the Info Editor
and into the "State" part of the theme. And then makes TH_REDALERT use
the TH_ERROR color.

Pull Request: https://projects.blender.org/blender/blender/pulls/131127
2025-02-12 20:59:47 +01:00
Sean Kim
c83c981dab Assets: Update submodule hash
Related PR: blender/blender-assets#24

Pull Request: https://projects.blender.org/blender/blender/pulls/134250
2025-02-07 16:57:39 -08:00