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: : Can't save catalogs in asset browser for 3.0 (with Unicode paths)


 * Fixed : Blender Crashing While Appending Animation Action
 * Closed : the Pose library addon seems to use more CPU than the Asset browser when loading from an asset file.
 * Reviews:
 * : ID: Foreach External File.
 * ⭕ Plan: : AssetsBrowser: Add ID Properties to Asset Indexer

Animation & Rigging:
 * Thursday: module meeting
 * ⭕ Plan: : Collections: Support for animating/driving collection properties…
 * Created : Cleanup: remove BKE_animdata_driver_path_hack
 * Reviews:
 * ✅ Plan: https://developer.blender.org/D9374
 * ⭕ Plan: https://developer.blender.org/D9376
 * ⭕ Plan: https://developer.blender.org/D9479
 * : Fix T92930: Outliner "Show Active" bone fails in certain situations
 * : Cleanup: use BKE_pose_is_layer_visible in more places
 * : Graph Slider Ops: Show error when no valid keys are found

Core:
 * ✔️ Plan: Work on docs at https://wiki.blender.org/wiki/User:Sergey/DraftDependencyGraph
 * Created new `blender::fstream` that makes it easy to handle unicode paths on Windows: : Fix T93960: Asset Catalogs I/O fails with unicode file paths on Windows

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

Platform Maintenance:
 * ☐ Plan: Write harvesting code for : 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 : 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:
 * ☐ Plan: Work on docs at https://wiki.blender.org/wiki/User:Sergey/DraftDependencyGraph
 * ☐ Plan: Write harvesting code for : depsbuilder: preliminary Vulkan/Shaderc build support.
 * ☐ Plan: : Collections: Support for animating/driving collection properties…
 * ☐ Plan: Work on Making Of SF video (postponed

Asset Browser/Pose Library:
 * ☐ Plan: : AssetsBrowser: Add ID Properties to Asset Indexer
 * ⭕ Plan: : Can't save catalogs in asset browser for 3.0 (with Unicode paths)

Animation & Rigging:
 * ✅ Plan: YouTube live-stream about C code of the Graph Editor
 * Created and landed : New animation add-on: Copy Global Transform
 * : Animation: send notifier when keyframe is inserted
 * : Fix T94116: Drivers can have multiple variables with same name
 * Reviews:
 * ✅ Plan: https://developer.blender.org/D13531
 * ⭕ Plan: https://developer.blender.org/D9374
 * ✅ Plan: https://developer.blender.org/D9375
 * ⭕ Plan: https://developer.blender.org/D9376
 * ⭕ Plan: https://developer.blender.org/D9479

Core:

Pipeline, Assets, and IO:
 * ✅ Plan: Tuesday: meeting about USD with Michael Kowalski (NVIDIA), Kévin Dietrich, and Brecht.
 * ☐ Plan: Reevaluate : 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: : Collections: Support for animating/driving collection properties…
 * ☐ Plan: continue review of : Blend To Neighbour Implementation
 * ☐ Plan: Work on Making Of SF video
 * ☐ Plan: WBSO

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

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

Core:
 * ☐ Plan: Work on docs at https://wiki.blender.org/wiki/User:Sergey/DraftDependencyGraph

Pipeline, Assets, and IO:
 * Tuesday: meeting with NVIDIA about USD
 * ☐ Plan: Reevaluate : Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair

Platform Maintenance:
 * ☐ Plan: Write harvesting code for : depsbuilder: preliminary Vulkan/Shaderc build support.
 * ✅ Plan: Reproduce : 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: : Blender 3.0: Code Architecture Wiki Documentation
 * ⭕ Plan: Work on Making Of SF video
 * ☐ Plan: WBSO
 * Help with Valve Index VR support : VR Add-on: Unintended navigation when using Valve Index

November 29 - December 5
Plans for next week:
 * ☐ Plan: Work on docs at https://wiki.blender.org/wiki/User:Sergey/DraftDependencyGraph
 * ✅ Plan: Handle Campbell's comment on : Tests: fix memory leak of GHOST system paths
 * To tackle in December: : Blender 3.0: Code Architecture Wiki Documentation
 * ☐ Plan: Write harvesting code for : depsbuilder: preliminary Vulkan/Shaderc build support.

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

Animation & Rigging:
 * Investigated : Reload Library Override file loses Constraints
 * Reviews:
 * ✅ Plan: : Create generic modal functions from GRAPH_OT_decimate

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

Pipeline, Assets, and IO:
 * ☐ Plan: Reevaluate : Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair

Platform Maintenance:
 * ✔️ Plan: : Deps Builder: GMP 6.2.1
 * ✔️ Plan: : 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 : Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair
 * : Deps Builder: GMP 6.2.1
 * : depsbuilder: preliminary Vulkan/Shaderc build support.
 * : 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
 * : Asset Browser: add operator for installing asset bundles
 * : Asset Browser: add operator for installing asset bundles
 * Closed : 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 : Asset preview lost after edit & reload
 * : Fix T93274: Assigning asset catalog doesn't mark file as modified

Animation & Rigging:
 * ✅ Plan:Anim & Rigging module meeting
 * To check & maybe get demo: : 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
 * : Extract keyframe segment calculation
 * : Animation: Add test cases for `ED_keyframes_keylist`.
 * : Create generic modal functions from GRAPH_OT_decimate
 * Closed : Add possibility to edit F-Curve modifier toggles via Python
 * Investigated : Crash on deleting driver

Core:
 * ☐ Plan: Work on docs at https://wiki.blender.org/wiki/User:Sergey/DraftDependencyGraph

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:
 * ⭕ Plan: continue writing asset browser documentation: https://hackmd.io/@blender-asset-browser/ryjiNxuIK/%2FQM1VVh2HQs2KiQV_wt9lnw
 * ⭕ Plan: continue writing asset catalog documentation: https://hackmd.io/@blender-asset-browser/ryjiNxuIK/%2FlgivaJSTTO-IfwW6FbH-vQ
 * ⭕ Plan: continue writing pose library documentation: https://hackmd.io/@blender-asset-browser/ryjiNxuIK/%2F6afgwF-mTRyLPXFbkPKPrw
 * Created : Asset Browser: hide catalog debug info behind debug option
 * Fixed refreshing of the asset browser after "open in blender" subprocess exits.
 * Adjusted tag filtering to match on partial tags as well
 * : Pose Library: add conversion button to old poselib UI
 * : Pose Library: clarify apply/blend operator names
 * : Asset Preferences: disallow single file as asset library
 * : Asset Browser: don't display linked-in asset datablocks

Animation & Rigging:
 * Continued discussion on https://devtalk.blender.org/t/reevaluating-worldspace-and-localspace-treatment-need-some-dev-triage/9665/55
 * Reviews:
 * : Copy Attributes: Copy Custom Properties
 * : Extract keyframe segment calculation

Core:
 * ☐ Plan: Work on docs at https://wiki.blender.org/wiki/User:Sergey/DraftDependencyGraph
 * ✅ Plan: expose source doc location discussion on bf-committers (link)
 * Fixed crash: : Fix crash on freeing hair system

Pipeline, Assets, and IO:
 * ☐ Plan: Reevaluate : Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair
 * Continued disucssion on : Mesh Sequence Cache (ABC) an hair interpolated children distribution issue (triangulate modifier seem to fix it)
 * Reviewed : 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:
 * ☐ Plan: continue writing asset browser documentation: https://hackmd.io/@blender-asset-browser/ryjiNxuIK/%2FQM1VVh2HQs2KiQV_wt9lnw
 * ☐ Plan: continue writing asset catalog documentation: https://hackmd.io/@blender-asset-browser/ryjiNxuIK/%2FlgivaJSTTO-IfwW6FbH-vQ
 * ☐ Plan: continue writing pose library documentation: https://hackmd.io/@blender-asset-browser/ryjiNxuIK/%2F6afgwF-mTRyLPXFbkPKPrw
 * ☐ Plan: Work on docs at https://wiki.blender.org/wiki/User:Sergey/DraftDependencyGraph
 * ☐ Plan: Reevaluate : Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair
 * ☐ Plan: WBSO
 * talk with Arnd about doxygen
 * expose source doc location discussion on bf-committers
 * Thursday 12:00 continue discussion on dev process improvements

Asset Browser/Pose Library:
 * ✔️ Plan: write asset browser documentation: https://hackmd.io/@blender-asset-browser/ryjiNxuIK/%2FQM1VVh2HQs2KiQV_wt9lnw
 * ✔️ Plan: write asset catalog documentation: https://hackmd.io/@blender-asset-browser/ryjiNxuIK/%2FlgivaJSTTO-IfwW6FbH-vQ
 * ✔️ Plan: write pose library documentation: https://hackmd.io/@blender-asset-browser/ryjiNxuIK/%2F6afgwF-mTRyLPXFbkPKPrw
 * Created & landed : Store Action sub-type in asset metadata IDProperty

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

Core:
 * ☐ Plan: Work on docs at https://wiki.blender.org/wiki/User:Sergey/DraftDependencyGraph
 * ⭕ Plan: Continue discussion on : Code Style: documentation at declaration or definition

Pipeline, Assets, and IO:
 * ☐ Plan: Reevaluate : Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair

Platform Maintenance:

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):
 * Landed : 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:
 * ☐ Plan: Work on docs at https://wiki.blender.org/wiki/User:Sergey/DraftDependencyGraph
 * Reevaluate : Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair
 * : Armature Make/Clear Parent: Grey out options that don't do anything

