Commit Graph

16127 Commits

Author SHA1 Message Date
Thomas Dinges
b0cfebbb99 Merge branch 'blender-v4.3-release' 2024-10-15 13:16:24 +02:00
Thomas Dinges
888473b064 Readme: Update various links. 2024-10-15 13:16:00 +02:00
Sergey Sharybin
3f4420247c Merge branch 'blender-v4.3-release' 2024-10-09 09:50:18 +02:00
Sergey Sharybin
33320b50dd Build: Move WIX installer files to release/windows/installer_wix
This allows the files to be re-used between x64 and amd64 builds
for Windows.

This adds 500 kilobyte of files, but they almost never change, they
are required for releases anyway, and having them in the repo solves
all sort of synchronization problems.

A new graphics is now used, as it was long requested by the UI and
release/PR team.

Pull Request: https://projects.blender.org/blender/blender/pulls/128588
2024-10-09 09:49:43 +02:00
Pablo Vazquez
c8b37a798c Splash: Update artwork with proper colour space
Credit: Blender Studio https://studio.blender.org/
2024-10-03 18:03:47 +02:00
Thomas Dinges
4c47c7e634 Revert "Release cycle: Blender 4.3 Beta"
This reverts commit 906bc801f4.
2024-10-02 12:35:26 +02:00
Thomas Dinges
906bc801f4 Release cycle: Blender 4.3 Beta
Splash screen by Blender Studio: studio.blender.org
2024-10-02 12:34:01 +02:00
Julian Eisel
3798852071 Sculpt/Paint: Bring back some brush tools for paint modes
Since brush assets were merged, all sculpt and paint modes have a unified
"Brush" tool that is used for all brushes. Based on feedback, this mixes brush
types a bit too much, so some specific tools that use brushes should be brought
back. These brush types just behave very different from the main brush types,
and users expect them to be easily accessible from the toolbar. This also makes
them more discoverable and having tools that remember their last used brush can
be useful too (e.g. assigning shortcut to eraser tool to switch back to last
used eraser, rather than a specific eraser brush).

Note that further changes are planned, to get a true "best of both worlds"
design, where people can use a global brush library without having to worry
about tools, but brushes can also be accessed via tool categorization.
The new design works well with both mental models without being a compromise
in-between.

a79f9100a6 already brought back some tool for grease pencil draw mode, with this
commit the design is now applied to all sculpt & paint modes.

See PR for a list of tools that were brought back.

Design Task: https://projects.blender.org/blender/blender/issues/128066
Pull Request: https://projects.blender.org/blender/blender/pulls/128038
2024-10-01 18:03:33 +02:00
Julian Eisel
12b50ccb50 Assets: Update assets repository hash for essentials library updates
Asset catalogs for the essentials asset library were changed, see
88f1a1caf7f0.
2024-09-30 16:53:17 +02:00
Pablo Vazquez
d6ec2f0539 UI: Update icon for Grease Pencil layer and group
The current icon for Grease Pencil layers is a pen, it doesn't really
communicate the "layer" aspect. Replace with a paper sheet-like icon.

The layer group gets its own icon. It's a stack of animation paper.

Inspired by Daniel Correa Flores's design on DevTalk:
https://devtalk.blender.org/t/ui-discussion-grease-pencil-layer-and-layer-group-icons/30693/25

Pull Request: https://projects.blender.org/blender/blender/pulls/128208
2024-09-27 17:24:40 +02:00
Harley Acheson
28e5c1412e UI: Editor Edge Highlighting
Customizable highlighting of editor edges that can be used to help
differentiate between areas, indicate active area, and/or help users
with visual impairment. Can be completely removed as well. This
replaces the active area header highlighting, which doesn't work for
transparent headers.

