User:Severin/Reports/2021

Weekly Reports: 2021

October 4 - October 10

Mater Commits:

  • UI: Add context menu support for tree-view items (rB17c928e9)
  • Asset Browser: Context menu for catalogs (rB8f8982d5)
  • Asset Browser: Avoid per-asset context menu on right click in sidebar (rB7bd0de92)
  • UI: Support showing superimposed icons as disabled (with disabled hint) (rBff57ce86)
  • UI: Support tooltips for superimposed icons (rB2aca08fc)
  • UI/Assets: Disable undo for tree item buttons (rB04ad42d8)
  • Asset Browser: Move Asset Library selector to navigation bar (rBc7b237e7)
  • Asset Browser: Rework layout & behavior of catalog tree-view (rBc0a5b13b)
  • Fix logic error when trying to find hovered item (rB8a6f224e)
  • Fix possibly wrong matching of tree-view item buttons (rB536109b4)
  • Asset Browser: Show catalog add & delete icons on mouse hover (only) (rB75fbf6f1)
  • Asset Browser: Always show icon to add catalog next to "All" item (rB2012d541)
  • Assets: Support Renaming Catalogs in the UI (rB539575b5)
  • Cleanup: Improve readability & comments in UI tree-view header (rB3c4537cd)
  • UI: Draw tree-views (e.g. asset catalogs) in a box (rBac9ec52e)
  • Fix possible use-after-free when cancelling temporary rename button (rBb5ea3d2c)
  • Fix T91940: Asset Browser catalogs continuously redraw (rB758f3f74)
  • Cleanup: Better way to pass activate callbacks to Tree-View items (rBdbe3981b)
  • Assets: Show all assets indirectly nested inside the active catalog (rB3391a2ef)
  • UI Tree-View API: Enforce active item to be un-collapsed (rB2b6f2072)
  • Assets: Support dragging assets on "Unassigned" catalog (rB4a346405)
  • Cleanup: Separate interface & implementation for asset catalog tree-view (rB48822086)
  • Cleanup: Use static function for asset catalog tree-view helper (rBb536605e)

Review: 4

  • Accepted: XR Controller Support Step 3: XR Event Handling (D10944)
  • Accepted: XR: Add runtime window area for XR events (D12472)
  • Requested changes to: T91406: Asset Library Indexing (D12693)
  • Requested changes to: BlenLib: Add JSON Serialization/Deserialization Abstraction Layer. (D12544)

Next Week

September 27 - October 3

Mostly work on getting asset catalog UI code merged and improved. That includes drag & drop support of assets into catalogs via the new UI tree-view API.

  • Created Patches:
    • Fix warning about deleted default constructor declared as default. (D12714)
    • Asset Browser: Support dragging assets into catalogs. (D12713)
  • Reported regression: File Browser "Blend File" recursion level broken. (T91823)
  • Created code quality task: Let GHash/GSet comparison callbacks return true on equality, not false. (T91870)
  • Started work on supporting asset catalog renaming in the UI.
  • Improved UI Tree-View API documentation and added section for new drag & drop support

Master Commits:

  • Asset Browser: Support dragging assets into catalogs (rBc4dca652)
  • Cleanup: Rename file-list function to better match what it's doing (rB3b1a2430)
  • Fix possible use-after-free in drag-drop handling logic (rB43890679)
  • UI: Support easy dropping into/onto rows in new tree-view API (rB4ee2d9df)
  • Asset Browser: Support activating catalogs in the "Current File" library (rB07c5d02a)
  • Assets: Enable recursive reading for the asset view template as well (rB214baf54)
  • Fix build failure on Windows + wrong buffer size (rB45a312fd)
  • Update Pose Library add-on to work without asset categories (rBAea457d4)
  • Hide Pose Library panels unless in Pose Mode (rBA4a278c2)
  • Asset Browser: Initial Asset Catalog UI (rB9d9f205d)
  • Cleanup: Enforce C linkage for internal File Browser header (rB6aac892f)
  • Assets: Expose option to reuse data-block data when appending (rBef29bf90)
  • Support loading catalogs in the Current File asset library (rBadaf4f56)