Asset Browser/Pose Library:
 * Reviews:
 * : T91406: Asset Library Indexing

Animation & Rigging:
 * Closed known issue : 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 : Emission Strength Animation of 2.93.5 inherited wrongly in 3.0
 * Looked into : Audio Scrubbing bug
 * Marked as resolved : UI bugs in NLA Editor and Action Editor
 * Archived : Auto Keying with "Only Active Keying Set" creates keyframes it shouldn't
 * Reviews:
 * : Cleanup: Remove unused noise functions
 * : T77124: Remapping `RNA_path_resolve` to other ID Blocks for FCurves

Core:
 * Wrote proposal : Code Style: documentation at declaration or definition

Pipeline, Assets, and IO:
 * Reclassified : Blender 3.0 - Mesh Sequence Cache (ABC) does not work correctly with hair
 * ✅ Plan: review : Alembic: Allow exporting of animated vertex colors

Platform Maintenance:

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

Other work:
 * Reviewed : Fix for read_only files not being usable with BAT

October 25 - 31
Plans for next week:

Asset Browser/Pose Library:
 * ✅ Plan: : Support Filtering by Tags
 * ☐ Plan: Allow rendering preview images from the 3D Viewport
 * : Normalise catalog paths by changing backslashes to forward slashes
 * Fixed : Asset Browser Search Bar not working
 * Created & landed : Cleanup: refactor filelist filter functions
 * Cleanup: asset catalog path test, improve sub-test separation (2021-10-25)
 * Cleanup: refactor filelist filter functions (2021-10-25)
 * Found layout problem (`layout.prop` and `layout.label` having different spacing), traced it back to : UI: Fix text padding for labels without an icon
 * 3D View context: return "ok" when fetching view3d context dir (2021-10-26)
 * Cleanup: 3D View context, use enum values (2021-10-26)
 * Cleanup: 3D View context, early returns for clearer flow (2021-10-26)
 * Assets: allow Mark/Clear Asset operators from 3D Viewport (2021-10-26)
 * Add Assets menu to 3D View's Object menu (2021-10-26)
 * 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:
 * : Assets/IDs: Don't generate previews for object types with no real geometry
 * : Proposal: Improved feedback when dropping is not possible on drag 'n drop
 * : AssetsBrowser: Add ID Properties to Asset Indexer

Animation & Rigging:
 * Reviews:
 * Refactored & landed : UI: Make channel_find use textbox instead of pop-up
 * Reviewed https://code.blender.org/2021/10/blender-3-x-roadmap/
 * : Cleanup: Extract keyframe filter from graph_slider_ops
 * : Cleanup: Extract function to store bezt arrays

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

Dependency Graph:
 * ☐ Plan: After Wednesday: Do a review pass of https://wiki.blender.org/wiki/User:Sergey/DraftDependencyGraph

Pipeline, Assets, and IO:
 * ☐ Plan: review : Alembic: Allow exporting of animated vertex colors

Platform Maintenance:
 * ✅ Plan: Review : 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:
 * ☐ Plan: After Wednesday: Do a review pass of https://wiki.blender.org/wiki/User:Sergey/DraftDependencyGraph
 * ☐ Plan: Review : CMake: option to install Python headers

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

Animation & Rigging:
 * ☐ Plan: Continue with fix for : 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 : Propagate Pose, Next Keyframe
 * Reviews:
 * ✅ Plan: Continue review of : Fix T82455: precision issues and bug in vec_roll_to_mat3_normalized...
 * ☐ Plan: Continue discussion on : Fix T91133: clarify Animation 'Clean Channels' and 'Clean Keyframes' description

