For text objects, current code will use another font if you ask for
a character that is not found in the selected font. But what if the
selected font is invalid? This can happen with a saved Blend that uses
a non-packed font that is since deleted. Current behavior will show
nothing. This PR restores earlier behavior where we use the built-in
font in this case.
Pull Request: https://projects.blender.org/blender/blender/pulls/122851
Use the correct property names in the up and forward axis update
callbacks. Otherwise they don't work as intended and the following will
be traced to the console:
```
RNA_enum_get: WM_OT_usd_export.forward_axis not found.
RNA_enum_get: WM_OT_usd_export.up_axis not found.
```
Pull Request: https://projects.blender.org/blender/blender/pulls/124112
Added a new custom_properties_namespace USD export option, to
allow replacing or omitting the current default "userProperties"
namespace prefix.
Note that this option does not apply to names that already have a prefix
(e.g., it would apply to name "bar" but not "foo:bar"). It also does not apply
to the internal Blender "object_name" and "data_name" properties which
always have the prefix "userProperties:blender".
Also added logic to handle ":" namespace delimiters in property names.
Pull Request: https://projects.blender.org/blender/blender/pulls/124067
Part of #118145.
Store intermediate data (factors and distances) in thread local storage
for the paint and smear color brushes. The rest of the brushes aren't
refactored to the new "standard", but most of the code we want to
remove in the short term isn't used anymore.
Part of #118145.
Performance after this change results in an 156% speedup. This is
measured on the function `stroke_update_step` on a mesh with 24k verts
across 20k instances of the function being timed. In absolute values,
this represents a 0.09ms speedup, from 0.16ms to 0.25ms.
For BMesh, the brush now takes mask values into consideration by
averaging all of the vert mask values for a face.
Co-authored-by: Hans Goudey <hans@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/123811
For times when we show the blender logo inside a larger document image,
use the version meant for larger sizes. The complexity is almost
identical, but we use it larger here so use the nicer one.
Pull Request: https://projects.blender.org/blender/blender/pulls/124117
Handle missing font in the hover tooltip preview in the Data-block ID
selector. Add error handing both in IMB_font_preview itself and in the
current caller (to show message).
Pull Request: https://projects.blender.org/blender/blender/pulls/124111
Only when the user changes the UI font to one that does not have a
variable weight axis, update the text style weights to match the font's
design weight. So if changing to an old-school font that has a fixed
weight, for example bold, also update UI Text Style weights to match
so everything looks as designed and expected.
Pull Request: https://projects.blender.org/blender/blender/pulls/124074
For non-trivial custom data types, the undo system did a shallow copy of the
base array which implicitly transferred ownership of the data to the undo
system. Combined with implicit sharing, this was hacky at best, and quite
wrong at worst, since it freed the implicit sharing info incorrectly.
To fix this, free the mesh custom data with the standard function for that
and add the non-trivial layers to the undo state using implicit sharing to
avoid another copy.
Alternative to #123894 and #123884.
Pull Request: https://projects.blender.org/blender/blender/pulls/123991
Remove the filtering of factors from the brush distance calculation
function to simplify its responsibilities and to allow passing a custom
radius from the outside. Factor filtering is now done in a separate
function. Also rename the distance calculation functions.
This was caused by the effective radius of some
components were below the first sample radius.
This meant that the accumulation resulted in zero
weight for these components.
This patch introduce a minimum radius that can
be represented depending on the sample closest
to the center pixel. This makes sure that we
have at least one sample that will have
non-zero weight.
Fix#124031
Code was using seq->start + seq->len to figure out where the "right
side of content" is, seemingly since forever (i.e. since 997b5fe4
added strip thumbnails). But that is incorrect starting with 3.3,
where seq->len is "number of frames / samples in source media",
but that does not necessarily match number of frames in the timeline.
For movies this happens when media framerate does not match
sequencer framerate.
Use SEQ_time_content_end_frame_get instead to calculate where the
content ends.
Pull Request: https://projects.blender.org/blender/blender/pulls/124081
Cancelling operator with RMB is hardcoded but some wants RMB to invoke
the operation as well. In such case, don't use RMB to cancel operator
and reset the radius, i.e. when both `rc->init_event` and `event->type` is RMB
Pull Request: https://projects.blender.org/blender/blender/pulls/123053