Review:

  • Accepted: Asset Catalog Path class (D12710)
  • Accepted: Fix T89864: Adding an asset referencing other objects adds it to scene but only adds data-blocks of referenced objects. (D12696)

Next Week

  • Finish patch for renaming catalogs through the UI.
  • Asset catalog UI polish.
  • Hopefully last round of VR patch review.

September 13 - September 19

Plenty of work to get the asset catalogs ready for master, plus general asset browser & UI patch review.

  • Investigated macOS touchpad/magic-mouse scrolling regression from 2.79 -> 2.80. Fix for testing: rBad758860.
  • Proposed patch to use existing C-APIs instead of std::filesystem, which has platform compatibility issues: Use existing C-APIs for path and filesystem handling. (D12538)
  • Further work on the UI tree-view API & the asset catalogs UI:
    • rBd37fa40a: Support active item in the tree view.
    • rB1315f164: Get basic catalog activation and catalog based filtering to work.
    • rB32ecda21: Only show icon to add catalogs for active catalog tree item.
  • Cleaned up the Asset Browser workboards to get an overview of the project's state.

Created tasks: 3

  • Hide Pose Library Panels unless in Pose Mode. (T91484)
  • Ensure unique name when adding asset catalog through the UI. (T91457)
  • Ensure there's a catalog for each known path component . (T91451)

Master Commits:

  • Assets: Recursive reading of asset libraries (rBc9daab79)

Review:

  • Requested changes to: FileBrowser: Reduce Overhead Browsing Libraries. (D12499)
  • Accepted: Fix T91461: Pose Library name filter not working (D12541)
  • Accepted: UI: Always Create Asset Previews (D12484)
  • Accepted: Blenlib: introduce a UUID type (D12475)
  • Accepted: Rename App Menu to Blender Menu (D12523)
  • Accepted: UI: wait for input for operators that depend on cursor location (D12255)
  • Accepted: Fix Asset Browser cannot open containing file anymore (D12497)
  • Accepted: Asset Template: Extra UI options (D12476)
  • Accepted: UI: Freestyle UI Upgrade (D10505)

Next Week

  • Merge asset catalogs into master (back-end at least, hopefully the UI too).
  • VR patch review.

September 6 - September 12

Plenty of patch review (especially for 3.0 VR targets) and more work on asset catalogs and the UI tree-view API.

  • Meeting on the technical design of asset catalogs.
  • Fixed compile issues and test failures for asset catalogs (rB508ba523, rBb4ba8db6).
  • Support persistent state in the new UI tree-view API (e.g. collapsed items, selection, active, etc). Use it to support collapsing asset catalogs (rB69c84080, rB50f4e176).
  • Meeting about possible 3.0 UI targets (more to pitch some ideas than to decide on any).

Master Commits:

  • Fix possible crash displaying asset preview from current file (rB7a521649)

Review: 8

  • Accepted: Fix T90317: Confusing File Browser Preferences (D12436)
  • Requested changes to: Fix T91271: issues with some RNA fluid defaults (D12442)
  • Requested changes to: XR Controller Support Step 3: XR Event Handling (D10944)
  • Accepted: XR: Re-enable SteamVR OpenGL backend for non-NVIDIA gpus (D12409)
  • Accepted: Support for Varjo OpenXR extensions (D12229)
  • Requested changes to: XR Controller Support Step 4: Controller Drawing (D10948)
  • Requested changes to: UI: Freestyle UI Upgrade (D10505)
  • Accepted: Fix T90862: Texts in Outliner can have wrong icon (D12347)

Created patches: 1

  • UI: Spread expanded enums over rows if space is narrow. (D12440)

Next Week

  • More 3.0 UI meetings.
  • Finish work on the basic asset catalog UI.
  • VR patch review.

August 30 - September 5

Worked mostly on the Asset Catalogs and their UI.

  • Investigated possible UTF-8 conversion issues for using the ghc::filesystem library (see D12197).
  • Implemented tree data structure for reading asset catalogs into a hierarchy (rB0cf37baa, rBead9a15c).
  • Added unit tests for the asset catalog trees (rBe8eb5d8a).
  • Added basic catalog tree drawing for the Asset Browser UI (rB6da8a138).
  • Implemented a UI Tree-View API, used for the asset catalog tree drawing, but meant as general improvement to UI code (rB7fcfbba3).