Pull Request: https://projects.blender.org/blender/blender/pulls/116684
2024-09-26 21:55:26 +02:00
Julian Eisel
1e2ac0e899 Assets: Update assets repository hash for essentials library updates
The essentials asset library was updated with new and improved brush
assets, see 9dfd0a171f.
2024-09-26 19:25:09 +02:00
Alaska
b3a3c7fbb0 Update license information
Ref: !128100
2024-09-25 12:45:20 +10:00
Jacques Lucke
6e5e01e630 Geometry Nodes: new For Each Geometry Element zone
This adds a new type of zone to Geometry Nodes that allows executing some nodes
for each element in a geometry.

## Features

* The `Selection` input allows iterating over a subset of elements on the set
  domain.
* Fields passed into the input node are available as single values inside of the
  zone.
* The input geometry can be split up into separate (completely independent)
  geometries for each element (on all domains except face corner).
* New attributes can be created on the input geometry by outputting a single
  value from each iteration.
* New geometries can be generated in each iteration.
    * All of these geometries are joined to form the final output.
    * Attributes from the input geometry are propagated to the output
      geometries.

## Evaluation

The evaluation strategy is similar to the one used for repeat zones. Namely, it
dynamically builds a `lazy_function::Graph` once it knows how many iterations
are necessary. It contains a separate node for each iteration. The inputs for
each iteration are hardcoded into the graph. The outputs of each iteration a
passed to a separate lazy-function that reduces all the values down to the final
outputs. This final output can have a huge number of inputs and that is not
ideal for multi-threading yet, but that can still be improved in the future.

## Performance

There is a non-neglilible amount of overhead for each iteration. The overhead is
way larger than the per-element overhead when just doing field evaluation.
Therefore, normal field evaluation should be preferred when possible. That can
partially still be optimized if there is only some number crunching going on in
the zone but that optimization is not implemented yet.

However, processing many small geometries (e.g. each hair of a character
separately) will likely **always be slower** than working on fewer larger
geoemtries. The additional flexibility you get by processing each element
separately comes at the cost that Blender can't optimize the operation as well.
For node groups that need to handle lots of geometry elements, we recommend
trying to design the node setup so that iteration over tiny sub-geometries is
not required.

An opposite point is true as well though. It can be faster to process more
medium sized geometries in parallel than fewer very large geometries because of
more multi-threading opportunities. The exact threshold between tiny, medium and
large geometries depends on a lot of factors though.

Overall, this initial version of the new zone does not implement all
optimization opportunities yet, but the points mentioned above will still hold
true later.

Pull Request: https://projects.blender.org/blender/blender/pulls/127331
2024-09-24 11:52:02 +02:00
casey bianco-davis
3c67ae7785 GPv3: Rename Cutter tool to Trim
This rename the `Cutter` tool's name, code and icon to `Trim`.
The legacy Grease Pencil code is unchanged.

This was discussed in the 2024-07-30 Grease Pencil Module Meeting.

Reasons for the change:
 - Match the `Trim Stroke Ends` setting on brushes.
 - Match the `stroke_trim` operator.
 - Name is more clear and more commonly used.
 - Frees the name for a future boolean cutting tool.

Pull Request: https://projects.blender.org/blender/blender/pulls/126452
2024-09-13 16:56:51 +02:00
Sean Kim
c5241cc638 Fix #127259: Slow pose brush performance on dense mesh
See blender/blender-assets!10

Pull Request: https://projects.blender.org/blender/blender/pulls/127466
2024-09-11 20:07:18 +02:00
Harley Acheson
9ee86c589d UI: Add SVG Parent Group to Two More Icons
This PR just alters the source SVG files for file_alias and
geometry_set so that their subgroups are inside a parent group.

Pull Request: https://projects.blender.org/blender/blender/pulls/127428
2024-09-10 22:26:55 +02:00
Harley Acheson
5285d7b859 UI: Blender Logo Fitting in Bounds
Resizing of the Blender SVG logo to fit within an 1800 unit horizontal
maximum rather than being oversized.  Makes it slightly smaller overall
but not sure anyone will notice.

