Revision aabe6e3 by Campbell Barton August 31, 2021, 02:06 (GMT) |
Context: add "active_nla_track" & "active_nla_strip" context members Selection was already accessible but not active. Add utility functions: - ANIM_nla_context_track to access the active track, following the convention of ANIM_nla_context_strip. - ANIM_nla_context_*_ptr versions of these functions, needed to for creating context members to access the ID pointer. Part of fix for T90723. |
Revision 3e4d720 by Campbell Barton August 31, 2021, 02:06 (GMT) |
Fix logical error resolving RNA paths Only append RNA_path_from_ID_to_struct to context attributes if those paths resolve to ID types. Also simplify creating RNA paths by adding utility functions: - WM_context_path_resolve_property_full - WM_context_path_resolve_full Part of fix for T90723. |
Revision 65739de by Germano Cavalcante August 31, 2021, 01:46 (GMT) |
Fix 'WM_window_find_under_cursor' This function was not working if the window is partially out of screen space. |
Revision b08ab49 by Richard Antalik August 31, 2021, 01:12 (GMT) |
Fix T90988: Incorrect speed effect strip math Math implemented in 929d7597b345 was incorrect, but also inconsistent with previous behavior. `SEQ_SPEED_STRETCH` should change length only when right handle is moved. This is now documented in code. |
Revision bd67bf4 by Richard Antalik August 30, 2021, 22:27 (GMT) |
Fix VSE move_to_meta function moving meta strip API function `move_to_meta` should move strips without changing context data like `MetaStack` that tells UI which meta strip should be displayed and operated upon. `SEQ_time_update_sequence` relied on `MetaStack` to update meta strip content length. Instead of changing function `SEQ_time_update_sequence`, use function `SEQ_time_update_meta_strip_range` directly. This is because caller would have to be aware of parent meta strip that needs update anyway. |
Revision 1541fbb by Aaron Carlisle August 30, 2021, 22:26 (GMT) |
PyDoc: Fix compliation warning |
Revision d374ff5 by Aaron Carlisle August 30, 2021, 22:17 (GMT) |
PyDoc: Fix compilation after recent contex_member addition Fixes missing change needed for rB0a8f53a7b847d9c8bdcefc025de70fd2608012b7 |
Revision fbcb9c5 by Campbell Barton August 30, 2021, 21:39 (GMT) |
Cleanup: sequencer operators - Use name 'strip' instead of 's' - Assign a variable to 'scene' instead of accessing from context. - Avoid temporary variable for swapping values. |
Revision c84d1ad by Campbell Barton August 30, 2021, 21:27 (GMT) |
Cleanup: use new active_sequence_strip context attribute |
August 30, 2021, 21:13 (GMT) |
Revision b7cb7b7 by Germano Cavalcante August 30, 2021, 20:12 (GMT) |
Docs: GPU Shader: improvements Changes: - line break - enum highlighting - better description |
Revision af3f744 by Jacques Lucke August 30, 2021, 16:26 (GMT) |
Fix: add virtual destructor to base class |
Revision 171c3bd by Jacques Lucke August 30, 2021, 15:30 (GMT) |
Cleanup: clang-tidy readability-named-parameter |
Revision 1e69a25 by Jacques Lucke August 30, 2021, 15:23 (GMT) |
Nodes: add more flexible method to declare sockets of a node Previously, built-in nodes had to implement "socket templates" (`bNodeSocketTemplate`) to tell Blender which sockets they have. It was nice that this was declarative, but this approach was way too rigid and was cumbersome to use in many cases. This commit starts to move us away from this rigid structure by letting nodes implement a function that declares the sockets the node has. Right now this is used as a direct replacement of the "socket template" approach to keep the refactor smaller. It's just a bit easier to read and write. In the future we want to support more complex features like dynamic numbers of sockets and type inferencing. Those features will be easier to build on this new approach. This new approach can live side by side with `bNodeSocketTemplate` for a while. That makes it easier to update nodes one by one. Note: In `bNodeSocketTemplate` socket identifiers were made unique automatically. In this new approach, one has to specify unique identifiers manually (unless the name is unique already). Differential Revision: https://developer.blender.org/D12335 |
Revision e8684ef by Antonio Vazquez August 30, 2021, 15:04 (GMT) |
Fix T91056: GPencil merge layers doesn't preseve Keyframe type. Now if the frame does not exist in destination layer, the frame type of merge layer is used. For existing frames in destination layer, the existing type is not changed. |
August 30, 2021, 13:17 (GMT) |
Fix T90742: Gpencil ghost point on selection Reviewed By: fclem, filedescriptor Maniphest Tasks: T90742 Differential Revision: https://developer.blender.org/D12259 |
Revision 9ad5662 by Germano Cavalcante August 30, 2021, 12:21 (GMT) |
Docs: retitle 'GPU Shader Module' to 'GPU Module' We already have a module for GPU Shader (`gpu.shader`). So, remove the name "Shader" from the title to avoid confusion. |
August 30, 2021, 04:27 (GMT) |
Geometry Nodes: Curve Fill Node This node takes a curve geometry input and creates a filled mesh at Z=0 using a constrained Delaunay triangulation algorithm. Because of the choice of algorithm, the results should be higher quality than the filling for 2D curve objects. This commit adds an initial fairly simple version of the node, but more features may be added in the future, like transferring attributes when necessary, or an index attribute input to break up the calculations into smaller chunks to improve performance. Differential Revision: https://developer.blender.org/D11846 |
Revision 41eb337 by Hans Goudey August 30, 2021, 03:12 (GMT) |
Cleanup: Add comment about suspicious O(n^3) loop |
August 30, 2021, 03:08 (GMT) |
Geometry Nodes: Enhance the cube mesh primitive as a cuboid This mesh primitive enhances the Cube mesh primitive and allows the creation of a cuboid with a configurable size and number of vertices in all 3 directions. The Cube primitive is now similar to the Grid primitive except that it works in 3 dimensions. Previously it was possible to create a cube and scale it arbitrarily along each axis. You could also subdivide the mesh, but the number of subdivisions was equal along all axes. This meant that making the basic frame for something like modular buildings wasn't trivial. Inspired by tutorials and files for modular building creation. The cuboid is created as a `Mesh` so that large meshes with millions of faces are created quickly. Though edge calculation could be faster if implemented here, edges are calculated using `BKE_mesh_calc_edges` to reduce complexity, and in hopes that they may be calculated lazily for `Mesh` in the future like vertex normals. See the differential revision for more information. Differential Revision: https://developer.blender.org/D11810 |
|