Created tasks:

  • Add operator to export assets with catalog definition. (T91138)
  • Read catalog definition in background job. (T91129)

Master Commits:

  • BPY-Docs: Add missing file context members documentation (rBf62eb8ac)
  • File Browser/BPY: Expose list of selected files in context (rB7ec839ad)
  • File Browser/BPY: Expose relative path of a file via BPY (rB79281336)

Review: 2

  • Accepted: Python: Allow Area Close via Scripting (D12307)
  • Accepted: Fix AssetBrowser UI errors (D12350)

Next Week

  • 1-2 day UI workshop.
  • Meetings to decide on technical asset catalog designs.
  • Continue working on the asset catalog UI.
  • VR patch review.


August 2 - August 8

Work for getting the Pose Library part of the Asset Browser ready for a release, general fixes & cleanups, continued VR patch review.

  • Worked on a proposal and accompanying patch for transitioning to std::filesystem in a platform compatible manner (we want to use this for the Asset System):
    • T90379: How to use & transition to std::filesystem?
    • D12117: Initial work for std::filesystem transition.
  • Investigated a better way to implement the AssetHandle design. Needs more work still.

Created patches:

  • Assets: Recursive reading of asset libraries. (D12139)
  • Asset Browser: Disable metadata editing for external asset libraries. (D12127)
  • Enable Asset Browser by default for poses, rest stays experimental. (D12120)
  • Initial work for std::filesystem transition. (D12117)
  • Updated the Asset Browser projects on developer.blender.org.

Master Commits:

  • Fix shortcut for Asset Details not showing in Asset Browser pulldown (rB01c1b1e8)
  • Cleanup: Remove unused members in FileSelectParams (rBf45860fb)
  • Fix T90430: Crash when dragging material (rB02e0c6f4)
  • Fix compile error without WITH_OCEANSIM enabled (rBd9a530c5)
  • Fix broken logic in Windows directory query function (rB41357d55)
  • Cleanup: Replace int with bool for pointcache function (rB391af6be)
  • Cleanup: Remove redundant checks in File Browser UI script (rB28b9dd7b)
  • Fix T90341: Crash opening 2.4 file with File Browser editor open (rBc0900a64)
  • Asset Browser: Proper context menu for assets (rB3ff5d8f7)
  • Asset Browser: Don't show inapplicable filter and display settings (rBceb04913)
  • Asset Browser: Adjust header pulldowns to be Asset Browser specific (rBd8bf332f)

Review:

  • Accepted: Cleanup: rename FileList::asset_libraryasset_library_ref (D12151)
  • Accepted: XR: Controller Data Improvements (D12073)
  • Accepted: VR: Color Depth Adjustments (D9842)
  • Accepted: XR: Action Binding Improvements (D12077)
  • Accepted: Fix T90364: buttons (partially) behind animchannel search block search (D12103)
  • Accepted: T90371: Asset: Drop Material Tooltip. (D12106)


Next Week

Only 3 days of work for me, them I'm on summer vacation.

  • Meeting on blocking asset design topics.
  • Get remaining own Asset Browser patches for Pose Libraries merged.
  • Check status of the asset catalog implementation.
  • Work on the asset catalog UI.
  • VR patch review.

July 26 - August 1

Next Week

July 19 - July 25

Mostly Asset Browser work (cleanups, project management & meetings) and VR patch review.

  • We had meetings to organize further asset browser (and general 3.0) work with more developers. See https://devtalk.blender.org/t/2021-08-20-asset-browser-and-3-0/19730.
  • Helped Sebastian König and Sergey Sharybin with updating the Clip Editor to use the tool system:
    • Fix missing Tool Settings button toggle (rBd535c578).
    • Cleanup: Remove unused (potentially problematic) region type declaration (rB4fc7e388).
    • Fix crash/undefined-behavior when opening tracker with clip region open (rB2a207544).
    • Fix default tool not set when changing clip editor modes (rB934fd07a)
  • Did a number of updates and corrections to various Wiki pages.