Pull Request: https://projects.blender.org/blender/blender/pulls/127370
2024-09-10 20:53:43 +02:00
Harley Acheson
445b609e2d UI: Add SVG parent group to two large icons
This PR just alters the source SVG files for question_large and
warning_large so that their subgroups are inside a parent group.

Pull Request: https://projects.blender.org/blender/blender/pulls/127265
2024-09-06 21:27:05 +02:00
Harley Acheson
458c60269b UI: Hand Cursors
Add multiple "hand" mouse cursors. These are mostly needed for Mac,
which needs open, close, and pointing hand cursors. This also adds
similar for Windows, but just for completeness and testing.

Pull Request: https://projects.blender.org/blender/blender/pulls/127164
2024-09-06 19:05:59 +02:00
Dalai Felinto
c9da54dd02 Fix key_command icon
This error was introduced on 7dc3e8e04d
by the automatic script used (after my original PR code - !127194).

The SVG had the same attributes added twice.

The issue was technically introduced on
ffa802da7ac09273a34903438550e0966c4063dc (which is not in main but part
of the code which was merged).
2024-09-06 12:36:37 +02:00
Campbell Barton
97179b10fb Refactor: make "sys_info" an internal module, rename for clarity
- Move sys_info into an internal module to avoid having so many
  top level modules for Blender's internal functionality.
- Rename system_info sub-modules that pre-fill URL's for clarity.
- Move top-level exception handling into the operator.
- Report an error if an unexpected exception occurs.
- Use `Exception` instead of `BaseException` as there is no reason to
  catch the additional exceptions.
- Remove use of sys_info from the command line example,
  replace with in-lined system info.
2024-09-06 11:11:26 +10:00
Dalai Felinto
7dc3e8e04d Cleanup: UI: Make sure all icons have the paths inside a group
All the SVGs here were saved as plain SVG from inskcape.

Pull Request: https://projects.blender.org/blender/blender/pulls/127194
2024-09-05 20:15:36 +02:00
Sybren A. Stüvel
4d4ad34f4c Anim: Action Slot icon
Add an icon for Action Slots. Design task: #123372

Pull Request: https://projects.blender.org/blender/blender/pulls/127102
2024-09-03 18:33:36 +02:00
Alaska
3196ef1636 Add a script to collect system information when Blender isn't opening
This commit adds a python script that can collect some of the
information necessary to fill out a bug report.

The primary use case is to help users collect system information for
a bug report in the case that Blender can't open.

CMD and sh files are included to help users use the Python script.

Ref !122191
2024-09-03 13:26:54 +10:00
Julian Eisel
cb03748e45 Assets: Update asset repository hash for brush asset changes
Update to:
https://projects.blender.org/blender/blender-assets/commit/4c14e5a01164bb13.

See 3386761411.
2024-08-30 18:00:39 +02:00
Harley Acheson
d9971d6414 UI: Detailed Large File & Folder Icons
Changes to the icons used for document and folder when in thumbnail
view in File Browser. A bit more detail, less chunky, more in tune
with OS versions. Better match for the recent increased fidelity of
the "type" icons that are shown in their centers.

Pull Request: https://projects.blender.org/blender/blender/pulls/126760
2024-08-29 20:49:55 +02:00
WaviestBalloon
d63db15fe9 Fix #126734: linux launcher fails on paths with spaces
Ref: !126740
2024-08-26 11:43:37 +10:00
Harley Acheson
bc43d243bb UI: SVG Icon ID Names Underscores Not Period
In order to recolor icons based on themes, some svg icons have specific
ID names. These names are currently of the pattern "blender.some_name".
However, although CSS ID names are allowed to contain a period in them,
these are problematic as selectors. This is because #tagname.something
looks like a combination of ID and class name. Although these can be
escaped like #tagname\.something that is a pain. This PR replaces the
periods with underscores.

