Age | Commit message (Collapse) | Author |
|
In the future `NodeTreeRef` could have a lazy initialized map,
but for now this is good enough.
|
|
This is mainly for doversion code, when it needs to create new IDs those
should be considered as part of the same library as the current Main's
one.
No practical changes are expected here, this is more of a general
consistency fix, and a pre-requisite for {T92333}.
|
|
Add a check for zero length edges to the manifold check as quadriflow
doesn't handle meshes with these.
|
|
Caused by {rB43167a2c251b}
Code from above commit called RNA updates with a NULL scene.
This was already commented (and mostly handled) in rB5949d598bc33, but
the reported case was missing in that commit.
This fixes the crash in a similar manner as rB5949d598bc33.
Maniphest Tasks: T92272
Differential Revision: https://developer.blender.org/D12953
|
|
Since the introduction in rBfc5bf09fd88c, `BKE_pose_minmax` was not
taking these custom transforms into account (making "View Selected"
ignoring these as well and focusing on the bone instead).
Now consider these transforms in `BKE_pose_minmax`.
Maniphest Tasks: T92169
Differential Revision: https://developer.blender.org/D12942
|
|
This package allows Python scripts to handle compressed blend files (see
rB2ea66af742bc). This is for example needed by Blender Asset Tracer to
send files to a Flamenco render farm.
This change includes a new `WITH_PYTHON_INSTALL_ZSTANDARD` build-time
option, to control whether to actually install the package. For this the
already-existing approach for Requests was copied.
Reviewed By: LazyDodo, mont29, brecht
Differential Revision: https://developer.blender.org/D12777
|
|
When appending an asset from the asset browser, its asset data needs to
be cleared.
However, linking an asset (or regular append from the file browser)
should not clear such data. In linking case, it would be there again
after a blend file reload anyway.
So this commit introduces a new `BLO_LIBLINK_APPEND_ASSET_DATA_CLEAR`
option.
NOTE: in case the appended ID needs to be copied from its linked data
(instead of making the later directly local), asset data is lost anyway
since it is never copied with the ID currently.
Ref. {T91749} and D11768.
|
|
This was caused by rB40c3b8836b7a36303ea9c78b0932758cbf277f93.
The same fix exists in the Distribute Points on Faces node.
|
|
|
|
|
|
|
|
|
|
|
|
This change simplifies the parameter list for these functions
and reduces the chance of typos mixing up array indices.
Missed in rB69102786047dccdcbaee0df6307a8c3364d28fe0.
|
|
Appended objects could be hidden, making any further operations
potentially skip the newly added objects.
Now FILE_AUTOSELECT asserts when newly added options aren't selectable.
|
|
De-duplicates wm_append_loose_data_instantiate_object_base_instance_init
and object_base_instance_init.
Add BLO_object_instantiate_object_base_instance_init which also adds to
a collection since all callers did this.
|
|
|
|
Since 2D cursor will be used rarely in VSE and it is adding visual
noise, it will be hidden by default.
Reviewed By: campbellbarton
Differential Revision: https://developer.blender.org/D12933
|
|
|
|
This change simplifies the parameter list for these functions
and reduces the chance of typos mixing up array indices.
Missed in rB69102786047dccdcbaee0df6307a8c3364d28fe0
|
|
Improve readability using underscores for separators, e.g.
prev_click_time instead of prevclicktime.
|
|
This change simplifies the parameter list for these functions
and reduces the chance of typos mixing up array indices.
Reviewed By: campbellbarton
Ref D12950
|
|
Properties with `_funcs_runtime` are always saved when exporting keymaps.
This is an error since changing one changes all others.
For now, work around the problem by setting the `PROP_IDPROPERTY` flag.
|
|
|
|
No virtual array should be returned instead of returning an empty span.
|
|
After the addition of the `id` attribute in rB40c3b8836b7a, the `exists`
function assumed that all attributes were stored in the custom data.
|
|
The corrected hit mask should only be generated when there is
data to transfer. Also correct two of the warning messages.
|
|
The conversion from double to float was causing a build failure.
Differential Revision: https://developer.blender.org/D12946
|
|
The attribute provider needs to handle the case where the data is stored
with just a data type, and the case where it is stored with a name.
|
|
Although the documentation says so, the null-terminator was missing.
This could cause crashes when logging shader linking errors as shader
sources are empty in this case.
|
|
Certain geometry nodes don't work properly on inputs that contain
instances, but don't display any warning that they aren't working.
The nodes now will display a warning that explains the situtation
iff the input contains any instances.
Differential Revision: https://developer.blender.org/D12858
|
|
In order to address feedback that the "Stable ID" was not easy enough
to use, remove the "Stable ID" output from the distribution node and
the input from the instance on points node. Instead, the nodes write
or read a builtin named attribute called `id`. In the future we may
add more attributes like `edge_id` and `face_id`.
The downside is that more behavior is invisible, which is les
expected now that most attributes are passed around with node links.
This behavior will have to be explained in the manual.
The random value node's "ID" input that had an implicit index input
is converted to a special implicit input that uses the `id` attribute
if possible, but otherwise defaults to the index. There is no way to
tell in the UI which it uses, except by knowing that rule and checking
in the spreadsheet for the id attribute.
Because it isn't always possible to create stable randomness, this
attribute does not always exist, and it will be possible to remove it
when we have the attribute remove node back, to improve performance.
Differential Revision: https://developer.blender.org/D12903
|
|
|
|
Port checker shader to GN
Reviewed By: JacquesLucke
Differential Revision: https://developer.blender.org/D12762
|
|
This commit adds an updated version of the curve to points that
supports fields. Only the position and radius are transferred
by default now, which should improve performance. The other outputs
like tangent and rotation are outputted with anonymous attributes.
I took the opportunity to change a few other small things:
- Name geometry sockets "Curve" and "Points" like other nodes.
- Remove the radius multiple of 0.1, which was confusing.
Thanks to @Johnny Matthews (guitargeek) for an initial patch.
Differential Revision: https://developer.blender.org/D12887
|
|
linked data is already set to use 'Disk Cache'
Yet another try at that hairy issue... See comment in commit for
details, essentially this extend the workaround introduced in Objects'
`lib_override_apply_post` callback to try to also properly 're-use'
`OUTDATED` and `BAKED` flags from old source liboverride into new
destination one.
|
|
Add a higher level check that can be used instead of checking whether
the attribute ID is anonymous and checking whether it has any strong
references.
|
|
|
|
directly.
Collections directly selected by the user should always be
instantiated.
Regression from recent append code refactor.
|
|
Warning C4100 unreferenced formal parameter
Warning C4242 conversion from 'int' to 'short', possible loss of data
|
|
Use arrays for wmEvent coordinates, this quiets warnings with GCC11.
- `x, y` -> `xy`.
- `prevx, prevy` -> `prev_xy`.
- `prevclickx, prevclicky` -> `prev_click_xy`.
There is still some cleanup such as using `copy_v2_v2_int()`,
this can be done separately.
Reviewed By: campbellbarton, Severin
Ref D12901
|
|
|
|
Do not try to preserve edit modes of objects in non-active scenes (at
least for now), except for Pose mode.
Code was also slitghly refactored (reducing indent levels), and
comments about expected behaviors and known limitations were added.
|
|
|
|
Paint Cursors are already released at this stage.
|
|
If the current file is saved within an asset library, showing that asset
library in the Asset Browser will also display the assets from this current
file now. In fact, it's the latest state of the open file, including all
unsaved modifications.
These assets will show a little Blender icon in the preview image, which is our
usual icon for current file data.
Note that this means an important design change: The "Current File" asset
library isn't the only place to edit assets from anymore. From now on assets
from the current file can also be edited in the context of the full asset
library. See T90193 for more info.
Technical info:
Besides just including the assets from the current `Main`, this requires
partial clearing and reading of file-lists, so that asset operations (e.g.
removing an asset data-block) doesn't require a full reload of the asset
library.
Maniphest Task: https://developer.blender.org/T90193
|
|
Make the snap system consistent with the placement tool and leak-safe.
**Changes:**
- Store `SnapCursorDataIntern` in a `static` variable;
- Initialize (lazily) `SnapCursorDataIntern` only once (for the keymap).
- Move setup members of `V3DSnapCursorData` to a new struct `V3DSnapCursorState`
- Merge `ED_view3d_cursor_snap_activate_point` and `ED_view3d_cursor_snap_activate_plane` into `state = ED_view3d_cursor_snap_active()`
- Merge `ED_view3d_cursor_snap_deactivate_point` and `ED_view3d_cursor_snap_deactivate_plane` into `ED_view3d_cursor_snap_deactive(state)`
- Be sure to free the snap context when closing via `ED_view3d_cursor_snap_exit`
- Use RNA properties callbacks to update the properties of the `"Add Primitive Object"` operator
|
|
|
|
Previously, when an item was active and its parent (or grand parent, etc.) was
collapsed, the active item would simply not be visible anymore. It seemed like
there was no active item. So instead, change the just collapsed parent to be
the active item then, so the active item stays visible.
|
|
When the input vector gets close to -Y, y and theta becomes totally
unreliable. It is thus necessary to compute the result in a different
way based on x and z. The code already had a special case, but:
- The threshold for using the special case was way too low.
- The special case was not precise enough to extend the threshold.
- The special case math had a sign error, resulting in a jump.
This adds tests for the computation precision and fixes the issues
by adjusting the threshold, and replacing the special case with one
based on a quadratic Taylor expansion of sqrt instead of linear.
Replacing the special case fixes the bug and results in a compatibility
break, requiring versioning for the roll of affected bones.
Differential Revision: https://developer.blender.org/D9551
|