Weekly Reports: 2021

March 29 - April 4

Continued work on the asset view template, asset system and pose library functionality.

  • Wrote an initial asset system design document, based on an earlier C++ design mockup by Sybren: Asset System Technical Design
  • Postmortem meeting about the Asset Browser & Pose Libraries project.
  • Allow click+dragging on poses in the asset view to do pose blending.
  • Support custom context menu entries for UI lists, use that to show all pose asset operations in the pose asset view.
  • Python API additions.
  • Various fixes.

Related commits:

  • rBa0a0edc3: Fix File Browser double-click not working while in pose mode
  • rB80469a76: Prevent preview loading from triggering continuous redraws
  • rB5438015a: Allow setting operator properties for the custom drag & activate OPs
  • rBabcbf730: Support "Release Confirm" mode for the pose blending operator
  • rBd05413b9: Fix possible use of released stack memory
  • rBabacf071: Remove asset testing panel for the asset view template
  • rB9f8cc981: Add button to refresh the asset list from the asset view template
  • rBA0e1ed10: Allow click+dragging on poses in the asset view to blend them
  • rB9c6eea60: Pose asset operators: Check the type of the asset in the operator poll
  • rB83c53d1b: Support custom context menu entries for UI-lists, e.g. for pose assets
  • rBA4422b94: Pose Library: Add operators to context menu of poses in the asset view
  • rB8750f355: Expose more asset info and utilities in the Python API
  • rBAb2accf5: Pose Library: Make pose bone select operators work from the asset view

Created tasks: 2

  • Pose Library: Evaluate pose asset-view placement. (T87092)
  • Asset View UI template: Add Pose Operators to Context Menu. (T87066)

Review: 1

  • Accepted: Armature: Add Display Axis Offset (D7685)

Next Week

  • Check what can go to master (e.g. the UIList refactoring & improvements), start creating patches or commit directly.
  • Refactor AssetHandle, current design isn't acceptable for master.
  • Start work on Data Storage, Reading & UI Access design implementation.

March 22 - March 28

March 15 - March 21

March 8 - March 14

March 1 - March 7

Continued work on the asset view UI template, various discussions/meetings for the UI module and asset browser, and a code cleanup day.

  • UI meeting (meeting notes to be done)
  • Further discussions about the UI module state and way forward.
  • Asset View UI template:
    • rBeef2a348: Refactor UIList template for further changes and to fix some glitches.
    • rB9a6c22a7: Properly support mouse-selecting items in the asset view list.
    • rB5ccb47a9: Add own button/widget type for the asset previews.
    • Experimented with letting the asset view store own properties (active asset library, active asset, advanced filter settings) in the list itself as ID-properties. Didn't turn out well, I'll probably go for a different approach.

Review: 4

  • Accepted: Animation: add function to apply a pose from an Action (D10578)
  • Accepted: Asset Browser Space API: add activate_asset_by_id() function (D10549)
  • Accepted: UI: Add an option to search buttons to allow any string input (D10527)
  • Accepted: create ed_draw.c (D9313)

Master Commits:

  • Fix incorrect assert in Outliner ID deletion (rBae005393)
  • Build-system: Use C-linkage for internal interface header (rBb35a3933)
  • Code quality day:
    • UI Code Quality: Port Outliner Grease Pencil layers to new design (rBe0442a95)
    • Cleanup: Add & use enum value for ID Outliner element type (rBb9e54566)
    • Outliner: Barebones to port IDs to new Outliner tree-element code design (rB3a907e74)
    • Start porting general ID elements to the new Outliner tree-element code design (uncomitted)

Next Week

  • Get asset view UI template ready for merge.
  • Finish initial work for using new Outliner tree-element design for general IDs.
  • UI meeting, review, etc.

February 22 - February 28

