Note: This is an archived version of the Blender Developer Wiki (archived 2024). The current developer documentation is available on developer.blender.org/docs.

User:Sybren/Reports/2022

Symbols: ✅=100% done from my side; ✔️=my work is done for now, now waiting for something/someone else; ⭕ I spent time on this, may need more attention this week; ☐ planned work; 🕐 planned work, if there is enough time this week


Dec 12 - 18

  • Thursday: premiere of Charge!

Animation

  • ✅ Plan: Tuesday module meeting
  • ✅ Plan: Write documentation for the Copy Global Transform addon (T102734)
  • T101522: Motion Paths: 'Update Paths' inconveniently restores frame range
  • Reviews:
    • ✔️ Plan: continue review of D9479: Ease Implementation
    • ☐ Plan: continue review of D16481: Animation: Add channel type options to the Bake Action operator
    • ⭕ Plan: continue review of D16654: Fix T87548: Propagate Pose, Next Keyframe
    • ☐ Plan: continue review of D16723: Remove usage of is_cfra_lt in keyframes_list.cc and add tests
    • ☐ Plan: continue review of D16720: NLA: Udating Blend-in and Blend-out values to clamp on NLA strip Transform
    • ☐ Plan: continue review of D16651: Fix T102746: Jumping to next/previous (key)frame doesn't take subframes into account
    • D14635: Python: BKE_nlatrack_add now behaves correctly when passing NULL as argument for prev
    • T101169: fcurve.c: solve_cubic: incorrect comment

Production pipeline tools

Asset Browser/Pose Library:

  • Couch review with Julian of D16706: Assets: Introduce "All" asset library

Pipeline, Assets, and IO:

  • Reviews:
    • ☐ Plan: continue review of D11591: Alembic: import arbitrary attributes
    • D16103: USD IO: Moving to the new Mesh Attributes API for Colors
    • D16744: Support for export curves on alembic
    • D16019: Fix T100028: Convert USD camera properties into millimeters from USD units.

Other

Other work:

  • D16729: Add-ons: Exclude contrib for beta, rc and release builds
  • D16625: BLI: Refactor matrix types & functions to use templates
  • D16754: Python: Add index and instance based parameter to GPUBatch.draw.
  • Friday: losing time fixing Blender build errors, prebuilt Linux libraries changed & broke things (rB2c22795d).

Plans for next week:

  • continue reviews.
  • try adding a new Armature object type to see what it would entail.

Dec 5 - 11

Animation

  • Further work on the Opportunity Solution Tree for Animation 2025
  • ✅ Plan: Thursday module meeting
  • rB67dd6525: Tests: anim keylist test, avoid interaction between checks
  • rB48b5dcdb: Animation: Removal of most of the old pose library
  • rBM9747: Animation: Removal of most of the old pose library
  • Reviews:
    • ⭕ Plan: continue review of D16481: Animation: Add channel type options to the Bake Action operator
    • ⭕ Plan: continue review of D16654: Fix T87548: Propagate Pose, Next Keyframe
    • D16625: BLI: Refactor Matrix C++ API to be fully templated
    • D16723: Remove usage of is_cfra_lt in keyframes_list.cc and add tests
    • D16720: NLA: Udating Blend-in and Blend-out values to clamp on NLA strip Transform
    • Asked Colin Basnett for plans with D16658: Cleanup: Move F-Curve decimation functions to BKE namespace
    • D16651: Fix T102746: Jumping to next/previous (key)frame doesn't take subframes into account
    • D15243: VSE: Add insert keyframe menu

Production pipeline tools

Asset Browser/Pose Library:

  • Removed the old (Blender 2.5) pose library:
    • rB48b5dcdb: Animation: Removal of most of the old pose library
    • rBM9747: Animation: Removal of most of the old pose library

Pipeline, Assets, and IO:

  • Flamenco:
    • Improved our internal Flamenco documentation w.r.t. maintenance.
    • 🕐 Plan: D16636: OAPI: endpoint for worker to send last rendered frame number
    • Created custom job type for Andy, to allow full control over the render output (instead of adding job name, timestamp, etc.)
  • Blender:
    • ✔️ Plan: Continue actual review of D16274: USD CI Tests
    • T101091: Error reporting in modifiers
    • D16611: Cleanup: helper function for MeshSequenceCache ORCO evaluation
    • D11591: Alembic: import arbitrary attributes
    • D13602: Alembic: support importing instances

Other

Other work:

  • Video meeting with Julién Blervaque of Ubisoft.

Plans for next week:

  • ☐ Plan: Write documentation for the Copy Global Transform addon (T102734)
  • Reviews:
    • ☐ Plan: continue review of D9479: Ease Implementation
    • ☐ Plan: continue review of D16481: Animation: Add channel type options to the Bake Action operator
    • ☐ Plan: continue review of D16654: Fix T87548: Propagate Pose, Next Keyframe
    • ☐ Plan: continue review of D16723: Remove usage of is_cfra_lt in keyframes_list.cc and add tests
    • ☐ Plan: continue review of D16720: NLA: Udating Blend-in and Blend-out values to clamp on NLA strip Transform
    • ☐ Plan: continue review of D11591: Alembic: import arbitrary attributes
    • ☐ Plan: continue review of D16651: Fix T102746: Jumping to next/previous (key)frame doesn't take subframes into account

Nov 28 - Dec 4

Animation

  • ✅ Plan: Thursday module meeting
  • ☐ Plan: Continue reading Continuous Discovery Habits.
  • "fixed in master but not in 2.93 LTS" tasks that need bisecting:
    • T86299: grease pencil layers visibility icon doesn't change to purple when a driver is added
    • T87039: Pose bone ID property driver causes dependency cycle
    • T89275: File that makes blender 2.93 crash
  • Tasks fixed / spent time on:
    • T102679: Copy Rotation Constraint unexpectedly have numerical instability
    • T101602: Handle Type selector in the Graph Editor's sidebar sets different types than selected
    • T101130: Regression: Scaling of NLA Strip Via S Hotkey Not Working
  • Reviews:
    • Accepted & landed D15427: Fix T99623: raise an exception on the asset browser when the path to the library is missing
    • ⭕ Plan: D16481: Animation: Add channel type options to the Bake Action operator
    • ✅ Plan: D16619: Fix T102767: Select Pose Bones does not work when Flip Pose is enabled
    • D16593: Fix T100879: Bake Action fails with "Nothing to Bake"
    • D16635: Fix T102797: Unlinking an Orphan Action crashes
    • D16481: Animation: Add channel type options to the Bake Action operator
    • D16630: Animation: Make Bake Animation operator use preview range when enabled
    • D16574: FCurves/modifiers RNA paths
    • D16658: Cleanup: Move F-Curve decimation functions to BKE namespace
    • D16654: Fix T87548: Propagate Pose, Next Keyframe
    • D16663: Move fcurve cleanup from transform system to BKE
    • D16664: Fix T101996: merge fcurve keyframes on the same frame after snapping
  • Added to 2.93 LTS list:
    • rB7bcf21e6: Depsgraph: fix spurious cycles with identically named idprops on bones.
    • T101602: Handle Type selector in the Graph Editor's sidebar sets different types than selected
    • T86299: grease pencil layers visibility icon doesn't change to purple when a driver is added

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • Flamenco
    • Add workaround for recent change in Blender (rB133dde41: Improve handling of (in)direclty linked status for linked IDs)
  • Reviews:
    • ✅ Plan: Check that things run on Linux: D16274: USD CI Tests
    • D16344: USD Import: USD Shapes Support.
    • ✅ Plan: D16636: OAPI: endpoint for worker to send last rendered frame number

Other

Plans for next week:

    • ☐ Plan: Continue actual review of D16274: USD CI Tests
    • 🕐 Plan: D16636: OAPI: endpoint for worker to send last rendered frame number

Nov 21-27

Animation

  • Reviews/reports:
    • ✔️ Plan: Continue reviewing D15243: VSE: Add insert keyframe menu
    • T97530: NLA viewport jumps upward when track search input is focused
    • D16595: Fix T99400: "Jump to Keyframe" preserves subframe offset
    • D16593: Fix T100879: Bake Action fails with "Nothing to Bake"
    • T87415: Copy bones doesn't copy drivers
    • ⭕ Plan: D15427: Fix T99623: raise an exception on the asset browser when the path to the library is missing

Production pipeline tools

