The meeting will be on 2024-05-02T16:00:00Z. It is open for everybody interested to join the video call (link below).
Present: Christoph Lendenfeld, David Domingues, David W, Demeter Dzadik, Eduardo Rubio, Nate Rupsis, Nathan Vegdahl, Pierrick Picaut, Sybren Stüvel
People present are referred to by first name for brevity. Others are referred to by full name.
Links
- Video Call. Note that there are no recordings of the meeting. This way everybody is free to say or show anything.
- A&R Module Meetings calendar for inclusion in your own calendar
- Previous & next meeting notes
- Issues & Pull Requests
- #animation-module chat channel
- Draft agenda for any upcoming meetings
Since the Last Meeting / Announcements
- Blender 4.2 is in BCON2
- Landed: #120453: Proposal: use str.format instead of percentage formatting for core-scripts
Landed
Names are from the Git log. This list is limited to functional improvements & bugfixes.
Blender
- bd3518946e7: Anim: implement “Copy Driver to Selected” operator (Nathan Vegdahl)
- 6e0c3231ebc: Anim: add bone length property to Bone Properties Panel (Frederick Solano)
- 5ba5fc8962e: Anim: make Keyframing error messages translateable (Christoph Lendenfeld)
- c6c7d3d8c4f: Anim: Graph Editor - use Map to update TransInfo pointers instead of searching (Christoph Lendenfeld)
- d5a4b983231: Fix #115930: custom colored bones are invisible when drawn in stick mode (Nathan Vegdahl)
- 0da53b5e62e: Anim: Change how names of Bindings work, and how Bindings are created/assigned (Sybren A. Stüvel)
- c41f1be5b72: Anim: RNA, refuse to set AnimData.binding_handle when there is no animation (Sybren A. Stüvel)
- 10c00b63906: Anim: Add RNA enum for animation bindings + operator to un-assign (Sybren A. Stüvel)
- 3b3364faf97: Fix: add missing depsgraph tag for anim Strip keyframe Python API (Nathan Vegdahl)
- 7629ef218ee7: Fix #121134: Hide Proportional Editing for armature editmode (Philipp Oeser)
Technical Documentation
- 00497f1: Translation: Developer Guide clarification (Sybren A. Stüvel)
- abee8b4: Anim: Add Graph Editor performance video (Christoph Lendenfeld)
- d60e02e: Anim: Add “Copy Driver to Selected” to release notes (Nathan Vegdahl)
Ongoing Work
- High Prio bugs:
- #105301: Rigify Apply Toggle Pole to Keyframes clears out IK keyframes
- #117111: Matrix equality on bones do not match with python FK / IK Snaping script (still waiting on appropriate example from reporter)
- Christoph:
- Christoph’s weekly report
- #120176: Anim: Per bone wire width for custom shapes
- #121336: Move Keying Set code to animrig
- Will discuss further in another meeting.
- Nathan:
- Nathan’s weekly report
- Landed #120936: Anim: implement “Copy Driver to Selected” operator.
- Ready for review: #120428: Anim: implement 3D viewport keyframing functionality for the Animation data-block
- More keyframing work to be done after that lands.
- Sybren:
- Sybren’s weekly report
- #120941: Anim: Change how names of Bindings work, and how Bindings are created/assigned
- #121268: Anim: RNA, refuse to set AnimData.binding_handle when there is no animation
- Add-on for syncing Action range to Scene (preview) range, for helping with looping animations.
- Todo task: #121355: Anim: move Animation data-block functionality into bAction
- Animator meeting at Blender HQ was skipped this week, to do more actual coding.
Patches: Review & Decision Time
- Guillermo Careaga (Dreamworks) asks on X/Twitter why old keys stay selected, when you insert a new key in the graph editor. Makes it hard to adjust a key immediately after creation. This is also inconsistent with the 3D Viewport, where all objects get deselected when adding a new one.
- Nathan, Eduardo: +1 for this change.
- Sybren will make a PR with a test build.
- #90184: Add Asset Browser to Animation Workspace?
- Sybren: mixed feelings. Might be wasted space, but also help with discoverability of the pose library.
- Pierrick: never uses the pose library, so he’d be closing it all the time. But not a big issue, as he can save his own default file.
- Pierrick: the pose library can also be tricky to set up for beginners.
- David W: uses pose library a lot, but also sees that many people don’t.
- David W: would it be a good idea to have some default poses for a Rigify human? Something that can be used by everybody? Sybren agrees.
- Nate: animators using the pose library likely already have their own setup. He suggests going for a more minimal setup by default. Maybe reconsider if the extensions platform is going to offer assets with pose libraries.
- Nathan: we need to figure out what the purpose is of the default workspaces. If it’s for exploration / discovery, it should be open. If it’s to provide a useful setup for new users, it should be closed.
- Pierrick: who uses the default layouts? Some people in the meeting do, some don’t. He never does, always sets things up for himself.
- Pierrick: stresses the importance of discoverability.
- Christoph: usually creates his own for his main task: animation. For scripting / video editing / shading, it’s convenient to have some pre-made setups.
- Nate: we could create a new ‘app template’? Like available for ‘Video Editing’. Sybren: good idea, especially when we have some poses to show by default.
C++ification of the code: Namespaces
- Sybren asks:
- More code should be in some
blender::subname
namespace. That way references toblender::animrig::…
can also be shortened toanimrig::…
. - Do we want sub-namespaces, like
blender::animrig::fcurve
,blender::animrig::keyframing
, etc?
- More code should be in some
- Nathan: Rust fan-boy, with the nested namespaces, it’s easy to see where it comes from. We could be very liberal, and have a namespace per file.
- Sybren: mapping to files seems a bit unnecessary, namespaces more for grouping of functionality, regardless of files.
- Nathan: we could use directories too?
- Christoph: let’s move the editor code with
blender::editors
. especially if others have moved there already. - Nathan: as we are doing now is fine, moving code into namespaces when we move the code itself.
- Christoph: not a big fan of sub-namespaces. Might become too granular. If we don’t need it, let’s not do it.
- Nathan: likes sub-namespaces for “this is F-Curve related”, making that clear (instead of being some hint in the function name).
- Sybren: let’s keep going as we are, then. Nathan: that’ll also give us the ability to learn without investing too much time.
Next Meeting
Note: the next meeting will be skipped, as 2024-05-08T22:00:00Z is a national holiday in The Netherlands.
The next meeting will be on Tuesday 2024-05-14T10:00:00Z. Again it will be open for everybody who’s interested. The provisionary meeting agenda will be updated before the meeting.