A lot of patch review and work on the Pose Libraries project (part of the Asset Browser).

  • Meeting on Asset Browser and Pose Libraries Design. Results should be published as post soon.
  • Worked on a new "asset view" UI template, which is a mini-version of the Asset Browser that can be displayed in regular layouts (e.g. 3D View sidebar). Needed for Pose Libraries and some general Asset Browsing use-cases.
    • Add initial asset-view template, with dummy contents (palette colors). (rB796c5991)
    • Initial working version to load and display the assets of a certain asset library (uncommitted).
  • Review session with Hans Goudey, we went through a good number of patches. Not all of them are listed below.


  • Requested changes: UI: Join or Close Any Area D8084
  • Accepted: Assets: Preview rendering for Action datablocks (D10543)
  • Accepted: UI - Remove 'Enable physics for:' text (D10537)
  • Accepted: Cleanup: UI: "WPaint" to "Weight Paint" (D9905)
  • Accepted: Pose Sliding tools improvements (D9054)
  • Accepted: Cleanup: "Warning" in tooltips/description, use unified format (D9904)
  • Accepted: Cleanup: use of the term "Metaballs" (D9910)
  • Accepted: Cleanup: Fixes for labels and descriptions in various places (D9924)
  • Accepted: UI: Error in UI_GetThemeColorBlendShade4fv function when calculating Alpha (D9944)
  • Accepted: UI: Reorder mesh merge operator types for consistent shortcuts (D10008)
  • Accepted & committed: Fix T84707: Wrong icon for Movie Clip Editor (D10500)
  • Discussed & accepted: BLI: New FunctionRef type. (D10476)


  • Icons: Add icon for the upcoming spreadsheet editor (rB57c41a9c)
  • Icons: Update blender_icons.svg to have a document background (rB16504ed4)
  • Icons: Resaved blender_icons.svg in new Inkscape version (rB1981f04b)
  • Fix line width broken for consecutive line draw calls (rBdaf7f423)

Next Week

  • Continue work on the asset view template.
  • Regular module work: Fixes, review, meetings, etc.

February 15 - February 21

  • Edited the UI module project page, menu and moved workboard notes into sub-page.

Review: 11

  • Accepted & committed: UI: Correct the text alignment in the quick setup (splash screen) dialog (D10486)
  • Requested changes to: Pose Sliding tools improvements (D9054)
  • Accepted & committed: UI: Corrects the text alignment of the RGB/HSV/Hex toggle in the color picker (D9854)
  • Accepted: Cleanup: Disentangle outliner active status "get" and "set" (D10232)
  • Accepted: Fix T83027: Incorrect outliner collection state after operator (D10240)
  • Accepted: Alternative Fix for T80313: Clipped text in splash screen on hiDPI monitors (D9853)
  • Accepted: UI: Fuzzy search in collection search. (D10446)
  • Accepted: UI: FModifier layout updates, drag and drop (D7997)
  • Accepted: UI: Clarify text in properties popover (D10010)
  • Gave feedback & help: File Browser: select files and directories after renaming (9994)
  • Gave feedback: VR: OpenXR Action Support (9124)


  • Fix memory leak when loading previous preferences from splash screen (rBe6b7905f)
  • Revert "Fix T80313: Fix clipped text in splash screen on hiDPI monitors" (rBb1142858)
  • Fix failing "Edit Source" (asserts) while number slider was visible (rB81ac0bf7)
  • Assets: Remove appended asset when dropping operation fails (rBe81fca1e)
  • UI/Nodes: Adding node groups via drag & drop (e.g. from Asset Browser) (rB604e61d8)

Next Week

February 8 - February 14

Not much this week due to traveling and trouble related to that. Back in Amsterdam now.

  • Did some improvements to drag & drop, especially for assets.
    • Not committed yet: Add feedback for when dropping node group asset fails (add disabled hints for node polling).
  • Created devtalk proposal to remove roadmap images.
  • General module work.

Review: 1

  • Accepted: GPencil: Basic block drawing in Dopesheet (D10179)

Created patches: 2

  • UI/Nodes: Adding node groups via drag & drop (e.g. from Asset Browser). (D10405)
  • Proposal: Improved feedback when dropping is not possible on drag 'n drop. (D10358)


  • install_deps: Update OpenXR repository info (rB34155dd2)
  • Fix T85448: File Browser sidebar collapses when selecting a file (rB048135e2)

Next Week

Again, general stuff: Meetings, patch review, fixes, asset browser tasks.

February 1 - February 7

General work again, fixes, tweaks, asset browser tasks, UI module work, etc.

Created patches: 2

  • Assets/IDs: Don't generate previews for object types with no real geometry. (D10334)
  • Code quality: Use ID-type callback to get an ID's preview-image. (D10332)


  • Code Quality:
    • Port recently added utility file to C++ (rB699b2d98)
    • Port recently added asset files to C++ (rBef29ebb3)
    • Refactor asset operators using C++ (rB04be1e99)
    • Remove dead code for keymap Outliner display mode (rB8acd58a1)
    • Use enum for Outliner tree-store element types (rBfd05e31d)
    • Remove unused tree element types (rB9d605950)
  • UI: Improve tooltip for continuous grab (rBe69217b2)
  • Cleanup: Use bool instead of int (rBf3a2434b)
  • Fix missing preview images for actions when browsing in external files (rBfa96aa58)
  • Fix incorrect mesh selection duplication in internal utility function (rBe1f38b21)
  • Fix T83064: Missing tooltips, caused by string property search button (rBe3c8363c)
  • Fix T84780: Corrupt screen layout when loading file with area full-screen (rB5c72a4d4)

