User:Severin/Reports/2022

Weekly Reports: 2022

Septemer 5 - September 11

Further work on the brush assets project plus Outliner & library overrides.

Created patches:

  • Outliner: New context menu building design (MVP). (D15926)

Master Commits:

  • Console: Support page up/down and home keys for scrolling (rB82fc52ff)
  • Outliner: Hide search button for library overrides hierarchies view (rB21b92a5f)
  • Outliner: Hide search options for library overrides hierarchies view (rB2a769e76)
  • Outliner: Hide ID type filter for library overrides (rBb5fc8f61)
  • Cleanup: Simplify outliner context menu building queries (rB8f6a38ed)
  • Outliner: Hide "data operations" context menu entries unless supported (rB7eda9d8d)
  • Cleanup: Remove unused variable in RNA path function (rB59f6c60f)
  • Outliner: Don't show asset context menu when no IDs are selected (rB860c3dce)
  • Outliner: Hide library overrdies context menu when no IDs are selected (rBe254d886)

Review:

  • Accepted: Fix T100887: Some C++ importers/exporters (e.g. OBJ) reset file dialog Sort By mode (D15906)
  • Accepted: Fix unreported: Missed return in ASSET_OT_bundle_install item enumerator (D15699)

Next Week

  • Brush assets project preparation (design work, defining project scope, etc).
  • UI module backlog sprints.

August 22 - August 28

Mostly holidays.

Review:

  • Accepted: Fix T99493: better syncing between Node Editor and Image Editor (D15749)

Master Commits:

  • Cleanup: Move outliner types to namespace, avoid C-style type definition (rBb19c51c7)

Next Week

  • Further meetings on brush asset management.
  • Remaining library overrides tasks.
  • UI module work.

August 15 - August 21

Plenty of catching up and following up after Siggraph. Besides that, a bunch of Outliner work (general improvements + improvements for library overrides).

  • Meeting write-up: 2022-08-09 OpenAssetIO Meeting @ Siggraph
  • Besides committed Outliner changes listed below, worked on further experiments to improve Outliner performance with complex trees, both need more testing/feedback:
    • Store unused tree-store elements in separate container, avoiding unused elements lookups.
    • Use mempool for allocating tree elements. Gave a bit of speedup, but wouldn't be compatible with future plans to refactor tree element code.

Master Commits:

  • Cleanup: Remove unused Outliner search element storage (rB71f091a6)
  • Outliner: Avoid unnecessary Outliner storage copy (rBecf4a783)
  • Cleanup: Improvements to Outliner tree writing code, add assert (rBd8223bdc)
  • Outliner: Compile outliner tree-hashing files in C++ (rB0be64274)
  • Cleanup: General style improvements for Outliner tree hashing code (rB5148e1c6)
  • Outliner: Use C++ container for tree hash element storage (rBde794adc)
  • Outliner: Add commented out benchmarking calls for tree rebuilding (rB75cca836)
  • Outliner: Refactor outliner tree-hash interfaces with C++ (rBd2255aa4)
  • Cleanup: Remove unused outliner function (rB9707080a)
  • Outliner: (Refactor) Use C++ map instead of GHash (rB8115d312)
  • Outliner: Refactor how lazy-building of children is done (rB23107844)
  • Outliner: Workaround for big performance issue in Library Overrides mode (rB3a1ae5a0)

Review:

  • Accepted: BLF: Gamma Correction (D13376)

Next Week

  • Holidays
  • More library overrides work, should be the final stretch of the project now.

August 8 - August 14

Siggraph!

  • Met many people, had interesting conversations, just a lot of networking and getting insights.
  • Meeting on OpenAssetIO. Meeting notes are being reviewed and will be shared soon.

August 1 - August 7

TODO

  • Left for Siggraph on Friday.

July 25 - July 31

TODO

July 18 - July 24

TODO

  • Document recently added cache directory (rBM9406rBM)
  • Update information on asset library indexing (rBM9407rBM)

