User:Severin/Reports/2022

Weekly Reports: 2022

May 2 - May 8

  • Asset Browser meeting as part of the Pipeline, Assets & I/O meeting. Wrote relevant meeting notes.
  • UI meeting (no meeting notes yet)

Master Commits:

  • Add definition of "Blender Session" to the glossary (rBM9244rBM)
  • Fix T97751: New OBJ IO - File Browser doesn't filter by .obj/.mtl (rBaae2ff49)
  • UI: Remove weird looking right aligned text in texture properties (rB5e40c342)
  • UI: Increase bitfield size for button flags (rB98a04ed4)

Created patches:

  • Fix T97518: All buttons with eyedropper highlight if one is hovered. (D14880)
  • IO: Refactor passing of IO file extension filters to the File Browser. (D14863)
  • Fix T97751: New OBJ IO - File Browser doesn't filter by .obj/.mtl. (D14862)

Review:

  • Accepted: Outliner: add icons for nodegroups (D14859)
  • Accepted: Fix T97575: Toggling fullscreen causes compositor recalc (D14856)

Next Week

  • UI and Asset Browser bug classification and fixing (esp high priority ones).
  • UI and Asset Browser patch review
  • Finish/merge grouping of overridden properties.

April 25 - May 1

Beginning of the week was focused on getting remaining tasks done for the switch to bcon3. That is, some library overrides and some VSE stuff.

  • Further work on grouping overridden properties better for the library overrides Properties view mode (T95802: Library Override - Outliner UI/UX).
  • Helped with some testing and design discussions on D14263 (VSE: Limit timeline view height).

Master Commits:

  • Cleanup: Use const for smoot scrolling function (rB845e2ed3)
  • Utils: Add macro for C++ default arguments in C headers (rB5c5ec837)
  • UI: Support setting context for buttons without layout (rB5fe1624b)
  • UI: Add callback for comparing button identity (rB83c8f996)
  • Outliner: Add icon column to toggle if library overrides are editable (rB994da707)
  • Cleanup: Make RNA function comment more readable (rB4412cbc6)
  • Assets: Note how object/geometry orientation affects automatic-previews (rBM9228rBM)

Review:

  • Accepted: XR: Add object extras, object types visibility session options (D14220)
  • Accepted: VSE: Limit timeline view height (D14263)
  • Accepted: Drag and Drop strip previews (D14560)
  • Accepted: Fix: material link pref ignored by drop down material selector (D14371)
  • Accepted: Filebrowser View pie (D13874)

Next Week

  • Finish/merge grouping of overridden properties.
  • Asset Browser meeting (as part of the Pipeline, Assets & IO meeting)
  • UI meeting

April 18 - April 24

Not working.

April 11 - April 17

April 4 - April 10

Worked 4 days only again.

  • Update in the manual:
    • Update Library Overrides display mode in Outliner (rBM9169rBM)
  • Created a task:
    • Support Dragging Assets Into the Outliner. (T97036)
  • Worked on collection asset drag & drop support with bounding box snapping again, it's a bit tricky.
  • Investigated possibilities for batch loading previews from .blend files into the OS cache. Currently a lot of unnecessary work happens there when loading big libraries.
  • Opened thread for collection asset feedback

Master Commits:

  • Fix collection assets hidden in old files with asset browser open (rBb5f3f8ef)
  • Fix F-Curve visibility toggle disabled for library overridden rig (rBd8a9bcea)

Review:

  • Accepted: UI: move "use_select_nearest_on_first_click" into it's own panel (D14542)
  • Accepted: VSE: Add channel headers (D13836)

Next Week

Short week with only 2-3 workdays for me.

  • Work on collection asset placement
  • Improvements to the new library overrides UI


March 28 - April 3

  • Worked on collection assets, they are enabled by default now.
  • Continued work on the library overrides views for the Outliner, most work is merged into master now. The entire first pass of important features is done, now focus goes more towards refining and adding smaller features.
  • Various meetings on application templates