Master Commits:

  • Cleanup: Reorganize asset files (rB64bb49fa)
  • Pose Library: Update variable name after change in RNA (rBA4475cbd)
  • Assets: Replace duplicated asset library reference type from DNA (rB10e28bd2)
  • Cleanup: Centralize/unify asset library reference from/to enum code (rBe850c2b0)
  • Cleanup: Add missing doxygen file/group comment in new asset file (rB952ded57)
  • Assets: Rename workspace active asset library DNA variable (rB8de2b6a0)
  • Fix API doc generation after recent context additions (rB807bb450)
  • Cleanup: Store asset-handle in drag data (rBcb0b017d)
  • Fix memory leak with asset view template operator properties (rBd3445496)
  • Cleanup: Use asset utility function to get the asset .blend path (rB0af08cea)
  • Cleanup: Move asset-handle functions to own file (rBe9980139)
  • Cleanup: Use const for internal file data of asset-handle (rB207df439)
  • Cleanup: Getters for asset-handle data (rB5a1b1c0e)
  • Asset: Clearly describe RNA property description as temporary (rB36fb03e2)
  • Cleanup: Correct asset TODO comment, move setter next to getter (rB8ffc3ee2)
  • Cleanup: Move asset library reference C++ wrapper to own files (rB582c5530)

Created tasks:

  • Writing Style & Tooltips: Guidelines on Notations. (T90046)
  • Assets:
    • Support Preview Images for More Data-block Types. (T90067)
    • Where to put "Mark as Asset". (T90045)
    • Recurse Into Nested Folders of an Asset Library. (T89987)
    • Handle Data-block Dependencies. (T89986)
    • Search by Tags. (T89985)
    • Improve Automatic Material Previews for Metallic Materials. (T89984)
    • Investigate Possible Shader Compilation Performance Issues. (T89983)

Review:

  • Accepted: VR: Fix for Viewport Denoising Artifacts (D11858)
  • Accepted: XR Actions [part 5]: Ref Space Improvements (D10946)
  • Requested changes to: XR Actions [part 2]: Actionmaps (D10943)
  • Requested changes to: Output Properties > Dimensions panel split (D4440)
  • Suggested changes for: VR Add-on: XR Action Creation and Controller Gizmo Visualization (DD11271)

Created patches:

  • Tools: Improve toolsystem updating on mode changes. (D11977)

Next Week

  • General Asset Browser tasks.
  • More VR patch review.

July 12 - July 18

Sybren and I managed to merge the Pose Library branch this week into master! Other than that I worked on getting the workspace scene pinning feature into master.

  • Updated D9140 (Workspaces: "Pin Scene" Option) addressing review feedback.
  • Checked the design with Ton too, he's mostly happy just wants to see the option exposed in the topbar. Created a patch to do that with superimposed icons (see created patches).
  • Continued preparing the Pose Library branch for the merge, splitting changes into individual commits and writing commit messages.
  • Helped the studio updating their build infrastructure.

Master Commits:

  • Cleanup: Move UI list template code to own file (C++) (rB9d9c879f)
  • Blenlib: Add BLI_assert_msg() for printing an extra string if the assert fails (rB280dac32)
  • Pose Library merge:
    • Assets: Add an active asset library per workspace, for the UI to use (rB3ec2bfec).
    • Assets: Expose active asset library in context (rB37132514).
    • Assets: AssetHandle type as temporary design to reference assets (rB792eb138).
    • Assets: Show asset path in asset browser sidebar (rBe5710e22).
    • Assets: Initial Asset List as part of the Asset System design (rBbab93fc3).
    • File/Asset Browser: Extend file-entry and asset handle Python API (rB6c4d21e9).
    • Assets: Abstraction for temporary loading of asset data-blocks (rBf0d8ed08).
    • UI: UI list refactor & preparations for asset view template (rB888b8e71).
    • UI: New UI list layout type for big preview tiles (rBd4037613).
    • UI: Internal support for custom UI list item drag & activate operators (rB87a7299e).
    • UI: Support UI list context menus, defined via Python scripts (rBb0122c98).
    • UI: Support pressing Ctrl+F over UI lists to search (rB85337774).
    • UI: Auto-scroll to keep active text buttons in view (rBe6554135).
    • UI: New button/widget type for Asset Browser like preview tiles (rB51a4b88b).
    • UI: Support defining UI lists in C (rBd2a5a9d7).
    • Cleanup: Use const for UI icon getter function (rB377a44d7).
    • UI/Assets: Initial Asset View UI template (rB97d5a4dc).