Pull Request: https://projects.blender.org/blender/blender/pulls/126709
2024-08-24 00:28:34 +02:00
Harley Acheson
810687ad5b UI: Improvement to Screen Area Options Menu Invoke Area Join
Right-clicking on an edge between editors, the "Screen Area Options"
menu has a number of items including for Area Join.  When docking is
NOT enabled this gives the prior behavior of interactive join where
you can change direction and requires Enter to confirm.  If docking
is enabled then there are instead instant join options but now with
a specific icon for each direction.

Pull Request: https://projects.blender.org/blender/blender/pulls/126616
2024-08-22 20:25:51 +02:00
Harley Acheson
7c68ac258f UI: File Browser Offline and Alias State Icon Position
#125625 moved the File Browser Thumbnail type icon location from the
bottom-left of the thumbnail extent to the bottom-left of the item
bounds. This does the same for the indication of offline and for
shortcut. This adds a new icon for shortcut instead of current use of
ICON_LOOP_FORWARDS, which doesn't look right. The new icon looks like
the Mac Alias arrow, but this also works fine for other platforms.

Pull Request: https://projects.blender.org/blender/blender/pulls/126469
2024-08-18 22:11:53 +02: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
Harley Acheson
99a4bc325e UI: Allow Theme Coloring for Color SVG Extraction
For the times we need to obtain the bitmap of an SVG icon, send these
through the new theme coloring callback if they are multi-color. This
removes some code duplication by adding a new function that gets an
imBuf from SVG Icon. This allows, for "About" logo, Dialog icons, and
file system icons the optional ability to use a single SVG source file
that works as both monochrome (themed by text color) or multicolor with
internal parts themed.

Pull Request: https://projects.blender.org/blender/blender/pulls/126215
2024-08-13 03:31:43 +02:00
Harley Acheson
cd998d392d UI: Color Icon Theme Internal Parts
Allow color SVG icons to have their fill colors modified by theme
colors using a callback. This is done just before rasterization so
only happens once per requested size, before these are cached for
reuse.

Pull Request: https://projects.blender.org/blender/blender/pulls/125146
2024-08-11 20:10:32 +02:00
Harley Acheson
a57c3be05e UI: Add SVG Icons for Status Bar Event Use
This adds 26 SVG icons (13 unfilled/filled pairs) for use on the Status
Bar for keymap indication. No other functional changes.

Pull Request: https://projects.blender.org/blender/blender/pulls/125868
2024-08-04 19:19:54 +02:00
Harley Acheson
989fcc2c4f UI: Mouse Event Icon Alignment
We have a number of event icons, used on the Status Bar, to indicate
mouse actions. It is currently difficult to align these nicely because
they vary in width and design. This PR makes them all the same design
width and aligned to the left edge. This removes a need to add negative
spacing before any of them and only requires space after some of them.
This also adds a new one to indicate "double left click" as my current
use of this looks a bit sus. This also adds a "mouse wheel scroll"

Pull Request: https://projects.blender.org/blender/blender/pulls/125731
2024-07-31 20:57:19 +02:00
Harley Acheson
ae71f33c75 UI: Cleanup UI Icons
Some icons have some extra paths, some have groups in an order that
overlaps badly, some using shapes instead of paths, some curves with
shapes that fill incorrectly.  Just some basic cleanup.

Pull Request: https://projects.blender.org/blender/blender/pulls/125622
2024-07-29 21:03:35 +02:00
Jacques Lucke
ae129da4f7 UI: new Geometry Set icon
This icon can be used when refering to a "geometry set" which can contain
potentially multiple geometries of different types (such as mesh, volume, etc.).

It was designed by Simon Thommes as part of #125293.
2024-07-29 20:37:21 +02:00
Harley Acheson
bfc7e2aea2 UI: Update Internet Offline Icon to Remove Unused Masks
The Internet Offline Icon SVG file includes masks that are not needed
because the curves are boolean clipped to the same locations. This just
removes the masks because this keeps it from being shown correctly in
some web browsers on https://ui.blender.org/icons.

Pull Request: https://projects.blender.org/blender/blender/pulls/125612
2024-07-29 17:52:15 +02:00
Harley Acheson
13795b5df1 UI: Custom VSE Handle Cursors for Mac
Mac Platform-specific PDF cursors for VSE handle types.