Master Commits

  • Outliner: Don't show indirectly linked Library Overrides properties (rB8b5292a6)
  • Icons: Programmatically create indirect library icon, remove from SVG (rB4def6e80)
  • Fix T96844: Crash when switching workspaces and outliner modes (rB4a5cd4e6)
  • Assets: Support automatic collection previews (rB810e225c)
  • Use non-recursive ID loop & fix issues adding same ID multiple times (rBdddf793f)
  • Outliner: New "Hierarchies" view mode for Library Overrides (rB0c6dc7c5)
  • Assets: Instancing operator option for collection asset dropping (rBeb1ede56)
  • Assets: Enable collection assets (no longer experimental) (rB253e4e7e)
  • Fix compiler error when building without USD and alembic (rB999f6526)

Created tasks:

  • Collection Assets: To Instance or Not to Instance. (T96963)

Review:

  • Requested changes to: VSE: Add channel headers (D13836)

Next Week

Only about 4 days of work again.

  • Work on collection asset placement
  • Improvements to the new library overrides UI

March 21 - March 27

  • Library Overrides Branches:
    • Outliner: Initial Hierarchy view mode for Library Overrides (rBad191330)
    • Mostly finished implementation of the hierarchy view (rBa6c00778)
    • Correct logic to avoid IDs recursing into themselves (rBfe0a6551)
    • Fix "Current File" being highlighted together with first ID base element (rB9bb71e2f)
  • Asset Browser split & grid-view branch:
  • Adopt to RNA prototypes changes in master (fix compile error) (rBeaa58a16)
  • Cleanup: Use new license header convention (rB063689b8)

Master Commits:

  • Tiny visual fixes/tweaks for new library override buttons in Outliner (rBb40ac968)
  • Fix T96705: Crash when pressing F3 outside a Blender window if Developer extras (rBb7b3c4c4)
  • Outliner: Don't display library overrides from linked files (rB1ff853a3)
  • Outliner: Remove list of library overrides from general display modes (rBdcb520a7)
  • Outliner: Don't draw library overrides indicator for override buttons (rB511dfb77)
  • [Blender Manual] Update Outliner docs to changes in Library Overrides mode (rBM9152rBM)
  • Outliner: Don't show empty base elements in the library overrides mode (rBa6214ce7)
  • [Blender Manual] Assets: Explain the asset catalogs backup file (rBM9153rBM)
  • Fix Outliner highlighting multiple base elements in different libraries (rBba493457)

Created patches:

  • Assets: Support automatic collection previews. (D14460)
  • Outliner: Initial Hierarchy view mode for Library Overrides. (D14440)
  • Outliner: Don't draw library overrides indicator for library override buttons. (D14416)
  • Outliner: Remove list of library overrides from general display modes. (D14411)
  • Outliner: Don't display library overrides from linked files. (D14410)

Review:

  • Accepted: Fix T95678: Thumbnails are not working with big / large Objects (D14138)

Next Week

  • More Library Overrides UI work
  • More collection assets work
  • Application templates workshop

March 14 - March 20

Got sick this week, so I had to take some sick days.

  • Filled out 2021 WBSO sheets (government subsidy)

Master Commits

  • RNA: Generate property declerations header, solving msg-bus C++ incompatibility (rB9b298cf3)
  • Auto-generate RNA-structs declarations in RNA_prototypes.h (rBa5578351)
  • Cleanup: Remove confusing double negation in RNA helper function (rB7ec2c5c1)
  • Outliner: Display buttons to edit library override properties (rBd8e3bcf7)
  • Fix keying-set selector broken (rB7fed4c06)

Created patches:

  • UI: Never reuse operator properties for drag & drop. (D14351)

Review:

  • Accepted: BLI: Move CPPType to blenlib. (D14367)
  • Accepted: Cleanup: Deprecated field access in outliner_duplicate (D14356)
  • Accepted: Cleanup: remove redundant 'extern StructRNA' declarations (D14342)
  • Initial design feedback: XR: Motion Capture (D10947)
  • Initial design feedback: XR: Add object extras, object types visibility session options D14220
  • Initial design feedback: XR: Customizable Actions D13420

Next Week

  • Further work on library overrides usability.
  • Meeting in the studio on asset collections.

March 7 - March 13