Created patches:

  • UI: Support tooltips for superimposed icons. (D11894)
  • UI: Superimposed pin icon for workspace scene pinning in the scene switcher. (D11890)

Review:

  • Requested changes to: Animation: allow specifying a custom frame range for actions. (D11803)
  • Accepted: UI: support persistent state during number/slider interaction (D11861)

Next Week

  • Cleanup for after the pose library merge.
  • General Asset Browser tasks.
  • Meeting for Asset Browser planning.
  • VR patch review.

July 5 - July 11

Worked on getting the pose library branch merged into master, helped Antonio Vazquez starting the work of integrating the Asset Browser into the Grease Pencil workflow and the usual general work.

  • For the pose library branch merge, Sybren and I are doing split-up work in his personal GitLab so we can force push commits.
  • Updated and organized the Asset Browser workboards a bit.

Master Commits:

  • GPencil: Support camera "Frame Selected" and object previews (rB80d0b682)
  • Fix compositor backdrop gizmo refresh problem when toggling sidebar (rBc3048070)
  • Cleanup: Remove wrong File Browser comment (rB139c3f79)
  • Cleanup: Correct comment in earlier commit (f4cb3ccd9c07) (rB54fa5041)
  • Assets: Keep assets active after renaming, ensure they are scrolled into view (rBf4cb3ccd)
  • Cleanup: Code-style correction in Ghost (Clang-format) (rB2b41b2f0)
  • Cleanup: Move file deselection function to more appropriate file (rB13672f8b)
  • File Browser: Select files and directories after renaming (rB6b086903)
  • Cleanup: Rename ambiguous "params" variable in File Browser notifier listeners (rB673c254c)
  • Assets: Disable file renaming operator for Asset Browsers (rBcadda7aa)
  • Cleanup: Move common File Browser renaming code into functions (rB2eca9c7e)

Created patches:

  • GPencil: Make camera "Frame Selected" logic work with GPencil objects. (D11833)
  • Add BLI_assert_msg() for printing an extra string if the assert fails. (D11827)

Review:

  • Requested changes to: GPencil: Fix asset preview (D11829)
  • Accepted: Fix: UI - Center the status bar progress bar text (D11205)
  • Accepted: VSE: Make pasted strip active (D11781)
  • Accepted: Fix: text after the cursor is also displayed before the cursor when inserting IME text on UI button (D11072)

Created tasks:

  • Add RNA/BPY function for "Mark Asset". (T89732)
  • Add Asset Browsers to Default Workspaces. (T89731)
  • Show small preview image even in non-Thumbnail Display Modes. (T89730)
  • Add toggle for Vertical and Horizontal Display Mode. (T89729)

Next Week

  • Try to get the pose library branch merged.
  • There will have to be plenty of cleanup work either in the branch of in master after the merge.
  • VR patch review.

June 14 - June 20

No particular focus, just some general high-priority tasks for UI and assets.

  • Continued work on the asset workshop blog post (pretty much ready now).
  • Answered comments on previous Asset Browser Project Update.
  • Cleanups and smaller tweaks for the pose library branch. Plan is to get this into master ASAP.
  • Created report: Depsgraph use-after-free after scene switching undo. (T89196)
  • Updated workspace scene pinning patch, fixed some issues (Workspaces: "Pin Scene" Option D9140). This would be very useful for the Sprite Fright production, so I prioritized this.

Review:

  • Requested changes to: Spreadsheet: Dataset region for spreadsheet editor (D11046)