July 18 - 24

  • UI patch review session
  • Meeting on integrating asset browsing functionality to any editor.
  • Created task: Rewrite File Browser UI to use views. (T99890)
  • Proof of Concept: File Browser thumbnail mode using grid view (rB3a97c405)
  • (Not yet committed) Patch to group properties by structs in the Properties mode of the Library Overrides display mode. Quite tricky to get to work right.
  • Helped in the interviewing process of a job applicant.

Commits

  • UI: Add AbstractViewItem base class (rB348ec37f)
  • UI: Port view item features to base class, merge view item button types (rB5bee9911)
  • Cleanup: Apply clang-format (rB2e3fb581)
  • UI Code Quality: Move view related files to own folder (rBfb9dc810)
  • Cleanup: Improve API and documentation of interface_view.cc (rB16b145bc)
  • UI Code Quality: Move eyedropper files to own folder (rB43d04c7e)
  • Fix T99847: Dragging image from Image Editor to Node Editor broken (rBa814c709)
  • Fix missing registration of grid view items in the view (rB0c6ae51d)
  • UI: Remove redundant view reference in view items (rBc4d8e28a)

Review:

  • Accepted: LibOverride: support 'make override' for all selected items. (D15497)

Next Week

  • UI patch review session
  • Kick-off some library overrides sprint.

July 11 - July 17

  • Updated the technical docs for UI views.
  • Work to set up Penpot as a core platform for UI design:
  • Updated: UI: Refactor path dropping so logic doesn't depend on icons (D13428)
  • UI Patch Review Session:
    • Fix overly noisy surface deform warning message (D15468)
    • Fix an increasing bottleneck when key press operator is too slow (D15444)
    • Outliner: Double click on icon to select contents/hierachy (T99275)
    • Compositor: Continously add/remove for cryptomatte. (T97907)

Commits:

  • Cleanup: Remove unused operator name storage in UI lists (rBda101118)
  • UI: Tweak layout of File Browser Preferences (rB1ef686bd)
  • Fix on_drag_start handler not getting ID when dragging from Outliner (rBbdd0ac5b)
  • Fix compiler error in debug builds after 1cf465bbc331 (rBc505f19e)
  • Manual:
    • Document recently added cache directory (rBM9406rBM)
    • Update information on asset library indexing (rBM9407rBM)

Review:

  • Accepted: Fix overly noisy surface deform warning message (D15468)
  • Accepted: Fix an increasing bottleneck when key press operator is too slow (D15444)

Next Week

  • Kick-off some library overrides sprint.
  • Meeting on integrating asset browsing functionality to any editor.
  • UI patch review session

July 4 - July 10

Commits

  • Cleanup: Correct UI view comments (rBc63569c0)
  • Outliner, Library Overrides: List child objects under parents (rBf9a80516)
  • Workspaces: Option to pin scene to a workspace (rBe0cc8697)
  • UI: Superimposed pin icon for workspace scene pinning in the scene switcher (rBb8605ee4)
  • Outliner, Library Overrides: List child objects under parents (rBfb28c1c5)
  • Workspaces: Option to pin scene to a workspace (rB7429fef6)
  • UI: Superimposed pin icon for workspace scene pinning in the scene switcher (rBb8bb8c49)

Next Week

June 27 - July 3

Commits

  • Fix T93650: Asset drag into catalogs broken, Industry Compatible keymap (rB36f5967b)
  • Cleanup: Use assert instead of early exit for asset dragging internals (rB83c2cbb8)
  • File Browser UI: Use "Widget" font style instead of "Widget Label" (rB6f717152)
  • Cleanup: Remove redundant theme versioning code (rBf9076f38)
  • Cleanup: Remove scene frame macros (CFRA et al.) (rB65166e14)
  • Fix pointer to pointer passed where single pointer is expected (VSE versioning) (rBe7c58941)
  • Fix build error with Alembic after 65166e145b4d (rBc9795102)
  • UI: Add AbstractView base class for views, unify reconstruction in there (rBc355be6f)
  • UI: Move rename buffer management to new view base class (rBe86c2f72)

Created patches:

  • Outliner, Library Overrides: List child objects under parents. (D15339)
  • Fix paint cursors using wrong region after "Depends on Mouse" operator. (D15321)