Again, 4 days of work only.

  • Further work on the library override Outliner UI:
    • Add toggle for Library Overrides view mode (rB13fe40b5)
    • Got an initial version of the Hierarchy view mode to work (to be committed)
    • Got a working version of the tree "merging" to work, where multiple override paths including expanded RNA collection lists (modifiers, constraints, etc) are merged into a single hierarchy. (To be committed)
  • Chaired meeting in the Studio on developer role descriptions.
  • Some review work for release blockers and to catch up with the backlog generally.

Master commits

  • Cleanup: Deduplicate Outliner item culling logic (rBc4d3d104)
  • Outliner: Correct check for element culling (rB8e3a5857)
  • Outliner: Ensure compiler error when passing wrong tree-element to macro (rB39c50d8f)

Review:

  • Accepted: VSE: Use edge panning (D14310)
  • Requested changes to: VSE: Add channel headers (D13836)
  • Accepted: Fix T94692: Show Cached OneDrive Thumbnails (D13930)
  • Accepted: Event System: drag events no longer default to the drag start location (D14213)
  • Accepted: Fix T95256: Crash when creating off-screen pose asset (D14265)
  • Accepted: Fix T95531: Draw y axis values in Driver Editor (D14022)
  • Accepted: Fix T95591: Crash on drawing with measure tool with tweak fallback tool (D14231)

Next Week

February 28 - March 6

Again, 4 days of work only.

  • Further work on the library overrides Outliner UI:
    • Display modifiers and other collections with overrides in the tree (rB1383c53e)
    • Fix glitchy highlighting of tree elements (rB34df0c4e)
    • (Unfinished) work to display all modifiers, constraints, etc if there is an override on them (e.g. a modifier was added).
  • Got asked by the studio to work on making dragging of files in the file browser thumbnail mode use the full preview tile size, so users don't have to carefully click on the thumbnail itself anymore. Patches and commits listed in the following.

Master Commits

  • WM: Allow drop-box polls to use context from UI (rB8e940f31)
  • Cleanup: Remove duplicated comment (rB81bb86c7)
  • Cleanup: Use rectangle for file browser tile drawing (rBf531dff9)
  • Fix T96140: Crash on color button drag & drop (rB9b12889a)
  • Outliner: Display respective data-block icon in library overrides mode (rB76879e37)
  • Cleanup: Remove redundant drag image size parameters (rB544bd0c3)
  • File Browser UI: Allow dragging anywhere in a file preview tile to drag (rB6e487228)

Review:

  • Accepted: UI: Drag & Drop to Properties Materials Panel (D13549)
  • Accepted & committed: Enabled the outliner to use the correct icon for each curve subtype. (D14093)
  • Accepted: BLI: Add scoped-defer utility to add RAII-like behavior to C types. (D14215)
  • Abandoned: Asset System: Allow disabling asset libraries (D14109)

Created tasks:

  • Remove redundant linked & library override icons. (T96074)

Created patches:

  • File Browser UI: Allow dragging anywhere in a file preview tile to drag. (D14228)
  • Outliner: Display respective data-block icon in library overrides mode. (D14208)

Next Week

  • Further work on library overrides usability.
  • Do at least some work for asset collections.

February 21 - February 27

  • Added ideas to the 2022 GSoC project ideas page:
    • Continue Outliner Code Refactor
    • Files as Assets
    • Asset Catalog Selector for Asset View Templates
  • Read up on and discussed brush management tasks & proposals, in preparation of the sculpt module meeting.
  • Sculpt/paint module meeting.
  • Started involvement in the overrides project.
    • Read up on the topic in the (blog post and tasks)
    • Display buttons for properties in the Outliner Library Overrides mode (rBcaa40c93).
  • Updated script to generate weekly reports to also include commits from all branches & repositories. Need to upload this as patch still.

Master Commits:

  • Fix wrong asset library displayed/loaded in asset view templates (rBd48e595c)
  • Fix incorrect Outliner tree-display type returned (rB17301a31)

Review:

  • Requested changes to: Asset Browser: regenerate multiple asset previews (D14152)
  • Requested changes to: Fix T95678: Thumbnails are not working with big / large Objects (D14138)
  • Requested changes to: UI: Support drag/drop of materials in properties panel (D13549)

Patches worked on: 1

  • Needs Review: Outliner: Display respective data-block icon in library overrides mode (D14208)

Next Week

  • Further work on library overrides usability.
  • Do at least some work for asset collections.
  • Some work for Asset Browser split & the asset system.