Core:
 * ✅ Plan: Review : Unify blend file thumbnail extraction
 * : BKE_callback_remove: prevent crash on Blender exit
 * Reviewed : Fix: Build warning with MSVC

Dependency Graph:

Pipeline, Assets, and IO:
 * ☐ Plan: review : Alembic: Allow exporting of animated vertex colors

Platform Maintenance:
 * ✅ Plan: Continue working on : Bump Python to 3.9.7 and add zstandard package
 * Landed patch
 * Rebuilt Python + packages and added them to SVN
 * 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:
 * ☐ Plan: After Wednesday: Do a review pass of https://wiki.blender.org/wiki/User:Sergey/DraftDependencyGraph
 * ☐ Plan: : Support Filtering by Tags
 * ☐ Plan: Allow rendering preview images from the 3D Viewport
 * ☐ Plan: review : Alembic: Allow exporting of animated vertex colors

Asset Browser/Pose Library:
 * ✅ Plan: : Undo system for catalog edits
 * ✅ Plan: : Improve catalog deletion (including multiple catalogs with the same path)
 * ⭕ Plan: : 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)
 * : Refresh Catalog Simple Name when updating asset's catalog ID
 * : Assets: add global `bke::AssetService` class
 * Reviews:
 * : Add unit tests for asset library suitable root path function
 * : T91406: Asset Library Indexing
 * : Fix warning about deleted default constructor declared as default
 * : Asset Browser: Improved workflow for asset catalog saving
 * : Fix T92113: On assets, replace "Fake User" button with "Clear Asset" button.
 * : BlenLib: Add JSON Serialization/Deserialization Abstraction Layer.
 * : AssetBrowser: Localize external files.

Animation & Rigging:
 * ☐ Plan: Continue with fix for : 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 : Propagate Pose, Next Keyframe
 * Reviews:
 * ⭕ Plan: Continue review of : Fix T82455: precision issues and bug in vec_roll_to_mat3_normalized...
 * ☐ Plan: Continue discussion on : Fix T91133: clarify Animation 'Clean Channels' and 'Clean Keyframes' description
 * : Fix T91743: Unify behavior of 'Auto Set Preview Range'

Core:
 * ☐ Plan: Review : Unify blend file thumbnail extraction

Dependency Graph:
 * Created design task : Bounding Box: compute using depsgraph node

Pipeline, Assets, and IO:
 * ✅ Plan: Continue review of : Add basic USD import test.
 * Reviews:
 * : ID: Foreach External File.

Platform Maintenance:
 * ⭕ Plan: Continue working on : 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
 * : Asset Catalogs: change rules for saving catalog definition files
 * And update the wiki Source/Architecture/Asset_System/Catalogs
 * Discuss catalog deletion with Julian: : Improve catalog deletion (including multiple catalogs with the same path)
 * Discuss catalog edits undo system with Julian, Bastien, and Jason Schleifer.
 * Created : Undo system for catalog edits

Animation & Rigging:
 * ☐ Plan: Continue with fix for : 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 : Propagate Pose, Next Keyframe
 * Reviews:
 * ☐ Plan: Continue review of : Fix T82455: precision issues and bug in vec_roll_to_mat3_normalized with axis close to -Y
 * ☐ Plan: Continue discussion on : Fix T91133: clarify Animation 'Clean Channels' and 'Clean Keyframes' description

Core:
 * ☐ Plan: Review : Unify blend file thumbnail extraction

Dependency Graph:
 * ☐ Plan: Do a review pass of https://wiki.blender.org/wiki/User:Sergey/DraftDependencyGraph

Pipeline, Assets, and IO:

Platform Maintenance:
 * Got my CentOS VM working at the office with QEmu.
 * ✅ Plan: rebuild FFmpeg (: Libraries Changes for Blender 3.0)
 * : 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 : 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 : 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 : How to delete a pose library asset?
 * Created and landed : Asset Catalog Path class
 * Implemented : Save catalogs when saving the blend file
 * Reviews:
 * : Assets: Additions/fixes to the catalog system in preparation for the UI
 * : File/Asset Dialog: Support home/end/pgup/dn keys
 * : Assets: Expose option to reuse data-block data when appending
 * : Add unit tests for asset library suitable root path function
 * : Asset Browser: Initial Asset Catalog UI
 * : Asset Browser: Support dragging assets into catalogs

Animation & Rigging:
 * ☐ Plan: Continue with fix for : 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 : Propagate Pose, Next Keyframe
 * ☐ Plan: Continue discussion on : Fix T91133: clarify Animation 'Clean Channels' and 'Clean Keyframes' description
 * Created : Symmetrize Armature should symmetrize transform of custom bone shape
 * Animation & Rigging module meeting (notes).
 * Reviews:
 * : Constraints: change default Stretch To rotation type to Swing.
 * : Fix T81922: Pose bones don't show in the graph editor when it's object isn't selected
 * : Fix Drivers Editor not hiding vertical part of cursor
 * : Fix Drivers Editor showing playhead on the X Axis
 * : Fix T91237: Wrong Editors could sync animation 'Visible Range'

Core:
 * ☐ Plan: Review : Unify blend file thumbnail extraction

Dependency Graph:

Pipeline, Assets, and IO:
 * ☐ Plan: rebuild FFmpeg (: Libraries Changes for Blender 3.0)
 * Discussed with Parborg: : 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 : Unify blend file thumbnail extraction
 * ☐ Plan: Continue with fix for : 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 : Propagate Pose, Next Keyframe
 * ☐ Plan: Continue discussion on : Fix T91133: clarify Animation 'Clean Channels' and 'Clean Keyframes' description
 * ☐ Plan: rebuild FFmpeg (: 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 : Fileops: call `BLI_path_slash_native` in `BLI_dir_create_recursive`
 * Created & landed : Assets: add Asset Catalog system
 * Wrote documentation about asset catalogs.
 * Reviews:
 * : Hide Pose Library panels unless in Pose Mode
 * : UI: Tree-View API for easy creation of tree UIs

Animation & Rigging:
 * ✅ Plan: Publish last week's A&R module meeting (agenda)
 * ✅ Plan: Includes broad-strokes roadmap planning, forward to Thomas Dinges' document on the topic.
 * Reviews:
 * ☐ Plan: Keep an eye on : Animation: allow specifying a custom frame range for actions. (will be linked to in today's A&R module meeting)
 * ☐ Plan: Continue review of : Cleanup: Extract keyframe filter from graph_slider_ops
 * ☐ Plan: Continue review of : Cleanup: Extract function to store bezt arrays
 * Reviewed : Pose Slide Operator: Blend To Neighbour

Core:
 * Created : 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 : Unify blend file thumbnail extraction
 * Release latest Flamenco Worker & Manager

Asset Browser/Pose Library:
 * Created & landed : Blenlib: introduce a UUID type

Animation & Rigging:
 * Thursday: A&R module meeting (agenda)
 * Should include roadmap planning, which I'll forward to Thomas Dinges' document on the topic.
 * ☐ Plan: Continue with fix for : 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 : Propagate Pose, Next Keyframe
 * Reviews:
 * ✅ Plan: Review : Fix T85564: FCurve modifier zero influence on restrict range borders
 * ⭕ Plan: Review : Fix T91133: clarify Animation 'Clean Channels' and 'Clean Keyframes' description (will be discussed in today's A&R module meeting)
 * ✔️ Plan: Review : Animation: allow specifying a custom frame range for actions. (will be linked to in today's A&R module meeting)
 * ⭕ : Cleanup: Extract keyframe filter from graph_slider_ops
 * ⭕ : Cleanup: Extract function to store bezt arrays
 * ✅ : Cleanup: move code in graph_slider_ops
 * ✅ : Cleanup: renames in graph_slider_ops

Core:
 * ✔️ Plan: write design task : Make saving of `quit.blend` on exit optional
 * Created : 2 out of 6 bytes produced by BLI_rng_get_char_n are predictable

Dependency Graph:

Pipeline, Assets, and IO:
 * ⭕ Plan: Review : Add basic USD import test.

Platform Maintenance:
 * Discussion with Sebastian Parborg & Julian Eisel about : 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 : "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 : 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 : Fix T85564: FCurve modifier zero influence on restrict range borders
 * ✅ Plan: Review : Anim: Keylist drawing optimization by using arrays.
 * ✅ Plan: Review : T78995: Enable keylist threaded drawing.
 * ⭕ Plan: Review : Animation: allow specifying a custom frame range for actions.
 * ✅ Plan: Review : Implement generic slider in graph_slider_ops
 * ✅ Plan: Review : Fixed Constraints not updating on move in stack.
 * ✅ Plan: Review Christoph's fix for : After applying the Pose Breakdowner, the Factor in the popup menu does not work.
 * ⭕ Gave feedback on : Fix T91133: clarify Animation 'Clean Channels' and 'Clean Keyframes' description

Pipeline, Assets, and IO:
 * ☐ Plan: Review : Unify blend file thumbnail extraction

Platform Maintenance:
 * Created paste for Dalai: : 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: : Cleanup: filelist, pass `FileListReadJob` to job functions
 * Created design task : Case-insensitivity of catalog IDs
 * Created design task : Creation of Catalogs
 * Discussed in : ID Deduplication on Append - Technical Implementation
 * Reviewed : Fix T89984: Improve Icon previews reflective and transmissive materials.
 * Reviewed : Enable Asset Browser by default for poses, rest stays experimental

Animation & Rigging:
 * ☐ Plan: Review : Animation: allow specifying a custom frame range for actions.
 * ✅ Reviewed & landed : Add Extras Dropdown Menu to Constraints
 * ⭕ Discussed : Fix T85564: FCurve modifier zero influence on restrict range borders
 * ✅ Plan: Review : Fix T89805: NLA crash without active track
 * ✅ Plan: Review : Fix T89027: [2.93 only] pose slide factor wrong in redo popup
 * ✅ Plan: Review : Fix T88498: 'Clear Parent' does not clear parent_bone
 * ✅ Plan: Review : Fix Action Editor unlink button when in tweak mode
 * ✅ Plan: Review : Fix missing animation UI update in the Properties Editor
 * ✅ Plan: Review : 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 : 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 : Action Constraint: add Split Channels Mix choices from Copy Transforms
 * Reviewed : Implement generic slider in graph_slider_ops
 * Reviewed : Generic Pose slider Color Change

Core:
 * Disussed : How to use & transition to `std::filesystem`?
 * ⭕ Plan: review : Refactor IDProperty UI data storage

Dependency Graph:

Pipeline, Assets, and IO:
 * Reviewed : Fix error setting the ID name in disabled alembic nurbs importer

Platform Maintenance:
 * Discussed & handled fallout of : 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 : Blender doesn't start, probably after 'GHOST/X11: enable EGL' commit
 * The way this is handled reminds me so much of (Refactor IDProperty UI data storage), where part of the patch that was still being discussed was extracted into another patch  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, and all of a sudden  is created without us as reviewers (or Bastien for that matter), approved, and committed to master.

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

Other work:
 * ☐ Plan: Read through https://python-patterns.guide/

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 : Cleanup: Hide implementation details for ED_keyframe_keylist.
 * Worked on catalog loading & saving to disk.

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

Dependency Graph:

Pipeline, Assets, and IO:
 * Continued review of : USD Importer

Platform Maintenance:
 * Reverted patch that was committed without being accepted: : 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 : enable Wayland via environment variable at runtime
 * Commit updates to SVN:
 * : Linux: LLVM, OIIO, OSL, OIDN, MESA
 * : Linux: rebuilt OSL to statically link against libpng
 * : Linux: bump zstd version 1.4.9 → 1.5.0
 * : Packages: wayland-protocols + flex
 * : Packages: bump OIIO/OSL/ISPC/LLVM/Mesa/OIDN/OpenMP/WinFlex

Web (Cloud/Store/Blender ID/DevFund):
 * Improve BAT support for finding linked dependencies referenced in geometry nodes.
 * Released BAT 1.6
 * Released Blender Cloud add-on 1.21, which bundles BAT 1.6

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 : Add `StringRef::trim` function

July 19 - 25
Plans for next week:
 * : 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 : 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 : Generic Slider implementation
 * Reviewed : 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 : USD Importer
 * Patch is good to go code-wise, but still needs clarity on the copyright notices.
 * Continued review of : enable Wayland via environment variable at runtime
 * Reviewed : Add explicit type conversions to Alembic files to suppress compiler warnings

Platform Maintenance:
 * Build new versions : 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 : 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 : 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 : 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 : Generic Slider implementation

Asset Browser/Pose Library:
 * ✅ Plan: Work with Julian Eisel on splitting up the `asset-browser-poselib` branch patch into a few concrete commits, as preparation for committing things to master.
 * ✅ Plan: Commit the above patches to master
 * ✅ Plan: fix : 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 : Generic Slider implementation
 * First accepted, but then found a crash so reported it in the patch and asked for changes again.
 * Reviewed & accepted : Remove automatic hiding of bones when using the pose slider
 * Replied to : Crash on toggle bone layer
 * Glanced over : Animation: allow specifying a custom frame range for actions.

Dependency Graph:
 * Reviewed : Fix T89734: Incorrect dependency cycle with id property on modifier.
 * Found root cause of : False dependency cycle on particle systems

Pipeline, Assets, and IO:
 * Reviewed : Alembic: operator to set the Scene frame range from the Archive time information

Platform Maintenance:
 * Commit Wayland-Protocols to SVN: : 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 (Python API: Add functions to ensure and clear IDProperties) out of  (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 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 : Assets: Keep assets active after renaming, ensure they are scrolled into view
 * Made an attempt at fixing : Poselibrary 'flip pose' function is causing lattice controls to rotate unexpectedly

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

Dependency Graph:
 * ⭕ Plan: Review : Depsgraph: Implement 'ID_RECALC_GEOMETRY_DEFORM'
 * Started review of : Fix T89734: Incorrect dependency cycle with id property on modifier.

Pipeline, Assets, and IO:
 * Accepted : Alembic: remove non-functional "Renderable Objects" only option
 * Accepted : Alembic export: evaluation mode option
 * Continued review of : Cycles: experimental integration of Alembic procedural in viewport rendering
 * Discussed : Alembic is exporting objects with geometry nodes as empty objects.

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

Web (Cloud/Store/Blender ID/DevFund):
 * Added redirect https://store.blender.org/product/membership/ → https://cloud.blender.org/join/
 * Add hack to Flamenco Worker so that it can panic and shut down in certain situations.

Core:
 * Reviewed : Refactor IDProperty UI data storage
 * Reviewed : 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 : Animation: Motion Paths Refresh All
 * Investigate : The geometry nodes aren't updating the animation render. Everything else is.
 * Review : 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 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 : 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 : Fix T89484: NLA "Remove Empty Animation Data" missing Outliner refresh
 * ⭕ Investigated : Moving F curves up and down in the dope sheet can cause blender to crash immediately
 * Continued review of : Generic Slider implementation
 * Accepted : Constraints: add support for a new Owner Local Space for targets.
 * Accepted : Copy Transforms: implement Remove Target Shear and more Mix options.
 * Investigate : Can't remove keyframes without active keying set
 * Reviewed : 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 : Cycles: experimental integration of Alembic procedural in viewport rendering
 * Continued review of : Alembic: add settings to control radius of imported curves and points

Platform Maintenance:
 * Discussed upgrading zstd in : deps_builder: add support for building zstd
 * Marked Alembic as "do not upgrade" in : Libraries Changes for Blender 3.0
 * Discuss upgrading OpenXR and including a Wayland XML file : 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 : WM: don't set the area when toggling full-screen
 * Wrote : `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 : 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` (: Asset Browser Poselib Branch)
 * Plan: Work on blog post with Julian to present the asset browser workshop results.

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

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

Pipeline, Assets, and IO:
 * Reviewed : Alembic: support reading per-vertex UV sets
 * Continued review of : Cycles: experimental integration of Alembic procedural in viewport rendering
 * Reviewed : Subdivision: add support for vertex creasing
 * Fixed : Alembic import crashes when missing `arbGeomParams`
 * Fixed : Crash on edit/moving "override frame" keyframes of alembic mesh sequence cache modifier.

Platform Maintenance:
 * Continued review of : 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` (: Asset Browser Poselib Branch)
 * ⭕ Work on blog post with Julian to present the asset browser workshop results.
 * Plan: 🕐 Discuss : 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` (: Asset Browser Poselib Branch)

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

Dependency Graph:
 * ⭕ Plan: Review : Depsgraph: remove redundant mesh data duplication in edit-mode
 * ⭕ Plan: Review : Depsgraph: support flushing parameters without a full COW update

Pipeline, Assets, and IO:
 * Reviewed : Cycles: experimental integration of Alembic procedural in viewport rendering
 * Reviewed : Alembic: add settings to control radius of imported curves and points
 * Continued review of : USD Importer

Platform Maintenance:
 * Reviewed : enable Wayland via environment variable at runtime
 * Suggest upgrading to Alembic 1.8.2 (: 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 : Add Extras Dropdown Menu to Constraints
 * Review : 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:
 * : Cleanup: pose slider use enum types
 * : Cleanup: pose slider rename region to region_header
 * : Cleanup: pose slider use strncpy
 * : Cleanup: pose slider rename "percentage" to "factor"
 * : Cleanup: pose slider data types
 * : Fix T88546 - Breakdowner typed input not working
 * Marked as abandoned (because it was split up into the above patches): : Cleanup Pose Slider code
 * ✔️ Plan: Review : Constraints: add support for a new Owner Local Space for targets.
 * ✅ Plan: Review : Limit Rotation: add an Euler Order option and orthogonalize the matrix.
 * Plan: 🕐 Review : Generic Slider implementation
 * Plan: 🕐 Continue review of : Curve selection in the graph editor
 * Plan: 🕐 Discuss : Workflow improvements for creating Animation Loops
 * Closed : fcurve modifier scaling oddity
 * Looked into : Inverse Kinematic constraints only work for first bone
 * Further discussed : CollectionProperty: Keyframe Insert Using Element Name

Pipeline, Assets, and IO:

Dependency Graph:
 * ⭕ Plan: Review : Depsgraph: remove redundant mesh data duplication in edit-mode
 * ⭕ Plan: 🕐 Review : 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 : Constraints: add support for a new Owner Local Space for targets.
 * Review : 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 : Generic Slider implementation
 * Plan: 🕐 Continue review of : Curve selection in the graph editor
 * Plan: 🕐 Discuss : Workflow improvements for creating Animation Loops
 * Plan: : Fix T88546 - Breakdowner typed input not working

Pipeline, Assets, and IO:
 * Reviewed : Cycles: experimental integration of Alembic procedural in viewport rendering

Dependency Graph:
 * Plan: Review : Depsgraph: remove redundant mesh data duplication in edit-mode
 * Plan: 🕐 Review : Depsgraph: support flushing parameters without a full COW update

Platform Maintenance:
 * Upgrade FFmpeg to 4.4 to fix : Encoded video fps is wrong

Web (Cloud/Store/Blender ID/DevFund):
 * ✅ Plan: Continue review : 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 : Depsgraph: remove redundant mesh data duplication in edit-mode
 * Publish new Scripting for Artists video
 * Continue review : VAT calculations for subscriptions
 * If there is enough time:
 * Continue review of : Curve selection in the graph editor
 * Review : Depsgraph: support flushing parameters without a full COW update
 * Discuss : Workflow improvements for creating Animation Loops
 * Review : Generic Slider implementation

Asset Browser/Pose Library:
 * ✅ Plan: Finish poselib presentation / blog post: https://code.blender.org/2021/05/pose-library-v2-0/

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

Pipeline, Assets, and IO:
 * ✅ Plan: hopefully fix : Write and read generated texture coordinate space with the alembic exporter and modifier

Platform Maintenance:
 * Wrote : Buildbot is ignoring important CMake settings in buildbot/config/blender_linux.cmake

Web (Cloud/Store/Blender ID/DevFund):
 * ⭕ Plan: review : 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
 * : VAT calculations for subscriptions
 * Continue review of : Curve selection in the graph editor
 * Discuss : Workflow improvements for creating Animation Loops
 * Plan: Finish Scripting for Artists video on readability
 * Plan: review : 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 : Suggestion: Move UI List filter buttons to the top

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

Pipeline, Assets, and IO:

Depsgraph:
 * ✅ Plan: Review : Fix T85752: Collection Instance Crash when instancing collections with disabled subcollections

Web (Cloud/Store/Blender ID/DevFund):
 * ⭕ Plan: review : 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 : Workflow improvements for creating Animation Loops
 * Review : Fix T54339: Shapekey Max value doesn't clamp existing value
 * Review : 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 : Pose Sliding tools improvements
 * Ensure ': 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 (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 : UI: option to flip X/Y preview icons for 'template_asset_view'
 * Raise concern on : Asset: Keep assets active after renaming, make sure they are scrolled into view
 * Review : Fix bad usage of threads in the creation of thumbnails

Animation & Rigging:
 * ⭕ Plan: Continue review of : Pose Sliding tools improvements
 * ✔️ Plan: Continue review of : Add geometry parameters for custom bone
 * Plan: Ensure ': 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 : NLA modifiers not 'editable' with linked characters (overrides)

Pipeline, Assets, and IO:
 * Plan: Continue review of : Wavefront OBJ: faster exporter, continued
 * ✅ Plan: Continue review of : Expose pack/unpack Blender libraries operators to the menu
 * Plan: Continue review of : USD Importer
 * Investigate & archive : Alembic export of shrinkwrap modifier evaluation has mesh artifacts
 * Write : Alembic: export animated vertex colors
 * Commandeer & commit : 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 : Fix T85752: Collection Instance Crash when instancing collections with disabled subcollections
 * ⭕ Review : 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 : 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 : 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 : 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:
 * : Pose Library: only show Asset Browser panels in relevant category
 * : Pose Library: only add to asset browser context menu when seeing animations
 * : Asset Browser: simple panel mix-in class for specific categories
 * : Pose Library: move some asset browser functionality from hotkeys to the context menu
 * : Pose Library: expand "(de)select bones" operator poll function so that they only are active when a pose asset is selected
 * : Asset Browser: also refresh asset UIlist after other blender closes

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

Pipeline, Assets, and IO:
 * Plan: Review OBJ exporter patch updated by Howard Trickey: : Wavefront OBJ: Adding a faster exporter
 * ⭕ Review : USD Importer

Platform Maintenance:

Web (Cloud/Store/Blender ID/DevFund):
 * ✅ Plan: Review : 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 : UI/BPY: Allow Python operator polls to set the disabled hint
 * Discuss : UI/BPY: Allow Python operator polls to set the disabled hint (with lazy evaluation support)
 * Feedback on : 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.
 * : UI/BPY: Allow Python operator polls to set the disabled hint
 * : UI/BPY: Allow Python operator polls to set the disabled hint (with lazy evaluation support)
 * Commits:
 * : Cleanup: VSE, reduce cognitive complexity of sequencer_rendersize_exec
 * : VSE: reset strip transform with "Set Render Size" operator

April 12 - 18
Plans for next week:
 * Review OBJ exporter patch updated by Howard Trickey: : 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 : 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)
 * : Previews: allow undo'ing datablock preview generation
 * : Pose Library: set default blend percentage to 0% for smoother blending UX
 * : Assets: explicitly free the temp-loaded asset datablock
 * : Pose Library: add "Flip Pose" checkbox to UIList in 3D View panel
 * : Pose Library: use "Flip Pose" bool property in more places
 * : Asset Browser: Apply a pose before rendering its preview icon
 * : Cleanup: preview rendering, push bContext a bit further down the call stack
 * : Cleanup: Pose library, move pose backup code into its own file
 * : Cleanup: Asset Browser, move Action-specific rendering code
 * : Pose Library: lock the interface while flipping a pose
 * : Action preview rendering: properly tag the object when done
 * : Pose Library: give pasted assets a Fake User
 * : Pose Library: only conditionally change to new Action when creating pose

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

Pipeline, Assets, and IO:
 * ✅ Plan: Work on : 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 : Mark Braintree transactions as `recurring` in accordance with their docs

Other work:
 * ✔️ Plan: Discuss : 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 : 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 : Add `make source_archive_complete` target
 * Discuss : Proposal for type hint use in Blender's Python scripts
 * Review : 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 : Code quality: Use ID-type callback to get an ID's preview-image
 * Review : 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 : Motion Paths: Refresh all.
 * Review : Fix T81707: Spline IK Joints "Floating" above curve
 * Review : Add Extras Dropdown Menu to Constraints
 * : VSE: Inserted keyframes under the Transform panel 'Position X' or 'Position Y' are always set to linear interpolation
 * Review : Add ability to Alt+Click to get selection list of bones

Pipeline, Assets, and IO:
 * Plan: Review : Alembic: add settings to control radius of imported curves and points
 * Review : Cycles: experimental integration of Alembic procedural in viewport rendering

Platform Maintenance:
 * Fix : Error: OSL script compilation failed

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

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

March 29 - April 4
Plans for next week:
 * Review : 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 : UI: option to flip X/Y preview icons

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

Pipeline, Assets, and IO:
 * Review : Cycles: experimental integration of Alembic procedural in viewport rendering
 * Review : Fix T86654: wrong Vertex Interpolation option default when importing alembic caches

Platform Maintenance:
 * ✔️ Plan: : Fix T86851: PulseAudio randomly asserts in background rendering
 * ✔️ Review : Build Environment: set MAKE_THREADS as per the CPU
 * Discussion on : Add `make source_archive_complete` target

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

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

March 22 - 28
Plans for next week:
 * Plan: Land : Fix T78650: Lattice evaluation writes to shared data
 * Plan: : Fix T84520: Make the different weight paint code paths exclusive to each other
 * Plan: : Add ability to Alt+Click to get selection list of bones
 * Plan: : Fix T86851: PulseAudio randomly asserts in background rendering
 * Plan: : 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 : Action: flip action data using pose contents

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

Pipeline, Assets, and IO:

Platform Maintenance:

Web (Cloud/Store/Blender ID/DevFund):
 * Review : Move customer IP validation from charge to the view
 * Review : Don't delete or anonymize accounts with an active Cloud subscription
 * Review : Move customer IP validation from charge to the views

Other work:
 * Review https://gitlab.com/blender/blezou for Paul Golter, and give him a crash course in improving Python code quality & Blender data structures
 * Discuss : Startup Scripts Code Style

March 15 - 21
Plans for next week:
 * Look into : 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 : Action: flip action data using pose contents
 * Review : Armature: Add Display Axis Offset
 * Fix : 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 : BLO: Functions for temporarily loading a single datablock
 * Reviewed: : Pose Mode: Apply Visual Transform (Flipped)

Animation & Rigging:
 * ✔️ Plan: review : NLA Tweak Mode: Evaluate Upper Stack
 * ✔️ Plan: review : NLA: Extract nlasnapshot_blend_get_inverted_upper_snapshot
 * Reviewed : NLA: Keyframe Remap Through Upper Strips
 * ✔️ Plan: start review of : 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 : Rigify: Use script_path_pref over script_path_user for Feature Sets
 * Reviewed : Armature: Add Display Axis Offset

Pipeline, Assets, and IO:
 * ✔️ Plan: start review of : USD Importer

Platform Maintenance:
 * Landed : Fix T86124: Self-hosting external libraries packages
 * ✔️ Plan: extend `make_source_archive.py` to also make it possible to bundle external libraries: : Add `make source_archive_complete` target
 * ✔️ Plan: Review : 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 : 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 : Streamlining advanced rigging of B-Bone chains.
 * Review : Add PulseAudio

Asset Browser/Pose Library:
 * ✅ landed : File Browser: scroll selected files into view
 * ✅ integrate with Pose Library mockup add-on: : Asset Browser: add more info about selected asset to context
 * Reviewed : 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 : Heap buffer overflow when removing keymap entries on add-on unregister

Animation & Rigging:
 * Reviewed : Fix T85564: FCurve modifier zero influence on restrict range borders
 * Created Animation & Rigging category on DevTalk as a central hub for A&R communication.

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

Dependency Graph:
 * Better Audio Integration discussion by Jörg Müller on devtalk.

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

Other work:
 * ✅ Fill out WBSO time sheets for 2020.
 * Reviewed : Fix T86063: support 'Relative Path' setting opening (alembic) caches
 * Raised concern on : Fix T86431: Keep memory location of the window manager on file load
 * Created and landed : 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
 * : 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)
 * : Add: h264 1080p ffmpeg profile to the Video Editing template
 * : Armature: Add Display Axis Offset
 * : Tests: add transform tests
 * ✅ Created : Add `--open-last` CLI argument that opens the most recent file (release notes)
 * ✅ : CMake/deps: Use default cmake flags for Python
 * ✅ Landed : create ed_draw.c
 * ✅ : Disable bank transfer in "Extend membership"
 * ✅ : Disable bank transfer in "Extend membership"
 * : NLA: Extract nlasnapshot_blend_get_inverted_upper_snapshot
 * : NLA Tweak Mode: Evaluate Upper Stack
 * ✅ : Refactor looper's JS
 * ✅ : Graph Editor: FCurve Extrapolation Visibility
 * : Alembic: add settings to control radius of imported curves and points
 * : Cycles: experimental integration of Alembic procedural in viewport rendering
 * Asset Browser / Pose Library
 * ✅ Created : Animation: add function to apply a pose from an Action
 * Created : File Browser: scroll selected files into view
 * ✅ Worked on : Asset Browser Space API: add `activate_file_by_id` function
 * : PyAPI: add bpy.types.BlendFile.temp_data for temporary library loading
 * Created : 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 : Pose Sliding tools improvements
 * : Timeline dont show keyframes from Geometrie Nodes
 * Create tasks on Asset Browser / Pose Library workboard
 * Animation & Rigging meeting (notes).
 * : Object drivers driven by outliner visibility not updating automatically
 * Self-hosting of external libraries:
 * : Fix T86124: Self-hosting external libraries packages
 * : Python version of `make_source_archive.sh`

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

Patches: (all are reviews unless otherwise specified)
 * ✅ : BLI: New FunctionRef type.
 * ✅ : Send an email when account deletion request is received
 * ✅ : Use Blender ID layout in the password reset flow
 * ✅ Created : Assets: Preview rendering for Action datablocks
 * Created : Asset Browser Space API: add `active_asset` property

Fixed/Closed tasks:

Investigated/Spent time on:
 * : Libraries Changes for Blender 2.93 (⭕=build completed locally but work not finished yet, ✔️=my work done now in someone elses hand, ✅=everything committed)
 * ✅ : Cmake/deps: Update OSL to 1.11.10.0
 * ✅ : CMake/Deps : update openexr to 2.5.5
 * ✅ : 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).
 * : 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
 * : Graph Editor: FCurve Extrapolation Visibility
 * : Alembic: add settings to control radius of imported curves and points
 * : Cycles: experimental integration of Alembic procedural in viewport rendering
 * : 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)
 * : Fix: NLA Blends Non-Animated Upper Channel Values
 * : Bring back the usual way of running tests
 * : Add as_text to Address
 * : Move requires_status to looper.decorators and type-annotate it
 * : Cleanup: Remove no-op id recalc statement
 * : VSE: Render in size nearest to preview image
 * : Animation: Smart Bake Option for Bake Action
 * : Fix checkout form broken in browsers without requestSubmit
 * : Move looper's javascript files
 * : Move signals that aren't specific to looper out of `looper.signals`
 * : UI: FModifier layout updates, drag and drop
 * : Document account deletion

Fixed/Closed tasks:

Investigated/Spent time on:
 * : Libraries Changes for Blender 2.93 (⭕=build completed locally but work not finished yet, ✔️=my work done now in someone elses hand, ✅=everything committed)
 * ⭕ : Cmake/deps: Update OSL to 1.11.10.0
 * ✅ : cmake/deps: Update mesa to 20.3.4
 * ⭕ : CMake/Deps : update openexr to 2.5.5
 * ✅ : CMake/Deps: Boost 1.73
 * ✅ : cmake/deps: update alembic to 1.7.16
 * ✅ : CMake/Deps: OpenVDB 8.0.1
 * ✅ : CMake/deps: XR_OpenXR v1.0.14
 * ✅ : CMake/Deps: TBB 2020U2
 * ✅ : deps: upgrade USD 20.05 → 21.02
 * ✅ : 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)
 * : Enable 3D Secure challenge in Braintree's DropIn UI
 * : Looper feature parity with the Development Fund implementation
 * : Action Bake: Option Pre-Delete Keyframes In Range
 * : 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
 * : Libraries Changes for Blender 2.93 (⭕=build completed locally but work not finished yet, ✔️=my work done now in someone elses hand, ✅=everything committed)
 * ⭕ : Cmake/deps: Update OSL to 1.11.10.0
 * ✔️ : cmake/deps: Update python to 3.9.1 (libs in SVN, Campbell will commit : cmake: update python to 3.9.1)
 * ✔️ : Build: OpenColorIO 2.0.0 support for make deps and install_deps.sh (libs sent to Brecht, he will commit)
 * ✅ : CMake/Linux: Add libharu to platform_linux.cmake (libs committed)
 * ⭕ : cmake/deps: Update mesa to 20.3.4
 * ⭕ : CMake/Deps: Boost 1.73
 * ⭕ : cmake/deps: update alembic to 1.7.16
 * ⭕ : CMake/Deps: OpenVDB 8.0.1
 * ⭕ : CMake/deps: XR_OpenXR v1.0.14
 * ⭕ : CMake/Deps: TBB 2020U2
 * ⭕ : deps: upgrade USD 20.05 → 21.02
 * ⭕ : CMake/Deps: OpenImageDenoise 1.2.3 → 1.3.0

February 1 - 7
Plans for next week:
 * Continue Asset Browser / Pose Library design work.
 * Review : UI: FModifier layout updates, drag and drop
 * Upgrade libraries on Linux (: VFX Reference Platform 2021 Compatibility) (at least Alembic).
 * Write a proposal for having (more) `BLI_assert` calls enableable in release builds.
 * Review : Animation: Prevent keyframe manipulation in linked data

Patches: (all are reviews unless otherwise specified)
 * : Fix T85356: Geometry Nodes graph animation not showing in Animation Editors
 * : NLA: Refactor Transition, Use Snapshot Blend Func
 * : NLA: Extract nlasnapshot_blend_get_inverted_upper_snapshot
 * : NLA Tweak Mode: Evaluate Upper Stack
 * : Cleanup: Use lambda instead of function bind
 * : Cleanup: Use raw string literal
 * : 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 (: 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 : NLA: Refactor Transition, Use Snapshot Blend Func
 * ✅ Review : NLA: Extract nlasnapshot_blend_get_inverted_upper_snapshot
 * ✅ Review : NLA Tweak Mode: Evaluate Upper Stack
 * ✅ Animation & Rigging meeting (agenda)

Patches: (all are reviews unless otherwise specified)
 * : Fix T81541: Symmetrize Transform Constraint, Y rotational axis unexpected results.
 * : Command for processing deletion requests (Blender ID)
 * : NLA: Extract nlasnapshot_blend
 * : BPY: allow `bpy.data.libraries.load` to filter out non-asset data-blocks.
 * Created : Clarify error message when accessing datablock by library

Fixed/Closed tasks:
 * : No curve is "active" after selecting all curves (in Graph Editor)

Investigated/Spent time on:
 * Pose Library design, including discussions with Francesco, Hjalti, Julian, Pablo Vazquez, and Ton.
 * Getting the Flamenco farm accessible & usable for artists working from home + documented the approach.
 * : Baking animation on 2s ( Frame Step = 2) and with 'Overwrite Current Action' enabled, still keeps old keyframes inbetween steps.
 * : Crash when using to_mesh on a depsgraph object in a driver
 * Pose Library Basics: Asset Browser Milestone (created by Julian Eisel)
 * Created draft plan of attack for pose library / asset browser work
 * Created repository for with initial implementation of some basic functionality pose library mockup.

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

Fixed/Closed tasks:
 * : Pose Mode: Clearing transform doesn't respect Mirror X

Investigated/Spent time on:
 * : 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 : Tests: run suites instead of individual test cases
 * Landed : ImBuf: Add error handling to IMB_indexer_open
 * : VSE: Remove skip_disk_cache argument
 * : Fix detection of OpenSUSE and other distributions (that are not deb, arch or rpm-based) like Slackware
 * : Fix incorrect selection duplication when creating mesh from template
 * : Fix T83411: Crash when using a workspace/layout data path in a driver
 * Created : MeshCache: add error handling to `fread` calls
 * : UI: Clarify the property name of "F-Curve Visibility"
 * Created : Fix T81965: Library-Override Not able to edit Keyframe properties
 * : Pose Sliding tools improvements
 * : Implement account deletion in Blender ID (step 1/3)
 * : Fix T81533: NLA Properly Draw FModifiers
 * : Nla Refactor: Split animsys_evaluate_nla
 * : Nla Refactor: Rename NlaEvalChannel->valid to domain

Fixed/Closed tasks:
 * : 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.
 * : Should "Make instances real" keep animation data from original objects? (discuss with Bastien)
 * Created : 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 : 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)
 * : Use the term "N-gon" instead of "Polygon" for triangulation method
 * : Nla Refactor: Split animsys_evaluate_nla
 * : Fix T81533: NLA Properly Draw FModifiers
 * : Fix T81541: Symmetrize Transform Constraint, Y rotational axis unexpected results.
 * : Fix sequencer disk cache not writing data
 * : Nla Refactor: is_fcurve_evaluatable
 * : Fixes T83657: Resetting pose transforms gets mirrored when X-Mirror is enabled in Pose Mode.
 * : Tests: run suites instead of individual test cases (poked Sebbas for a test on macOS)
 * : Fix T70316: Custom "Delete Keyframes" shortcut still requires confirmation (nag about missing release note)
 * : Directly select animation curves in the graph editor
 * : GTest/Allocator: make integer-overflow tests pass on ASan-enabled builds

Fixed/Closed tasks:
 * : 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 : XYZ symmetry options: unclear release notes
 * : YEEK! this should be recoded! Shape key loss!
 * : Confusing Symmetry settings in Weight Painting
 * : 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