Created tasks:

  • Outliner: Double click on icon to select contents/hierachy. (T99275)

Review:

  • Closed: Fix T98055: Library Filters do not work in Source Files (D15284)

Next Week

June 20 - June 26

Sick leave.

Next Week

  • Library Overrides design discussions & further development
  • Patch Review

June 13 - June 19

Mostly general maintenance (fixes, review, cleanups/refactors, docs). Committed a decent (and simple) performance improvement for the Outliner, especially for the Library Overrides display mode in production files, and merged the new grid view into master.

Friday I had a day off.

Documentation:

  • Created new documentation on operators: Operators

Commits (master and/or branches):

  • Cleanup: Move dragging code for buttons to own file (rB9634f7fa)
  • Outliner performance: Only expand sub-trees if needed (rBafde12e0)
  • Fix T98715: Crash drag-dropping collection from outliner to ID property (rB4475c38c)
  • Fix T98753: Outliner Unlink material in Blender File mode crashes (rBe772087e)
  • Outliner: Sanitize material unlinking callback, report errors (rB67254ea3)
  • Fix T98875: Adding camera background image shows error (rBb690f4c2)
  • Fix T98909: Outliner - "Show Hierarchy" only shows one level (rB43ddfdb1)
  • UI: Add initial "grid view" (rB23d2e77a)
  • Cleanup: Use const in File Browser filtering operator (rB650d2f86)

Review:

  • Requested changes to: Compositor: Continously add/remove for cryptomatte. (D15107)
  • Accepted: Add mask blending factor to mask editor (D13284)
  • Accepted & committed: Add file browser operator to edit directory field (D15196)
  • Accepted & committed: Resolve T92855: Don't show catalog path when dragging assets over root level catalogs (D15190)

Next Week

  • Library Overrides design discussions & further development
  • Patch Review

June 6 - June 12

Holidays :)

May 30 - June 5

Master Commits

  • Fix T98461: Crash running screenshot from the command-line (rB1f858772)
  • Fix T95394: Crash when dragging from location of just cleared asset (rB75ef51cc)
  • Fix wrong asset dropped when dragging from loc. of just cleared asset (rB765c16bb)
  • Fix "Open Clip" operator in Clip Editor broken (rB1cc6e754)
  • UI: Update rest of UI code for increased button flag bitfield (rB9549df34)

Created tasks:

  • UI Views: General ToDo's. (T98560)
  • UI Code Quality: Move interface files to folders?. (T98518)

Review:

  • Accepted: Fix T96984: Create new image.browse operator for uiTemplateImage layouts (D14824)
  • Accepted: Fix T96157: Frame Node Labelsize changing depending on line-width setting (D14338)

Next Week

Holidays :)

May 23 - May 29

Mostly focused on fixing issues and reviewing fixes for the release, also some related sanitizing and cleanups. Also reworked how element warnings are managed in the Outliner (needed for the library overrides project) and some general Outliner refactoring. National holiday on Thursday.

Commits

  • Cleanup: Early-exit in button handling code, minor cleanups (rB16fd5fa6)
  • Fix T88570: Crash when saving after pressing ctrl+S twice. (rBbc8e030a)
  • Fix "Open Clip" operator in Clip Editor broken (rB0e6d70fe)
  • Fix possible issues when mixing link & append for asset drag & drop (rB917c096b)
  • Asset Browser: Show "Current File" icon in sidebar source field (rB9039fbaa)
  • Fix possible issues when mixing link & append for asset drag & drop (rB02c5ca2f)
  • Cleanup: Move new utilities for ID lookup operator properties (rB0d6dda45)
  • Fix further issues when mixing link & append for asset drag & drop (rB8f79fa9c)
  • Fix buttons not being grayed out (rBbc1eb513)
  • Cleanup: Correct misleading comment in UI code (rB2ca66d54)
  • Fix possible lingering around of ID after asset dropping failed (rB463077a3)
  • Fix T95706: Material asset not applied if appended and then linked (rBbc3dbf10)
  • Drag & drop: Invert priority of name and session UUID in ID lookups (rBcd412b44)
  • Cleanup: Use new helpers for passing IDs from drag & drop to operators (rB7b778166)
  • Drag & drop: Use session UUID of IDs instead of name for dropping (rBb0da080c)
  • Outliner: Refactor element warning and mode column querying (rBf1df685f)
  • Outliner: Use general warning mechanics for library overrides (rB6feca523)
  • Outliner: Fix warning icon not bubbling up correctly to collapsed parent (rBf3c03982)
  • Outliner: New C++ based functional tree iterators (rBa4a7af47)
  • Outliner: Make use of new C++ based functional iterators (rBdc6fe73e)
  • Fix T97918: Crash when changing "Frame All" shortcut from context menu (rB5417b843)
  • Fix T97790: Crash in Outliner "Blender File" mode with old files (rBb45f410b)
  • Cleanup: Use new macro for deprecated ID types (rB7b65086f)

