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

User:Severin/Reports/2023

Weekly Reports: 2023

Since May 1

New location for 2023 reports: https://projects.blender.org/JulianEisel/Weekly-Reports/src/branch/main/2023.md

April 24 - April 30

3 work days only (national holiday plus one day off). Focused on catching up with reviews and GSoC proposal reviews (there were plenty for me to go through).

  • GSoC proposal reviews (signed up to mentor a project).

Main Branch Commits:

  • Cleanup: Avoid unnecessary & misleading Outliner context function call (1fad165c1a)

Review:

  • Fix #107186: Curve assets don't generate preview images (PR #107214)
  • macOS: Add open files to system recent files (PR #107174)
  • Fix #107294 : Node Editor "Frame All/Selected" ignore Smooth View (PR #107296)
  • UI: OS File Operations Within File Browser (PR #104531)
  • macOS/File Browser: Support external operations (PR #107267)
  • Initial implicit sharing docs (PR #1)
  • Suport relative path option per-asset library (PR #107345)
  • Fix #104722: Outliner Renaming Double Click Error (PR #105872)

Next Week

  • Focus on brush assets / asset shelf.

April 17 - April 23

4 days of sick leave.

  • Looked into PR #104737 (Fix #89479: Unable to select hierarchies of multiple objects from outliner). Needs further investigation.

Main Branch Commits:

  • Cleanup: Define type for object type enum (fe7540d39a)

Review:

  • Fix #90159: Inconsistent display of active filters for import/export file dialogs (PR #107034)
  • Brush Assets: Create polished mockup for the Draft operators (#106898)
  • Assets: Do Not Show Blank Read-Only Metadata (PR #105812)

Next Week

  • Focus on brush assets / asset shelf.
  • More GSoC proposal reviews.

April 10 - April 16

Day off on Monday (Easter).

  • Asset shelf (brush assets project) - a bunch of fixes and general polish, things look a lot more closer to being usable now:
    • Fix error when re-registering a bpy.types.AssetShelf subclass (73a2c3453c)
    • Fix uninitialized asset shelf theme color in existing theme (a3baa62487)
    • Support region overlap for entire asset shelf, fix overlapping regions (6e713bbdb3)
    • Use slight transparency for asset shelf by default (0cf345a673)
    • Decrease default asset preview size in asset shelf (41d8c3944d)
    • Add display popover and "Show Names" option (2acf304e14)
    • [Grid view branch] Make new "Show Names" option work (5fc17af505)
    • Draw a scrollbar for the main asset shelf region (6340d47454)
    • More work on paginated scrolling, still WIP.

Main Branch Commits:

  • Python: Support multiple custom script directories in Preferences (ba25023d22)
  • Cleanup: Update versioning code after subversion bump (d299b1157f)
  • Fix #106840: Add-ons not loading from custom script directories (ac09d18e4e)
  • Fix user add-ons not showing up with "User" filter in Preferences (da75495ada)
  • UI: Quick tooltip showing tab name for Properties editor tabs (PR #106906)

Review:

  • Fix #106775: File Draw Negative Width Buttons (PR #106777)
  • Assets: Implement Traits (PR #105841)
  • Assets: Do Not Show Blank Read-Only Metadata (PR #105812)
  • UI: Tooltips for Assets (PR #106189)
  • Fix #66722: Blender doesn't open file if isn't focused (PR #106769)

Next Week

  • Focus on brush assets / asset shelf.
  • More GSoC proposal reviews.

April 3 - April 9

  • First round of GSoC proposal reviews.
  • Asset shelf (brush assets project):
    • Add theme options for the asset shelf (253b417225)
    • Fix wrong theme setting used for asset shelf footer/header (d067e77ee6)
    • Change default color for asset shelf footer/header (b7a9fed4bc)
    • Remove unnecessary & problematic header layout changes (b35dd323c3)
    • Add "All" catalog tab that is always visible (b93fe0f9e0)
    • Further work on PR #105088 (UI: Region polling support). Merged into main now (see below).
    • Use new region poll to remove asset shelf based on context (2e288dad63)
    • Support and use custom page size for scrolling whole rows in asset shelf (852becd76c)
    • Show asset shelf regions by default as soon as poll succeeds (e813afe7c5)
    • Snap asset shelf region to rows (6da90998e2)
    • Support zooming in the asset shelf (32c080f65a)
    • Experiments on paginated scrolling with thumbnail scaling support. A bit tricky.
  • Further work on PR #104876 (Python: Support multiple custom script directories in Preferences).
  • Got branch to rewrite the Asset Browser UI up to date with overlapping changes in main ("fun day" work).
  • Investigated PR #106374 (Fix #106246: Crash on deleting the multi-level hierarchy).

Main branch commits:

  • UI: Region polling support (fa0f295b53)
  • Fix crash loading pre 2.5 test file (Cycles test failure) (56640440f0)

Next Week

  • Focus on brush assets / asset shelf.
  • Review of asset system/browser patches (asset traits support, asset tooltips, etc.).
  • More GSoC proposal reviews.

March 27 - April 2

  • Brush assets project:
    • Further work on asset weak references, merged into main branch now (commit below):
    • WIP work to enable asset shelf region snapping to rows.
  • Fixed high priority crash in node add menu, was a bit tricky (pull request below).
  • Feedback on GSoC proposals
  • Technical Documentation Day:
    • Pair documentation session with Falk David to kick off Grease Pencil 3.0 documentation work.
    • Fixed own "devdocs" repository setup to bring back an online version of the generated documentation (for now using GitHub pages still).

New pull requests:

  • Fix #105855: Crash with node add menu assets and keyboard navigation (PR #106237)
  • WIP: Brush assets project (PR #106303)
  • WIP: Asset Shelf Grid-View (PR #106316)

Main/release branch commits:

  • UI: Support minimum row count for tree views (0256bfd309)
  • Asset System: New "weak" asset reference for storing in .blend files (d90795bc3c)

Next Week

  • GSoC proposals (feedback and first pass review)
  • Focus on brush assets / asset shelf.

March 20 - March 26

  • Worked on generalizing drop support for UI elements, needed for the Cycles light linking project:
    • UI: Generalize drop controllers, support them for UI views (71e0c6c043)
    • Rename drop controller -> drop target (232a9a9f10)
    • Move new API functions to blender::ui namespace, remove UI_ prefix (a3886ebbbc)
  • Further work on weak asset references for the brush assets project:
    • Some refactoring for function to resolve to an exploded path (693be95b2d)
    • Basic unit tests for the new path resolving and exploding function (9a56b28771)
    • Fix test failure when test asset path is absolute with ".." components (cb96a82aa6)
    • Address points from review (873097b0e6)
    • Fix test failure on macOS because of short string optimization of moved result (4710dc0337)
  • Further work on PR #105088 (UI: Region polling support), needed for the brush assets project:
    • Fix broken sequencer when used from existing workspace (e58ac364af)
    • Fix missing sequencer channels region when reading from old files (63b8e31a9c)
    • Avoid region state management in sequencer refresh callback (b5e69fd195)
  • Further work on PR #104876 (Python: Support multiple custom script directories in Preferences):
    • Address points from review (135c8aa032)
    • Make generic DNA struct specific to script directories (2663599d78)

Main/release branch commits:

  • Cleanup: Refactor UI tree & grid view building API (8f6415418e)
  • UI: Generalize drop target API, support drop targets for UI views (a2d0f7049a)
  • Fix UI view drag target not using correct boundaries with panels (64f3afb267)
  • Cleanup: Make drop target creation functions non const (8069b01c28)

Review:

  • UI: align tab labels towards panels (PR #105835)
  • Fix blender_test not re-linked on macOS after changes (PR #106051)

Next Week

  • Focus on brush assets / asset shelf.
  • Technical Documentation Day.

March 13 - March 19

Mostly focused on high priority reports and asset brush tasks.

  • Day off on Monday.
  • Looked into remaining high priority reports for UI and assets, all fixed (see below) or classified as normal priority now.
    • Includes a bigger & complicated fix for large asset libraries (#104305).
  • Meeting with Harley to organize his development grant work.
  • New tasks for asset traits:
  • Further work on weak asset references:
    • Add functions to resolve a full path to an asset from the weak reference (84503ebf34)

Main/release branch commits:

  • Fix #105180: "All" asset library includes subfolders of current file (c4d6f766de)
  • File Browser: Make full file name label draggable (c3dfe1e204)
  • Fix tiny file browser highlight offset on retina screens (bb0ee9fdb4)
  • Cleanup: Move blend file path utilities out of blenloader module (48814c25fd)
  • Cleanup: Improve comment on library path utility function (b80f6c4017)
  • Refactor: Avoid unsafe strcpy in library path utility function (d1b8a827a6)
  • Assets: Add function to query data-block library path from asset (55811b2919)
  • Fix build error after previous merge (cb20f2cbf9)
  • Fix #104305: Crash in node editor with large asset libraries (a958ae36e8)

Review:

  • Fix #105216: Clear Asset does not immediately redraw the outliner (PR #105287)
  • UI: Increase the size of the "Open Recent" list (PR #105703)
  • Asset Browser/File Browser: Add display name tooltip to tile view (PR #104693)
  • WIP: Assets: Implement Traits (PR #105841)

Next Week

  • Focus on brush assets / asset shelf.

March 6 - March 12

Next Week

February 27 - March 5

  • Brush assets / asset shelf work:
    • New grid-view based layout, to replace the current prototype-y UI: (50292f1018)
    • Split asset shelf file into multiple files (62af85aed4)
  • Technical Documentation:
    • Created task: [Draft] New Developer Documentation Infrastructure Proposal (Replacing Wiki?) (#105348)
    • Created task: [WIP] New Developer Documentation Infrastructure: Tasks, Questions, Plan of Action (#105349)
    • Created task: Proposal: Rename repository to "blender-manual" (#104380)
    • A bit of reading about buildbot so I can help setting up a CD environment for the proposed platform.
  • Discussed changes to asset metadata fields for the 3.5 release: Support "license" and "copyright" meta-data instead of "author" (#105300)
  • Meeting/discussion on Grease Pencil 3.0 design, mainly with regards to grease pencil assets and technical design.
  • WBSO sheets (government subsidy)

Main Branch Commits:

  • UI: Refactor path dropping so logic doesn't depend on icons (17e92711d3)
  • Cleanup: More clear variable name in File Browser drawing (0786b05175)
  • Remove duplicated code from merge conflict (7d15670a2a)

Review:

Next Week

  • Focus on asset shelf work

February 20 - February 26

  • Asset shelf work (asset-shelf branch):
    • Support registering asset shelves in BPY (see PR below)
    • Update pose library add-on for new asset shelf BPY support (2b118a1cda)
    • Added support for polling regions, necessary to make the asset shelf unavailable based on context (See PR below).
  • Technical documentation:
  • Updated asset-browser-grid-view branch which was a bit behind (branch to rewrite the Asset Browser UI as a separate editor).
  • [Suggested fix:] VSE Preview - assign hotkeys to the toolshelf tools adds them to the Window category (#92140)
  • WBSO sheets (government subsidy)

New pull requests:

  • [Old work] WIP: Rewrite asset browser as separate editor (PR #104978)
  • WIP: Basic support for registering asset shelf as a type in BPY (PR #104991)
  • UI: Region polling support (PR #105088)

Master/release branch commits:

  • Revert "GPencil: Include UV information in simplify->sample modifier." (3eed00dc5)
  • Revert release branch only commit after merge (c437a8aea8)
  • Fix unused variable warnings in release build (5fd4d47206)
  • Fix new essentials asset library not being covered in library path query (a280554b75)
  • UI: Properly cancel dragging on escape or right-click (d58e422ac3)

Review:

  • Icons maintenance (PR #104954)
  • UI: Add color selector to Bone Groups list (PR #105036)
  • Fix #103269: node group asset description not showing as tooltip in the Add menu (PR #104968)
  • Fix #104992: Crash on calling operation search in outliner (PR #105004)

Next Week

  • Brush assets project (asset shelf)
  • UI & Asset Browser patch review
  • Organize UI work for/with Harley

February 13 - February 19

Mostly work to wrap up asset features and changes for the 3.5 release.

  • Joined Animation & Rigging module meeting to demo the asset shelf for pose libraries.
  • Internal development planning meeting for 2023.
  • Removed outdated GSoC project idea (asset catalog selector for asset view templates).
  • Worked on UI changes to improve asset import method selection (PRs and commits are below):
    • [Created design task] Improve import method selection for assets (#104686)
  • Updated 3.5 release notes for UI changes & the new essentials asset library.

Created pull requests:

    • [Created & merged] Assets: Preference for default import method for an asset library (PR #104688)
    • [Created & merged] Assets/UI: Use UI-list for asset library preferences UI (PR #104710)
  • File Browser: Make full file name label draggable (PR #104830)
  • UI: Properly cancel dragging on Esc & right-click (PR #104838)
  • Updated some patches and created new PRs for them on gitea:
    • WIP: Asset Shelf (PR #104831)
    • WIP: Basic Blender Project Support (experimental feature) (PR #104883)
    • Python: Support multiple custom script directories in Preferences (PR #104876)

Master & release branch commits:

  • Assets: Store pointer to owning asset library in asset representation (99e71ec1f2)
  • Cleanup: Remove redundant translation markers in context poll message (9b7d71cec2)
  • Assets: Preference for default import method for an asset library (ae84a2956e)
  • Asset Browser: Rename "Import Type" to "Import Method" (972f58c482)
  • Assets/UI: Use UI-list for asset library preferences UI (0d798ef57c)
  • Asset Browser: Hide import method menu for essentials (e3b5a2ae15)
  • Asset Browser: Add separator line & icon padding for import method menu (5bac672e1a)
  • Fix weird icon padding in asset library selector menu button (1116d821dc)
  • UI: Ensure menus with icons align all menu item labels (58752ad93c)
  • Revert changes to align asset library labels in menus (05b177b0b3)
  • Cleanup: Refactor File/Asset Browser button dragging code (1e9564864c)
  • UI: Refactor how draggable part of button is determined (6da512f0bc)

Review:

  • Assets: bundle essentials with Blender (PR #104474)
  • GPencil: New support for Asset Manager (PR #104413)
  • Fix #104785: Quick fur keeps asset status of appended node groups (PR #104828)

Next Week

  • Brush assets project.
  • Technical documentation day.

February 6 - February 12

3 days of sick leave. Remaining time was spent on asset related tasks for 3.5 and the Gitea move happened this week (while I was sick)

  • Updated own local repository for the Gitea workflow and started getting familiar with the new environment.
  • Ported experimental technical developer documentation setup from own github to a repository on projects.blender.org.

Master Commits:

  • Remove Phabricator based weekly report script (e0b412c940)

Review:

  • Assets: Implement viewport drag and drop for geometry nodes (PR #104430)
  • Assets: bundle essentials with Blender (PR #104474)
  • Did an in person review of the proposed hair assets with Simon and Dalai.

Next Week

  • UI changes to make asset import method selection more clear.
  • Review Grease Pencil asset patch.
  • Brush assets project.

January 30 - February 5

January 23 - February 29

January 16 - January 22

Worked for 4 days only. Managed to focus mostly on brush assets.

  • Further work on the asset shelf (as part of the brush assets project):
    • Basic asset shelf prototype (rB8ddf492e)
    • Extend asset shelf region with a region for the catalogs & options (rBb3ee7ad2)
    • Popup to select which catalogs are displayed in the asset shelf footer (rB4fa69fbd)

Master Commits:

  • Cleanup: Rename confusing region variable (rB2c6ed49c)
  • Fix crash when listing assets repeatedly in node search menus (rBe4e91bf8)

Created patches:

  • Python: Support multiple custom script directories in Preferences. (D17007)

Review:

  • [Accepted] Fix T103881: Unlink operation crash in Blender File view (D17017)

Next Week

  • Focus on brush assets.
  • Catch up with high priority reports.
  • General code review.
  • Technical documentation day.

January 9 - January 15

Only halfway working this week (I'm moving!).

  • Finished "All" asset library patch and merged into master (see below for master commits)
    • Fix all library always tagging catalogs as changed (rBa83d40c4)
    • Cleanups after informal review with Sybren (rB59eec2f6)
  • Updated Blender projects branch:
    • Support & use new asset library path query from master (rBe63671c2)
    • Support project asset libraries in new asset library loading (rBb999b79d)
  • Worked on patch to support multiple custom script directories in the Preferences. (P3438)
  • Added Human Interface Guidelines entry on workflow oriented design as opposed to entity related design (

Master Commits:

  • Cleanup: Compile filesel.c in C++ (rB9b8c2f91)
  • Assets: "All" asset library (rB35e54b52)
  • Refactor: Use new "All" asset library to extend node menus with assets (rB66af1657)

Review:

  • [Accepted] Fix: Missing null checks for asset catalog. (D16995)
  • [Gave feedback] Widen the NLA action drop-down menu. (D16857)]

Next Week

  • Focus on brush assets.
  • Technical documentation day?


January 2 - January 8

Came back from holidays mid-week, so had to deal with the usual: Catching up with mails, broken Blender builds, merge branches, etc.

Master Commits:

  • Fix empty asset index files after bug in asset loading (rB1229b966)

Review:

  • [Accepted] UI: Skip expensive view button searching when drawing (D16882)
  • [Accepted] BLI: Refactor matrix types & functions to use templates (D16625)

Next Week

  • More catch up work.
  • Brush assets.