Age | Commit message (Collapse) | Author |
|
|
|
|
|
The drag and drop feature of objects in 3D View has been modified to include:
- Snap the object being dragged.
- Visual feedback through a box and the placement tool grid.
Maniphest Tasks: T90198
Differential Revision: https://developer.blender.org/D12912
|
|
|
|
No functional changes.
This commit adds 3 callbacks for `wmDropBox` which allow custom drawing
without affecting the internal dropbox API.
Differential Revision: https://developer.blender.org/D12948
|
|
Thanks to Dr. Sybren for pointing it out!
|
|
The asset browser search bar was filtering on the filename containing the
asset, and not the asset name. This is now fixed.
|
|
Perform a few cleanups:
- Add documentation to explain what returned bools mean.
- Early returns so that flow is clearer and some checks on `is_filtered`
are no longer necessary.
- Split up `is_filtered_file` and `is_filtered_id_file`, so that they can
reuse common code, and such that the different filter checks they
perform can be separated from each other.
The latter is done not only to reduce code duplication, but also as
preparation to fix the asset browser filtering. For that, it helps when
the "filter by file name" and "filter by file type" parts are separate.
No functional changes.
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D12991
|
|
The NLA editor is in need of a design overhaul, hopefully for 3.1 or 3.2.
This should be a project on itself, however, the worst offender currently is the use of
gradients on strips. Something that can be fixed easily.
{F11390293, size=full, loop, autoplay}
A simple replace of `UI_draw_roundbox_shade_x` for `UI_draw_roundbox_4fv` brings strips
in line with how other areas are drawn.
This patch also:
* Remove embossed lines around active action channel.
* Highlight the strip while being moved.
This patch does not include any theme changes. This will be tackled separately.
Reviewed By: HooglyBoogly
Differential Revision: https://developer.blender.org/D12968
|
|
Should have been addressed along with {rB6cff1d648030}
|
|
This adds an option to fill the ends of the generated mesh for
each spline combination with an N-gon. The resulting mesh is
manifold, so it can be used for operations like Boolean.
Differential Revision: https://developer.blender.org/D12982
|
|
While c7d94a7827a5be9343eea22a9638bb059f185206 exposed this bug,
this was caused by text widths being calculated without taking the zoom
level into account since drawing at a smaller size is often wider than
the width of the larger text scaled by the zoom.
|
|
Issue is that the Instance on Points node currently expects that all
instance references are used (see `remove_unused_references`).
This should be fixed at some point, but for now make sure that
the String to Curves node does not output unused references.
|
|
|
|
Add calls to `BKE_callback_global_init()` and `BKE_callback_global_finalize()`
to ensure unit tests mimick Blender (and don't trip the assertions added
in rBbeea601e7253).
No functional changes to Blender.
|
|
This is information you'd typically want to be visible in the UI. It's optional
of course, so if not relevant, it can just remain unset.
|
|
Object types like empties, cameras or lamps will just end up as empty preview
images. We can think about ways to visualize them still, but meanwhile, don't
create such an empty preview.
Differential Revision: https://developer.blender.org/D10334
Reviewed by: Bastien Montagne, Sybren Stüvel
|
|
|
|
While c7d94a7827a5be9343eea22a9638bb059f185206 exposed this bug,
this was caused by a discrepancy in padding where labels would
have additional padding when drawing without emboss.
The padding made widget drawing behave as if the text took up more
room causing it to be clipped.
Now labels are considered the same width with/without emboss.
|
|
|
|
This adds a new image texture node for geometry nodes. It does not
reuse the same node that is used in shading, because we want to be
able to expose the image and frame as sockets.
There is a known update issue when a movie or image sequence is
used. That will be fixed separately (also see D12957).
Currently, the image socket is just a pointer to an Image ID data block.
This can contain single images but also movies and image sequences.
In the future, the definition of an image socket can be expanded to
include images that are generated from scratch in the node tree.
For more details read the discussion in D12827.
Some of the code is a direct port from cycles and should be cleaned
up a bit in the future. For example `image_cubic_texture_lookup`.
For still images, the frame input is ignored. Otherwise, the frame
has to be in a valid range for the node to work. In the future we
may add e.g. automatic looping functionality.
Differential Revision: https://developer.blender.org/D12827
|
|
Seems like typos in rB32dc085289ac
outline_batch_delete_hierarchy --> outliner_batch_delete_hierarchy
Differential Revision: https://developer.blender.org/D12989
|
|
Oversight in {rBb0741e1dcbc5}.
This was guarded by an assert in `get_target_element`, but it can be
valid to have these assigned to a shortcut (and then perform the action
without an active outliner element).
Now remove the assert and let the operator polls check if we really have
a target element.
note: this basically makes `get_target_element` obsolete, could call
`outliner_find_element_with_flag` instead in all cases.
Maniphest Tasks: T91411
Differential Revision: https://developer.blender.org/D12495
|
|
The mesh and instances case wasn't handled before.
|
|
Asset Catalog Paths should only contain forward slashes as separators, but
now the UI is more resilient to people using blackslashes instead.
Manifest Task: T90553
|
|
Put related lines in a block of their own, such that each block doesn't
have access to the variables of the previous blocks.
This makes it easier to correctly copy-paste some tests, as the compiler
forces you to update the code afterwards.
|
|
Add static boolean to track whether the callbacks system has been
initialised. This makes it possible to make the `BKE_callback_remove()`
function more noisy in case of programming errors, and avoids accessing
`funcstore->alloc` when `funcstore` was potentially already freed.
Thanks @campbellbarton for pointing this out.
|
|
Fixes T91294.
|
|
This replaces the boolean Offset input in the Set Position node with
a vector input. This makes the node easier to use. Using a "Position"
input as an "Offset" sounds wrong anyway.
The Position and Offset inputs are evaluated at the same time.
The versioning only works correctly when the Offset input was not connected
to something else before.
Differential Revision: https://developer.blender.org/D12983
|
|
Caused by rBcf72b10075758be971f9806b97db01f98383aba2.
The fix is to only enable the flags when a new node editor is actually created.
|
|
Shapekeys, always shapekeys... Since we cannot deal with them as regular
IDs, we need to handle potential recursion cases ourselves here. sigh.
|
|
Introduces a dropping-controller API for the tree-view items,
`AbstractTreeViewItemDropController`. This reduces responsibilities of the main
tree-view item classes, which are already getting quite big. As I expect even
more functionality to be needed for it (e.g. drag support), it's better to
start introducing such controller types already.
|
|
Fixes a crash when blend thumbnails set to Camera View when there is
no camera, which resulted in use of a null region.
See D12748 for more details.
Differential Revision: https://developer.blender.org/D12748
Reviewed by Campbell Barton
|
|
This commit fixes T90633, it changes the behavior of the `Frame All`
operation when the user is tabbed into a metastrip: instead of using
the scene timeline's range, `Frame All` uses the current metastrip's
range.
Reviewed By: ISS
Differential Revision: https://developer.blender.org/D12974
|
|
When using downscaled preview size with proxies, transform effect
doesn't compensate for fact, that pixels are effectively larger. There
was compensation for scene render size already.
Use same compensation method as text effect uses for font size.
|
|
This was caused by strips with single frame input like single image
strip or color strip. their length is always 1, and so content length
was calculated to end after first frame.
There was code handling this case, but it was also checking for
`anim_endofs` and `endstill` values. Anim offset values have no effect
on these strips and still frame value was used incorrectly. So these
chacks can be removed completely.
|
|
This was caused by snap to hold offset feature, which calculates strip
content boundary, but it can be outside of strip boundary.
Clamp content start and end values so they are always inside of strip.
|
|
This commit makes sure that each attribute name is only added once
when logging geometry values for attribute search.
The `attribute_foreach` function for a single geometry component
deduplicated names, but a much more common situation is to have
more than one component in the instances of a geometry set.
Differential Revision: https://developer.blender.org/D12959
|
|
The leak happened when two things were true:
* Inside of a node group a socket is linked to a Group Input that has
a different type.
* The corresponding input on the parent Group node is not linked.
The conversion happened correctly, but the original value wasn't
destructed.
|
|
|
|
Previously, the computed value passed into the data socket could depend
on the actual field a bit. However, given that the link is marked as invalid
in the ui, the user should not depend on this behavior.
Using a default value is consistent with other cases when there are
invalid links.
|
|
This value is defined in the UI module, but happens to be used
in string_search.cc too. Note that these references need to be kept in
sync. Use escaped utf-8 sequence since the literal can be avoided.
Also replace BLI_str_utf8_as_unicode calls with constant assignments
as these values are known there is no need to decode a utf-8 sequence.
|
|
|
|
This patch renames the node "String Substring" to "Slice String"
to conform to the "verb first" naming convention.
Default length is also changed to 10 to make it easier for users
to understand what the node does.
Reviewed By: HooglyBoogly
Differential Revision: https://developer.blender.org/D12931
|
|
It doesn't have definition either.
|
|
|
|
Caused by an accidental renaming in {rB1c42d4930a24d639b3aa561b9a8b4bbc}
|
|
|
|
* Open File Browser when pressing "Add Asset Library". This just makes sense,
since users have to select a directory for the asset library anyway.
* Move '+' icon back to the right side of the box. Then it is right under the
'x' icons for each indivdual library, which seems like the more natural
place.
* Correct tooltip for the "Add Asset Library" operator.
* Mark empty asset library name or paths field in red, to make clear that these
need to be set.
|
|
Caused by my own incorrect cleanup when committing the patch.
|