February 14 - February 20

More of the same: Focus was on the Asset/File Browser split and the grid-view, mostly performance related. A nice speedup for general preview loading from storage already landed in master.

Again, 4 days of work only.

  • VR patch review.
  • Further work on the Asset Browser split and grid-view, esp. addressing various performance issues:
    • Fix failed assert with small region size (rBc9c332f4)
    • Support active item (rB696295f8)
    • Store active item, asset metadata sidebar (rBef584675)
    • Let UI do lazy-loading of previews, rather than file-list cache (rB39eab45c)
    • Remove preview-caching from asset-list API (rBeafd98c9)
    • Fix missing (re)load when changing asset libraries (rB2ce7f02a)
    • Fix crash when loading asset library takes multiple redraws (rBfdc53012)
    • Fix missing redraw when switching asset libraries (rB3d31ad82)
    • Speedup preview icon loading (rB731c1be9)
    • Solve redraw performance issue in huge asset libraries (rB9ae2259d)

Master Commits:

  • UI: Speedup preview icon loading from hard drive (rB16ab6111)

Review:

  • Accepted: UI: Do not include the text stating an enum item is the default (D14151)
  • Accepted: XR: Allow variable count of action map subactions (D13949)
  • Accepted: Fix T76082: VR Scene Inspection: It shows me only a pink screen (D14100)

Next Week

Plenty of smaller things:

  • Dig into overrides project topics, start work on some tasks.
  • Contribute to GSoC project ideas list.
  • Meeting on brush management.
  • Do at least some work for asset collections.
  • Some work for Asset Browser split & the asset system.

February 7 - February 13

Focus was on the Asset/File Browser split and the grid-view, big improvements in navigation speed in huge libraries already become apparent.

Again, 4 days of work only.

  • Wording and formatting improvements to Writing Style HIG page.
  • Further work on the Asset Browser split and grid-view:
    • Enforce a fixed column number for the grid layout (rB39e35800)
    • Show asset catalog tree-view in navigation sidebar (rBee013f44)
    • Move asset catalog filtering to editors/assets (rBeab2a847)
    • Get changes in catalog tree to update the UI correctly (rB29fdd436)
    • Mouse hover highlight for grid items (rB400d7235)
    • Add theme colors for view items (rBf17ea3da)
    • Various GUI tweaks (rB2011d1f6)
    • Support reading and writing asset browsers from/to files (rB86ea1ad5)
    • Fix crash when loading files with asset browser open (rB9530fb60)
    • Bring back editor pulldown menus, get operators to work, T for nav-bar (rBf29fa989)
    • Only add items to layout that are visible on screen (rB18f8749f)
  • Again: Various presentations/workshops at the Blender headquarters:
    • Developer roles workshop (part 2)
    • Strategic projects planning presentation
    • Phabricator replacement status presentation
    • Blender Studio online pipeline presentation

Master Commits:

  • Fix asset-view template ignoring "Asset Indexing" debug option (rBb3bb51dd)

Created tasks:

  • Split Asset and File Browser, implement Grid View. (T95653)

Review:

  • Accepted: Fix incompatible swapchain format for Quest 2 (D14024)
  • Accepted: Fix T94268: Closing SteamVR and restarting VR Session crashes Blender (D14023)

Next Week

  • Continue work on asset collections.
  • Continue basic work for Asset Browser split & the asset system.
    • Get lazy-loading & caching of previews to work.

January 31 - February 6

Continued work on the Asset/File Browser rewrite, workshops on strategic topics and some smaller general work.

Worth noting: from this week on I'll only work 4 days a week for a bit, to have time for studies.

  • Created Wiki page (UI): Get Involved as a Designer
  • Further discussions and comment on D13868#372020 (Collections: Functions to calculate bounding box and dimensions)
  • Investigated Asset Browser performance issues with many assets. Turned out to be issues
  • Further work on the Asset/File Browser split and the Grid-View API:
    • Add basic asset library loading, general cleanups (rBb8b7b0af)
    • Display a basic list of assets, set up scrolling and notifier listening (rB3df2e4e8)
    • Basic grid layout with big preview tiles (rB925b82ef)
  • Various presentations/workshops at the Blender headquarters:
    • Texture workshop outcomes
    • Blender Studio Asset Management Pipeline presentation
    • Developer team roles workshop