Commits:

  • Cleanup: Add files for version independent versioning helpers. (rB8e84938d)
  • UI: Support right aligned non-shortcut hints in widgets. (rBa4f840e1)
  • Fix possible C-linkage warning on Clang. (rBaadd3550)

Next Week

  • Get asset workshop post published
  • Continue review of VR controller support patches
  • Work on some general asset browser tasks

June 7 - June 13

Finished and published the asset browser blog post, some general asset related work and general UI work.

  • Assets:
  • Helped out with architectural changes for "Spreadsheet: Dataset region for spreadsheet editor" (D11046)

Master Commits:

  • Fix object assets getting duplicated after dropping (rBc8fcea0c)
  • Add option to link assets on drag & drop (rBf6c5af3d)
  • Cleanup: Apply clang-format (make format) (rBc18ff180)
  • Fix T87703: Failed assert when dragging object data-block into 3D View (rB7124c663)

Review:

  • Requested changes to: Spreadsheet: Dataset region for spreadsheet editor (D11046)

Next Week

  • Finish asset workshop post.
  • Start cleaning up asset-browser-poselib branch for merge.
  • General asset work (open tasks, fixes, etc.).
  • General review.

May 31 - June 6

The week was all about the asset project again, we had the last two days of the asset workshop and I did some follow-up work.

  • Monday (write-up) and Tuesday (write-up) were the last two days of full-time asset workshop.
  • Finished/polished workshop write-ups, restructured documents we created and organized them together for easy access (link to be shared in a blog post soon).
  • 2nd major pass over the asset browser design overview blog post (created graphics, rewrote paragraphs, changed structure, ...).
  • Started writing a workshop outcomes blog post.
  • Started experimenting with a more general placement tool, based on the bounding box snapping for asset dragging.
  • Spent some time investigating Phabricator alternatives, trying to see which one fits our needs.

Next Week

  • Get at least one of the blog posts published.
  • Various asset related work (e.g. check which parts of the pose library branch can be merged).
  • Go through own patch review backlog.

May 24 - May 30

Focus on asset work, especially preparing and doing the asset workshop.

  • Assets:
    • Finished and presented a short demo to Ton, who seemed to like what he saw.
    • Wrote a first version of an asset browser design overview document.
    • Sybren and I had a long meeting to prepare the asset workshop.
    • The workshop started Thursday (write-up) and continued Friday (write-up).
    • Asset system file-list rewrite: Mostly finish regular file reading & general improvements (d6e9b0ce5d)

Created tasks: 6

  • Implement uiModelView interface, with FileView and AssetView implementations. (T88540)
  • Add library file (.blend file) reading to file-list. (T88539)
  • Use new file-list design in the File Browser. (T88538)
  • Add tests for file-list reading. (T88537)
  • Properly handle file links (as in symlinks). (T88536)
  • Rewrite file-list code for asset system (and File Browser). (T88535)

Review: 2

  • Accepted: Keymap: use D-Key for view-pie menu (D11189)
  • Requested changes to: Theme: Remove alpha for some menu items (D9061)

Next Week

  • Finish asset workshop.
  • Asset workshop follow-ups (work on blog post, general smaller follow-ups).
  • Continue work on the asset browser design overview blog post.

May 17 - May 23

  • Assets:
    • Show asset path in asset browser sidebar + Open Blend File button (0898c577c4).
    • Cleanup: Remove unnecessary NonCopyable mixin usages (374e32eab6).
    • Created asset-browser branch containing most other asset-browser related branches.
  • (Long) UI meeting on potential keymap changes.
  • Started writing a blog post announcing possible keymap changes for 3.0.
  • More work for an asset browser demo. Started working on a demo with slides and voice over, but ended up doing something much simpler, with short demo clips.

Created tasks: 2

  • New buildbot ignores sub-module branches. (T88432)
  • Review & Merge Controller Support Patches. (T88367)

Review: 2

  • Accepted: Fix T87621: Win32 Do Not Create Preview Thumbnails for Offline Files (D11101)

Commits:

  • Assets: Use textures (and shadows) for automatic object previews (rB330fecc9)

May 10 - May 16

