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/2021

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

December 20 - 28

I forgot to add a new weekly report on 27 December; since I'll only work on Monday and Tuesday, I've included my work here instead.

Plans for next week:

Asset Browser/Pose Library:

  • ✅ Plan: T93960: Can't save catalogs in asset browser for 3.0 (with Unicode paths)
  • Fixed T94264: Blender Crashing While Appending Animation Action
  • Closed T90621: the Pose library addon seems to use more CPU than the Asset browser when loading from an asset file.
  • Reviews:
    • D12818: ID: Foreach External File.
    • ⭕ Plan: D12990: AssetsBrowser: Add ID Properties to Asset Indexer

Animation & Rigging:

Core:

Pipeline, Assets, and IO:

  • ✅ Plan: Reevaluate T92561: Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair
  • Reviews:
    • D13652: Cache File: use panels to organize UI
    • D13647: USD Preview Surface material export.
    • First review pass of D13046: Exporter part of soc 2020 fast Obj IO project
    • D13297: Fix USD Preview Surface import bugs reported in T90535 (missing materials in Animal Logic's ALab).
    • Abandoned D8754: Wavefront OBJ: Adding a faster exporter

Platform Maintenance:

  • ☐ Plan: Write harvesting code for D11678: depsbuilder: preliminary Vulkan/Shaderc build support.

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

Other work:

  • ☐ Plan: Work on Making Of SF video (postponed
  • ⭕ Plan: WBSO
  • Created T94268: Closing SteamVR and restarting VR Session crashes Blender
  • Investigated RabbitMQ and ZeroMQ as potential replacement for parts of Flamenco.
  • Created [T94362: heap-use-after-free after assigning a material](https://developer.blender.org/T94362)
  • Update home workstation

December 13 - 19

Plans for next week:

Asset Browser/Pose Library:

  • ☐ Plan: D12990: AssetsBrowser: Add ID Properties to Asset Indexer
  • ⭕ Plan: T93960: Can't save catalogs in asset browser for 3.0 (with Unicode paths)

Animation & Rigging:

Core:

Pipeline, Assets, and IO:

  • ✅ Plan: Tuesday: meeting about USD with Michael Kowalski (NVIDIA), Kévin Dietrich, and Brecht.
  • ☐ Plan: Reevaluate T92561: Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair

Platform Maintenance:

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

Other work:

  • ⭕ Plan: WBSO
  • Design discussion with Francesco about Flamenco & other Studio Lineup services (doc)

December 6 - 12

Plans for next week:

  • ☐ Plan: D12469: Collections: Support for animating/driving collection properties…
  • ☐ Plan: continue review of D9374: Blend To Neighbour Implementation
  • ☐ Plan: Work on Making Of SF video
  • ☐ Plan: WBSO

Asset Browser/Pose Library:

  • Reviews:
    • D13470: Fix T93467: Use world background color when rendering pose library previews
  • rB0c703b85: Disable asset indexing in the Asset List
  • rB86992a96: Asset Indexer: use fixed-length string for ID code
  • D13537: RNA/UI: add flag to disallow relative file/directory paths

Animation & Rigging:

  • Thursday: Animation & Rigging module meeting
  • Fixed: T93707: Dragging the NLA strip cause a crash, if the related action is in tweakmode
  • Wrote T93944: Next/Previous Keyframe breaks when "Show Only Selected" is disabled
  • Reviews:
    • D13477: Fix: Remove line from common invoke
    • ⭕ Plan: D9374: Blend To Neighbour Implementation
    • D13531: Function to return a list of keyframe segments
    • D13526: Fix T93892: Changing bone name leaves non-functional vertex group

Core:

Pipeline, Assets, and IO:

  • Tuesday: meeting with NVIDIA about USD
  • ☐ Plan: Reevaluate T92561: Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair

Platform Maintenance:

  • ☐ Plan: Write harvesting code for D11678: depsbuilder: preliminary Vulkan/Shaderc build support.
  • ✅ Plan: Reproduce D13464: Fix linking against libXxf86vm
    • Sebastian Parborg reproduced; reproducing locally caused some unrelated build issues on my system.

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

Other work:

  • To tackle in December: T93407: Blender 3.0: Code Architecture Wiki Documentation
  • ⭕ Plan: Work on Making Of SF video
  • ☐ Plan: WBSO
  • Help with Valve Index VR support T93509: VR Add-on: Unintended navigation when using Valve Index

November 29 - December 5

Plans for next week:

Asset Browser/Pose Library:

  • ✅ Plan: Discuss asset bundle install button with Dalai/Ton
    • D13412: BPath traversing: allow skipping weak library references
    • D13413: Asset Bundle Copy button: only report each external dependency once
  • ✅ Plan: Work on Ellie pose library demo file with Rik
  • Triaged T93482: Asset Browser: Search result of previously selected asset
  • Reviews:
    • Approved & landed D13398: Fix T93431: Crash when empty is marked as asset

Animation & Rigging:

  • Investigated T93353: Reload Library Override file loses Constraints
  • Reviews:
    • ✅ Plan: D9326: Create generic modal functions from GRAPH_OT_decimate

Core:

  • Updated API documentation guideline according to T92709: Code Style: documentation at declaration or definition
  • Reviews:
    • D13404: Fix T93439: Armature widgets from hidden collections are invisible
    • D13426: Fix T93353: Reload Library Override file loses Constraints, take II.

Pipeline, Assets, and IO:

  • ☐ Plan: Reevaluate T92561: Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair

Platform Maintenance:

  • ✔️ Plan: D13278: Deps Builder: GMP 6.2.1
  • ✔️ Plan: D11678: depsbuilder: preliminary Vulkan/Shaderc build support.

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

Other work:

  • ☐ Plan: Work on Making Of SF video
  • ☐ Plan: WBSO

November 22 - 28

Plans for next week:

  • ☐ Plan: Reevaluate T92561: Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair
  • D13278: Deps Builder: GMP 6.2.1
  • D11678: depsbuilder: preliminary Vulkan/Shaderc build support.
  • D9326: Create generic modal functions from GRAPH_OT_decimate
  • Discuss asset bundle install button with Dalai/Ton
  • Work on Making Of SF video

Asset Browser/Pose Library:

  • ✔️ Plan: Asset Bundle pose lib demo file
  • ✔️ Plan: Asset Bundle install button
    • D13312: Asset Browser: add operator for installing asset bundles
    • rBcd2849c8: Asset Browser: add operator for installing asset bundles
  • Closed T93302: Asset Browser, all of the categories are missing .
  • Copied asset browser docs into the manual (SVN revision 8656 of the manual; Phabricator doesn't allow linking to commits on branches)
  • Created list of Standard Catalogs
  • Closed T92477: Asset preview lost after edit & reload
  • rBc91d1961: Fix T93274: Assigning asset catalog doesn't mark file as modified

Animation & Rigging:

  • ✅ Plan:Anim & Rigging module meeting
    • To check & maybe get demo: D12331: Dope Sheet: Nested action groups
    • Removed Wayde Moss from Modules page, as he disappeared.
    • Add more module members?
    • For the roadmap: reduction of technical debt, possibly including moving code out of blenkernel into its own module
    • Brad Clark worked on roadmap for NLA
    • Removal of old pose library from Blender 3.1?
  • Reviews
    • D9360: Extract keyframe segment calculation
    • D12302: Animation: Add test cases for ED_keyframes_keylist.
    • D9326: Create generic modal functions from GRAPH_OT_decimate
  • Closed T93372: Add possibility to edit F-Curve modifier toggles via Python
  • Investigated T91912: Crash on deleting driver

Core:

Pipeline, Assets, and IO:

Platform Maintenance:

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

Other work:

  • ✅ Plan: Monday 12h: more dev meeting on engineering practices, how modules work, welcoming developers, accepting patches, etc.
  • ☐ Plan: WBSO

November 15 - 21

Plans for next week:

  • Monday 12h: more dev meeting on engineering practices, how modules work, welcoming developers, accepting patches, etc.
  • Asset Bundle pose lib demo

Asset Browser/Pose Library:

Animation & Rigging:

Core:

Pipeline, Assets, and IO:

  • ☐ Plan: Reevaluate T92561: Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair
  • Continued disucssion on T92561: Mesh Sequence Cache (ABC) an hair interpolated children distribution issue (triangulate modifier seem to fix it)
  • Reviewed D11150: Improve(/fix) usage of threads in the creation of thumbnails

Platform Maintenance:

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

Other work:

  • ☐ Plan: WBSO
  • ⭕ Plan: talk with Arnd about doxygen
  • ✅ Plan: Thursday 12:00 continue discussion on dev process improvements
  • Write feedback on the Emergency Response Officer training we did a few weeks ago.

November 8 - 14

Plans for next week:

Asset Browser/Pose Library:

Animation & Rigging:

  • Thursday: module meeting
  • Discussed T92930: Outliner "Show Active" frames object instead of bone for Bones on hidden layers in Pose Mode.
  • Reviews:
    • D11299: Copy Attributes: Copy Custom Properties
    • D13030: Fix T92043: Relax/Push Pose does nothing for quaternion rotation.
    • ✅ Plan: D6100: Armature Make/Clear Parent: Grey out options that don't do anything
    • D13028: Fix T92469: Show transform tools in weight-paint + pose mode
    • didn't comment, but I do agree with D13173: Fix T92979: Emission Strength Animation read wrong in 3.0
    • D12633: Geometry Nodes: Swap IcoSphere mesh primitive inputs

Core:

Pipeline, Assets, and IO:

  • ☐ Plan: Reevaluate T92561: Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair

Platform Maintenance:

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

  • Landed D13128: Fix for read_only files not being usable with BAT
  • Released BAT v1.8
  • Released new version of Blender Cloud add-on (v1.23) to ship with BAT v1.8

Other work:

  • ☐ Plan: WBSO

November 1 - 7

Only two days of working on Blender for me. Tuesday & Wednesday off, Thursday Emergency Response training.

Plans for next week:

Asset Browser/Pose Library:

  • Reviews:
    • D12693: T91406: Asset Library Indexing

Animation & Rigging:

  • Closed known issue T81012: Pose Library not saving bones with certain prefixes (uses WholeCharacter keyingset and its 'badBonePrefixes' cannot be changed by python)
  • Helped a potential new developer in #animation-module
  • Prepare meeting agenda for next module meeting: https://devtalk.blender.org/t/2021-11-11-animation-rigging-module-meeting-upcoming/21157
  • Bugs:
    • Fixed T92405: Emission Strength Animation of 2.93.5 inherited wrongly in 3.0
    • Looked into T84543: Audio Scrubbing bug
    • Marked as resolved T87681: UI bugs in NLA Editor and Action Editor
    • Archived T88066: Auto Keying with "Only Active Keying Set" creates keyframes it shouldn't
  • Reviews:
    • D9455: Cleanup: Remove unused noise functions
    • D7875: T77124: Remapping RNA_path_resolve to other ID Blocks for FCurves

Core:

  • Wrote proposal T92709: Code Style: documentation at declaration or definition

Pipeline, Assets, and IO:

  • Reclassified T92561: Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair
  • ✅ Plan: review D11278: Alembic: Allow exporting of animated vertex colors

Platform Maintenance:

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

Other work:

  • Reviewed D13128: Fix for read_only files not being usable with BAT

October 25 - 31

Plans for next week:

Asset Browser/Pose Library:

  • ✅ Plan: T82679: Support Filtering by Tags
  • ☐ Plan: Allow rendering preview images from the 3D Viewport
  • T90553: Normalise catalog paths by changing backslashes to forward slashes
  • Fixed T87627: Asset Browser Search Bar not working
  • Created & landed D12991: Cleanup: refactor filelist filter functions
  • rB550cbec5 Cleanup: asset catalog path test, improve sub-test separation (2021-10-25)
  • rB1267dfee Cleanup: refactor filelist filter functions (2021-10-25)
  • Found layout problem (layout.prop() and layout.label() having different spacing), traced it back to rBa3d5b949: UI: Fix text padding for labels without an icon
  • rB26e3045e 3D View context: return "ok" when fetching view3d context dir (2021-10-26)
  • rB5acbc01d Cleanup: 3D View context, use enum values (2021-10-26)
  • rB2d5c9e0b Cleanup: 3D View context, early returns for clearer flow (2021-10-26)
  • rB03c0581c Assets: allow Mark/Clear Asset operators from 3D Viewport (2021-10-26)
  • rBeaed38cb Add Assets menu to 3D View's Object menu (2021-10-26)
  • rB7bffddfa Don't deselect assets in ED_fileselect_activate_by_id (2021-10-26)
  • Start documentation of Asset Browser with Julian: https://hackmd.io/3m1wH9TPQuS0Tz3m4XbM0A
  • Reviews:
    • D10334: Assets/IDs: Don't generate previews for object types with no real geometry
    • D10358: Proposal: Improved feedback when dropping is not possible on drag 'n drop
    • D12990: AssetsBrowser: Add ID Properties to Asset Indexer

Animation & Rigging:

Core:

  • rBbeea601e BKE Callbacks: more explicit initialisation check (2021-10-25)
  • Wrote T92507: CTX_data_selected_objects yields PointerRNAs with invalid owner_id

Dependency Graph:

Pipeline, Assets, and IO:

  • ☐ Plan: review D11278: Alembic: Allow exporting of animated vertex colors

Platform Maintenance:

  • ✅ Plan: Review D12228: CMake: option to install Python headers

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

Other work:

  • Monkey Butler duties, including making Thai green curry for during the online premiere of Sprite Fright.
  • Theatrical pre-premiere of Sprite Fright.

October 18 - 24

Plans for next week:

Asset Browser/Pose Library:

  • ✅ Plan: Take over D12796: Asset Browser: Improved workflow for asset catalog saving
  • ☐ Plan: T82679: Support Filtering by Tags
  • ☐ Plan: Allow rendering preview images from the 3D Viewport
  • Landed D12885: Assets: add global bke::AssetLibraryService class
  • rB9a1d75e0: Asset Library Service: make insensitive to trailing slashes
  • rBAe68c011: Pose Library: explicitly call pose_action.asset_generate_preview()
  • rB5ccec8ec Asset Catalogs: treat first-loaded catalog as main catalog (2021-10-21)
  • rB4b48b107 Asset Catalogs: refresh simple name when renaming catalog (2021-10-21)
  • rB16c79d3b Asset Catalogs: add test for backslashed catalog paths (2021-10-21)
  • Created and landed D12967: Asset Catalogs: support reloading without losing local changes
  • T91949: Show "Orphaned" assets in "Unassigned" catalog
  • rBcd6fc651 Asset Browser: add notifiers on catalog edits (2021-10-22)
  • Created T92434: Avoid Asset Catalog highlighting when dragging non-local asset
  • Reviews:
    • D12922: AssetBrowser : Fix Crash when marking assets from python.
    • D12544: BlenLib: Add JSON Serialization/Deserialization Abstraction Layer.
    • D12693: T91406: Asset Library Indexing
    • D11768: Assets: Don't keep dragged in assets marked as assets
    • D12879: Asset Browser: Duplicate/Reuse option for Current File asset library

Animation & Rigging:

  • ☐ Plan: Continue with fix for T91102: Objects with clampto constraint change their position after the target object from copy rotation constraint is rotated and then pressed ctrl+z
  • ☐ Plan: Continue discussion on T87548: Propagate Pose, Next Keyframe
  • Reviews:
    • ✅ Plan: Continue review of D9551: Fix T82455: precision issues and bug in vec_roll_to_mat3_normalized...
    • ☐ Plan: Continue discussion on D12387: Fix T91133: clarify Animation 'Clean Channels' and 'Clean Keyframes' description

Core:

  • ✅ Plan: Review D6408: Unify blend file thumbnail extraction
  • rBa7075a30: BKE_callback_remove: prevent crash on Blender exit
  • Reviewed D12915: Fix: Build warning with MSVC

Dependency Graph:

Pipeline, Assets, and IO:

  • ☐ Plan: review D11278: Alembic: Allow exporting of animated vertex colors

Platform Maintenance:

  • ✅ Plan: Continue working on D12777: Bump Python to 3.9.7 and add zstandard package
    • Landed patch
    • Rebuilt Python + packages and added them to SVN (rBL62731)
    • rBab1909fe Deps: Python, install Cython package (2021-10-22)

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

Other work:

  • ✅ Plan: BHV (First Responder) course with Sergey & Dalai

October 11-17

Plans for next week:

Asset Browser/Pose Library:

  • ✅ Plan: T92047: Undo system for catalog edits
  • ✅ Plan: T91634: Improve catalog deletion (including multiple catalogs with the same path)
  • ⭕ Plan: T91197: Crash when setting asset preview image from python (ASAN heap-use-after-free in render_preview.c)
  • ✅ Plan: Hide Catalog ID/Simple Name from asset props panel (only show with dev extra's enabled)
  • T91562: Refresh Catalog Simple Name when updating asset's catalog ID
  • D12885: Assets: add global bke::AssetService class
  • Reviews:
    • D12689: Add unit tests for asset library suitable root path function
    • D12693: T91406: Asset Library Indexing
    • D12714: Fix warning about deleted default constructor declared as default
    • D12796: Asset Browser: Improved workflow for asset catalog saving
    • D12839: Fix T92113: On assets, replace "Fake User" button with "Clear Asset" button.
    • D12544: BlenLib: Add JSON Serialization/Deserialization Abstraction Layer.
    • D12423: AssetBrowser: Localize external files.

Animation & Rigging:

  • ☐ Plan: Continue with fix for T91102: Objects with clampto constraint change their position after the target object from copy rotation constraint is rotated and then pressed ctrl+z
  • ☐ Plan: Continue discussion on T87548: Propagate Pose, Next Keyframe
  • Reviews:
    • ⭕ Plan: Continue review of D9551: Fix T82455: precision issues and bug in vec_roll_to_mat3_normalized...
    • ☐ Plan: Continue discussion on D12387: Fix T91133: clarify Animation 'Clean Channels' and 'Clean Keyframes' description
    • D12651: Fix T91743: Unify behavior of 'Auto Set Preview Range'

Core:

  • ☐ Plan: Review D6408: Unify blend file thumbnail extraction

Dependency Graph:

  • Created design task T92206: Bounding Box: compute using depsgraph node

Pipeline, Assets, and IO:

  • ✅ Plan: Continue review of D12479: Add basic USD import test.
  • Reviews:
    • D12818: ID: Foreach External File.

Platform Maintenance:

  • ⭕ Plan: Continue working on D12777: Bump Python to 3.9.7 and add zstandard package
  • ☐ Plan: Change ..._VERSION_MAX to ..._VERSION_MEX in install_deps.sh (Mex on Wikipedia)

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

Other work:

  • BHV (First Responder) course with Sergey & Dalai

October 4 - 10

Plans for next week:

Asset Browser/Pose Library:

  • ✅ Plan: Tuesday: Present the current status, goals for Blender 3.0, and future plans, at Blender Institute
  • rBcc6a3509: Asset Catalogs: change rules for saving catalog definition files
  • Discuss catalog deletion with Julian: T91634: Improve catalog deletion (including multiple catalogs with the same path)
  • Discuss catalog edits undo system with Julian, Bastien, and Jason Schleifer.
  • Created T92047: Undo system for catalog edits

Animation & Rigging:

  • ☐ Plan: Continue with fix for T91102: Objects with clampto constraint change their position after the target object from copy rotation constraint is rotated and then pressed ctrl+z
  • ☐ Plan: Continue discussion on T87548: Propagate Pose, Next Keyframe
  • Reviews:
    • ☐ Plan: Continue review of D9551: Fix T82455: precision issues and bug in vec_roll_to_mat3_normalized with axis close to -Y
    • ☐ Plan: Continue discussion on D12387: Fix T91133: clarify Animation 'Clean Channels' and 'Clean Keyframes' description

Core:

  • ☐ Plan: Review D6408: Unify blend file thumbnail extraction

Dependency Graph:

Pipeline, Assets, and IO:

Platform Maintenance:

  • Got my CentOS VM working at the office with QEmu.
  • ✅ Plan: rebuild FFmpeg (T88438: Libraries Changes for Blender 3.0)
  • D12777: Bump Python to 3.9.7 and add zstandard package

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

Other work:

  • ✔️ Plan: Maybe for this week if I have the time: add Zstandard support to BAT. This is necessary for Blender 3.0 as it switched from GZip to Zstd for compressing blend files (announcement)
    • Added optional zstandard support to BAT
    • Created D12777: Bump Python to 3.9.7 and add zstandard package

September 27 - October 3

Plans for next week:

  • Maybe for this week if I have the time: add Zstandard support to BAT. This is necessary for Blender 3.0 as it switched from GZip to Zstd for compressing blend files (announcement)
  • ☐ Plan: Continue review of D9551: Fix T82455: precision issues and bug in vec_roll_to_mat3_normalized with axis close to -Y
  • ☐ Plan: Do a review pass of https://wiki.blender.org/wiki/User:Sergey/DraftDependencyGraph

Asset Browser/Pose Library:

  • ✅ Plan: get catalogs merged to master
  • Fixed T90844: How to delete a pose library asset?
  • Created and landed D12710: Asset Catalog Path class
  • Implemented T91681: Save catalogs when saving the blend file
  • Reviews:
    • D12618: Assets: Additions/fixes to the catalog system in preparation for the UI
    • D12158: File/Asset Dialog: Support home/end/pgup/dn keys
    • D12647: Assets: Expose option to reuse data-block data when appending
    • D12689: Add unit tests for asset library suitable root path function
    • D12670: Asset Browser: Initial Asset Catalog UI
    • D12713: Asset Browser: Support dragging assets into catalogs

Animation & Rigging:

  • ☐ Plan: Continue with fix for T91102: Objects with clampto constraint change their position after the target object from copy rotation constraint is rotated and then pressed ctrl+z
  • ☐ Plan: Continue discussion on T87548: Propagate Pose, Next Keyframe
  • ☐ Plan: Continue discussion on D12387: Fix T91133: clarify Animation 'Clean Channels' and 'Clean Keyframes' description
  • Created T91871: Symmetrize Armature should symmetrize transform of custom bone shape
  • Animation & Rigging module meeting (notes).
  • Reviews:
    • D12643: Constraints: change default Stretch To rotation type to Swing.
    • D12494: Fix T81922: Pose bones don't show in the graph editor when it's object isn't selected
    • D12391: Fix Drivers Editor not hiding vertical part of cursor
    • D12392: Fix Drivers Editor showing playhead on the X Axis
    • D12512: Fix T91237: Wrong Editors could sync animation 'Visible Range'

Core:

  • ☐ Plan: Review D6408: Unify blend file thumbnail extraction

Dependency Graph:

Pipeline, Assets, and IO:

  • ☐ Plan: rebuild FFmpeg (T88438: Libraries Changes for Blender 3.0)
  • Discussed with Parborg: D12034: GHOST/X11: enable EGL

Platform Maintenance:

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

Other work:

September 20 - 26

Plans for next week:

  • Maybe for this week if I have the time: add Zstandard support to BAT. This is necessary for Blender 3.0 as it switched from GZip to Zstd for compressing blend files (announcement)
  • ☐ Plan: Review D6408: Unify blend file thumbnail extraction
  • ☐ Plan: Continue with fix for T91102: Objects with clampto constraint change their position after the target object from copy rotation constraint is rotated and then pressed ctrl+z
  • ☐ Plan: Continue discussion on T87548: Propagate Pose, Next Keyframe
  • ☐ Plan: Continue discussion on D12387: Fix T91133: clarify Animation 'Clean Channels' and 'Clean Keyframes' description
  • ☐ Plan: rebuild FFmpeg (T88438: Libraries Changes for Blender 3.0)

Asset Browser/Pose Library:

  • ✅ Plan: fix UUID generation compatibility with macOS < 10.15
  • ✅ Plan: Continue conversion of "Catalog ID" → Catalog UUID + simple name
  • ✅ Plan: Update catalog definition file writing to follow new format (UUID:path:simple name)
  • ✅ Plan: Update catalog definition file writing to order by path
  • Created & landed D12611: Fileops: call BLI_path_slash_native() in BLI_dir_create_recursive()
  • Created & landed rB9b12b23d D12589: Assets: add Asset Catalog system
  • Wrote documentation about asset catalogs.
  • Reviews:
    • D12576: Hide Pose Library panels unless in Pose Mode
    • D12573: UI: Tree-View API for easy creation of tree UIs

Animation & Rigging:

  • ✅ Plan: Publish last week's A&R module meeting (agenda)
  • Reviews:
    • ☐ Plan: Keep an eye on D11803: Animation: allow specifying a custom frame range for actions. (will be linked to in today's A&R module meeting)
    • ☐ Plan: Continue review of D12486: Cleanup: Extract keyframe filter from graph_slider_ops
    • ☐ Plan: Continue review of D12487: Cleanup: Extract function to store bezt arrays
    • Reviewed D9137: Pose Slide Operator: Blend To Neighbour

Core:

  • Created D12625: Kernel: allow unregistering BKE callback functions

Dependency Graph:

Pipeline, Assets, and IO:

Platform Maintenance:

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

  • ✅ Plan: Release latest Flamenco Worker & Manager
  • ✅ Plan: Help Francesco setting up an external render farm

Other work:

  • Configure my new work PC.

September 13 - 19

Plans for next week:

  • Maybe for this week if I have the time: add Zstandard support to BAT. This is necessary for Blender 3.0 as it switched from GZip to Zstd for compressing blend files (announcement)
  • ☐ Plan: Review D6408: Unify blend file thumbnail extraction
  • Release latest Flamenco Worker & Manager

Asset Browser/Pose Library:

  • Created & landed D12475: Blenlib: introduce a UUID type

Animation & Rigging:

  • Thursday: A&R module meeting (agenda)
  • ☐ Plan: Continue with fix for T91102: Objects with clampto constraint change their position after the target object from copy rotation constraint is rotated and then pressed ctrl+z
  • ☐ Plan: Continue discussion on T87548: Propagate Pose, Next Keyframe
  • Reviews:
    • ✅ Plan: Review D10401: Fix T85564: FCurve modifier zero influence on restrict range borders
    • ⭕ Plan: Review D12387: Fix T91133: clarify Animation 'Clean Channels' and 'Clean Keyframes' description (will be discussed in today's A&R module meeting)
    • ✔️ Plan: Review D11803: Animation: allow specifying a custom frame range for actions. (will be linked to in today's A&R module meeting)
    • D12486: Cleanup: Extract keyframe filter from graph_slider_ops
    • D12487: Cleanup: Extract function to store bezt arrays
    • D12489: Cleanup: move code in graph_slider_ops
    • D12490: Cleanup: renames in graph_slider_ops

Core:

  • ✔️ Plan: write design task T91452: Make saving of quit.blend on exit optional
  • Created T91395: 2 out of 6 bytes produced by BLI_rng_get_char_n() are predictable

Dependency Graph:

Pipeline, Assets, and IO:

  • ⭕ Plan: Review D12479: Add basic USD import test.

Platform Maintenance:

  • Discussion with Sebastian Parborg & Julian Eisel about T90676: Wayland support

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

  • Discussion with Anna and Francesco about the Cloud → Studio + Meta refactor.

Other work:

  • Tuesday: Feedback training workshop for the entire studio

September 6 - 12

Back from holiday. Most of this week (at least the first day) will be reading through piles of unread emails, messages on Blender Chat, and getting updated on the current status of things.

Plans for next week:

  • ☐ Plan: write design task to avoid writing quit.blend on every Blender exit.

Asset Browser/Pose Library:

  • ✅ Plan: fix T91046: "Create pose asset" button hangs blender
  • Discussed asset catalog definition file details, moving to UUIDs to identify catalogs.

Animation & Rigging:

  • ✅ Plan: read up on the notes of the A&R module meetings that happened during my holiday.
  • ✅ Plan: put the new meeting on the agenda
  • Worked on fix for T91102: Objects with clampto constraint change their position after the target object from copy rotation constraint is rotated and then pressed ctrl+z
  • Reviews:
    • ⭕ Plan: Review D10401: Fix T85564: FCurve modifier zero influence on restrict range borders
    • ✅ Plan: Review D12052: Anim: Keylist drawing optimization by using arrays.
    • ✅ Plan: Review D12198: T78995: Enable keylist threaded drawing.
    • ⭕ Plan: Review D11803: Animation: allow specifying a custom frame range for actions.
    • ✅ Plan: Review D9361: Implement generic slider in graph_slider_ops
    • ✅ Plan: Review D12174: Fixed Constraints not updating on move in stack.
    • ✅ Plan: Review Christoph's fix for T89027: After applying the Pose Breakdowner, the Factor in the popup menu does not work.
    • ⭕ Gave feedback on D12387: Fix T91133: clarify Animation 'Clean Channels' and 'Clean Keyframes' description

Pipeline, Assets, and IO:

  • ☐ Plan: Review D6408: Unify blend file thumbnail extraction

Platform Maintenance:

  • Created paste for Dalai: P2368: CentOS7 setup script for 'make deps'

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

  • Discussed with Anna & Francesco about ideas for Blender version checker.

August 9 - 15

Work on Wednesday, off on Friday.

Asset Browser/Pose Library:

  • ✅ Plan: meeting about ID deduplication on Tuesday 14:00.
  • Catalog work:
    • ✔️ Plan: Integrate AssetManager into FileList struct, ensuring it gets (re)loaded appropriately.
    • ☐ Plan: Add API for iterating over catalogs.
    • Refactored filelist read job functions: rB22ed1c7b: Cleanup: filelist, pass FileListReadJob to job functions
    • Created design task T90541: Case-insensitivity of catalog IDs
    • Created design task T90552: Creation of Catalogs
    • Discussed in T90545: ID Deduplication on Append - Technical Implementation
  • Reviewed D11988: Fix T89984: Improve Icon previews reflective and transmissive materials.
  • Reviewed D12120: Enable Asset Browser by default for poses, rest stays experimental

Animation & Rigging:

  • ☐ Plan: Review D11803: Animation: allow specifying a custom frame range for actions.
  • ✅ Reviewed & landed D10914: Add Extras Dropdown Menu to Constraints
  • ⭕ Discussed D10401: Fix T85564: FCurve modifier zero influence on restrict range borders
  • ✅ Plan: Review D12085: Fix T89805: NLA crash without active track
  • ✅ Plan: Review D12191: Fix T89027: [2.93 only] pose slide factor wrong in redo popup
  • ✅ Plan: Review D11503: Fix T88498: 'Clear Parent' does not clear parent_bone
  • ✅ Plan: Review D11052: Fix Action Editor unlink button when in tweak mode
  • ✅ Plan: Review D11040: Fix missing animation UI update in the Properties Editor
  • ✅ Plan: Review D11041: Fix NLA action cannot be unlinked in certain cases

Core:

  • Discussed how to handle opaque struct pointers in C that have their implementation in C++

Dependency Graph:

Pipeline, Assets, and IO:

Platform Maintenance:

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

  • Do some digging for a Blender ID account to figure out why he couldn't log in any more on Blender ID. Turned out that the account was deactivated, for no known reason.
  • Discuss a mysteriously missing Blender Cloud subscription with Anna.

Other work:

  • ✅ Plan: Attend NVIDIA/Omniverse Partner Council (Wed & Thu evenings, 19:00-21:00)

August 2 - 8

Plans for next week:

  • Attend NVIDIA/Omniverse Partner Council (Wed & Thu evenings, 19:00-21:00)
  • Work on Wednesday, off on Friday.
  • Review D11803: Animation: allow specifying a custom frame range for actions.

Asset Browser/Pose Library:

  • Catalog work:
    • ⭕ Plan: Finish saving catalogs to disk. (still needs ordering by path)
    • ✔️ Plan: Add Catalog ID to asset metadata.
    • ☐ Plan: Expose API for getting info about the Catalog ID, for read-only use in the UI.
    • ☐ Plan: Store catalogs in hierarchical data structure.
    • ☐ Plan: Expose API for getting that data structure, for use in the UI.
  • Discussed pose library in https://devtalk.blender.org/t/2021-08-20-asset-browser-and-3-0/19730/21

Animation & Rigging:

  • Thursday: Animation & Rigging module meeting.
  • ✅ Plan: play with the Rigging Nodes add-on before the module meeting.
  • ☐ Plan: review D7547: Action Constraint: add Split Channels Mix choices from Copy Transforms
  • Reviewed D9361: Implement generic slider in graph_slider_ops
  • Reviewed D11878: Generic Pose slider Color Change

Core:

  • Disussed T90379: How to use & transition to std::filesystem?
  • ⭕ Plan: review D9697: Refactor IDProperty UI data storage

Dependency Graph:

Pipeline, Assets, and IO:

  • Reviewed D12125: Fix error setting the ID name in disabled alembic nurbs importer

Platform Maintenance:

  • Discussed & handled fallout of rB0b18a618: GHOST/X11: enable EGL
    • Installed libegl1 and libopengl0 packages on the render farm.
    • Discussed with Campbell and Sergey on how to move forward.
    • Someone filed T90374: Blender doesn't start, probably after 'GHOST/X11: enable EGL' commit
    • The way this is handled reminds me so much of D9697 (Refactor IDProperty UI data storage), where part of the patch that was still being discussed was extracted into another patch (D11908) with the other reviewers **excluded**, approved, and committed to master. And now with the EGL change it feels exactly the same. Parborg and me are asking questions about the bigger picture and the impact in D11489, and all of a sudden D12034 is created without us as reviewers (or Bastien for that matter), approved, and committed to master.

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

Other work:

July 26 - August 1

Plans for next week:

  • Read through https://python-patterns.guide/
  • revisit pose library for object-level animation
    • Fix poselib issue identified by Dalai: re-rendering preview image for object-level pose Action logs warning about not being able to apply the pose.

Asset Browser/Pose Library:

  • ✅ Monday: Asset Browser project meeting
  • Reviewed D11974: Cleanup: Hide implementation details for ED_keyframe_keylist.
  • Worked on catalog loading & saving to disk.

Animation & Rigging:

  • Reviewed D12024: Fix: Instantly hide bones after hitting H key in pose sliding
  • Plan: discuss T90041: Update property when adding or removing keyframe
  • Reviewed D10914: Add Extras Dropdown Menu to Constraints
  • Reviewed D9551: fix T82455: vec_roll_to_mat3_normalized() returns NaN for bones with longitudinal axis close to -Y
  • Fixed T89976: Mirror Keys By Value Over Cursor Value gives outrageous results on rotation keyframes

Dependency Graph:

Pipeline, Assets, and IO:

  • Continued review of D10700: USD Importer

Platform Maintenance:

  • Reverted patch that was committed without being accepted: D11489: enable Wayland via environment variable at runtime
    • The patch was committed in three separate commits, but this was neither what was agreed upon nor even mentioned after the fact in the patch.
    • The commits were ill-presented, and didn't convey their impact.
    • The commit messages did not include references to the original patch, or to the fact that they were reviewed at all.
    • The extra build-time dependencies were not communicated.
    • Continued disucssion on D11489: enable Wayland via environment variable at runtime
  • Commit updates to SVN:
    • rBL62660: Linux: LLVM, OIIO, OSL, OIDN, MESA
    • rBL62662: Linux: rebuilt OSL to statically link against libpng
    • rBL62663: Linux: bump zstd version 1.4.9 → 1.5.0
    • rBL62664: Packages: wayland-protocols + flex
    • rBL62665: Packages: bump OIIO/OSL/ISPC/LLVM/Mesa/OIDN/OpenMP/WinFlex

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

Other work:

  • Discuss the use of std::filesystem with the core module. In short, macOS didn't support it until versions from 2018, and dropping support for older macOS versions will probably not sit well with users.
  • Wrote & landed D12031: Add StringRef::trim() function

July 19 - 25

Plans for next week:

  • T90041: Update property when adding or removing keyframe
  • 2½ days of Asset Browser, 1 day of module work, 2nd half of Friday off.

Asset Browser/Pose Library:

  • Plan: Fix poselib issue identified by Dalai: re-rendering preview image for object-level pose Action logs warning about not being able to apply the pose.
  • ✅ Plan: Continue writing fix for assumption in pose library that "Action Group name" == "bone name".
    • That fixed T89147: Remove assumption that FCurve group name equals bone name
  • ✅ Tuesday: meeting with on-site HQ devs about Asset Browser and 3.0 targets.
  • ⭕ Worked on a plan of attack for the Catalogs: https://hackmd.io/SSyh6eGTRhmUzV3JtksREA

Animation & Rigging:

  • Thursday: Animation & Rigging module meeting 18:00-19:00 (Notes)
  • ⭕ Plan: Continue review of D9314: Generic Slider implementation
  • Reviewed D11974: Cleanup: Hide implementation details for ED_keyframe_keylist.
  • Made ICS calendar for Animation & Rigging meetings: https://stuvel.eu/anim-meetings/

Pipeline, Assets, and IO:

  • ⭕ Plan: Review & hopefully land D10700: USD Importer
    • Patch is good to go code-wise, but still needs clarity on the copyright notices.
  • Continued review of D11489: enable Wayland via environment variable at runtime
  • Reviewed D11949: Add explicit type conversions to Alembic files to suppress compiler warnings

Platform Maintenance:

  • Build new versions D11748: Deps builder: OIIO/OSL/ISPC/OIDN/LLVM/WinFlex updates

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

  • Plan: help with Store → Cloud subscription migration
    • Gave Anna commit rights to the Store git repo
    • All files on the Store server that belonged to me belong to Anna now.
  • Worked on BAT
    • Made a cleaner, optionally switched-back-on implementation of the hack I made a while ago for Andy: a "Strict Pointer Mode" (the previously default behaviour of BAT now has a name). It is disabled by default when using the BAT CLI, and can be optionally re-enabled with the -S option.
    • Removed support for Python 3.5 and 3.6, and added support for 3.8 and 3.9.
    • Gave Paul Golter commit rights to BAT on dev.b.o and maintainer right on PyPi, so that he can publish new releases.
    • Landed D11996: Blender-Cloud-Addon: Bump blender-asset-tracer to 1.5.1
    • Released new Blender Cloud add-on (1.20)

Other work:

  • Join Blender Today to talk about the Pose Librar & Asset Browser.
  • Discuss API design in D9697: Refactor IDProperty UI data storage

July 12 - 18

Plans for next week:

  • Monday: help with Store → Cloud subscription migration
  • Thursday: Animation & Rigging module meeting 18:00-19:00
  • Hopefully land D10700: USD Importer
  • Fix poselib issue identified by Dalai: re-rendering preview image for object-level pose Action logs warning about not being able to apply the pose.
  • Continue writing fix for assumption in pose library that "Action Group name" == "bone name".
  • Continue review of D9314: Generic Slider implementation

Asset Browser/Pose Library:

  • ✅ Plan: Work with Julian Eisel on splitting up the asset-browser-poselib branch patch (D11384) into a few concrete commits, as preparation for committing things to master.
  • ✅ Plan: Commit the above patches to master
  • ✅ Plan: fix T88281: Poselibrary 'flip pose' function is causing lattice controls to rotate unexpectedly
    • ✅ Plan: use dot product to test whether the "fix" is necessary.
  • Started writing a fix for assumption in pose library that "Action Group name" == "bone name".

Animation & Rigging:

  • Pose slider work:
    • Reviewed D9314: Generic Slider implementation
    • First accepted, but then found a crash so reported it in the patch and asked for changes again.
    • Reviewed & accepted D11883: Remove automatic hiding of bones when using the pose slider
  • Replied to T85423: Crash on toggle bone layer
  • Glanced over D11803: Animation: allow specifying a custom frame range for actions.

Dependency Graph:

  • Reviewed D11851: Fix T89734: Incorrect dependency cycle with id property on modifier.
  • Found root cause of T89875: False dependency cycle on particle systems

Pipeline, Assets, and IO:

  • Reviewed D11156: Alembic: operator to set the Scene frame range from the Archive time information

Platform Maintenance:

  • Commit Wayland-Protocols to SVN: D11489: enable Wayland via environment variable at runtime

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

  • Plan: Release Flamenco Worker 2.6 and deploy on the Blender Animation Studio render farm.
    • The new version (2.6) has been tagged as release in the Git repo, and deployed to the Studio farm.
    • Still needs a binary build for macOS and Windows in order to properly release it on flamenco.io
  • Did some work for Flamenco Worker 2.7:
    • Fixed (re-)registration issue of Flamenco Worker introduced in 2.6
    • Support reporting JPEG version of just-reported EXR output.
  • Helped Anna with Store database problems (subscription renewal errors, queries timing out, general performance issues)
  • Hacked-together a fix(ish) for TLS certificate renewal issue on CloudV3 server
  • Fixed reverse-proxy issue making various CloudV3 URLs unreachable (the cloudbalance server's proxy buffer needed increasing).

Other work:

  • Spanked Hans and Campbell for taking D11908 (Python API: Add functions to ensure and clear IDProperties) out of D9697 (Refactor IDProperty UI data storage) and landing it without including the original reviewers.

July 5 - 11

Plans for next week:

  • Release Flamenco Worker 2.6 and deploy on the Blender Animation Studio render farm.

Asset Browser/Pose Library:

  • Plan: Work with Julian Eisel on splitting up the asset-browser-poselib branch patch (D11384) into a few concrete commits, as preparation for committing things to master.
  • Plan: Commit the above patches to master
  • Added operator to the pose library add-on that can convert an old-style pose library to pose assets.
  • Reviewed D11119: Assets: Keep assets active after renaming, ensure they are scrolled into view
  • Made an attempt at fixing T88281: Poselibrary 'flip pose' function is causing lattice controls to rotate unexpectedly

Animation & Rigging:

  • ⭕ Plan: Review D11667: Animation: Motion Paths Refresh All
  • ✅ Plan: Investigate T89397: The geometry nodes aren't updating the animation render. Everything else is.
  • ✅ Plan: Thursday: Animation & Rigging Module meeting
  • ✔️ Wrote D11811: Fix T89435: Reordering FCurves can cause crash or corruption
  • Reviewed D7547: ActionConstraint: Option to combine transform components separately
  • Archived T89679: Animation channels do not get removed from action when according modifier/constraint is deleted
  • Continued review of D9314: Generic Slider implementation
  • Accepted D11683: Make Single User: support object data animation
  • Closed T89716: Apply Transforms doesn't work with Auto Keying

Dependency Graph:

  • ⭕ Plan: Review D11599: Depsgraph: Implement 'ID_RECALC_GEOMETRY_DEFORM'
  • Started review of D11851: Fix T89734: Incorrect dependency cycle with id property on modifier.

Pipeline, Assets, and IO:

  • Accepted D11808: Alembic: remove non-functional "Renderable Objects" only option
  • Accepted D11820: Alembic export: evaluation mode option
  • Continued review of D10197: Cycles: experimental integration of Alembic procedural in viewport rendering
  • Discussed T89649: Alembic is exporting objects with geometry nodes as empty objects.

Platform Maintenance:

  • Accepted D11460: Fix unreported: Incorrect SIZET_FORMAT macro on Windows platforms
  • Accepted D11796: macOS/ ffmpeg: Fix linker warning
  • Reviewed D11824: Add wayland-protocols to distribution
  • Continued review of D11489: enable Wayland via environment variable at runtime
  • Upgrade OpenXR T88438: Libraries Changes for Blender 3.0

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

Core:

  • Reviewed D9697: Refactor IDProperty UI data storage
  • Reviewed D11827: Add BLI_assert_msg() for printing an extra string if the assert fails

June 28 - July 4

Three day work week for me. Monday = holiday, Wednesday = my usual parttime day.

Plans for next week:

  • Review D11667: Animation: Motion Paths Refresh All
  • Investigate T89397: The geometry nodes aren't updating the animation render. Everything else is.
  • Review D11599: Depsgraph: Implement 'ID_RECALC_GEOMETRY_DEFORM'
  • Thursday: Animation & Rigging Module meeting

Asset Browser/Pose Library:

  • Worked with Julian Eisel on splitting up the asset-browser-poselib branch patch (D11384) into a few concrete commits, as preparation for committing things to master. He's also been working on extracting things from that patch, already moving them into the master branch.
  • Reviewed D11768: Assets: Don't keep dragged in assets marked as assets
  • Call with Antonio Vazquez about Grease Pencil assets

Animation & Rigging:

  • Edited last week's A&R Module Meeting notes taken by Bassam (he didn't have time due to personal reasons).
  • Accepted D11724: Fix T89484: NLA "Remove Empty Animation Data" missing Outliner refresh
  • ⭕ Investigated T89435: Moving F curves up and down in the dope sheet can cause blender to crash immediately
  • Continued review of D9314: Generic Slider implementation
  • Accepted D9493: Constraints: add support for a new Owner Local Space for targets.
  • Accepted D9469: Copy Transforms: implement Remove Target Shear and more Mix options.
  • Investigate T89592: Can't remove keyframes without active keying set
  • Reviewed D11683: Make Single User: support object data animation

Pipeline, Assets, and IO:

  • Discuss [T89594: Alembic export not respecting the renderable flag](https://developer.blender.org/T89594)
  • Continued review of D10197: Cycles: experimental integration of Alembic procedural in viewport rendering
  • Continued review of D10196: Alembic: add settings to control radius of imported curves and points

Platform Maintenance:

  • Discussed upgrading zstd in D11079: deps_builder: add support for building zstd
  • Marked Alembic as "do not upgrade" in T88438: Libraries Changes for Blender 3.0
  • Discuss upgrading OpenXR and including a Wayland XML file D11489: enable Wayland via environment variable at runtime

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

  • Figured out why Blender Cloud texture browser failed.
    • It was caused by rBb787581c: WM: don't set the area when toggling full-screen
    • Wrote T89526: bpy.ops.screen.screen_full_area() resets certain fields of the context

Other work:

  • Read up on messages piling up due to holiday.
  • Set up my desk at my new working location in the Blender office.
  • Gave Paul Golter some in-depth info about Flamenco
  • Discussed T89532: Text datablocks don't self-register when getting a .00x suffix

June 21 - 27

Holiday

June 14 - 20

Plans for next week:

Asset Browser/Pose Library:

  • Plan: Work with Julian on plan to merge the asset-browser-poselib branch to master (D11384: Asset Browser Poselib Branch)
  • Plan: Work on blog post with Julian to present the asset browser workshop results.

Animation & Rigging:

  • Reviewed D11502: glTF baking time optimization via parallelization
  • Plan: 🕐 Discuss T54724: Workflow improvements for creating Animation Loops
  • Plan: continue review of BBone workflow improvement patches:
    • D9493: Constraints: add support for a new Owner Local Space for targets.
    • D9469: Copy Transforms: implement Fix Target Shear and more Mix options.
    • D9870: Armature: add B-Bone lengthwise scaling and custom handle scaling options.
  • Reviewed D10914: Add Extras Dropdown Menu to Constraints
  • ✔️ Plan: discuss T89054: Improve integration of generic attributes.
  • Reviewed D9314: Generic Slider implementation
  • Started review of D7547: ActionConstraint: Option to combine transform components separately

Dependency Graph:

  • Read through D11544: VSE: Improve animation evaluation performance
  • ⭕ Plan: review D11599: Depsgraph: Implement 'ID_RECALC_GEOMETRY_DEFORM'
  • Gave my opinion in D11572: ID Properties: Update depsgraph when id properties change.
  • Continued review of D11377: Depsgraph: support flushing parameters without a full COW update

Pipeline, Assets, and IO:

  • Reviewed D11584: Alembic: support reading per-vertex UV sets
  • Continued review of D10197: Cycles: experimental integration of Alembic procedural in viewport rendering
  • Reviewed D10145: Subdivision: add support for vertex creasing
  • Fixed T88605: Alembic import crashes when missing arbGeomParams
  • Fixed T88394: Crash on edit/moving "override frame" keyframes of alembic mesh sequence cache modifier.

Platform Maintenance:

  • Continued review of D11489: enable Wayland via environment variable at runtime

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

Other work:

  • Talk Paul Golter through the Attact drawing code of the Blender Cloud add-on

June 7 - 13

Plans for next week:

  • Work with Julian on plan to merge the asset-browser-poselib branch to master (D11384: Asset Browser Poselib Branch)
  • ⭕ Work on blog post with Julian to present the asset browser workshop results.
    • Plan: 🕐 Discuss T54724: Workflow improvements for creating Animation Loops

Asset Browser/Pose Library:

  • ⭕ Work on blog post with Julian to present the asset browser workshop results.
  • Work with Julian on plan to merge the asset-browser-poselib branch to master (D11384: Asset Browser Poselib Branch)

Animation & Rigging:

  • ✅ Thursday: Animation & Rigging module meeting (agenda)
  • ✅ Plan: Sit with Demeter to discuss patches by Alexander Gavrilov
    • Plan: 🕐 Discuss T54724: Workflow improvements for creating Animation Loops
    • Reviewed D9493: Constraints: add support for a new Owner Local Space for targets.
    • Reviewed D9469: Copy Transforms: implement Fix Target Shear and more Mix options.
    • Reviewed D9870: Armature: add B-Bone lengthwise scaling and custom handle scaling options.
  • ⭕ Plan: Review D10914: Add Extras Dropdown Menu to Constraints
  • ⭕ Plan: 🕐 Review D9314: Generic Slider implementation
  • ✅ Plan: 🕐 Continue review of D11181: Curve selection in the graph editor
  • Closed T88814: Riging - unpredictable behaviour with Constraint Track To
  • Investigate rBbe009020: Defaults: Change default axes for Track To constraint (seems to have had no review, no discussion with the Animation & Rigging module)
  • Discuss T66946: NLA strip unexpectedly auto-switching from Hold to Hold Forward
  • Land D11528: Fix T88068: Changed default Alt-I behavior to be more intuitive
  • Closed as resolved: T79024: 2.83.2 and 2.9.0 problem with bone selection inside another bone
  • Reviewed & landed D11569: Fix: Segmentation fault when reordering animation channels
  • Reviewed & landed D11528: Fix T88068: Changed default Alt-I behavior to be more intuitive

Dependency Graph:

  • ⭕ Plan: Review D11337: Depsgraph: remove redundant mesh data duplication in edit-mode
  • ⭕ Plan: Review D11377: Depsgraph: support flushing parameters without a full COW update

Pipeline, Assets, and IO:

  • Reviewed D10197: Cycles: experimental integration of Alembic procedural in viewport rendering
  • Reviewed D10196: Alembic: add settings to control radius of imported curves and points
  • Continued review of D10700: USD Importer

Platform Maintenance:

  • Reviewed D11489: enable Wayland via environment variable at runtime
  • Suggest upgrading to Alembic 1.8.2 (T88438: Libraries Changes for Blender 3.0)

Other work:

  • Investigate problem with the buildbot, where the asset-browser-poselib branch would be incorrectly built with the addons from the master branch.

May 31 - June 6

Plans for next week:

  • Review D10914: Add Extras Dropdown Menu to Constraints
  • Review D9469: Copy Transforms: implement Fix Target Shear and more Mix options.
  • The planned things I didn't get around to this week.

Asset Browser/Pose Library:

  • Asset Workshop on Monday and Tuesday

Animation & Rigging:

  • Gave Christoph Lendenfeld commit access to Blender.
  • Reviewed various pose slider patches by Christoph:
    • D11364: Cleanup: pose slider use enum types
    • D11365: Cleanup: pose slider rename region to region_header
    • D11363: Cleanup: pose slider use strncpy
    • D11361: Cleanup: pose slider rename "percentage" to "factor"
    • D11362: Cleanup: pose slider data types
    • D11395: Fix T88546 - Breakdowner typed input not working
    • Marked as abandoned (because it was split up into the above patches): D11284: Cleanup Pose Slider code
  • ✔️ Plan: Review D9493: Constraints: add support for a new Owner Local Space for targets.
  • ✅ Plan: Review D9626: Limit Rotation: add an Euler Order option and orthogonalize the matrix.
  • Plan: 🕐 Review D9314: Generic Slider implementation
  • Plan: 🕐 Continue review of D11181: Curve selection in the graph editor
  • Plan: 🕐 Discuss T54724: Workflow improvements for creating Animation Loops
  • Closed T43104: fcurve modifier scaling oddity
  • Looked into T87923: Inverse Kinematic constraints only work for first bone
  • Further discussed D7511: CollectionProperty: Keyframe Insert Using Element Name

Pipeline, Assets, and IO:

Dependency Graph:

  • ⭕ Plan: Review D11337: Depsgraph: remove redundant mesh data duplication in edit-mode
  • ⭕ Plan: 🕐 Review D11377: Depsgraph: support flushing parameters without a full COW update

Platform Maintenance:

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

  • ✅ Plan: discuss migration of Cloud subscriptions from Blender Store to the new Cloud site, with Anna and Francesco
  • ✅ Plan: Publish new Scripting for Artists video on Readability & Understandability

Other work:

  • Investigate the need of the studio to commit MP4 files to SVN.
  • Clean up mailbox by going through old Phabricator mails

May 25 - 30

Plans for next week:

  • Monday & Tuesday: Asset System Workshop
  • Discuss with Anna about subscription migrations from Blender Store to Blender Cloud.
  • Review D9493: Constraints: add support for a new Owner Local Space for targets.
  • Review D9626: Limit Rotation: add an Euler Order option and orthogonalize the matrix.

Asset Browser/Pose Library:

  • ✅ Plan: Tuesday: Prepare Asset System workshop
  • ✅ Plan: Thursday: Asset System Workshop
  • ✅ Plan: Friday: Asset System Workshop

Animation & Rigging:

  • Plan: 🕐 Review D9314: Generic Slider implementation
  • Plan: 🕐 Continue review of D11181: Curve selection in the graph editor
  • Plan: 🕐 Discuss T54724: Workflow improvements for creating Animation Loops
  • Plan: D11395: Fix T88546 - Breakdowner typed input not working

Pipeline, Assets, and IO:

  • Reviewed D10197: Cycles: experimental integration of Alembic procedural in viewport rendering

Dependency Graph:

  • Plan: Review D11337: Depsgraph: remove redundant mesh data duplication in edit-mode
  • Plan: 🕐 Review D11377: Depsgraph: support flushing parameters without a full COW update

Platform Maintenance:

  • Upgrade FFmpeg to 4.4 to fix T88568: Encoded video fps is wrong

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

  • ✅ Plan: Continue review D11118: VAT calculations for subscriptions
  • Plan: Publish new Scripting for Artists video
  • Document how to restart the Flamenco Worker nodes on the render farm at Blender HQ.

Other work:

May 17 - 23

Three-day week for me, as Monday was a national holiday.

Plans for next week:

  • Tuesday: Prepare Asset System workshop
  • Thursday: Asset System Workshop
  • Review D11337: Depsgraph: remove redundant mesh data duplication in edit-mode
  • Publish new Scripting for Artists video
  • Continue review D11118: VAT calculations for subscriptions
  • If there is enough time:
    • Continue review of D11181: Curve selection in the graph editor
    • Review D11377: Depsgraph: support flushing parameters without a full COW update
    • Discuss T54724: Workflow improvements for creating Animation Loops
    • Review D9314: Generic Slider implementation

Asset Browser/Pose Library:

Animation & Rigging:

  • Plan: Continue review of D11181: Curve selection in the graph editor
  • Plan: Discuss T54724: Workflow improvements for creating Animation Loops
  • Plan: review D9314: Generic Slider implementation
  • ⭕ Reviewed: D11284: Cleanup Pose Slider code
  • Reviewed & landed (in 2.93 branch) D11282: Fix T88359: Issue of object matrix order use in pose bake
    • Fixed T86193: Bake action result unexpected since 2.92
    • Fixed T88359: Bake of animation keyframes are fail when object is quaternion define but bones is Eular define
  • Reviewed D11330: Fix T88375: Bone Size Small After V3D.View_All

Pipeline, Assets, and IO:

  • ✅ Plan: hopefully fix T88081: Write and read generated texture coordinate space with the alembic exporter and modifier

Platform Maintenance:

  • Wrote T88431: Buildbot is ignoring important CMake settings in buildbot/config/blender_linux.cmake

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

  • ⭕ Plan: review D11118: VAT calculations for subscriptions

Other work:

  • ⭕ Plan: Finish Scripting for Artists video on readability (video finished, needs uploading & discussing whether it also goes to YouTube)

May 10 - 16

This is a three-day week for me, because Thursday is Ascension day (day off here in NL), and Wednesday is my regular day off.

Plans for next week:

  • Plan: Finish poselib presentation / blog post
  • D11118: VAT calculations for subscriptions
  • Continue review of D11181: Curve selection in the graph editor
  • Discuss T54724: Workflow improvements for creating Animation Loops
  • Plan: Finish Scripting for Artists video on readability
  • Plan: review D9314: Generic Slider implementation

Asset Browser/Pose Library:

  • ✅ Plan: Edit poselib demo videos & voice-overs
  • Plan: Finish poselib presentation / blog post
  • ✅ Plan: watch new Cinema4D features video
  • Discuss design T87942: Suggestion: Move UI List filter buttons to the top

Animation & Rigging:

  • ✅ Plan: Continue review of D9054: Pose Sliding tools improvements
  • ✅ Plan: Ensure 'D10222: NLA: Extract nlasnapshot_blend_get_inverted_upper_snapshot()' gets landed
  • ✅ Plan: Review D11071: Fix T54339: Shapekey Max value doesn't clamp existing value
  • ✔️ Plan: Review D11181: Curve selection in the graph editor
  • Review D11213: Animation: move Cycle-Aware Keying to the Keying popover.
  • Land D10974: Add geometry parameters for custom bone
  • Close T88068: Alt-I in 3D Viewport doesn't respect active keying set (not a bug)
  • Review D11248: Fix T88208: Missing Depsgraph Relations Updates

Pipeline, Assets, and IO:

Depsgraph:

  • ✅ Plan: Review D10907: Fix T85752: Collection Instance Crash when instancing collections with disabled subcollections

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

  • ⭕ Plan: review D11118: VAT calculations for subscriptions

Other work:

  • Plan: Finish Scripting for Artists video on readability
  • Remove privacy-sensitive files from SVN history. Doing this properly cost me many hours :/

May 3 - 9

Plans for next week:

  • Discuss T54724: Workflow improvements for creating Animation Loops
  • Review D11071: Fix T54339: Shapekey Max value doesn't clamp existing value
  • Review D11181: Curve selection in the graph editor
  • Finish poselib demo videos / presentation / blog post
  • Edit poselib demo videos & voice-overs
  • Finish Scripting for Artists video on readability
  • Continue review of D9054: Pose Sliding tools improvements
  • Ensure 'D10222: NLA: Extract nlasnapshot_blend_get_inverted_upper_snapshot()' gets landed

Asset Browser/Pose Library:

  • ✅ Plan: Check & fix unit test crashes in asset-browser-poselib branch
  • ⭕ Plan: Record voice-over for poselib demo videos, so they can be understood without my presentation (T87911) (recording done, still needs editing & using it in the videos)
  • Plan: Re-record the pose creation videos, as Julian fixed the asset browser refresh issues.
  • ✅ Plan: Check & ensure that environment variables are inherited by processes started by the Open In Blender operator in the asset browser/view. Answer: yes, they are.
  • Plan: watch new Cinema4D features video with Julian
  • Review D10843: UI: option to flip X/Y preview icons for 'template_asset_view'
  • Raise concern on rBb0a6a388: Asset: Keep assets active after renaming, make sure they are scrolled into view
  • Review D11150: Fix bad usage of threads in the creation of thumbnails

Animation & Rigging:

  • ⭕ Plan: Continue review of D9054: Pose Sliding tools improvements
  • ✔️ Plan: Continue review of D10974: Add geometry parameters for custom bone
  • Plan: Ensure 'D10222: NLA: Extract nlasnapshot_blend_get_inverted_upper_snapshot()' gets landed
  • Plan: Discuss work plans with Wayde Moss, who's back after a month of working on other things.
  • ✅ Plan: investigate T87935: NLA modifiers not 'editable' with linked characters (overrides)

Pipeline, Assets, and IO:

  • Plan: Continue review of D11019: Wavefront OBJ: faster exporter, continued
  • ✅ Plan: Continue review of D11109: Expose pack/unpack Blender libraries operators to the menu
  • Plan: Continue review of D10700: USD Importer
  • Investigate & archive T88029: Alembic export of shrinkwrap modifier evaluation has mesh artifacts
  • Write T88074: Alembic: export animated vertex colors
  • Commandeer & commit D8397: Alembic add option to write UVs on every frame (the studio needs it for Sprite Fright)

Platform Maintenance:

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

Other work:

  • Plan: Code Quality Day on Friday
  • GSoC meeting to discuss proposals
  • ⭕ Plan: review D10907: Fix T85752: Collection Instance Crash when instancing collections with disabled subcollections
  • ⭕ Review D10988: FFmpeg: Initialize encoders with default values
  • Record Scripting for Artists video on readability

April 26 - May 2

Two-day work week for me.

Plans for next week:

  • Record voice-over for poselib demo videos, so they can be understood without my presentation

Asset Browser/Pose Library:

  • Prepare pose library demo (recording videos, making slides)
  • Demo pose library for Francesco and Julian

Animation & Rigging:

  • Animation & Rigging module meeting (notes), including pose library demo

Pipeline, Assets, and IO:

  • Review D11109: Expose pack/unpack Blender libraries operators to the menu

Other work:

  • Talk with Bram about the Corona measures in the office

April 19 - 25

Plans for next week:

  • Only a 2-week workday for me. Monday I took off, Tuesday is a national holiday, Wednesday is my regular day off.
  • Thursday 17h: Animation & Rigging module meeting
  • Thursday morning: Demo of Asset Browser/Pose Library project at Blender Institute
  • Review D11019: Wavefront OBJ: faster exporter, continued

Asset Browser/Pose Library:

  • ✅ Plan: Go over Julian Eisel's design (link1 link2)
  • Plan: Continue working on the plan for the Asset Browser / Pose Library demo at the end of April (link)
  • Plan: See what can be committed to master already. Suggestion:
    • Pose Flipping
    • Pose Applying
  • Review D10334: Assets/IDs: Don't generate previews for object types with no real geometry
  • Meeting with Julian and Francesco about upcoming pose library demo + some prep work for that demo
  • Updated Flamenco Manager config on the studio's farm to hopefully solve a problem with overrides.
  • Commits:
    • rBA3e1ffc2: Pose Library: only show Asset Browser panels in relevant category
    • rBA97afb66: Pose Library: only add to asset browser context menu when seeing animations
    • rB3146c7c4: Asset Browser: simple panel mix-in class for specific categories
    • rBAba1c769: Pose Library: move some asset browser functionality from hotkeys to the context menu
    • rBA2fa5b1d: Pose Library: expand "(de)select bones" operator poll function so that they only are active when a pose asset is selected
    • rB2002cdaa: Asset Browser: also refresh asset UIlist after other blender closes

Animation & Rigging:

  • Discuss T87548: Propagate Pose, Next Keyframe
  • Review D10974: Add geometry parameters for custom bone
  • Ask for clear description and images D10401: Fix T85564: FCurve modifier zero influence on restrict range borders
  • Review D10796: Fix T86809: Action Editor header not display the right action in certain scenarios
  • Review D10391: Action Bake: Explicit Option For Auto Frame Range
  • Check with animators whether they're interested in D10766: Pose Mode: Flip Pose Transform
  • Review D10222: NLA: Extract nlasnapshot_blend_get_inverted_upper_snapshot()
  • Commits:
    • rB26d778cd: Cleanup: keying sets, use self as self-parameter
    • rBeca5cf14: Cleanup: keying sets, move common code to mix-in class
    • rB7192ab61: Animation: add "LocRotScaleCProp" keying set (release notes)
    • rBdc009dd6: Fix T87757: Pose Library: glitch when starting to blend flipped pose

Pipeline, Assets, and IO:

  • Plan: Review OBJ exporter patch updated by Howard Trickey: D8754: Wavefront OBJ: Adding a faster exporter
  • ⭕ Review D10700: USD Importer

Platform Maintenance:

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

  • ✅ Plan: Review D10982: Upgrade looper to the version with recurring transactions
  • Gave Bram Kraanendonk admin access to Blender Store

Other work:

  • Plan: Demo PlaySync to Paul Golter
  • Plan: Browse through GSoC'21 student proposals
  • Discuss D9738: UI/BPY: Allow Python operator polls to set the disabled hint
  • Discuss D11001: UI/BPY: Allow Python operator polls to set the disabled hint (with lazy evaluation support)
  • Feedback on D10988: FFmpeg: Initialize encoders with default values
  • Watching the 10 years Cycles event on YouTube
  • Try to figure out what happened with some patches that were being discussed, and now all of a sudden committed by Campbell.
    • D9738: UI/BPY: Allow Python operator polls to set the disabled hint
    • D11001: UI/BPY: Allow Python operator polls to set the disabled hint (with lazy evaluation support)
  • Commits:
    • rB5e509f96: Cleanup: VSE, reduce cognitive complexity of sequencer_rendersize_exec()
    • rB8aa85376: VSE: reset strip transform with "Set Render Size" operator

April 12 - 18

Plans for next week:

  • Review OBJ exporter patch updated by Howard Trickey: D8754: Wavefront OBJ: Adding a faster exporter
  • Pose Library / Asset Browser:
    • Go over Julian Eisel's design
    • Continue working on the plan for the Asset Browser / Pose Library demo at the end of April (link)
  • Demo PlaySync to Paul Golter
  • Browse through GSoC'21 student proposals
  • Review D10982: Upgrade looper to the version with recurring transactions

Asset Browser/Pose Library:

  • ✔️ Plan: talk with Rik to get more feedback on the current pose library.
  • ✔️ Plan: begin writing a plan for the Asset Browser / Pose Library demo at the end of April (link)
  • rBcbd19326: Previews: allow undo'ing datablock preview generation
  • rB2eb5d7b7: Pose Library: set default blend percentage to 0% for smoother blending UX
  • rB1ed2ffa8: Assets: explicitly free the temp-loaded asset datablock
  • rBA65ceed8: Pose Library: add "Flip Pose" checkbox to UIList in 3D View panel
  • rBA347c310: Pose Library: use "Flip Pose" bool property in more places
  • rB32da1144: Asset Browser: Apply a pose before rendering its preview icon
  • rB2f367db2: Cleanup: preview rendering, push bContext a bit further down the call stack
  • rBa2841b29: Cleanup: Pose library, move pose backup code into its own file
  • rB0b2e8f02: Cleanup: Asset Browser, move Action-specific rendering code
  • rB0b2556c4: Pose Library: lock the interface while flipping a pose
  • rB9d8dc94b: Action preview rendering: properly tag the object when done
  • rBAd4f25bc: Pose Library: give pasted assets a Fake User
  • rBA70b4db7: Pose Library: only conditionally change to new Action when creating pose

Animation & Rigging:

  • ✅ Plan: Animation & Rigging module meeting (agenda)
  • ✔️ Plan: discuss with Ton: D9054: Pose Sliding tools improvements
  • Archived T87322: all poses in pose library change in correlation to setting new resting pose
  • Reviewed D10849: Spline IK: Correct the bone position calculation
  • Discuss T87548: Propagate Pose, Next Keyframe (also in Blender Chat)

Pipeline, Assets, and IO:

  • ✅ Plan: Work on D10727: Add make source_archive_complete target
  • ✅ Plan: meeting with Michael Kowalski and Francesco Siddi about the USD importer.

Platform Maintenance:

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

  • ✔️ Plan: Review D10501: Mark Braintree transactions as recurring in accordance with their docs

Other work:

  • ✔️ Plan: Discuss T87333: Proposal for type hint use in Blender's Python scripts
  • Meeting with Paul Golter about Kitsu add-on, code style, and general Blender HOWTOs.
  • Discuss D9738: UI/BPY: Allow Python operator polls to set the disabled hint

April 5 - 11

Monday was a national holiday, Tuesday I took off, Wednesday is my regular day off, so only two working days for me this week.

Plans for next week:

  • Work on D10727: Add make source_archive_complete target
  • Discuss T87333: Proposal for type hint use in Blender's Python scripts
  • Review D10501: Mark Braintree transactions as recurring in accordance with their docs
  • Asset Browser & Pose Library:
    • Write long-term plan, based on last week's meeting
    • Get feedback from animators for changes they need to start using the poselib in production
  • Animation & Rigging module meeting

Asset Browser/Pose Library:

  • Review D10332: Code quality: Use ID-type callback to get an ID's preview-image
  • Review D10922: Fix const-correctness in ID preview code
  • Meeting with Dalai, Francesco, Julian: status update and longer-term plan until Blender 3.0

Animation & Rigging:

  • Discuss in T83068: Motion Paths: Refresh all.
  • Review D10898: Fix T81707: Spline IK Joints "Floating" above curve
  • Review D10914: Add Extras Dropdown Menu to Constraints
  • T87222: VSE: Inserted keyframes under the Transform panel 'Position X' or 'Position Y' are always set to linear interpolation
  • Review D10570: Add ability to Alt+Click to get selection list of bones

Pipeline, Assets, and IO:

  • Plan: Review D10196: Alembic: add settings to control radius of imported curves and points
  • Review D10197: Cycles: experimental integration of Alembic procedural in viewport rendering

Platform Maintenance:

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

Other work:

  • Review D10907: Fix T85752: Collection Instance Crash when instancing collections with disabled subcollections
  • Review D10846: Compositor: Enable suggest-override warning.
  • Fix T87232: Crash when evaluating object with unsupported modifier (rBb51562ed)
  • Two small Flamenco adjustments:
    • Flamenco Manager: rFM4e0b2c0: Increase HTTP read timeout from 10 to 30 minutes, to account for uploading large Sprite Fright files by artists working from home.
    • Flamenco Server: rF1c4bd4c2: Change blender-render video output from MKV (Matroska) to MP4 container

March 29 - April 4

Plans for next week:

  • Review D10196: Alembic: add settings to control radius of imported curves and points

Asset Browser/Pose Library:

  • Plan: Continue Pose Library / Asset Browser work, mostly focusing on getting previous hacks cleaned up.
    • Allow opening the blend file that contains an asset from the asset browser.
    • "Apply Flipped" renamed to "Flip Pose"
    • "Flip Pose" now also works for select/deselect bones operator.
  • ⭕ Plan: Review D10843: UI: option to flip X/Y preview icons

Animation & Rigging:

  • Plan: Animation & Rigging module meeting
  • ✅ Plan: Land D10790: Fix T78650: Lattice evaluation writes to shared data
  • ✔️ Plan: Review D10426: Fix T84520: Make the different weight paint code paths exclusive to each other
  • ⭕ Plan: Review D10570: Add ability to Alt+Click to get selection list of bones
  • ⭕ Plan: review D10849: Spline IK: Correct the bone position calculation
  • Final review of D7685: Armature: Add Display Axis Offset
  • Review D10504: NLA: Keyframe Remap Through Upper Strips
  • Fix T87056: Segfault in GPU_batch_clear() involing Lattice evaluation
  • Fix T87065: Deformed Lattice undeforms after setting keyframe

Pipeline, Assets, and IO:

  • Review D10197: Cycles: experimental integration of Alembic procedural in viewport rendering
  • Review D10876: Fix T86654: wrong Vertex Interpolation option default when importing alembic caches

Platform Maintenance:

  • ✔️ Plan: D10840: Fix T86851: PulseAudio randomly asserts in background rendering
  • ✔️ Review D10652: Build Environment: set MAKE_THREADS as per the CPU
  • Discussion on D10727: Add make source_archive_complete target

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

Other work:

  • ✅ HR talk with Bram & Natasja
  • Wrote bug report T87008: EnumProperty warning hidden behind scrolling area
  • Help Paul Golter by reviewing some Python code.

March 22 - 28

Plans for next week:

  • Plan: Land D10790: Fix T78650: Lattice evaluation writes to shared data
  • Plan: D10426: Fix T84520: Make the different weight paint code paths exclusive to each other
  • Plan: D10570: Add ability to Alt+Click to get selection list of bones
  • Plan: D10840: Fix T86851: PulseAudio randomly asserts in background rendering
  • Plan: D10843: UI: option to flip X/Y preview icons
  • Animation & Rigging module meeting
  • HR talk with Bram & Natasja

Asset Browser/Pose Library:

  • Plan: Continue Pose Library / Asset Browser work, mostly focusing on getting previous hacks cleaned up.
  • ✔️ Plan: Review D10781: Action: flip action data using pose contents

Animation & Rigging:

  • ✔️ Plan: Look into T78650: Lattice objects evaluation is not properly decoupled when they share the same Lattice obdata.
    • D10790: Fix T78650: Lattice evaluation writes to shared data
  • ✔️ Plan: Review D7685: Armature: Add Display Axis Offset
  • ✔️ Plan: Fix T83390: Remove temporary, for-one-release deprecation hints

Pipeline, Assets, and IO:

Platform Maintenance:

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

  • Review D10820: Move customer IP validation from charge() to the view
  • Review D10464: Don't delete or anonymize accounts with an active Cloud subscription
  • Review D10821: Move customer IP validation from charge() to the views

Other work:

March 15 - 21

Plans for next week:

  • Look into T78650: Lattice objects evaluation is not properly decoupled when they share the same Lattice obdata.
  • Continue Pose Library / Asset Browser work, mostly focusing on getting previous hacks cleaned up.
  • Review D10781: Action: flip action data using pose contents
  • Review D7685: Armature: Add Display Axis Offset
  • Fix T83390: Remove temporary, for-one-release deprecation hints

Asset Browser/Pose Library:

  • ❌ Plan: land pose blending operator in master (unlikely to get that before bcon2 though, but I'm going to try).
  • ✅ Created and landed D10736: BLO: Functions for temporarily loading a single datablock
  • Reviewed: D10766: Pose Mode: Apply Visual Transform (Flipped)

Animation & Rigging:

  • ✔️ Plan: review D9925: NLA Tweak Mode: Evaluate Upper Stack
  • ✔️ Plan: review D10222: NLA: Extract nlasnapshot_blend_get_inverted_upper_snapshot()
  • Reviewed D10504: NLA: Keyframe Remap Through Upper Strips
  • ✔️ Plan: start review of T83908: Streamlining advanced rigging of B-Bone chains. (asked JPBouza and Daniel M. Lara for feedback, as they were involved in the initial BBone design)
  • ✔️ Reviewed D10721: Rigify: Use script_path_pref over script_path_user for Feature Sets
  • Reviewed D7685: Armature: Add Display Axis Offset

Pipeline, Assets, and IO:

  • ✔️ Plan: start review of D10700: USD Importer

Platform Maintenance:

  • Landed D10598: Fix T86124: Self-hosting external libraries packages
    • ✔️ Plan: extend make_source_archive.py to also make it possible to bundle external libraries: D10727: Add make source_archive_complete target
  • ✔️ Plan: Review D10580: Add PulseAudio

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

  • Plan: Prevent Blender Store from sending badge updates to Blender ID when the user has requested deletion. (this may be moved to next week).
  • ✔️ Plan: Review D10680: Fix some of mypy errors in looper

Other work:

March 8 - 14

This week I'm trying out a new format for my weekly report, grouping the work by subject/module rather than by the type of work.

Plans for next week:

  • Start review work on T83908: Streamlining advanced rigging of B-Bone chains.
  • Review D10580: Add PulseAudio

Asset Browser/Pose Library:

  • ✅ landed D10583: File Browser: scroll selected files into view
  • ✅ integrate with Pose Library mockup add-on: T86270: Asset Browser: add more info about selected asset to context
  • Reviewed D10612: PyAPI: add bpy.types.BlendFile.temp_data for temporary library loading
  • Meeting with Hjalti, Pablico, Rik, and Sebastian about action baking for animating on 2s and the pose library (meeting notes).
  • Wrote bug report T86431: Heap buffer overflow when removing keymap entries on add-on unregister

Animation & Rigging:

Platform Maintenance:

  • Plan: extend make_source_archive.py to also make it possible to bundle external libraries (see D10598: Fix T86124: Self-hosting external libraries packages).
  • ✅ land D10629: Python version of make_source_archive.sh

Dependency Graph:

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

  • Plan: Prevent Blender Store from sending badge updates to Blender ID when the user has requested deletion.
  • Closed T59071: payment issues on fund.blender.org
  • Reviewed D10643: Demote "other manager" warning to info to avoid spamming Sentry
  • Reviewed D10655: Remove DevFund-specific field from looper admin
  • Reviewed D10628: Move settings and receipts into looper
  • Reviewed D10668: Add GatewayConfigurationError to looper

Other work:

  • ✅ Fill out WBSO time sheets for 2020.
  • Reviewed D10568: Fix T86063: support 'Relative Path' setting opening (alembic) caches
  • Raised concern on rB2cc5af9c: Fix T86431: Keep memory location of the window manager on file load
  • Created and landed D10703: Fix heap buffer overflow appending/linking from a blend file

March 1 - 7

Plans for next week:

  • Monday 14:00 animation meeting with Hjalti & Rik
  • D10598: Fix T86124: Self-hosting external libraries packages
  • Prevent Blender Store from sending badge updates to Blender ID when the user has requested deletion.

Patches: (all are reviews unless otherwise specified)

  • D7916: Add: h264 1080p ffmpeg profile to the Video Editing template
  • D7685: Armature: Add Display Axis Offset
  • D7489: Tests: add transform tests
  • ✅ Created D10563: Add --open-last CLI argument that opens the most recent file (release notes)
  • D10498: CMake/deps: Use default cmake flags for Python
  • ✅ Landed D9313: create ed_draw.c
  • D10569: Disable bank transfer in "Extend membership"
  • D10569: Disable bank transfer in "Extend membership"
  • D10222: NLA: Extract nlasnapshot_blend_get_inverted_upper_snapshot()
  • D9925: NLA Tweak Mode: Evaluate Upper Stack
  • D10582: Refactor looper's JS
  • D10442: Graph Editor: FCurve Extrapolation Visibility
  • D10196: Alembic: add settings to control radius of imported curves and points
  • D10197: Cycles: experimental integration of Alembic procedural in viewport rendering
  • Asset Browser / Pose Library
    • ✅ Created D10578: Animation: add function to apply a pose from an Action
    • Created D10583: File Browser: scroll selected files into view
    • ✅ Worked on D10549: Asset Browser Space API: add activate_file_by_id() function
    • D10612: PyAPI: add bpy.types.BlendFile.temp_data for temporary library loading
    • Created T86270: Asset Browser: add more info about selected asset to context

Fixed/Closed tasks:

Investigated/Spent time on:

  • Create video & patch summary for review by Ton on D9054: Pose Sliding tools improvements
  • T86163: Timeline dont show keyframes from Geometrie Nodes
  • Create tasks on Asset Browser / Pose Library workboard
  • Animation & Rigging meeting (notes).
  • T78071: Object drivers driven by outliner visibility not updating automatically
  • Self-hosting of external libraries:
    • D10598: Fix T86124: Self-hosting external libraries packages
    • D10629: Python version of make_source_archive.sh

February 22 - 28

Plans for next week:

  • Animation & Rigging meeting
  • ✔️ D9054: Pose Sliding tools improvements
  • Review https://github.com/thesammiller/flamenco-server-installation-guide
  • D10442: Graph Editor: FCurve Extrapolation Visibility
  • ✔️ D10196: Alembic: add settings to control radius of imported curves and points
  • ✔️ D10197: Cycles: experimental integration of Alembic procedural in viewport rendering
  • D10499: Fix CSRF Token error in Flamenco Link Manager
  • Prevent Blender Store from sending badge updates to Blender ID when the user has requested deletion.
  • ✔️ D10222: NLA: Extract nlasnapshot_blend_get_inverted_upper_snapshot()
  • ✔️ D9925: NLA Tweak Mode: Evaluate Upper Stack
  • ✔️ D10582: Refactor looper's JS

Patches: (all are reviews unless otherwise specified)

  • D10476: BLI: New FunctionRef type.
  • D10524: Send an email when account deletion request is received
  • D10534: Use Blender ID layout in the password reset flow
  • ✅ Created D10543: Assets: Preview rendering for Action datablocks
  • Created D10549: Asset Browser Space API: add active_asset property

Fixed/Closed tasks:

Investigated/Spent time on:

  • T85365: Libraries Changes for Blender 2.93 (⭕=build completed locally but work not finished yet, ✔️=my work done now in someone elses hand, ✅=everything committed)
    • D10212: Cmake/deps: Update OSL to 1.11.10.0
    • D10416: CMake/Deps : update openexr to 2.5.5
    • D10523: Build Linux libs for Python 3.9.2
  • Fix a compatibility issue in the Blender Cloud add-on.
  • Investigate (and hopefully fix) an issue where mails from Blender ID wouldn't be received (Proog marked them as spam).
    • D10512: Set explicit domain/hostname on Docker containers on Sintel
    • Configure Postfix on Sintel to use proog.internal as SMTP relay server instead of proog.blender.org.
  • Investigate a crash of Blender in a Sprite Fright production file.

February 15 - 21

Plans for next week:

  • Design & planning of Asset Browser / Pose Library
  • D10442: Graph Editor: FCurve Extrapolation Visibility
  • D10196: Alembic: add settings to control radius of imported curves and points
  • D10197: Cycles: experimental integration of Alembic procedural in viewport rendering
  • D10499: Fix CSRF Token error in Flamenco Link Manager
  • Prevent Blender Store from sending badge updates to Blender ID when the user has requested deletion.

Patches: (all are reviews unless otherwise specified)

  • D10339: Fix: NLA Blends Non-Animated Upper Channel Values
  • D10398: Bring back the usual way of running tests
  • D10434: Add as_text() to Address
  • D10435: Move requires_status to looper.decorators and type-annotate it
  • D9220: Cleanup: Remove no-op id recalc statement
  • D9414: VSE: Render in size nearest to preview image
  • D9875: Animation: Smart Bake Option for Bake Action
  • D10445: Fix checkout form broken in browsers without requestSubmit
  • D10440: Move looper's javascript files
  • D10437: Move signals that aren't specific to looper out of looper.signals
  • D7997: UI: FModifier layout updates, drag and drop
  • D10473: Document account deletion

Fixed/Closed tasks:

Investigated/Spent time on:

  • T85365: Libraries Changes for Blender 2.93 (⭕=build completed locally but work not finished yet, ✔️=my work done now in someone elses hand, ✅=everything committed)
    • D10212: Cmake/deps: Update OSL to 1.11.10.0
    • D10282: cmake/deps: Update mesa to 20.3.4
    • D10416: CMake/Deps : update openexr to 2.5.5
    • D10314: CMake/Deps: Boost 1.73
    • D10329: cmake/deps: update alembic to 1.7.16
    • D10340: CMake/Deps: OpenVDB 8.0.1
    • D10349: CMake/deps: XR_OpenXR v1.0.14
    • D10359: CMake/Deps: TBB 2020U2
    • D10367: deps: upgrade USD 20.05 → 21.02
    • D10406: CMake/Deps: OpenImageDenoise 1.2.3 → 1.3.0
  • Update Blender Cloud add-on to work with Python 3.9 / Blender 2.93, and remove the functionality for compatibility with 2.79 and older.
  • Investigate Blender Store issue.
  • Investigate Blender ID issue, where user accounts are deleted (by request of the user) while their Cloud subscription keeps running.

February 8 - 14

Plans for next week:

  • Continue asset browser pose lib work
  • Animation & Rigging meeting

Patches: (all are reviews unless otherwise specified)

  • D10330: Enable 3D Secure challenge in Braintree's DropIn UI
  • D7445: Looper feature parity with the Development Fund implementation
  • D10392: Action Bake: Option Pre-Delete Keyframes In Range
  • D10396: CMake/Deps: fix build of nasm when asciidoc and xmlto are unavailable

Fixed/Closed tasks:

Investigated/Spent time on:

  • Filed USD bug #1447: LZ4 test functions exposed, causing linker errors
  • T85365: Libraries Changes for Blender 2.93 (⭕=build completed locally but work not finished yet, ✔️=my work done now in someone elses hand, ✅=everything committed)
    • D10212: Cmake/deps: Update OSL to 1.11.10.0
    • ✔️ D10257: cmake/deps: Update python to 3.9.1 (libs in SVN, Campbell will commit D10380: cmake: update python to 3.9.1)
    • ✔️ D10270: Build: OpenColorIO 2.0.0 support for make deps and install_deps.sh (libs sent to Brecht, he will commit)
    • D10280: CMake/Linux: Add libharu to platform_linux.cmake (libs committed)
    • D10282: cmake/deps: Update mesa to 20.3.4
    • D10314: CMake/Deps: Boost 1.73
    • D10329: cmake/deps: update alembic to 1.7.16
    • D10340: CMake/Deps: OpenVDB 8.0.1
    • D10349: CMake/deps: XR_OpenXR v1.0.14
    • D10359: CMake/Deps: TBB 2020U2
    • D10367: deps: upgrade USD 20.05 → 21.02
    • D10406: CMake/Deps: OpenImageDenoise 1.2.3 → 1.3.0

February 1 - 7

Plans for next week:

  • Continue Asset Browser / Pose Library design work.
  • Review D7997: UI: FModifier layout updates, drag and drop
  • Upgrade libraries on Linux (T83246: VFX Reference Platform 2021 Compatibility) (at least Alembic).
  • Write a proposal for having (more) BLI_assert() calls enableable in release builds.
  • Review D10360: Animation: Prevent keyframe manipulation in linked data

Patches: (all are reviews unless otherwise specified)

  • D10309: Fix T85356: Geometry Nodes graph animation not showing in Animation Editors
  • D10221: NLA: Refactor Transition, Use Snapshot Blend Func
  • D10222: NLA: Extract nlasnapshot_blend_get_inverted_upper_snapshot()
  • D9925: NLA Tweak Mode: Evaluate Upper Stack
  • D10320: Cleanup: Use lambda instead of function bind
  • D10322: Cleanup: Use raw string literal
  • D10330: Enable 3D Secure challenge in Braintree's DropIn UI

Fixed/Closed tasks:

Investigated/Spent time on:

  • Pose Library prototype implementation: https://gitlab.com/blender/pose-library-mockup
  • Pose Library & Asset Browser design discussions with Francesco and Ton.
  • Python upgrade 3.7 → 3.9 on Linux (D10257: cmake/deps: Update python to 3.9.1)
  • Animation & Rigging module meeting.
  • Add support for Geometry Nodes to Blender Asset Tracer (BAT) + release a new version of the Blender Cloud add-on that includes the new BAT.

January 25 - 31

Plans for next week:

  • More work on the Pose Library.
  • ✅ Present Pose Library design to Ton, and tweak after getting feedback.
  • ✅ Review D10221: NLA: Refactor Transition, Use Snapshot Blend Func
  • ✅ Review D10222: NLA: Extract nlasnapshot_blend_get_inverted_upper_snapshot()
  • ✅ Review D9925: NLA Tweak Mode: Evaluate Upper Stack
  • ✅ Animation & Rigging meeting (agenda)

Patches: (all are reviews unless otherwise specified)

  • D9214: Fix T81541: Symmetrize Transform Constraint, Y rotational axis unexpected results.
  • D10170: Command for processing deletion requests (Blender ID)
  • D10220: NLA: Extract nlasnapshot_blend()
  • D10237: BPY: allow bpy.data.libraries.load() to filter out non-asset data-blocks.
  • Created D10253: Clarify error message when accessing datablock by library

Fixed/Closed tasks:

  • T85038: No curve is "active" after selecting all curves (in Graph Editor)

Investigated/Spent time on:

January 18 - 24

Plans for next week:

  • Present Pose Library design to Ton.
  • Video call with Daniel Bystedt.
  • Continue design & writing implementation plan of Pose Library

Patches: (all are reviews unless otherwise specified)

  • D9225: Add PoseBone / armature example to Bpy.data.py
  • D9959: Fix T84250: Eevee world/material parameter animation not updating the viewport
  • D10083: NLA: Fix Strip Truncate When Next to Transition
  • D9214: Fix T81541: Symmetrize Transform Constraint, Y rotational axis unexpected results.
  • D9844: GTest/Allocator: make integer-overflow tests pass on ASan-enabled builds
  • D9697: Refactor IDProperty UI data storage
  • D10062: Fix detection of OpenSUSE and other distributions (that are not deb, arch or rpm-based) like Slackware
  • D9938: Fixes T83657: Resetting pose transforms gets mirrored when X-Mirror is enabled in Pose Mode.
  • D10073: Fix T84586: missing Outliner redraws for certain NLA operators
  • D10088: Depsgraph: connect up drivers on various physics properties.
  • D10003: Armature: fix B-Bone deformation blending artifacts with Preserve Volume.
  • T84750: Joining Armatures
  • D7511: CollectionProperty: Keyframe Insert Using Element Name

Fixed/Closed tasks:

  • T83657: Pose Mode: Clearing transform doesn't respect Mirror X

Investigated/Spent time on:

  • T84520: Confusing Symmetry settings in Weight Painting
  • Designing a new Pose Library system based on the Asset Browser.

January 11 - 17

Plans for next week:

  • Continue designing pose library improvements
  • Get feedback from animators on Real Pose Copy add-on
  • Animation & Rigging meeting on Thursday
  • Apart from the meeting, holiday on Thursday and Friday (Hitman 3 will be released)

Patches: (all are reviews unless otherwise specified)

  • Landed D9649: Tests: run suites instead of individual test cases
  • Landed D9916: ImBuf: Add error handling to IMB_indexer_open
  • D9955: VSE: Remove skip_disk_cache argument
  • D10062: Fix detection of OpenSUSE and other distributions (that are not deb, arch or rpm-based) like Slackware
  • D10009: Fix incorrect selection duplication when creating mesh from template
  • D10075: Fix T83411: Crash when using a workspace/layout data path in a driver
  • Created D10079: MeshCache: add error handling to fread() calls
  • D10027: UI: Clarify the property name of "F-Curve Visibility"
  • Created D10091: Fix T81965: Library-Override Not able to edit Keyframe properties
  • D9054: Pose Sliding tools improvements
  • D10095: Implement account deletion in Blender ID (step 1/3)
  • D9953: Fix T81533: NLA Properly Draw FModifiers
  • D9696: Nla Refactor: Split animsys_evaluate_nla()
  • D9692: Nla Refactor: Rename NlaEvalChannel->valid to domain

Fixed/Closed tasks:

  • T81965: Library-Override Not able to edit Keyframe value in sidebar panel in graph-editor

Investigated/Spent time on:

  • ⭕ TLS certificate of cloud.blender.org renewal issue.
  • Blender ID support (account deletion).
  • Studying the Asset Browser design (blog post, project, and release notes).
  • Discussing the asset browser with Julian Eisel, focusing on pose library features.
  • Write down some Pose Library ideas
  • Discussing Blender ID & Blender Cloud account deletion with Anna.
  • T81577: Should "Make instances real" keep animation data from original objects? (discuss with Bastien)
  • Created T84596: Blender Cloud: static attachments missing
  • Give Anna access to Sintel (the server) and the Blender Institute Docker Hub organisation to be able to deploy Blender ID imrpovements
  • Expanded my Real Pose Copy add-on with functionality as per T57003: Copy visual pose and paste over frame range
    • Copy-pasting a single bone pastes to the active pose bone (and not the originally copied pose bone)
    • Copying now copies both the pre-constraint local matrix and the post-constraint world matrix. When pasting the artist can choose which to paste.
    • The data that's put on the clipboard is compressed with bzip2 and subsequently base64 encoded. This reduces the size to ½ to ⅓, making it (I hope) slightly more convenient to send via instant messengers etc.

January 5 - 10

Plans for next week:

  • ✅ Read up on the Asset Browser design
  • ✅ Asset Browser/Pose Library meeting with Julian Eisel (Monday)
  • Asset Browser/Pose Library meeting with Julian Eisel and Francesco (Friday 11:00)
  • Web-meeting with Francesco and Anna (Monday)
  • Put Flamenco Worker v2.5 on the website (it still lists v2.4 as latest).

Patches: (all are reviews unless otherwise specified)

  • D10022: Use the term "N-gon" instead of "Polygon" for triangulation method
  • D9696: Nla Refactor: Split animsys_evaluate_nla()
  • D9953: Fix T81533: NLA Properly Draw FModifiers
  • D9214: Fix T81541: Symmetrize Transform Constraint, Y rotational axis unexpected results.
  • D9954: Fix sequencer disk cache not writing data
  • D9691: Nla Refactor: is_fcurve_evaluatable()
  • D9938: Fixes T83657: Resetting pose transforms gets mirrored when X-Mirror is enabled in Pose Mode.
  • D9649: Tests: run suites instead of individual test cases (poked Sebbas for a test on macOS)
  • D9651: Fix T70316: Custom "Delete Keyframes" shortcut still requires confirmation (nag about missing release note)
  • D8687: Directly select animation curves in the graph editor
  • D9844: GTest/Allocator: make integer-overflow tests pass on ASan-enabled builds

Fixed/Closed tasks:

  • T84147: 2 objects with identical coordinate numbers appearing in completely different places

Investigated/Spent time on:

  • Animation & Riggin meeting (notes)
  • Solving Blender Store issues, where subscriptions had conflicting data w.r.t. renewal method (automatic vs. manual).
  • Wrote T84518: XYZ symmetry options: unclear release notes
  • T84180: YEEK! this should be recoded! Shape key loss!
  • T84520: Confusing Symmetry settings in Weight Painting
  • T83351: Baked object rotation has discontinuities

Plans for this week:

  • Blender Store has some issues since last year's update.
  • Credit card payments have to be secured with 3D Secure v2 on Blender Store and Dev Fund.
  • Reading up on emails since the holiday.
  • ✅ Thursday: Animation & Rigging meeting

The start of the new year