Master Commits:

  • Guarded allocator: Document non-obvious initialization with MEM_new() (rB4aeb6add)
  • Fix wrong use of region size without pixel-size applied (rB4eb10e41)
  • Asset Browser: Use directory name as default when adding asset libraries (rB32b33e91)
  • Fix compile error with audaspace disabled (rB1d1859c3)
  • Cleanup: Better name for new Outliner tree element type (rB64359f89)
  • Cleanup: Namespace alias for internal outliner header (rBfc5ef245)

Next Week

  • Continue work on asset collections.
  • Continue basic work for Asset Browser split & the asset system.

January 24 - January 30

  • Continued Outliner refactoring.
  • UI module day (unplanned but overdue).
  • Work on drag & drop code to support retrieving context from buttons, needed for dragging assets onto material slots (D13549).
  • Update on std::filesystem discussion (T90379).
  • Started work to split off the Asset Browser from the File Browser. This is in preparation for adding a Grid-view API (similar to the new Tree-View API), which eventually serves decoupling asset reading from the file-list code, which again is needed for the asset system design.

Master Commits:

  • Drag & drop: Support using context of hovered button when dropping (rB92d747b0)
  • Fix overread warning in screen operator (rB5d74fa31)
  • UX: Prevent click-through panels and used header area (rB87c13ac6)
  • Event System: Add debug sanity check "always pass" events (rB4710f334)
  • Cleanup: Small improvements to Outliner RNA path build function (rBf6296e50)
  • Cleanup: Improve function name, introduced in own recent commit (rB9dc0379d)
  • Cleanup: Remove RNA data from TreeElement, get via type specific class (rB7b615ca1)
  • Fix incorrect index-key in RNA path built from Outliner (rBfdd84d36)
  • Outliner: Function to "cast" C-style TreeElement to typed C++ pendant (rB08e28857)
  • Cleanup: Reduce void * reliance of new RNA C++ Outliner elements (rBb57db4b7)
  • Outliner: Port sequencer elements to new tree-element design (rBda1b6c4c)
  • Cleanup: Reduce void * reliance of new sequencer C++ Outliner elements (rBfc0dd558)
  • Outliner: Add missing sanity checks for RNA tree-elements (rBd74c2b5c)
  • Outliner: Port RNA elements to new tree-element design (rB9bce134e)

Review:

  • Requested changes to: UI: Support drag/drop of materials in properties panel (D13549)
  • Accepted: Fix T61558: Label alignment in top bar (D13552)
  • Accepted: Outliner: avoid creating unnecessary undo steps (D13638)
  • Requested changes to: UI: Unify drawing style of UILists and Tree row buttons. (D13858)
  • Requested changes to: Fix T94692: Show Cached OneDrive Thumbnails (D13930)
  • Accepted: UI: Add OneDrive to System List for Windows (D11133)
  • Accepted: Assets: Enable node group assets. (D13748)
  • Accepted: Assets: Add operator to create preview from active object. (D13747)

Next Week

  • Continue work on asset collections.
  • Investigate/fix performance issues with large asset libraries.
  • Continue basic work for Asset Browser split & the asset system.

January 17 - January 23

Further development for collection assets. Some fixes related to asset previews, to work towards fixing performance issues in large asset libraries. Also updated and merged some patches.

Master Commits:

  • Fix continuous stream of thumbnail notifiers after redo (rB6baccc36)
  • Fix file/asset thumbnails causing constant stream of notifiers (rBd552b3c0)
  • Fix: File Browser using asset indexer after Asset Browser was visible (rBe7db1247)
  • Asset Browser: Add debug option to disable asset indexing (rB293aab22)
  • Cleanup: Remove now redundant performance workaround for asset previews (rB8af22719)
  • Cleanup: Correct comments for immediate mode buffer draw functions (rBfa1fef50)
  • Cleanup: Improve naming of immediate mode buffer draw functions (rB194979e9)
  • UI: Speed up icon scaling (rBaa0ecd17)
  • T94828: Appending collection with instancing links nested collections (rBbe8f10a4)