A bit more review again (including the first big part for VR controller support) and general asset stuff.

  • Asset system file-list rewrite: Initial framework and basic reading of file-lists (rBc71e856b).

Created tasks: 2

  • "Open Custom Preview Scene" operator for asset previews. (T88228)
  • Asset System: Data Storage, Reading & UI Access. (T88184)

Review: 5

  • Accepted: XR Actions [part 1]: Actions (D10942)
  • Accepted: Cleanup: use enum for screen direction variables (D11245)
  • Accepted: Fix T88167: Regression: no tooltip for syringe/picker, during picking object (D11224)
  • Accepted: Pose Sliding tools improvements (D9054)
  • Requested changes to: Spreadsheet: Dataset region for spreadsheet editor (D11046)

Commits:

  • Fix warning on Apple Clang, missing override specifier (rB273db929)

May 3 - May 9

  • Assets:
    • Snap based on the bounding box when dropping, not origin (279f271a0a).
  • Fix missing background of buttons after reports (rBb3ba41ec).
  • Fix missing header & footer toggle chevrons in Spreadsheet (rB5ea113a5).
  • Fix T82002: ENTER does nothing when mouse cursor is over save dialog text field (6c8c30d865).

Review: 1

  • Accepted: UI: Display indicator in the 3D Viewport when Clipping Region is on (D11193)

April 26 - May 2

National holiday plus one day off this week, so only 3 workdays.

  • Created Patch: Assets: Keep assets active after renaming, ensure they are scrolled into view. (D11119)
  • Created Patch: Suggestion: Move UI List filter buttons to the top. (T87942)
  • Continued work on the object drag & drop snapping:
    • Show a bounding box for object assets while dragging (rB78008642)

Master Commits:

  • Fix all objects getting selected sometimes when droppping object (rB7f208be9)
  • Fix incorrect sorting in Asset Browser after renaming local asset (rB88400f0c)
  • Fix T87842: Outliner in Blender File mode has large performance impact (rBa7bda035)

Review: 3

  • Accepted: UI: Asset Browser Object Thumbnails (D9940)
  • Accepted: Modify poll functions to resolve NULL pointer dereference for modifier/constraint/fx operators (D11126)
  • Accepted: UI: Improve walk navigation in UI List template (D11063)

Next Week

  • General Asset Browser work.
  • General UI module work & some more review.
  • UI module code quality Friday.

April 19 - April 25

Plenty of general work (UI & Asset Browser related). I was asked to work on basic snapping support with nice feedback while dragging for assets; got a first version of that to work.

  • UI meeting & polished meeting notes (Hans wrote most of it).
  • Cleaned up UI module page on developer.blender.org & replied to various topics.
  • Helped out and gave some feedback on the asset bundle.
  • Reported (and briefly investigated) 2 bugs:
    • Failed assert when dragging object data-block into 3D View. (T87703)
    • Failed assert when generating scene preview. (T87701)
  • Asset View UI template:
    • rB135298a1: Fix missing refresh of Asset View UI template previews after regenerating.
    • rB25654708: UI Lists: Add Ctrl+F for searching, brings search field into view.
    • rB4588609f: Asset View: Activate poses when "walk" navigating the active asset.
    • rBc2ee1af8: Avoid warning when using FileSelectEntry.id_type on a non-ID file.
  • Worked on snapping support for the Asset Browser, when dragging objects into the 3D View:
    • rB8ddf9f06: Initial prototype for snapping plane feedback while dragging assets.
    • rBfcc42b3d: Basic snapping support for dropping objects.


Master Commits:

  • Fix too big grid plane for Add Object tool on Retina displays (rB47892d66)
  • Cleanup: Create/use types for generic WM callbacks (rB0b458e83)
  • UI: Use proper close file dialog for "Restore Last Session" (rB7aa6444a)
  • Cleanup: De-duplicate file closing dialog logic (rBe9e28055)
  • Assets: Add BPY function to mark and clear assets (rB557b3d27)

