Editing curvemap generates an undo step but with text "unkown action".
This is due to empty name and description on the button. Explictly add
name during button definition, This way `ui_apply_but_undo/ui_apply_but_funcs_after`
uses correct string for undo step.
Pull Request: https://projects.blender.org/blender/blender/pulls/145717
There are multiple reasons this was not working the same for `Curve` and
`Curves`:
`Curve` is actually setting the `TransData.val` for handles (as opposed
to control points) to `nullptr` (`Curves` doesnt).
This is used in multiple places (and makes sense, since this value is
used for tweaking radius, tilt and GP opacities -- stuff that should not
be able to be tweaked from just handle selection, which was actually
possible...)
Included in the places where this `nullptr` is checked for is the logic
in `initCurveShrinkFatten` which relied on this to spot a selection
including a **control point**.
So this PR fixes these two things (setting nullptr to TransData value
for Curves handles and tweaking the logic in `initCurveShrinkFatten` a
bit so it can handle the different layout/order of `TransData` for
`Curves` vs. `Curve`)
Pull Request: https://projects.blender.org/blender/blender/pulls/145327
Regression [0] from fix for #144035 caused the meaning of sync-select
to be flipped in drawing code, causing UV sync select to display
incorrectly in edit-mode.
Resolve by reversing the value returned by `skip_bm_face` as well as
checks in the drawing code.
Co-authored-by: Eitan Traurig <eitant13@gmail.com>
[0]: e02eb13a59
- "grease pencil" -> "Grease Pencil": title case.
- "Display type" -> "Display Type": title case for property name.
- "Bezier" -> "Bézier": proper noun.
- "Mem:%dM, Peak %dM" -> "Mem:%dM, Peak: %dM": missing colon.
- "cannot save image while rendering" -> "Cannot": Sentence case.
- "Linked data cannot text-space transform" -> "Cannot create
transform on linked data": rephrase strange sentence.
- "Unsupported object type for text-space transform" -> "... for
texture space transform": unnecessary abbreviation.
- "Cannot write to asset %s: %s": remove double space.
- "Failed to set tmpact" -> "temporary action": unclear abbreviation.
- "luminance at which the midetones of the image" -> "midtones: typo.
- "Line angle where the image should be split." -> trailing full stop.
- "... instances all the children in the collection" -> "... instances
of all the children...": missing "of".
- "Curves to generated rounded corners on" -> "generate": typo.
- "Instances that converted to a point per instance" -> "Instances to
convert to points": rephrase unclear sentence.
- "Great Pencil to set the depth order of" -> "Grease Pencil": typo.
- "Description to set the smoothness of" -> "Geometry to set the
smoothness of": typo.
- "A cannot use current file as library" -> "cannot use...": typo.
Pull Request: https://projects.blender.org/blender/blender/pulls/145840
This makes child_items_layout_, scale_, align, active_,
active_default_, activate_init_, enabled_, redalert_,
variable_size_, alignment_, emboss_, units_ & search_weight_
private members as follow up from recent UI refactors.
Pull Request: https://projects.blender.org/blender/blender/pulls/145844
When reporting a crash with unknown exception we just display
UNKNOWN EXCEPTION which is not as helpful as it could be. this
commit adds the actual exception code for all reports.
Also adds a msvc specific exception to the known list for easy
identification.
the exception record from #145762 goes from
ExceptionCode : UNKNOWN EXCEPTION
to
ExceptionCode : Microsoft C++ Exception (0xe06d7363)
Numerical inputs have little arrows on the left and right to allow
quick increment/decrement of the value. But these are only shown on
hover, which does not help if using a device that does not have a hover
state (some pens, most touch). This PR adds a user preference to show
them always.
Pull Request: https://projects.blender.org/blender/blender/pulls/145374
This PR changes the animation playhead to make it more recognizable,
have a shape that can be better represented in icons, and to more
easily distinguish it from other indicators like markers.
Pull Request: https://projects.blender.org/blender/blender/pulls/145081
Add "Reduce Motion" option to a new `Accessibility` panel under
Preferences, User Interface.
"Reduce Motion" avoids non-essential animation effects, especially
useful for those experiencing motion sickness/vertigo.
It affects:
* Region open/close.
* Pie menus animation.
* Smooth views.
This panel in the future could host common accessibility settings such
as "Increase Contrast" or font size and weight controls that currently
are part of themes.
See PR for details and screenshots.
Co-authored-by: Harley Acheson <harley.acheson@gmail.com>
Pull Request: https://projects.blender.org/blender/blender/pulls/140873
Certain packed images, like those loaded directly into memory with
`BKE_image_packfiles_from_mem`, would cause USD to process the images as
"in memory" rather than as "packed" because the API was not removing the
IMG_GEN_TILE flag.
Additionally, be sure to use the packed filepath whenever possible
rather than the name given to the Image datablock as this ensures the
correct file names are used inside the USD file and for the resulting
file on disk after export.
This also fixes 2 render tests which now match when compared to the
native renders.
Pull Request: https://projects.blender.org/blender/blender/pulls/145749
* Store scene linear to XYZ conversion matrix in each blend file, along
with the colorspace name. The matrix is the source of truth. The name
is currently only used for error logging about unknown color spaces.
* Add Working Space option in color management panel, to change the
working space for the entire blend file. Changing this will pop up
a dialog, with a default enabled option to convert all colors in
the blend file to the new working space. Note this is necessarily only
an approximation.
* Link and append automatically converts to the color space of the main
open blend file.
* There is builtin support for Rec.709, Rec.2020 and ACEScg working spaces,
in addition to the working space of custom OpenColorIO configs.
* Undo of working space for linked datablocks isn't quite correct when going
to a smaller gamut working space. This can be fixed by reloading the file
so the linked datablocks are reloaded.
Compatibility with blend files saved with a custom OpenColorIO config
is tricky, as we can not detect this.
* We assume that if the blend file has no information about the scene
linear color space, it is the default one from the active OCIO config.
And the same for any blend files linked or appended. This is effectively
the same behavior as before.
* Now that there is a warning when color spaces are missing, it is more
likely that a user will notice something is wrong and only save the
blend file with the correct config active.
* As no automatic working space conversion happens on file load, there is
an opportunity to correct things by changing the working space with
"Convert Colors" disabled. This can also be scripted for all blend files
in a project.
Ref #144911
Pull Request: https://projects.blender.org/blender/blender/pulls/145476
Left for future work:
* Freestyle modifiers, dynamic paint, legacy texture mapping
* Editor colors: should be changed to sRGB?
* Studio light preferences: also sRGB, though less clear
Pull Request: https://projects.blender.org/blender/blender/pulls/145476
There is a bad const cast here, but seems to work ok in practice. Creating a
whole new config would be tricky, though something we should support in the
future for other reasons.
Pull Request: https://projects.blender.org/blender/blender/pulls/145476
- "Is this strip type an effect?" has been done by reserving 3rd bit
of the effect enum values to indicate that. That is a very strange
decision, so make that be done by strip_is_effect() function. The
enum values have to stay the same for backwards compat however.
- Both "strip type" and "strip blend mode" were sourced from the
same STRIP_TYPE_ enum, with only parts of the values meant for "type",
and other parts of values meant for "blend mode". That again is highly
confusing; split that off into two enums. Yes there's a handful of
values in them that overlap, but not the majority.
Pull Request: https://projects.blender.org/blender/blender/pulls/145746
Both were largely or completely single threaded.
They are used in various places, but testing their usage in VSE
compositor modifier branch (!139634), applying a default "do nothing"
compositor modifier on a 1080p image (on Ryzen 5950X):
51.4ms -> 12.2ms
Details about IMB_byte_from_float:
- No longer allocate a full new float buffer, instead do all work in
a local small (32KB size, half of typical L1 cache) job-local buffer.
- Previous code was doing un-premultiply + OCIO + premultiply
+ un-premultiply again. That is pointless; just do
un-premultiply once.
Details about IMB_float_from_byte / IMB_float_from_byte_ex:
- Remove incorrect code around"allocate float buffer outside of image
buffer" since it was not actually true to begin with.
- Inside threaded part, do color space conversion and premultiply at
once per-scanline, so that data stays in CPU caches more.
Pull Request: https://projects.blender.org/blender/blender/pulls/145716
The tooltips for fonts in the file browser, while in list view, now
shows either no preview or a blank white square (depending if you
viewed them with thumbnails in the current session). This PR corrects
that to always show a preview. It also shows this preview while in
thumbnail view.
Pull Request: https://projects.blender.org/blender/blender/pulls/145685
This feature works like the select lasso in other editors. In preview
the user can draw a region they want to select and when a strips origin
is in this lasso region the strip gets selected.
In timeline the user can do the same and the strip gets selected when
the strip is in the lasso or some part of the lasso is in the strip.
The tool can be accessed through in the toolbar or via shortcut.
Pull Request: https://projects.blender.org/blender/blender/pulls/143391
In a simple test with two strokes affecting the majority of a
25 million vertex mesh (multires level 3), I observed a memory
usage decrease from 1.87 GB to 1.51 GB (24% less).
Also includes one simplification to Mesh position restore/swap:
the indices don't change during undo/redo at all, so we don't
need to re-compress the array and store it.
Pull Request: https://projects.blender.org/blender/blender/pulls/145747
This PR makes it possible to paste strips directly at the mouse in the
VSE Preview, making it faster to paste strips directly at the position
the user wants the strip to be. It is still possible to paste the strip at the
original position with the `ctrl + shift + v` shortcut.
Pull Request: https://projects.blender.org/blender/blender/pulls/145008
- Corner Domain Text Overlap: Text is now offset along the angle bisector of
each corner. The offset distance is dynamically adjusted based on the view
zoom and corner angle sharpness.
- Wrap Long Line: Split Vectors, Colors, and Quaternions into labeled line for
each component.
Pull Request: https://projects.blender.org/blender/blender/pulls/145290
Previously, group input values were logged for each group input socket. This
means that each value might be logged many times currently when there are many
Group Input nodes.
This patch changes it so that group input values are only logged for a single
socket. In the provided file from #145385 this speeds up playback performance
from 23 to 39 fps. The next bottleneck there is node editor drawing. If I change
the Geometry Nodes editor to another editor type the speedup is 36 (`main`) to
110 fps (this patch).
Pull Request: https://projects.blender.org/blender/blender/pulls/145781
These don't really work as scene linear with sRGB transfer function for e.g.
ACEScg, there are not enough bits. If you want wide gamut you need to use
float colors.
Pull Request: https://projects.blender.org/blender/blender/pulls/145763
Functions for convert between the color types and ostream support are
now outside the classes.
Many files were changed to fix cases where direct includes for headers
were missing.
Pull Request: https://projects.blender.org/blender/blender/pulls/145756
If any display, view or colorspace is not found, these would be changed to an
existing one and show warnings in the console. Now also warn about this in the
user interface using the same mechanism as loading new blend files in older Blender
versions, with a warning in the status bar and on file save.
Ref #145476
Pull Request: https://projects.blender.org/blender/blender/pulls/145756
An existing node converts a value (float) to string. This node is intended as a conversion in
the other direction. If parsing is unsuccessful, floating point 0 is output. This node also
outputs the length of the parsed string (i.e. the index of the first character where the
number stopped).
Pull Request: https://projects.blender.org/blender/blender/pulls/112174