Created patches:

  • Collections: Functions to calculate bounding box and dimensions. (D13868)
  • Auto-generate RNA-structs declarations in RNA_prototypes.h. (D13862)

Patches worked on:

  • RNA: Generate property declerations header, solving msg-bus C++ incompatibility (D13837)
  • UX: Prevent click-through panels and used header area (D13539)

Created tasks:

  • Add asset catalog selector to asset-view template (i.e. pose selector in the side-bar). (T94978)

Review:

  • Commented: PyAPI: temporary context override support. D13126
  • Accepted: RNA: display exact integer values without fraction if step is integer. (D13753)

Next Week

  • Continue work on asset collections.
  • Investigate/fix performance issues with large asset libraries.

January 10 - January 16

No particular focus. General maintenance mostly.

  • Outliner: Continued porting the code to more modern C++. The previous C/C++ mixture started causing development overhead.
  • Some more work for collection asset drag & drop support using bounding-box snapping. (rB3ef54e21)
  • Meeting in the studio on strategical targets for 2022.

Created tasks:

  • Appending collection with instancing makes objects in nested collections appear twice. (T94828)

Created patches:

  • RNA: Generate property declarations header, solving message-bus C++ incompatibility. (D13837)
  • Fix T94828: Appending collection with instancing links nested collections. (D13803)

Master Commits:

  • Cleanup: Outliner function names, simplify struct initialization (rB67517c7d)
  • Cleanup: Use destructor to delete Outliner runtime data (rB82d5905e)
  • Cleanup: Use smart pointers for Outliner tree display and element types (rBca9a749b)
  • Fix incorrect destruction of Outliner tree-elements (rB41495707)
  • Cleanup: Remove Outliner C-API headers/wrappers (rBe9a43a3b)
  • Cleanup: Fix warning when compiling without Audaspace (rB261517e4)
  • Fix/workaround MSVC compile error with messag-bus (rB800fc173)
  • Cleanup: Run make format (rB1c4a1c13)
  • Outliner: Compile all Outliner files in C++ (rB039cc329)
  • Cleanup: Use nullptr in new Outliner C++ files (rB22dc865a)
  • Cleanup: Make message-bus utility macros callable from C++ (rB1a4f8ab3)
  • Fix warnings after bab47b60cb69 (rBa0dcd0bf)
  • Cleanup: Correct indentation (rBa72a9e09)
  • Fix T94299: Object asset set as visible but doesn't show (rB41ce7807)

Review:

  • Accepted, made tweaks & canded: DNA_defaults: Add space clip editor defaults (D13367)
  • Accepted: Outliner: Add way to display warning icon for items. (D13766)
  • Closed & committed: Remove developers' local pathnames from SVG files and remove deprecated gradients (D13344)
  • Accepted: Fix: Build warning with MSVC (D12915)
  • Requested changes to: Add mask blending factor to mask editor (D13284)
  • Requested changes to: UI: Support drag/drop of materials in properties panel (D13549)

Next Week

  • Continue work on asset collections.
  • Discussions for preparing a project on overrides.

January 3 - January 9

Some fixes, review and work for collection asset support.

  • Worked on bounding box snapping for collection assets (not merged yet):
    • Initial bounding box based snapping for collection drag & drop (rBd1e59b29)
    • Get bounding box snap placing on drop to work (rBfcdc3f00)

Created patches:

  • Fix T94299: Object asset set as visible but doesn't show. (D13738)
  • Fix indirectly instanced objects being both instanced and linked (rB46ae2593)

Master Commits:

  • Fix Cycles compile error after last own commit (rB741ed5fc)
  • RNA: Support bitwise operators for property flags in C++ (rB3e11c701)
  • Fix Adjust Last Operation panel showing session UUID number button (rB09d68468)
  • Fix T94308: Window Manager console error (rBad8e2d66)
  • Fix T94316: Asset catalog tree scrolls away when renaming a catalog (rBa42e972e)

Review:

  • Accepted: Assets: Disable automatic preview generation for node groups. (D13728)
  • Accepted: Fix T89587: Don't Change Line Width For Previews (D13717)
  • Requested changes to: UI: Blender 101: Mouse Hover Highlight (D12549)

Next Week

  • Continue work on collection assets.
  • General catching-up/maintenance after holidays.