Pull Request: https://projects.blender.org/blender/blender/pulls/125471
2024-07-26 17:31:25 +02:00
Harley Acheson
459572b15f UI: Custom Windows Cursors for VSE Handles
VSE has three mouse cursors defined, WM_CURSOR_LEFT_HANDLE,
WM_CURSOR_RIGHT_HANDLE, and WM_CURSOR_BOTH_HANDLES that are currently
always using our default cursor format. This format works on all
platforms but does not support multiple sizes or antialiasing. This
PR makes these use custom cursors (created by Pablo Vazquez) on the
Windows platform.

Pull Request: https://projects.blender.org/blender/blender/pulls/125252
2024-07-25 18:21:16 +02:00
Jakub Marcowski
544682f617 Extern: Update json library to version 3.11.3
- Updated the `json` lib to version `3.11.3` (https://github.com/nlohmann/json/releases/tag/v3.11.3)
- Updated `json`'s entry in the `release/license/THIRD-PARTY-LICENSES.txt` file

Ref. #118455

Pull Request: https://projects.blender.org/blender/blender/pulls/118899
2024-07-23 18:12:43 +02:00
Julian Eisel
ec48c79112 Assets: Update asset repository hash for removed tool icons
See e6a4245099 and blender/blender-assets@814eed6390.
2024-07-15 19:11:52 +02:00
Julian Eisel
e6a4245099 UI: Remove unused brush tool icons
Since 7b0ea0f1b4, brushes are used as assets and most brush based tools
removed. This commit removes the icons of these tools.

The `toolbar.blend` these icons are generated from was updated in
blender/blender-assets@814eed6390.

Initially reviewed in (but the exact changes in this commit differ):
https://projects.blender.org/blender/blender/pulls/123842

Pull Request: https://projects.blender.org/blender/blender/pulls/124736
2024-07-15 19:06:10 +02:00
Thomas Dinges
8aedcd5143 Merge branch 'blender-v4.2-release' 2024-07-15 16:41:40 +02:00
Thomas Dinges
1c3d51a2f1 Release: Update freedesktop xml for 4.2. 2024-07-15 16:40:01 +02:00
Julian Eisel
088b885087 UI: Remove unused brush preview icons, now replaced by asset previews
Since 7b0ea0f1b4, brushes use the asset system and previews are stored
in the asset source blend files. The bundled ones are part of the
essentials asset library, see
`release/datafiles/assets/publis/brushes/essentials_brushes.blend`.

Note that this doesn't remove the toolbar icons for these brushes yet.

Initially reviewed in (but this commit contains further changes missing
in the PR):
https://projects.blender.org/blender/blender/pulls/123842
2024-07-15 12:09:21 +02:00
Campbell Barton
9d2401ddcf Merge branch 'blender-v4.2-release' 2024-07-14 20:23:40 +10:00
YimingWu
0f1f0d92bc Fix #124454: Allow BF_DIST_BIN to be a symlink
In `blender-launcher` on linux, the `$0` could be assigned to
a symlink instead of an actual directory, which may cause infinite
chaining of the command which ultimately gives an arguent string that's
way too long. This fix prevents that by using `readlink -f` first.

This fix was implemented by @Joel-Schumacher

Ref: !124533
2024-07-14 20:20:19 +10:00
Harley Acheson
cfe77fbafd UI: Use Official Blender Logo As Blender Icon
Our icon sources currently include two versions of the Blender logo,
the official one and one that is modified to align better to our
smallest pixel grid. But with our recent change to SVG icons, and
alignment tweaks to the official version this can be used in all
cases. This PR does so, removes BLENDER_LARGE, and also slightly
tweaks FILE_BACKUP and FILE_BLEND to use the official form.

Pull Request: https://projects.blender.org/blender/blender/pulls/124179
2024-07-11 01:15:07 +02:00