Review: 5

  • Accepted: UI: option to flip X/Y preview icons for 'template_asset_view' (D10843)
  • Accepted: Fix T87688: Crash entering valid text into number field (D11049)
  • Accepted: Fix T86566: Do Not Close if File Cannot Be Saved (D10722)
  • Accepted: Fix T87637: Dragging button value cancel not working (D11021)
  • Accepted: Fix T87448: Avoid uiBut update if value was same (D10976)

Next Week

Gonna be a short week with two days off.

  • Asset Browser demo for Ton.
  • Improve asset snapping preview.
  • General BCon3 bug fixing.

April 12 - April 18

Three tasks mainly: Asset Browser & Pose Libraries, GSoC and VR. The VR project is back on my radar again: The patches for controllers support can be reviewed now for 3.0 and there may be a VR GSoC project.

  • GSoC: Checked a number of proposals, giving some comments. Gave feedback to a student draft.
  • Discussed how to move forward with the camera lock gizmo, decision was to revert it for the release. (See 4baf3964ae.)
  • Investigated and commented on T71593: Changes to a PropertyGroup in the preferences of an addon do not trigger the flag indicating changes to save.
  • Created a proposal on devtalk: Sharing Development .blend Files
  • Asset Browser & Pose Libraries:
    • Meetings
    • rB8b8fdcc6: Asset View: Always show all poses, avoid double-scrollbar
    • Fixed asset view crash on Reload Scripts (T87057)
    • Worked on support for CtrlF over UI Lists (for the asset view template) and auto-scrolling the view so the search field stays in view. Not committed yet, there's a nasty bug still

Created tasks:

  • Asset View UI template: Missing refresh of previews after regenerating. (T87559)
  • Asset View UI template: Call apply operator on "walk" navigation (arrow keys). (T87539)
  • Asset View UI template: Add Ctrl+F for searching. (T87538)
  • Asset Browser: Refresh issues after renaming. (T87467)
  • Decide on Camera Lock Gizmo Design. (T87460)

Master Commits:

  • UI/Nodes: Improve feedback when adding node fails (e.g. on drag & drop) rB2bd9f9d9

Review:

  • Requested changes to D10942: XR Actions [part 1]: Actions. D10942
  • Accepted D10623: Geometry Nodes: Add domain and data type to attribute search. D10623
  • Commented to D10968: Revert D10835: Removal of Lock Camera Gizmo Button. D10968
  • Commented D10955: UI Experiment: Operator Confirmation. D10955

Next Week

  • Review next VR patches.
  • General tasks from the Asset Browser Pose Libraries workboard.
  • Check what can go to master (e.g. the UIList refactoring & improvements), start creating patches or commit directly.

April 5 - April 11

General Asset Browser and user interface module work. Monday was a national holiday.

  • Updated the Blender Studio's build script to use make update. Makes it easier for us to let them test the pose library branch.
  • Created list of asset drag & drop cases that need to be implemented, for contributors to pick up (T82661)
  • Cleaned up & updated the Asset Browser Milestone 1 workboard.
  • Created Asset System technical design task (T87235).
  • Discussion on confirmation prompt for file overwriting on devtalk.
  • Created user interface module devtalk thread for Design Resources and Educational Material.

Commits:

  • UI: Remove confusing "Unset" context menu entry (rB554d9211)
  • Asset Bundle Repository:
    • Asset bundle: Updated readme, better formatting in Phabricator (rBL62608rB)
    • Asset bundle: Add license and readme file (rBL62607rB)
    • Add initial assets directory for the blender.org asset bundle (rBL62606rB)

Review: 5

  • Closed: Reorganize RMB menu and add option "Copy Full Data Path" (D763)
  • Accepted: UI: option to flip X/Y preview icons for 'template_asset_view' (D10843)
  • Accepted: Fix: Button to remove physics modifier doesn't work (D10870)
  • Accepted: LibOverride: Initial dedicated view in the Outliner. (D10855)
  • Accepted: Fix T86463: Colored collection icons don't scale with zoom level (D10708)

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 code.blender.org 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.

Review:

  • 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)

Commits:

  • 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)

Commits:

  • 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)

Commits:

  • 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)

Commits:

  • 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.)

Commits:

  • 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.

Commits:

  • 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)

Fixes:

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

Next Week

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