The meeting was on 2025-03-27T17:00:00Z. It is open for everybody interested to join the video call (link below).
People present are referred to by first name for brevity. Others are referred to by full name.
Present: Aras Pranckevičius, Christoph Lendenfeld, David Woolf, Dorothee Dittrich, Nathan Vegdahl, Sybren Stüvel
Links
- Video Call
- A&R Module Meetings calendar for inclusion in your own calendar app
- Previous meeting notes
- Long Term Plans & Current Focus
- Issues & Pull Requests
- #module-animation chat channel
- Draft agenda for any upcoming meetings
Opening
- Please raise your hand when you don’t understand things for any reason. The purpose of these meetings is collaboration. It is absolutely fine to ask for explanations.
- There are no recordings of the meeting. This way everybody is free to say or show anything they want.
Since the Last Meeting / Announcements
- Blender 4.4.1 is likely to be released early April.
Landed
Names are from the Git log. This list is limited to functional improvements & bugfixes.
Blender
- 7ca64d953c9: Fix #136041: NLA Strip Influence keyframes not appearing in tweak mode (Sybren A. Stüvel)
- 640255bbbf3: Anim: add keying set support to Copy Global Transform add-on (Sybren A. Stüvel)
- a7d787f5b94: Fix #136347: Keyframe interpolation behavior changed for BoolProperty (Sybren A. Stüvel)
- 6ffb0e368d3: Fix #136388: Move slots to new action not maintaining animation data (Sybren A. Stüvel)
- 307147c99c0: Anim: versioning after #136347 fixed keyframe interpolation flags (Sybren A. Stüvel)
- 6d3c621958f: Fix #136596: Keying slotless NLA strip does not update the strip’s slot (Sybren A. Stüvel)
- 06a69cfadf4: Anim: Allow Stash and Push Down on empty Action (Sybren A. Stüvel)
- e4d3a52ed62: Anim: Unit Tests for baking code (Christoph Lendenfeld)
Technical Documentation
- 00d882fe: 4.5: Copy Global Transform supports keying sets (Sybren A. Stüvel)
User Manual
Ongoing Work
- High Severity bugs:
#136347: Keyframe interpolation behavior changed for BoolProperty(fixed)#136388: Move slots to new action not maintaining animation data(fixed)#136596: Anim: Tweaking NLA strip without slot and inserting keys does not update the strip’s slot(fixed)- #132423: Crash/Freeze when having multiple drivers on vertices positions
- Andy:
- #135527: Fix #135062: Modeling: Add Auto Normalize when Assigning vertex weights
- Got a new job! But does make scheduling a bit harder for him.
- Christoph:
- Christoph’s weekly report
- Playhead snapping prototype: #135913: WIP: Anim: Playhead snapping prototype Go have a play with it.
- Dorothee: The snapping behaviour seems sensible.
- Nathan:
- Nathan’s weekly report
- Bit of catching up after returning from vacation.
- Animation module work has so far been in the form of discussions and PR reviews.
- Sybren:
- Sybren’s weekly report
- #136454: Fix #136388: Move slots to new action not maintaining animation data
- Had a little discussion about this with Sergey Sharybin. He said that the dependency graph tagging nowadays should happen as close as feasible to the actual data modification. Doing the tagging in the operator code is now seen as “old-fashioned”, as it was deemed too fragile (as the existence of this bug shows).
- #132423: Crash/Freeze when having multiple drivers on vertices positions
- Issue: drivers are evaluated in parallel threads, and their result is written to the RNA properties in those same threads. The RNA interface is not generally thread-safe, so this causes a crash here. How to solve?
- Any solution needs careful profiling to see the impact on performance.
- Nathan: should we solve this? Should every single property be drivable?
- Sybren: 2.5 had “everything animatable” as a mantra, so going by that: yes.
- Nathan: counter-example: when assigning an Action to the scene, you can in theory construct an F-Curve with a path that accesses the location of an object, through properties of the scene.
- Sybren: but that’s not allowed.
- Nathan: exactly! So not everything should be drivable.
- Sybren: I wouldn’t want the thread-safety to be part of the API documentation, and that people have to know whether they can drive properties or not.
- Christoph: we shouldn’t trade performance for many people (drivers in rigs) for such a niche use case.
- Sybren: we could have an allowlist of properties / data-block types that are threadable, so we keep the things that work now as fast as they were.
- Christoph: why not have a blocklist of things we know crash? Then we’re as fast as possible, until we know it’s problematic.
- Nathan: agrees with the approach. But also “drivable” for him is analogous to “keyable”, and you can’t key mesh vertex positions.
- Christoph: but you can, via the Outliner.
- Sybren: sequence the drivers, or let them evaluate in parallel and writing the results in a single thread?
- Nathan: build the simple thing first (so the former), then make it fast when it needs to go vroom. Module agrees.
- Christoph: would be nice if we could show a warning in the UI, when people create a driver that’s going to be single-threaded. Module agrees.
- Animator meeting at Blender HQ, with Rik Schutte, Hjalti Hjálmarsson, and Pablo Fournier:
- Skipped this week, nothing concrete to discuss.
Patches: Review & Decision Time
- Blender Artists post about having separate keyframe transform snappings for the drivers editor.
- Christoph: do people think this is a good idea?
- Sybren: yes, makes sense to separate those.
- Missing option to duplicate a Slot with its animation data. Should the “New”/“Duplicate” button just do that, when there is a slot assigned? Got this feedback on devtalk.
- Module agrees.
Help Needed
- Mass F-Curve creation API. Aras noted (in the chat) that mass F-Curve creation is now quadratic in complexity, due to the uniqueness checks done for every individual curve. Should be fairly simple to create a function that takes a
Span<FCurveDescriptor>
and returns aSpan<FCurve*>
where ensuring uniqueness is left to the caller.- Aras is going to try and create a PR.
- Andy: asks for more background info about slotted Actions, so that he can jump in and help when there’s bug reports.
- Developer docs
- Sybren’s Slotted Actions demonstration | Blender 4.4-alpha (YouTube)
- CGDive’s Blender 4.4: NEW Rigging and Animation Features (YouTube)
Next Meeting
The next meeting will be on 2025-04-03T16:00:00Z. Again it will be open for everybody who’s interested. The provisionary meeting agenda will be updated before the meeting.