Review:

  • Accepted: Fix T83519: Line Gesture flip state not updating without a mouse move event (D9779)
  • Requested changes to: Restrict temp/Maximized/Fullscreen window editing (D13459)
  • Accepted: Fix T98293: Scene stats info not updated after new OBJ import (D15015)
  • Requested changes to: Fix T96984: Create new image.browse operator for uiTemplateImage layouts (D14824)
  • Accepted: Fix T97237: Disable add node group operator for custom node trees. (D15013)

Next Week

  • More fixes in preparation for the 3.2 release.

I have a short holiday starting Friday, so I'm trying to get everything ready for the release from my side.

May 16 - May 22

4 days of sick leave. Continued refactoring button bit-flag usage to allow us to add further flags, which could prevent some blocking issues before the release.

Master Commits

  • Fix wrong data passed after recent changes in master (rB560c20e0)
  • UI: Get rid of redundant UI_BUT_IMMEDIATE button flag (rB8d65895a)
  • UI Code Quality: Resolve frankenstein bit-flag usage for widget drawing (rB0d731134)
  • Cleanup: Remove unused scrollbar drawing flag (rBdfb8c903)

Next Week

Fixes and reviews for the release.

May 9 - May 15

Mostly fixes and reviewing fixes for the release. We are running out of bits for button flags, which will become an issue sooner or later, and might even become a release blocker if we need to add a flag for an important fix (not too unlikely). So I spent some time on a solution to that, it was more difficult than thought initially.

Commits

  • Fix T97751: New OBJ IO - File Browser doesn't filter by .obj/.mtl (rB3911ae0e)
  • UI: Remove weird looking right aligned text in texture properties (rB48721a4d)
  • UI: Increase bitfield size for button flags (rBfca46637)
  • Fix T88570: Crash when saving after pressing ctrl+S twice. (rB7849b56c)
  • Fix "Open Clip" operator in Clip Editor broken (rB6bd270f3)
  • UI: Update rest of UI code for increased button flag bitfield (rB59cd6165)
  • Cleanup (UI): Make space for more internal button flags (rB8d9d5da1)
  • Revert commits to increase button flag bitfield size (rB3693e1d8)
  • Cleanup: Remove unused hotkey button definition function (rBf2c7b56f)
  • Cleanup: Remove another unused hotkey button definition function (rBccd18691)
  • UI Code Quality: Use derived struct for hot-key buttons (rB76634085)
  • Fix T97518: All buttons with eyedropper highlight if one is hovered (rB46803317)
  • Fix crash when displaying some button tooltips (rB908e6c7c)
  • Fix possible null-pointer dererence for active button data (rB7c9c13cf)

Created tasks:

  • HIG: (Sub-)Page Structure. (T97989)
  • GPU Codegen crash when loading demo file. (T97984)

Review:

  • Accepted: Fix T97386: Node socket labels swallow click/drag events (D14932)
  • Accepted: Fix for crash opening the file selector multiple times (D14905)
  • Accepted: Fix T96520 Node editor: Tweak fails with unselected nodes (D14499)
  • Requested changes to: Fix T97386: Click Dragging on Socket Labels does not register (D14735)

Next Week

Fixes and review for the release.

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

Time off.

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.