Review: 4

  • Requested changes to: Alternative Fix for T80313: Clipped text in splash screen on hiDPI monitors (D9853)
  • Accepted: Fix T83450: Missing 4th studio light in preview icon (D10283)
  • Requested changes to: Fix T84869: Expanded enums now always draw center aligned (D9854)
  • Accepted: Fix for T82459 - Input Language Independent of Display Language (D10268

Next Week

Mostly the same, with some more focus on the asset browser.

January 25 - January 31

Bug sprint week, which I mostly used to classify reports (unclassified reports went down from ~60 to ~25), fix issues and general module work.

  • UI meeting.
  • Pose library meeting.
  • Lots of report classification.
  • Lots of general bug tracker work (merging duplicates, closing invalid tasks, asking questions, assign to workboard columns, etc.)
  • Investigated a number of issues.
  • Addressed issues with clipped data-block names in menus. (Improved clipping and added tooltip support.)


  • Docs: Remove wrong debug flag info rBb10fac04
  • Manual: Update command line arguments page for recent change rBM7692rBM
  • GPU: Remove unused GPU debugging command line options rBbc94036a
  • UI: Tooltip for data-block selector menus, showing full name and library info rBd096d9c4
  • Cleanup: Use const parameters for active button lookups/tests rB656f6ae6
  • Fix wrong command line argument description for --debug--gpu-force-workarounds rB75e8e011
  • Fix T69001: Custom icons won't load while using workbench engine rBc0d2b10c
  • Fix library name clipping most of the data-block name in data-block menus rB77f73a92
  • Fix T85027: Crash dragging a collection over empty Outliner rB5c490bcb

Next Week

General stuff: Meetings, patch review, fixes, asset browser tasks.

January 18 - January 24

  • General bug triaging/classification.
  • UI meeting
  • More polishing on the UI module planning doc & design manifesto doc.
  • Moved workboard notes from Wiki to UI project page.
  • Created task T84860: Reevaluate and rework categories.


  • Asset Browser: Support dragging in object-data assets (meshes, curves, etc.) rB2fec46c3
  • UI: Avoid showing drop hint on drag & drop if dropping won't succeed rBc8d6e2df
  • Asset Browser: Avoid appending asset data-block when drop operator will fail rBe90a2a3f
  • Cleanup: Add/use helper to check if dragging a certain ID type or asset ID type rBf04206cb
  • Asset Browser: Support dragging mask assets into compositors rBb449da3a
  • Asset Browser: Support dragging image assets into node editors rBdb15df0b
  • Fix memory leak when opening file browser rB3469e06c
  • Fix editors showing old data-block name after renaming in Outliner rB96fa78f5
  • Fix Asset Browser showing old name after renaming data-block rBca475479
  • Asset Browser: Enable by default in alpha builds rB1135790a
  • UI: Deselect other objects when dragging into 3D View rBbcdba7c3

Review: 3

  • Accepted D9793: UI: Gizmo Tooltip Positions. D9793
  • Accepted D9744: UI: Viewport Navigate Gizmo Refactor. D9744
  • Accepted D10141: Cleanup: Store runtime space node variables in a separate struct. D10141

Next Week

  • Bug sprint week. Lots of classification and fixing to do.

January 11 - January 17

Things are slowly moving back to normal, after the Asset Browser merge and holidays. So this week I started catching up with the review backlog, same for the bug backlog, handled a number of 2.92 bcon2 tasks, had multiple meetings and worked on some UI module planning.

  • Two UI meetings & wrote meeting notes.
  • Meeting on asset browser status.
  • Two meetings on pose libraries.
  • Some polishing on a UI module planning doc & design manifesto doc I've been working on.
  • Did a first pass review of the VR controller support.
  • UI: Revert design changes to data-block selector for the 2.92 release (rB2771dfd5)
  • Asset System: Disable Asset Browser as experimental feature (rBaed5b88e)
  • Regular bug triaging/classification

Review: 4

  • Requested changes: VR - OpenXR Action Support. (D9124)
  • Accepted: UI Code Quality: Use "params" struct for space type and region callbacks. (D9750)
  • Accepted: Fix T84586: missing Outliner redraws for certain NLA operators. (D10073)
  • Commented: Change operators to add new "group" collections to the scene. (D10042)
  • Requested changes: Pose Sliding tools improvements. (D9054)


  • Fix various issues with regions in Asset Browser (rB3cc7e2ad)

Next Week

More of the same basically :) Patch review, asset browser tasks, meetings, bug fixing.