Pipeline, Assets, and IO:

  • Reviews/reports:
    • ⭕ Continue reviewing D16274: USD CI Tests
    • T102633: Unable to build flamenco on WIndows 11
    • T102590: Flamenco: setup-assistant fails to accept Windows path as render storage location when running under WSL (Windows Subsystem for Linux)

Other

Other work:

Plans for next week:

  • D16481: Animation: Add channel type options to the Bake Action operator

Nov 14 - 20

Tueday & Friday I'll be at the STAG conference to give a talk about Flamenco.

Animation

  • Monday off-schedule module meeting
  • ⭕ Write blog post about the animation workshop (draft)
  • Reviews / spent time on:
    • D15243: VSE: Add insert keyframe menu
    • T102148: Armature driving other object visibility gets out of sync if the parent collection is hidden/shown again in viewport
    • Filed as "known issue": T87413: Driving object scale also scales its particle instances.
    • D16498: Fix T99044: Dopesheet crash when accessing Key menu in Mask mode

Production pipeline tools

Pipeline, Assets, and IO:

  • Reviews:

Other

Other work:

  • Had a visit from a job coach from Gemeente Amsterdam, who's coaching someone who wants to work in the game/media industry.

Plans for next week:


Nov 7-13

Animation

  • ☐ Plan: Thursday Animation & Rigging module meeting
  • ✅ Plan: Convert workshop assets (Mural & Penpot boards) to publicly usable files in open format.
  • ✅ Plan: Land D16307: Fix T101894: only do FCurve-select if no keys have been touched previously
  • Bugs/reports/spent time on:
    • T101996: Snap Selection to Current Frame does not replace keyframes on same frame
    • T93951: Assign Shortcut option not available for new Pose Library
  • Reviews:
    • ✅ Plan: D16318: Hide ratio when using error margin mode in decimate keyframes operator
    • ✔️ Plan: D15728: Fix T100491: Mouse selection is inaccurate in NLA Editor
    • ⭕ Plan: continue review of D16361: Python: Add decimate function to FCurve
    • ✔️ Plan: D16403: Add poll messages for marker operators
    • D16390: Cancel Equalize Handles & Snap Keys when no control points are selected
    • D15615: Official add-ons: replace f-strings by str.format() for I18n
    • D16445: Fix const-correctness for a number of F-Curve functions
    • D16353: NLA: Update context menu to include meta strip operators
    • D15542: Rearrange Grease Pencil channels in the Dopesheet
    • D15855: Dope Sheet: distinguish Constant and Linear from other interpolation modes.
    • D16459: Cleanup: Fixing anti-patterns in fcurve.c

Production pipeline tools

Asset Browser/Pose Library:

  • Reviews:
    • D16356: Asset Browser: Allow changing active catalog from Python

Pipeline, Assets, and IO:

  • Decommission the Flamenco 2 render farm at Blender Studio
  • Reviews / spent time on:
    • ⭕ Plan: D16274: USD CI Tests
    • D16172: USD import unbound materials.
    • D16358: Flamenco Addon: Add an error message if the file is not saved before uploading
    • D16444: FBX Export Window Action Selection
    • T101091: Error reporting in modifiers
    • D11591: Alembic: import arbitrary attributes
    • D11592: Alembic/USD: use geometry sets to import data

Other

Other work:

  • Organising First Responder / BHV repeat course for the studio.
  • ✅ Plan: Monday Grease Pencil module meeting

Plans for next week:

  • Animation & Rigging "sync-up meeting" on Monday, time TBD.

Oct 31 - Nov 6

Animation

  • Animation conference round-up, with Jason Schleifer and Brad Clark.
  • ✅ Plan: Thursday module meeting
  • ⭕ Plan: continue working on D16307: Fix T101894: only do FCurve-select if no keys have been touched previously
  • Reviews:
    • ⭕ Plan: D16361: Python: Add decimate function to FCurve
    • ✅ Plan: D16363: Fix T102218: Baked f-curves display incorrectly when normalized
    • D15615: Official add-ons: replace f-strings by str.format() for I18n
    • D16380: Fix T102221: Entering editmode invalidates the driver associated with that mesh
    • D16379: adding defaults for NLA Action scale and repeat

Production pipeline tools

Pipeline, Assets, and IO:

  • ✅ Plan: Charles Wardlaw: Since D16103 and D16108 are two halves of the same patch, and the patch will now be about "Adding vertex color support to USD IO", do you mind me merging the import and export patches while I remove all the stuff you asked me to remove?

Other

Plans for next week:

  • D16318: Hide ratio when using error margin mode in decimate keyframes operator
  • D15728: Fix T100491: Mouse selection is inaccurate in NLA Editor

Oct 24 - 30

  • Animation Workshop
  • Blender Conference

Next week:

Oct 17-23

Still partially out of order with corona.

Animation

  • ✅ Plan: work out & publish meeting notes from last Wed and Thu.
  • ✅ Plan: Monday: module meeting to prepare for the workshop.
  • ✅ Plan: write down *definition of success* for the workshop.
  • ⭕ Plan: create workshop sign-up sheet.

Production pipeline tools

Pipeline, Assets, and IO:

  • Released Flamenco 3.1
  • ☐ Plan: Finish conference presentation on Flamenco.

Other

Plans for next week:

  • Mon-Wed: Character Animation workshop
  • Thu-Sun: Blender Conference

Oct 10-16

Out of order, corona.

Animation

  • Wednesday: animation workshop planning meeting.
  • Thursday: animation workshop preparation meeting, going over sent-in ideas.

Oct 3 - 9

Animation

  • Animation 2025:
    • ✅ Plan: Monday: meeting about the "What's missing in Blender" doc.
    • ☐ Plan: Continue preparations for Animation Workshop in October.
    • ☐ Plan: Write down "ideas/insights so far" in a presentation-like form, to help structure things in my head and to be able to show anyone at any time what we're working on.
  • Wrote & Landed D16173: Animation: Expose "mute" for drivers in their properties UI
  • Reviews:
    • D16100: Pose Library: Store only Keyframed Values option
    • D16132: Fix T101547: Add update notifiers in dopesheet and timeline selection operators
    • landed D16131: Updated a few tool tips to be more readable and or direct.
    • D16154: Fix T101275: Edited action in NLA dependency issue
    • D16168: Adding function to check if an animation container has grease pencil channels
    • D11592: Alembic/USD: use geometry sets to import data
    • D16132: Fix T101547: Add update notifiers in dopesheet and timeline selection operators
    • D16181: Fix T101130 (part 1) : simplify recalcData_nla()
    • landed D16181: Fix T101130 (part 1) : simplify recalcData_nla()

Production pipeline tools

Pipeline, Assets, and IO:

  • Flamenco:
    • Talked with Pablo Vazquez about making the job priority editable via the web interface (API operation already exists).
    • Created task T101569: RNA overrides
    • ☐ Plan: Continue preparation of Flamenco presentation for Blender Conference.
  • Reviews:
    • D12411: Cleanup: move ABC sequence length computation to Cachefile
    • D16084: Addon: Windows Shaman Compatibility
    • D15959: Leverage vite dev proxy to improve the web app
    • D15613: Setup Screen: Fix Shared Storage URL
    • D13602: Alembic: support importing instances
    • T101091: Error reporting in modifiers

Other

Core:

Platform Maintenance:

  • Review D16091: Deps: include libdecor in build deps for Wayland support

Plans for next week:

  • Reviews:
    • D16092: Fix T101339: Animation on nodegroups breaks when socket is moved up/down
    • D16132: Fix T101547: Add update notifiers in dopesheet and timeline selection operators

Sept 26 - Oct 2

Animation

  • ✅ Plan: Thursday: Animation & Rigging module meeting.
  • Animation 2025:
    • ✅ Plan: Continue preparations for Animation Workshop in October.
    • ✅ Plan: Talk with Ton about his views on character animation.
    • ☐ Plan: Write down "ideas/insights so far" in a presentation-like form, to help structure things in my head and to be able to show anyone at any time what we're working on.
  • Reviews:
    • Landed D14984: Asset Browser: Add slider UI to pose blending
    • D16092: Fix T101339: Animation on nodegroups breaks when socket is moved up/down

Production pipeline tools

Pipeline, Assets, and IO:

  • Flamenco:
    • ✅ Plan: Deploy Flamenco Worker as system-level service on the Blender HQ render farm.
    • 🕐 D15959: Leverage vite dev proxy to improve the web app
    • Fix bug where on shutdown of the Manager the sleep scheduler could cause a nil pointer dereference.
  • Reviews:

🕐 Plan: D11591: Alembic: import arbitrary attributes

Other

Core:

  • Reviews:
    • D15492: Modifiers: add a callback to copy the error message

Other work:

  • ⭕ Plan: Prepare Flamenco presentation for Blender Conference.

Plans for next week:

  • ☐ Plan: D11591: Alembic: import arbitrary attributes
  • 🕐 D15959: Leverage vite dev proxy to improve the web app

September 19-25

Animation

  • ⭕ Plan: Research existing animation systems.
  • ⭕ Plan: Reach out to some anim system developers to interview them.
  • Investigated UnrealEngine's Control Rig system.
  • Investigated Raf Anzovin's Ephemeral Rigging system & had a video call with him & Brad Clark.

Production pipeline tools

Pipeline, Assets, and IO:

  • Flamenco:
    • Reconfigure the Blender Studio render farm so that Flamenco runs as a system service (instead of being tied to the user's graphical environment).
    • Try and fix crashes of Blender at the studio.
    • 🕐 D15959: Leverage vite dev proxy to improve the web app

Other

Other work:

  • Expand the Blender Studio SVN server storage space.

Plans for next week:

  • Prepare Flamenco presentation for Blender Conference.
  • Continue preparations for Animation Workshop in October.
  • Talk with Ton about his views on character animation.

September 12-18

Last week I was on holiday.

Animation

  • ✅ Plan: Tuesday: meeting with Jason & Brad about the Animation & Rigging workshop in October.
  • ✅ Plan: Thursday: meeting with Ton & Francesco about the Animation & Rigging workshop in October.
  • Updated the [3.4 release notes].
  • Reviews:
    • D15737: NLA: actionclip_add now fails on invoke if no NLA track is selected
    • Approved & landed in 3.3 branch: D15940: Fix T100918 : change min. value for NLAStrip start
    • D14836: Drawing NLA action background based on action's extrapolation type
    • D10228: Fix: DSE Set Ipo/Easing Ignores Hidden Channels
    • D14964: remove action edited tab from NLA strip select
    • Poked Campbell about D14977: Animation: Fix operator properties for redo panel
    • D15819: WM: batch rename action clips
    • D10101: Cleanup: Nla: Refactor nla.c functions
    • D15542: Rearrange Grease Pencil channels in the Dopesheet

Production pipeline tools

Pipeline, Assets, and IO:

  • Flamenco:
    • ✅ Plan: fix T100757: Flamenco Worker: Bug with error stating OpenEXR format is unknown format
    • ✅ Plan: release Flamenco 3.0
    • D15959: Leverage vite dev proxy to improve the web app

Other

Other work:

  • Finish upgrading workstation Linux distro.

Plans for next week:

  • Animation Workshop preparation.
  • Flamenco: 🕐 D15959: Leverage vite dev proxy to improve the web app

Aug 29 - Sept 4

Animation

☐ Plan: Animation & Rigging module meeting

  • Reviews:
    • ☐ Plan: D15601: Fix T100093 : Channel selection and grouping in Graph Editor

Production pipeline tools

Pipeline, Assets, and IO:

  • Reviews:
    • ☐ Plan: D14984: Asset Browser: Add slider UI to pose blending

Plans for next week:

Another small holiday.

Aug 8-28

SIGGRAPH and subsequent holiday.

Aug 1-7

Animation

  • ✅ Plan: Animation & Rigging module meeting.
  • Reviews:
    • ✅ Plan: D14819: Timeline marker names are not correctly clipped in some cases
    • ✅ Plan: D15317: WIP: Edit mode normalize fails to respect non deforming groups or locked groups
    • ⭕ Plan: Double review:
    • D15505: Fix Unreported : add F-curves only filter to functions only appliable to F-curves channels.
    • ☐ Plan: D15601: Fix T100093 : Channel selection and grouping in Graph Editor

Cloud-Based Rendering

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • ✅ Plan: Beta release of Flamenco
    • ✅ Plan: Actually do the release, including writing some more docs, providing download page/links etc.
    • ✅ Plan: Write a blog post about it with Francesco.
    • ✅ Plan: Maybe create a video showing the simplest use.
  • Reviews:
    • ✅ Plan: D15379: T90535: import UDIM textures from USD
    • ✅ Plan: D15352: T90535: Handle material purpose on USD import
    • ☐ Plan: D14984: Asset Browser: Add slider UI to pose blending

Other

Core:

  • Reviews:
    • ✔️ Plan: D15543: Make File Select dialog trigger update function on operator's filepath, directory and filename properties

Platform Maintenance:

  • ✅ Plan: D15291: replace GLEW with libepoxy
  • 🕐 Plan: D15604: Deps: Ship USD Python bindings

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

  • ✅ Plan: Meeting with Arnd, Anna, and Sergey about BlenderID - Gitea integration.
  • ✅ Plan: Preparing for SIGGRAPH 2022.

Plans for next week:

  • SIGGRAPH

July 25 - 31

Animation

  • Reviews:
    • ☐ Plan: D14819: Timeline marker names are not correctly clipped in some cases
    • ☐ Plan: D15317: WIP: Edit mode normalize fails to respect non deforming groups or locked groups
    • ☐ Plan: D14960: Animation: Add redo panel to Dopesheet and NLA
    • ☐ Plan: D14977: Animation: Fix operator properties for redo panel
    • ✅ Plan: land D15329: Python: Expose property to mute action groups
    • ✅ Plan: D15505: Fix Unreported : add F-curves only filter to functions only appliable to F-curves channels.
    • ✅ Plan: D15504: Fix T99870 : Prevents Blender from crashing while rearranging channels
    • ⭕ Plan: D15542: Rearrange Grease Pencil channels in the Dopesheet

Production pipeline tools

Asset Browser/Pose Library:

  • ☐ Plan: D14984: Asset Browser: Add slider UI to pose blending

Pipeline, Assets, and IO:

  • Reviews:
    • ☐ Plan: D15379: T90535: import UDIM textures from USD
    • ☐ Plan: D15352: T90535: Handle material purpose on USD import
  • Flamenco:
    • ⭕ Plan: Finish the release targets for Flamenco 3.0
    • ⭕ Plan: Record a demo video with Marion Stalke

Other

Core:

    • ☐ Plan: D15543: Make File Select dialog trigger update function on operator's filepath, directory and filename properties

Platform Maintenance:

  • ✅ Plan: T98555: Library changes for Blender 3.3

Plans for next week:

  • Beta release of Flamenco
    • Actually do the release, including writing some more docs, providing download page/links etc.
    • Write a blog post about it with Francesco.
    • Maybe create a video showing the simplest use.
  • Meeting with Arnd, Anna, and Sergey about BlenderID - Gitea integration.
  • Preparing for SIGGRAPH 2022.
  • Animation & Rigging module meeting.
  • Reviews:
    • ☐ Plan: D14819: Timeline marker names are not correctly clipped in some cases
    • ☐ Plan: D15317: WIP: Edit mode normalize fails to respect non deforming groups or locked groups
    • ☐ Plan: D14960: Animation: Add redo panel to Dopesheet and NLA
    • ☐ Plan: D14977: Animation: Fix operator properties for redo panel
    • ☐ Plan: D15379: T90535: import UDIM textures from USD
    • ☐ Plan: D15352: T90535: Handle material purpose on USD import
    • ☐ Plan: D14984: Asset Browser: Add slider UI to pose blending
    • ☐ Plan: D15543: Make File Select dialog trigger update function on operator's filepath, directory and filename properties

July 18-24

Animation

  • Reviews:
    • ✅ Plan: D8808: Armature Animation Baking: Important performance patch
    • ✅ Plan: D9732: Constraints: apply small fixes for custom space handling.
    • ☐ Plan: D14960: Animation: Add redo panel to Dopesheet and NLA
    • ☐ Plan: D14977: Animation: Fix operator properties for redo panel
    • ✅ Plan: D15288: Use appropriate context for the DopeSheet Action Custom Properties panel.developer.blender.org/D15317
    • ☐ Plan: D15317: WIP: Edit mode normalize fails to respect non deforming groups or locked groups
    • D14819: Timeline marker names are not correctly clipped in some cases
    • D15086: Fix T97559: Undoing an NLA strip duplication leaves the duplicated NLA strip in an unexpected state
    • 🕐 Plan: D15504: Fix T99870 : Prevents Blender from crashing while rearranging channels
    • 🕐 Plan: D15505: Fix Unreported : add F-curves only filter to functions only appliable to F-curves channels.

Production pipeline tools

Pipeline, Assets, and IO:

  • Flamenco:
    • Fixed database error (SQLite kept regularly erroring out with interrupted (9) errors) by upgrading the SQLite and GORM packages.
    • T99415: Worker: change default location for writing local files
    • rF696b97c5: Re-queue tasks of worker after changing to non-'awake' state
    • rFac323678: Manager: add entry to task log whenever task changes status
    • rFd553ca5a: Worker: pass input frame rate to FFmpeg when converting frames to video
    • rF48f081e0: Sleep Scheduler: don't overwrite error status from Worker
    • T99434: Two-way Variables
    • T99893: Worker: find ffmpeg next to executable
    • rF59cb21e3: Makefile: add tools targets to download FFmpeg
    • T99730: Allow access to full task log
    • T99739: Add-on: Prevent job submission when no job type has been chosen
    • rF344a62f3: Add-on: Skip BAT-packing when file already in shared storage
  • Reviews:
    • ☐ Plan: D15379: T90535: import UDIM textures from USD
    • ☐ Plan: D15352: T90535: Handle material purpose on USD import

Other

Plans for next week:

  • T98555: Library changes for Blender 3.3
  • ☐ Plan: D14984: Asset Browser: Add slider UI to pose blending
  • ☐ Plan: D15379: T90535: import UDIM textures from USD
  • ☐ Plan: D15352: T90535: Handle material purpose on USD import
  • ☐ Plan: D15317: WIP: Edit mode normalize fails to respect non deforming groups or locked groups
  • ☐ Plan: D14960: Animation: Add redo panel to Dopesheet and NLA
  • ☐ Plan: D14977: Animation: Fix operator properties for redo panel

July 11-17

Animation

  • T92099: No undo when moving viewport with camera locked to view
  • Reviews:
    • D15282: Renamed and refactored several F-curve key manipulation functions
    • ⭕ Plan: D14960: Animation: Add redo panel to Dopesheet and NLA
      • Ready to land, but better wait for D14977 to be accepted as well.
    • ⭕ Plan: D14977: Animation: Fix operator properties for redo panel
    • D15086: Fix T97559: Undoing an NLA strip duplication leaves the duplicated NLA strip in an unexpected state
    • Closed D2642: Nondestructive Keyframe Insert and deletion

Production pipeline tools

Asset Browser/Pose Library:

  • Reviews:
    • D15427: Fix T99623: raise an exception on the asset browser when the path to the library is missing

Pipeline, Assets, and IO:

  • Flamenco:
    • Improved BAT error message, to aid in debugging packing failures.
    • Add-on: disable BAT's strict pointer mode.
    • Add-on: load all BAT submodules in one go, so that they don't get isolated from each other.
    • Manager: fix the AssocQueryStringW system call we use on Windows to find .blend file associations.
    • Bunch of Windows-specific fixes.
    • First-Time Wizard that runs in the browser when Flamenco Manager is not yet fully configured. This includes the "Blender finder", which can look at .blend file associations and search on $PATH to find Blender, and the ability of Flamenco to restart the Manager from within the same process.
    • Change default Blender CLI arguments to include --enable-autoexec (well, the short version -y).
    • Add a little stress tester for the API.
    • Allow accessing the full task log from the web interface. An API operation can be used to get the task log URL from its UUID.
    • Add button to the web interface to show the task log tail.
    • Add a Worker Sleep Schedule API, including a background service, that can manage awake/asleep cycles of Workers.
  • Reviews:
    • ⭕ Plan: D15379: T90535: import UDIM textures from USD
    • ⭕ Plan: D15352: T90535: Handle material purpose on USD import
    • D15430: T96182: Add velocity to usd importer
    • D15412: Context: implement an active_action property that returns a single action.
    • D6703: Python Handlers: Add export events.

Other

Core:

  • T99080: Policy for style guide: document enum suffix use for C/C++

Plans for next week:

  • D8808: Armature Animation Baking: Important performance patch
  • Lots of Flamenco work to get ready for a 3.0-beta release.


July 4 - 10

Animation

  • Reviews:
    • ⭕ Plan: D15323: Fix T98525: depsgraph for indirectly referenced ID Properties in drivers.
    • ⭕ Plan: D15288: Use appropriate context for the DopeSheet Action Custom Properties panel.
    • ⭕ Plan: continue review of D14910: default N-panel open for animation editors
    • ✔️ Plan: continue review of D14163: Weight & Vertex Paint: always respect edit mode hiding on faces.
      • I'm OK with this patch, poked Campbell to have a final verdict.
    • ⭕ Plan: D15139: Added 'Update Pose' feature to Pose Library
    • Accepted & landed D15370: Fix T99453: Regression: Crash on calling menu search
    • Accepted & landed D15391: Removed Grease Pencil layers from NLA editor
    • ☐ Plan: D14960: Animation: Add redo panel to Dopesheet and NLA

Production pipeline tools

Pipeline, Assets, and IO:

Other

Core:

Other work:

  • Prepare for SIGGRAPH:
    • Study the schedule of talks and other interesting things.
    • See which times are available for a USD/Alembic/pipeline meeting.
    • See which times are nice to do some animation/rigging networking.

Plans for next week:

  • D15379: T90535: import UDIM textures from USD
  • D15352: T90535: Handle material purpose on USD import
  • D14960: Animation: Add redo panel to Dopesheet and NLA
  • D14977: Animation: Fix operator properties for redo panel

June 28 - July 3

Animation

  • ☐ Plan: T98525: Getting multiple system console error traces on Animation Drivers that appear to be functional
  • Reviews:
    • ✅ Plan: continue review of D15003: Add GP layers in main dopesheet
    • ⭕ Plan: hopefully land D14910: default N-panel open for animation editors
    • ✅ Plan: continue review of D14961: Default group_select_mode to "Active Group" for Normalize wight Operator
    • ⭕ Plan: continue review of D14163: Weight & Vertex Paint: always respect edit mode hiding on faces.
    • ☐ Plan: D15139: Added 'Update Pose' feature to Pose Library
    • D15282: Renamed and refactored several F-curve key manipulation functions

Production pipeline tools

Pipeline, Assets, and IO:

  • Flamenco:
    • Embed static files of the webapp in the Manager executable, and serve them on /app/. The root (/) URL will redirect there.
    • Embed the Blender add-on inside the Manager executable, so that the right version can always be downloaded from its web interface.
    • Add little Go program to create a ZIP of the Blender add-on. This will allow building the Manager without requiring access to a ZIP CLI program.
    • Refactor some code, replacing os.IsNotExist() (old) with errors.Is(err, fs.ErrNotExist() (new & recommended).
    • ✅ Plan: add API endpoints for fetching the last-rendered images of a certain job.
    • ✅ Plan: add SocketIO notification about new last-rendered images.
    • ✅ Plan: deploy Flamenco 3 alpha on the Blender Studio infrastructure.
    • Add Manager-global (in contrast to per-job) last-rendered image, and auto-refresh on web interface.
  • Reviews:
    • ✅ Plan: D15189: Fix C++ .stl importer unused function result warning
    • ✔️ Plan: D11591: Alembic: import arbitrary attributes
    • ✔️ Plan: D11592: Alembic/USD: use geometry sets to import data

Other

Plans for next week:

  • D15288: Use appropriate context for the DopeSheet Action Custom Properties panel.
  • bump embree/openpgl
  • create list of Flamenco tasks
  • Build + test cycles_path_guiding branch for Linux, make any corrections needed in cycles_path_guiding, commit, update T98555 for it.

June 20 - 26

Animation

  • rB15bc3d26: Fix 2 for T98700: Crash when recursively nesting NLA meta strips
  • Reviews:
    • D14984: Asset Browser: Add slider UI to pose blending
    • Landed D14738: Fix T97533: Extrapolation regions of NLA strips outside of the current viewport are not rendered.
    • ⭕ Plan: D15003: Add GP layers in main dopesheet
    • ✅ Plan: D15252: Constraints: rename and refactor custom space initialization.
    • ✅ Plan: D14646: Added Custom Properties panel for Actions in the dopesheet editor
    • ✅ Plan: D14660: Added a clear method to ActionFCurves to remove all f-curves
    • ☐ Plan: hopefully land D14910: default N-panel open for animation editors
    • D14961: Default group_select_mode to "Active Group" for Normalize wight Operator
    • D14163: Weight & Vertex Paint: always respect edit mode hiding on faces.

Production pipeline tools

Asset Browser/Pose Library:

  • Reviews:
    • ☐ Plan: D15139: Added 'Update Pose' feature to Pose Library

Pipeline, Assets, and IO:

  • Flamenco:
    • Use the blocklist in the task scheduler, so blocked workers don't get tasks they shouldn't.
    • Add ability to load job compiler scripts from disk (instead of only embedded in the executable)
    • Add crosspath.IsRoot(path) bool function.
    • Add "local storage" manager that can give a suitable directory for job-specific, local files (such as last-rendered images).
    • Add system for sending last-rendered images from Worker to Manager, creating thumbnails on the Manager.
    • Fix some Windows compatibility issues.
  • Reviews:
    • D11591: Alembic: import arbitrary attributes
    • D15189: Fix C++ .stl importer unused function result warning
    • D11592: Alembic/USD: use geometry sets to import data

Other

Platform Maintenance:

  • Reviews:
    • D12034: Build: when using Wayland, always enable EGL and disable system GLEW

Plans for next week:

Not sure if I can do all of them:

  • T98525: Getting multiple system console error traces on Animation Drivers that appear to be functional
  • D15139: Added 'Update Pose' feature to Pose Library
  • hopefully land D14910: default N-panel open for animation editors
  • D15003: Add GP layers in main dopesheet
  • continue review of D14961: Default group_select_mode to "Active Group" for Normalize wight Operator
  • continue review of D14163: Weight & Vertex Paint: always respect edit mode hiding on faces.
  • Flamenco:
    • add API endpoints for fetching the last-rendered images of a certain job.
    • add SocketIO notification about new last-rendered images.
    • deploy Flamenco 3 alpha on the Blender Studio infrastructure.
  • D15189: Fix C++ .stl importer unused function result warning
  • D11592: Alembic/USD: use geometry sets to import data
  • D11591: Alembic: import arbitrary attributes
  • D11592: Alembic/USD: use geometry sets to import data

June 6 - 12

Three day week for me. Monday is national holiday in NL, Wednesday my part-time day.

Animation

  • Thursday: animation & rigging meeting
  • Reviews:
    • D15119: Add a poll message when attempting to edit bone groups outside of pose mode

Production pipeline tools

Pipeline, Assets, and IO:

  • ✅ Plan: Continue working on D14966: Add Instance Offset operators to Collections property panel
  • Flamenco:
    • ☐ Plan: Finish task & worker timeout monitoring.
    • ☐ Plan: Add endpoint for Workers to report the "last rendered image" of a certain job.
    • ☐ Plan: Have Workers actually call that endpoint with useful information.
    • ☐ Plan: Add the last-rendered image to the web interface. This could be one overall image as well as a per-job image.
  • Reviews:
    • ⭕ Plan: Continue review of D11591: Alembic: import arbitrary attributes
    • D15014: Fix T91966: flag object to check parent for animation data
    • D15142: Default "Selected Only" to True When Exporting Objects
    • D14869: T90535: Handle material name collisions on USD import

Other

Core:

  • Reviews:
    • D15146: Fix T98618: Drivers don't automatically update when changing active camera

Plans for next week:

  • D15168: Constraints: handle the custom target at the constraint level.
  • D14660: Added a clear method to ActionFCurves to remove all f-curves
  • D14646: Added Custom Properties panel for Actions in the dopesheet editor
  • D15182: Fix T85729: Crash when exporting for USD and Alembic.

May 30 - June 5

Animation

  • ✅ Plan: Land D14587: Expose background job info to Python
  • Reviews:
    • D14819: Timeline marker names are not correctly clipped in some cases
    • D14738: Fix T97533: Extrapolation regions of NLA strips outside of the current viewport are not rendered.
    • D15047: VSE preview transform autokeying improvements
    • D15062: Fix T98459: vertex weight paste/copy inconsistent
    • D14881: Setting default enum option to WT_VGROUP_BONE_DEFORM, and falling back to All Groups if no armature is found
    • D13844: Constraints: introduce wrapper functions to access target lists.

Production pipeline tools

Pipeline, Assets, and IO:

  • Flamenco:
    • Implement API endpoint to fetch worker info in web frontend
    • Store Flamenco version (as used by Worker) in the Manager's database.
    • Changed SocketIO subscriptions so that clients don't automatically get all job updates. This includes adding a way to subscribe to "all job updates" and "all worker updates".
    • Allow Worker status change requests from web interface, and show these in the web interface.
    • Add handling of lazy/forced status change requests to Manager.
    • Add cancelling of status change requests, by requesting the current state of the Worker (i.e. when it's awake, and asleep has been requested, to cancel that request just overwrite it with another request to go to awake state).
    • Remove the shutdown state; it was only used to request the worker to sign off and go offline. This can now be done simply by requesting the offline state instead. This not only reduces the number of possible states, but also sticks to the "request the state you want the worker to be in" approach.
    • Keep track on the Manager of when a worker last 'touched' a task. This will be used later to monitor for timeouts.
  • Reviews:
    • ✔️ Plan: D11591: Alembic: import arbitrary attributes
    • D14896: USD: Enable operator presets when exporting

Other

Core:

  • Continued work on D14966: Add Instance Offset operators to Collections property panel

Plans for next week:

  • Continue working on D14966: Add Instance Offset operators to Collections property panel
  • Flamenco:
    • Finish task & worker timeout monitoring.
    • Add endpoint for Workers to report the "last rendered image" of a certain job.
    • Have Workers actually call that endpoint with useful information.
    • Add the last-rendered image to the web interface. This could be one overall image as well as a per-job image.
  • Reviews:
    • Continue review of D11591: Alembic: import arbitrary attributes

May 23 - 29

Animation

  • ✅ Plan: fix T98196: Crash when moving tweaked NLA strip with empty track below
  • Reviews:
    • ✔️ Plan: D10102: NLA: Strip Post-transform Horizontal Shuffle
    • T97980: N-panel visible by default in Animation editors
    • Landed D14890: Fix T97974: Marker line thickness is no longer affected by NLA strip mute status
    • Landed D14742: Fix T97500: NLA strip names are no longer fully rendered when they shouldn't be
    • Reviewed D14660: Added a clear method to ActionFCurves to remove all f-curves
    • Reviewed D14646: Added Custom Properties panel for Actions in the dopesheet editor
    • Accepted but not yet landed D14910: default N-panel open for animation editors
    • Reviewed D15026: Cleanup/simplify BKE_fcurve_find_by_rna_context_ui code.

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • Reviews:
    • ✔️ Plan: D15014: Fix T91966: flag object to check parent for animation data
    • ⭕ Plan: Continue D14853: Re-fix T97366: Support single-file UDIMs if given a tokenized path

Other

Core:

  • ✔️ Plan: Continue D14587: Expose background job info to Python
  • Reviews:
    • Meddled with D14989: Python API: add mathutils.Color functions to convert color spaces
    • ✔️ Plan: Continue D12034: GHOST/X11: setup GLEW and GLEW for EGL
    • D15017: Depsgraph: Implement backtrace functionality

Plans for next week:

  • D11591: Alembic: import arbitrary attributes
  • T98435: VSE autokeying transforms in preview dont respect keyingsets
  • Land D14587: Expose background job info to Python

May 16 - 22

Animation

  • Checked on T98157: Regression: Massive drops in Animation playback (fps) in the viewport (Depsgraph)
  • Reviews:
    • D14964: remove action edited tab from NLA strip select

Production pipeline tools

Pipeline, Assets, and IO:

  • ☐ Plan: review D14853
  • Flamenco:
    • Filter bar to filter tasks and jobs by their status.
    • Task log pub/sub system for broadcasting task logs from Manager to the web interface.
    • Pop-over in the footer of the web interface, with two tabs:
      • History of notifications received by this run of the web interface.
      • Task log of the active task. This consists of the most recent 2kB of the task's log, plus any new log lines received via SocketIO.
    • Increase worker log chunk size from 1kB to 10kB. This reduces the number of calls it needs to do, improving performance and reducing load on the Manager.

Other

Core:

  • Fixed T96289: Regression: Crash when accessing animated 'object.data' property in a driver of a Mesh
  • Created D14966: Add Instance Offset operators to Collections property panel

Platform Maintenance:

  • ✅ Plan: Rebuild USD libs: T97950: Crash on startup on older CPUs, due to unsupported instruction in USD libraries

Plans for next week:

  • Fix T98196: Crash when moving tweaked NLA strip with empty track below
  • D10102: NLA: Strip Post-transform Horizontal Shuffle
  • D15014: Fix T91966: flag object to check parent for animation data
  • Continue review of D14853: Re-fix T97366: Support single-file UDIMs if given a tokenized path
  • Continue review of D14587: Expose background job info to Python
  • Continue review of D12034: GHOST/X11: setup GLEW and GLEW for EGL

May 9 - 15

Animation

  • Thursday: module meeting
  • Time spent on:
    • T97480: Keying set failed to insert any keyframes
    • T97980: N-panel visible by default in Animation editors
  • Reviews:
    • D14658: Changes to the actions performed by the 'Start' and 'End' fields of a NLA strip in the NLA editor
    • D13818: Markers: add delete confirmation property

Production pipeline tools

Pipeline, Assets, and IO:

  • Flamenco:
    • Remove selection of jobs and add a single "active job".
    • Add Vue Router to handle URLs and become the owner of the "active job ID"
    • Add "may-I-keep-running" protocol (OpenAPI definition + implementation on Manager & Worker)
    • Hopefully fix SQLite database locking issue by using a single DB connection only. This might not be the best solution.

Other

Platform Maintenance:

  • T97737: GPU Subdivision: Crash after opening particular files
  • D14898: Build: disable usage of GLEW, CLEW, CUDA, GLFW in OpenSubdiv
  • Fixed by recompiling OpenSubDiv: T97737: GPU Subdivision: Crash after opening particular files

Other work:

  • ✅ Plan: fix the door opener at Blender HQ.
  • Discuss GSoC projects.

May 2 - 8

Animation

  • Investigated and closed T97710: Regression: Crash When Appending Items and Editing Expressions
  • Investigated T96289: Regression: Crash when accessing animated 'object.data' property in a driver of a Mesh
  • Forwarded to Bastien & Campbell: T95541: Regression: Broken vertex weight with mirror modifier
  • Poked Campbell about T56163: Improve MemFile Undo (for general use)
  • Reviews
    • D11652: WIP: Get path from nested ID properties on non-ID datastructures (Bones, Sequences, etc.) (T48975)
    • D14820: Selecting Action channel in NLA set the context now sets the context in the N pannel, as well as indicated the active selection
    • D14868: Fix T97529: NLA track option buttons can no longer be interacted with when hidden

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • Flamenco
    • Add system for subscribing to SocketIO updates of specific jobs.
    • Send task changes to the SocketIO "room" specific to the tasks' jobs.
    • OAPI: remove '-dirty' suffix from the version number in generated code. In practice there are always some pending changes in the Git repo when OpenAPI code is generated, so the -dirty suffix doesn't add much.
    • Add /api/tasks/{task_id} endpoint to fetch single tasks.
    • Show the selected task in the web client, and update it according to what's received via SocketIO.
    • Rework mass-updates to tasks (like requeueing all tasks when a job gets requeued) so that each task change sends a notification via SocketIO.
  • Reviews
    • D13297: Fix USD Preview Surface import bugs reported in T90535 (missing materials in Animal Logic's ALab).
    • D14869: T90535: Handle material name collisions on USD import
    • Involved myself slightly in D14853: Re-fix T97366: Support single-file UDIMs if given a tokenized path

Other

Core:

  • D13001: Un-ignore modules in .gitmodules configuration
  • Try to find solution for T96289: Regression: Crash when accessing animated 'object.data' property in a driver of a Mesh
    • First improvement: resolve driver variable RNA path and find the data-block it's referring to. Use that to create the relation, and not the original driver target.
    • Raised concern on rB56407432: Fix T94479: GPU Subdivision surface modifier does not apply to Cycles renders

Platform Maintenance:

  • Helped investigate T97737: GPU Subdivision: Crash after opening particular files


April 25 - May 1

3.5 day work week, Tuesday afternoon I take off.

Animation

Production pipeline tools

Pipeline, Assets, and IO:

Other

Core:

  • D14587: Expose background job info to Python
  • D14789: GNUmakefile: include autopep8 in the "make format" target

Platform Maintenance:

  • Landed libraries for Blender 3.2
  • D14793: Deps: Specify versions for implicit python modules
  • D14792: CMake: Reduce dependencies of USD to what's actually needed by Blender
  • Rebuilt OpenVDB/NanoVDB to include HIP patch (rBL62900)

April 18 - 24

Three day work week, Monday is national holiday and Wednesday my regular parttime day.

Animation

  • Reviews:
    • ✔️ Plan D14658: Changing the start and end frames of a NlaStrip now perform the same action
    • ✔️ Plan D8808: Armature Animation Baking: Important performance patch
    • D14719: Key the Current Influence Value of the Strip when Pushing Down the First NLA Track

Production pipeline tools

Pipeline, Assets, and IO:

  • Flamenco:
    • Fixed a bunch of race conditions in Master and Worker.
    • Web interface: use Pinia for state management.
    • Web interface: add notification bar.
    • Web interface: add Action buttons to perform actions on selected jobs.
    • Add "Activity" field to jobs, which will contain a description of the latest activity on the job. Currently it just contains the reason for state changes.
    • Add job actions for cancelling and requeueing jobs.
    • Reduce password strength of workers. These passwords are not meant to provide absolute security, but rather as a way to distinguish between different machines that happen to be configured with the same hostname (and thus the same Worker nickname). The password check was two orders of magnitude slower than the actual API call, though (50ms resp. 500µs).

Other

Core:

  • D14686: Add pyproject.toml configuration for autopep8

Other work:

  • Helped Arnd with OAuth2 authentication of Gitea against Blender ID.

April 11 - 17

Animation

  • Wrote T97323: Drawing of pose markers does not take NLA time mapping into account
  • Fixing/triaging:
    • T97161: Copy Global Transform: Two bugs when copying transforms with two ChildOf constraints
  • Reviews:
    • ✅ Plan: accept D10504: NLA: Keyframe Remap Through Upper Strips
    • ✅ Plan: D14581: Fix T95001: Set Parent (Keep Transform Without Inverse)
    • ⭕ Plan: D14345: Fix T96476: Equalize Handles Operator not working on all selected keyframes
    • ⭕ Plan: see if I can help with D13687: Use other frame range for motion paths instead of 1-250
    • D14289: Fix setting key shortcuts in the insert keyframe menu items
    • D14564: Fix Pushdown of an action from the Action Editor lacks immediate updates
    • D14089: Fix T95679: Outliner 'Unlink' directly on action misses DEG update
    • D12298: Markers: improve rename operator and shortcut
    • D14176: Animation: Select markers before/after current frame
    • D14635: BKE_nlatrack_add now behaves correctly when passing NULL as argument for prev

Cloud-Based Rendering

  • Flamenco:
    • Worker: find Blender via a call to AssocQueryStringW() from shlwapi.dll.
    • ✅ Plan: Live-stream Flamenco development on developer channel.
    • Lots of work on web UI.


Production pipeline tools

Pipeline, Assets, and IO:

  • T97275: Alembic export of "Only Selected Objects" with unexpected output
  • Reviews:
    • ✅ Plan: D14456: USD/Ctest: Add USD-Imaging tests.
    • ⭕ Plan: D11591: Alembic: import arbitrary attributes
    • D14644: UI: Improve wording for some USD export descriptions
    • D14484: Cleanup: Alembic, use a structure to pass parameters

Other

Core:

  • Reviewed D14626: Fix T97262: Crash with specific view layer setup

Platform Maintenance:

  • Worked on testing the USD Imaging test and 3.2 library upgrades.

Other work:

  • Helped Arnd with OAuth2 authentication of Gitea against Blender ID.

Plans for next week:

  • D14658: Changing the start and end frames of a NlaStrip now perform the same action
  • D8808: Armature Animation Baking: Important performance patch

April 4 - 10

Animation

  • ✅ Plan: T93405: Remove old pose library from UI, and deprecate Python API
    • rB6d1fbd24: Pose Library: avoid errors in the legacy panel when the add-on is disabled
    • rB7b7c78c4: Cleanup: remove incorrect comment
    • rB951e43be: Pose Library: use the right icon for the "More Info" button
    • rBAbaa5814: Pose Library: better support for legacy pose libraries
    • rBA8bc8400: Spacebar Menu: remove old pose library from menu
    • rBa824c076: Pose library: remove much of old pose library interface
    • rB81b55d79: Pose library: add deprecation notices
  • ✅ Plan: update to be done in B3.3: T93406: Removal of most of the old pose library in Blender 3.2
  • 🕐 Plan: Design & write blog post about changes in keying behaviour.
  • Reviews:
    • ✔️ Plan: D10504: NLA: Keyframe Remap Through Upper Strips
    • ✔️ Plan: D14345: Fix T96476: Equalize Handles Operator not working on all selected keyframes
    • ✅ Plan: D14230: NLA: Remove Hold resetting between Hold_Forward Behavior

Cloud-Based Rendering

  • Flamenco:
    • Generated JavaScript OpenAPI client.
    • Web interface with realtime job status changes.
    • Shaman compatible with Windows. This is limited to the local storage, though, so no shared storage yet, as creating symlinks on network drives is still cumbersome.
    • Manager: logging improvements.
    • Manager: better SQLITE_BUSY handling. It can now generate 1000 jobs in quick succession.
    • Worker: better shutdown behaviour.

Production pipeline tools

Pipeline, Assets, and IO:

  • Reviews:
    • ✅ Plan: D13958: New C++ based wavefront OBJ importer
    • D13855: Cleanup: CacheFile, use double precision for time

Other

Platform Maintenance:

  • ⭕ Plan: Land library changes for 3.2 (T95206)

Other work:

  • Created D14587: Expose background job info to Python

Plans for next week:

  • Reviews:
    • ☐ Plan: accept D10504: NLA: Keyframe Remap Through Upper Strips
    • ☐ Plan: D14581: Fix T95001: Set Parent (Keep Transform Without Inverse)
    • ☐ Plan: D14345: Fix T96476: Equalize Handles Operator not working on all selected keyframes
    • ☐ Plan: see if I can help with D13687: Use other frame range for motion paths instead of 1-250
    • ☐ Plan: D14456: USD/Ctest: Add USD-Imaging tests.
    • ☐ Plan: D11591: Alembic: import arbitrary attributes

March 28 - April 3

Animation

  • ☐ Plan: T93406: Removal of most of the old pose library in Blender 3.2
  • Reviews:
    • D14289: Improve usability of insert key-frame with key-bindings
    • Checked up on D13687: Use other frame range for motion paths instead of 1-250
    • ⭕ Plan: D12298: Markers: improve rename operator and shortcut
    • ✅ Plan: D13999: Enable action space gizmos

Cloud-Based Rendering

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • Reviews:
    • ☐ Plan: D14456: USD/Ctest: Add USD-Imaging tests.
    • ⭕ Plan: D11591: Alembic: import arbitrary attributes
    • ✔️ Plan: D13958: New C++ based wavefront OBJ importer

Other

Core:

Platform Maintenance:

  • ⭕ Plan: T95206: Libraries Changes for Blender 3.2

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

  • ⭕ Plan: Continue setting up SVN Proxy for Blender Animation Studio
  • Copy "Developer Roles" document from google sheets to Notion, and send mail to studio mailing list.

Plans for next week:

  • ☐ Plan: T93406: Removal of most of the old pose library in Blender 3.2
  • Reviews:
    • ☐ Plan: D10504: NLA: Keyframe Remap Through Upper Strips
    • ☐ Plan: D14345: Fix T96476: Equalize Handles Operator not working on all selected keyframes
    • ☐ Plan: D14230: NLA: Remove Hold resetting between Hold_Forward Behavior

March 21 - 27

Animation

  • ☐ Plan: Design & write blog post about changes in keying behaviour.

Cloud-Based Rendering

  • Flamenco:
    • ⭕ Plan: Manager: integrate Shaman and improve the protocol to fit in with the rest of the Manager API
    • ⭕ Plan: Add Shaman support to the Flamenco v3 add-on
  • ⭕ Plan: Continue review of D14374: Support for int, float types in BlendFileBlock.set

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • Thursday: module meeting
  • Reviews:
    • ✔️ Plan: D13297: Fix USD Preview Surface import bugs reported in T90535 (missing materials in Animal Logic's ALab).
    • ☐ Plan: D13958: New C++ based wavefront OBJ importer
    • ⭕ Plan: D14193: USD volume export

Other

Core:

Platform Maintenance:

  • Landed D14334: CMake: prepare USD build & find scripts for USD >= 21.11
  • Reviewed D14292: Fix make source_archive_complete for release branches

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

Plans for next week:

  • D14456: USD/Ctest: Add USD-Imaging tests.
  • T95206: Libraries Changes for Blender 3.2
  • T93406: Removal of most of the old pose library in Blender 3.2
  • D11591: Alembic: import arbitrary attributes

March 14 - 20

Animation

  • ☐ Plan: Design & write blog post about changes in keying behaviour.
  • Reviews:
    • ✔️ Plan: roll back and re-review D13687: Use other frame range for motion paths instead of 1-250

Cloud-Based Rendering

  • Flamenco:
    • ✅ Plan: Meeting with Andy about functional design of the new add-on
    • ✅ Plan: Add-on: support creating job at Manager
    • Implement frames-to-video and move-directory commands on Worker to support all parts of the Simple Blender Render job
    • ☐ Plan: Manager: integrate Shaman
    • ☐ Plan: Design support for projects, so that each project can have:
      • name
      • Shaman checkout root path
      • render output root path
  • Reviewed D14374: Support for int, float types in BlendFileBlock.set

Production pipeline tools

  • ☐ Plan: Work on SVN proxy for Blender Animation Studio

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

Other

Core:

Platform Maintenance:

  • Update USD to 22.03:
    • Created D14334: CMake: prepare USD build & find scripts for USD >= 21.11
    • ☐ Plan: Actually do the upgrade to 22.03

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

  • Finished WBSO 2021
  • Work on SVN proxy for Blender Animation Studio

Plans for next week:

March 7 - 13

Animation

  • ☐ Plan: Design & write blog post about changes in keying behaviour.
  • Reviews:
    • ✅ Plan: D9376: Blend To Default Value Implementation
    • D14022: Fix T95531: Draw y axis values in Driver Editor
  • Fixes / investigations:
    • T96203: IK chian length is can't use animate property
    • T92861: Selection bug when multi-editing different armature objects sharing the same armature obdata (poked Campbell)
    • T94360: Assert on dragging keyframes
    • T91669: Assert duplicating key-frames in the dope-sheet
    • T85870: ColorRamp Keyframes crash Blender. (UI code issue, not Animation code)
    • T89560: Insert key dropdown on keymap doesn't show keying sets anymore (Bisected, poked Campbell)
    • T95256: Crash when creating off-screen pose asset

Cloud-Based Rendering

  • Initial integration of BAT into the new Flamenco add-on

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

February 28 - March 6

Animation

  • ☐ Plan: Design & write blog post about changes in keying behaviour.
  • ✅ Plan: Thursday A&R module meeting
  • Reviews:
    • ☐ Plan: D9376: Blend To Default Value Implementation

Cloud-Based Rendering

  • Plan: Continue working on Flamenco 3.0:
    • ✅ Plan: Move development from Gitlab to developer.blender.org
    • ✅ Plan: Rename "Flamenco NG" to "Flamenco 3.0"
    • ✅ Plan: Write blog post to announce Flamenco 3.0

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • ☐ Plan: Consider upgrading USD to latest version for Blender 3.2
  • ☐ Plan: Review D13958: New C++ based wavefront OBJ importer

Other

Other work:

  • Corona

Plans for next week:

  • D14184: USD: Support building against USD 21.11+

February 21-27

Animation

  • Keying design refresh:
    • Thursday: Talk with Rik and Sebastian Parborg about current & desired keying behaviour.
  • Fixed / triaged:
    • T95596: Crash in versioning of node animation
    • T84848: Specific Rig Crashes blender when going into pose mode
    • T84944: Sound track in NLA editor doesn't mute at the end of the NLA strip
  • Reviews:
    • ☐ Plan: D9376: Blend To Default Value Implementation

Cloud-Based Rendering

  • New release of BAT and Blender Cloud add-on:
    • Compatibility with Python 3.10 & Blender 3.1
    • Support for UDIM textures.

Production pipeline tools

Asset Browser/Pose Library:

  • Investigated T95636: Dragging Material from Asset Browser (Link mode) to Viewport empty space removes this material from all objects

Pipeline, Assets, and IO:

  • ✅ Plan: Thursday 17-1u first module meeting!
  • ☐ Plan: Consider upgrading USD to latest version for Blender 3.2

Other

Core:

Platform Maintenance:

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

  • ✅ Plan: ensure new HQ IP address is configured wherever needed
  • Fixed my desktop machine (snapd incorrectly set XDG_DATA_DIRS causing the desktop to crash)

Plans for next week:

  • Review D13958: New C++ based wavefront OBJ importer
  • ☐ Plan: Design & write blog post about changes in keying behaviour.

February 14-20

Animation

  • Thursday: A&R module meeting
  • Fixes (and other closures of reports):
    • T94886: Custom bone shape disappears if going to editmode on the custom shape object
    • T95724: ASAN failure during bl_rigging_symmetrize test (BKE_fcurves_filter or BLI_str_unescape_ex)
    • T84117: Crash when using to_mesh() on a depsgraph object in a driver
  • Reviews:
    • ☐ Plan: D9376: Blend To Default Value Implementation
    • D14105: Fix: RNA property not set for Graph editor breakdown op
    • D13844: Constraints: introduce wrapper functions to access target lists.
    • rBceea3d0f: Fix T95135: improve error filtering non-existant anim data

Production pipeline tools

Pipeline, Assets, and IO:

  • Continue working on Flamenco NG, get the Worker running commands & send updates + logs to Manager.
  • ☐ Plan: Consider upgrading USD to latest version for Blender 3.2
  • Reviews:
    • ✔️ Plan: D13297: Fix USD Preview Surface import bugs reported in T90535 (missing materials in Animal Logic's ALab).
    • ☐ Plan: D13958: New C++ based wavefront OBJ importer

Other

Core:

  • rBe0fd31f0: Fix segfault calling id_properties_ui("prop").update()

Platform Maintenance:

  • Reviews:
    • D14106: Fix compilation error on certain platforms

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

  • ✔️ Plan: "Workshop" photos for the yearly report
  • Reviewed: D14119: PyAPI: Generic UIList for CollectionProperties

Plans for next week:

February 7-13

Animation

  • Reviews
    • ✔️ Plan: D13687: Use other frame range for motion paths instead of 1-250
    • ✔️ Plan: T93374: UI change for the Armature Modifier
    • D13967: FIX: T95135 Wrong exception thrown when calling bpy.ops.graph.euler_filter() operator
    • ⭕ Plan: D9376: Blend To Default Value Implementation
    • D13990: Fix T91253: Slow pose bone selection with many bones
    • D10168: Fix T84486: Nla Disable "Sync Length" After Split

Cloud-Based Rendering

  • Continue working on Flamenco-NG

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • Reviews
    • ☐ Plan: D13297: Fix USD Preview Surface import bugs reported in T90535 (missing materials in Animal Logic's ALab).

Other

Core:

Platform Maintenance:

  • ✅ Plan: D13950: Deps: upgrade OpenXR 1.0.17 -> 1.0.22

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

  • ✅ Plan: Monday 15:00 meeting with Anna, Sergey, Arnd, Francesco about auth infrastructure

Other work:

  • ☐ Plan: "Workshop" photos for the yearly report
  • Thursday: Workshop about developer roles at BI; continuation of last week.

Plans for next week:

  • ☐ Plan: D13958: New C++ based wavefront OBJ importer
  • ☐ Plan: Consider upgrading USD to latest version for Blender 3.2

January 31 - February 6

Animation

  • ✅ Plan: Monday 16:30: NLA meeting with Brad Clark
  • Thursday: module meeting
  • Reviews
    • ☐ Plan: D13687: Use other frame range for motion paths instead of 1-250
    • ☐ Plan: T93374: UI change for the Armature Modifier
    • Reviewed and landed rB150f42e6: NLA: shortcut to rename active strip

Cloud-Based Rendering

  • ✅ Plan: Continue working on the new Flamenco.
  • Fixed BAT + Blender Cloud add-on for compatibility with zstandard/Blender 3 compressed files.

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

Other

Core:

  • T90379: How to use & transition to std::filesystem?

Platform Maintenance:

  • Reviews:
    • D13943: Python: bump minimum version to 3.10

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

  • ✅ Plan: Thursday 10:30-13:00: workshop about roles/functions/levels with HR & Ton.

Plans for next week:

  • D13950: Deps: upgrade OpenXR 1.0.17 -> 1.0.22
  • Flamenco-NG
  • "Workshop" photos for the yearly report
  • Monday 15:00 meeting with Anna, Sergey, Arnd, Francesco about auth infrastructure

January 24 - 30

Animation

  • ✅ Plan: Thursday morning: Sprite Fright post-mortem with Rik
  • Reviews
    • ✅ Plan: D13702: Implementation: Equalize Handle Operator
    • ☐ Plan: D13687: Use other frame range for motion paths instead of 1-250

Cloud-Based Rendering

  • ☐ Plan: Continue working on the new Flamenco.

Production pipeline tools

  • Tuesday: Talked with Paul Golter about pipeline tooling design, asset metadata tracking, etc.

Asset Browser/Pose Library:

  • Reviews:
    • D13191: PoseLib: use bpy.utils.flip_name()

Pipeline, Assets, and IO:

  • Reviews:
    • Reviewed and landed D13647: USD Preview Surface material export.
    • D13745: Native STL importer

Other

Core:

Platform Maintenance:

  • T93161: Libraries Changes for Blender 3.1:
    • Build new GMP
    • Build new FreeType + Brotli
    • Add proper FindBrotli.cmake module
    • D13913: CMake: use FindBrotli.cmake on Windows and macOS
    • Upgrade Python and struggle a lot with zstandard version numbers

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

Plans for next week:

  • T93374: UI change for the Armature Modifier

January 10 - 16

Animation & Rigging

  • ⭕ Plan: Investigate T94542: VSE: Animation operators missing cache invalidation
  • Closed T94719: Keying preference 'Only Insert Needed' functionality has changed unexpectedly
  • Reviews
    • ☐ Plan: D13702: Implementation: Equalize Handle Operator
    • ☐ Plan: D13687: Use other frame range for motion paths instead of 1-250
    • D13787: Fix error when keyframing with Custom Properties

Cloud-Based Rendering

  • ☐ Plan: Continue working on the new Flamenco.
  • ✅ Plan: Monday: meeting with Francesco about the new Flamenco.
  • ✅ Plan: meeting with Andy about Flamenco job/task queue management wishes.

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • Investigated T94396: USD animation exported from Audio2face can't play after opening saved scene
  • Reviews:
    • D13647: USD Preview Surface material export.
    • D13603: Alembic: add support for reading override layers

Other work:

Other

Core:

  • T94627: Speakers cannot be muted or unmuted via the API (bpy.data.speakers.muted is broken)
  • Reviews
    • D13808: Fix T94230: Crash rendering with EEVEE in mesh edit-mode

Platform Maintenance:

  • Reviews:
    • D9177: CMake: use FFmpeg find module on Linux

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

  • ☐ Plan: Friday: BI developers kick-off of 2022.
  • ✅ Plan: Thursday: meeting with HR.

Plans for next week:

January 3-9

Animation

Animation & Rigging:

  • ☐ Plan: Investigate T94542: VSE: Animation operators missing cache invalidation
  • Reviews
    • ✔️ Plan: D13702: Implementation: Equalize Handle Operator
    • ✔️ Plan: D13687: Use other frame range for motion paths instead of 1-250
    • D9376: Blend To Default Value Implementation
    • D9732: Constraints: refactor the D7437 patch that added Custom Space for constraints.
  • Complained to Campbell about reviewing & approving animation-related code without even notifying the Animation & Rigging module:
    • rBc8d59b60: Make keyframe inserts/removals less verbose when called from python.
    • rB78b9a8c7: Add an option to silence bpy.ops.anim.keyframe_delete_v3d when used in Addons

Cloud-Based Rendering

  • Created proof of concept for embedding JavaScript in Flamenco for job compilation with Goja.
  • Started end user design document with a high-level overview of to-be-considered topics.
  • Expanded the Manager PoC with an OpenAPI 3 interface and a Worker PoC that uses it.
  • Reviews/maintenance:
    • Closed D11996: Blender-Cloud-Addon: Bump blender-asset-tracer to 1.5.1

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • Reviews
    • D13629: Patch for building blender with USD 21.11
    • D13046: Exporter part of soc 2020 fast Obj IO project
    • ✅ Plan: D10145: Subdivision: add support for vertex creasing
    • D13647: USD Preview Surface material export.
    • D10196: Alembic: add settings to control radius of imported curves and points

Other

Core:

Platform Maintenance:

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

Plans for next week: