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

User:Severin/Reports/2020

Weekly Reports: March - December 2020

December 7 - Dec 13

Busy week, main task was getting the Asset Browser through review - all patches are approved now.

  • User Interface meeting (notes still have to be written)
  • Mailed bf-committers about the need for Cairo for Wayland - I don't think there is one.
  • Many tweaks, fixes and cleanups for the Asset Browser. Some noteworthy ones:
    • Rename "Make Asset" & "Remove Asset Data" to "Mark Asset" and "Clear Asset" (rB2a06dcc1).
    • Rename "Repositories" to "Asset Libraries" in code and UI (rBe0e6e30a).
    • Finish support for directories as Asset Libraries (rB45233675).
    • Don't allow selecting single .blend's as Asset Libraries for now (rB7ad6c45d).
    • Made data-block references of the Current File repository safe over destructive operations (undo/redo, data-block deletion, reading without UI, etc.) - (rBedc7666b, rB16c7b235).
    • Don't run thread-unsafe file-list reading in threads (rB6329fee2).
    • Avoid unsafe access to asset browsing through BPY (rBcac5049f).

Commits to master:

  • From the Asset Browser branch:
    • UI: Allow UI to pass focused data-block to operators via context (rB0c1d4769)
    • UI: Allow Outliners to pass selected data-blocks to operators via context (rBaf008f55)
    • Cleanup: Use const for filter queries (rBb379f934)
    • Fix T83559: File Browser uses wrong operation (rBe17967f8)
    • Cleanup: Use enum for file selection type definitions (rB9962e593)
    • Cleanup: Correct an own earlier commit to use an existing utility function (rB2678953f)
    • File Browser: Refactor access to the selection parameters struct (rB95b3c4c9)
    • Cleanup: Use guarded allocator for data-block names returned from file reading (rB2a4fe88c)
    • Fix unexpected "/" path after normalizing empty directory path (rB296bc356)
  • Needed for the Asset Browser:
    • Refactor/extend BKE API to get special user directories (rB273aca96)
    • Ghost: Support queries for special user directories (desktop, documents, etc.) (rB6de85a0c)
  • UI Code Quality: Start refactoring Outliner tree-element building (using C++) (rB2e221de4)
  • Fix missing type check for Outliner eyedropper query (rB634b10ac)
  • Cleanup: Avoid setting (unsafe) Outliner tree element data that won't be used (rB95734e32)
  • Fix access to invalid data in Outliner tree building (rB0c0bc619)

Created patches: 2

  • BPY: Add application handler for workspace switches. (D9830)
  • More relibable way to get special user directories (desktop, documents, etc). (D9800)

Created tasks: 6

  • Evaluate "Add to Collection" in Object > Collections panel. (#83678)
  • Avoid reading of all ID data when reading asset data. (#83674)
  • Post-merge code cleanups. (#83656)
  • Various issues with regions in the Asset Browser. (#83644)
  • Manual & Release Notes Docs. (#83580)
  • Disable File Browser only operators for Asset Browsing. (#83556)

Review: 4 These were rather trivial patches:

  • Accepted: macOS/Retina: Fix cursor position in side-by-side stereo 3d mode (D9836)
  • Accepted: Correct the order of the last two arguments in eevee_cryptomatte_shading_group_create (D9809)
  • Accepted: Cleanup: Fix capitalization in various places (D9796)
  • Accepted: IC keymap: add ability to select, delete modifiers and engage and exit searching in Properties (D9765)

Next Week

November 30 - December 6

Most time was spent on the Asset Browser review which is going great so far. Other than that, there was the code quality day and some general tasks.

General:

  • User Interface Meeting and wrote meeting notes (with great help from Hans though!).
  • Code Quality Day:
    • Cleanup: Move Outliner runtime hash into internal runtime struct, out of DNA (rB3daf2838, rB52a6c4f3)
    • Continued work to refactor Outliner tree code (using C++). That is, started to work on porting the individual tree-element types to a new design too. (rB2e221de4)
  • Atomics: Add 16 bit fetch + AND and fetch + OR signed integer operations (rBf5eaf67e)
  • UI/BPY: Allow Python operator polls to set the disabled hint. (D9738)

Asset Browser:

  • Split the big Asset Browser patch into 7 smaller ones:
    • Asset Browser: Metadata storage, reading and API. (D9716)
    • Asset Browser: "Make Asset" operator and UI integration. (D9717)
    • Asset Browser: Various changes for previews. (D9719)
    • Asset Browser: Support dragging assets and appending on drop. (D9721)
    • Asset Browser: Support custom asset repository paths through Preferences. (D9722)
    • Asset Browser: Internal File Browser changes & Python API additions. (D9724)
    • Asset Browser UI. (D9725)
  • Lots of cleanups and smaller changes to address feedback that came up during review.
  • Support "Remove Asset-Data", turning asset data-blocks back into regular data-blocks. (rBf1940bda).
  • Committed and finished work to make file previews use the icon system in a thread-safe manner. (rB56d7b11c, rBccc45bab, rB62e06f1c, rB0fd64c65)
  • Created some more tasks:
    • Avoid unused preview icons from Asset Browser. (#83336)
    • "Current File" assets often loose their preview on read. (#83245)
    • Ensure "Current File" repository stays in sync with main data-base. (#83242)

Review: 3

  • Accepted: UI Code Quality: Finish porting outliner tree building to C++ (D9741)
  • Accepted: Cleanup: remove forward declared enums (D9736)
  • Accepted: Point users to new location of "Show Group Colors" option (D9735)

Next Week

Last week before christmas holidays!

  • Continue going through Asset Browser task backlog.
  • UI meeting.
  • Review VR controller and haptics support patch. (D9124)

November 23 - November 29

Had two days off this week, so a short report. Started the Asset Browser review process and went through some general Asset Browser implementation tasks.

General:

Asset Browser:

  • Submitted the Asset Browser patch for review. (D9633) - Quite a big one, might have to split it up.
  • Support custom preview images for assets. (rB51efe802)
  • Proper implementation of "Make Asset" for button context menus. (rB272e0770)
  • Did quite some work to port File Browser preview images into icons, so they can be accessed via BPY. Needs to be finished still, issue is that parts of the icon system have to be made thread safe for this.

Next Week

  • Continue going through Asset Browser task backlog.
  • Go through Asset Browser review.
  • UI meeting.

November 16 - November 22

Had to do some regular module work, but spent quite some time on the Asset Browser. Mostly organization/communication and going through the task backlog.

Asset Browser, Invalid Repository Hint.png

Created tasks: 5

  • Bug-report: Assert When Unlinking "Edit Source" Text Data-block. (#82849)

Asset Browser Milestone 1:

  • Crash on undo while showing "Current File" repository. (#82886)
  • Read Entire Asset-Data When Reading Asset Repository. (#82860)
  • Asset Browser Milestone 1 (task for merge). (#82819)
  • Handle Material Slots When Appending Material Assets. (#82767)

Fixes: 3

  • Fix T82918: File menu "Save Copy" shows "Save As" in File Browser (rB7bab87c1)
  • Fix pin icon in Properties not right-aligned after zooming (rBad58999b)
  • Fix T81227: Modifier menu and text switch places (rB0724fabc)

Review: 2

  • Accepted: Add Custom Space to Constraints (D7437)
  • Accepted: Property Search: Fix warning (D9425)

Next Week

  • Continue going through Asset Browser task backlog.
  • UI meeting.

I have two days off this week.


November 9 - November 15

Mostly Asset Browser work.

Created tasks: 16
All these are for the Asset Browser Milestone 1:

  • Use Context to Pass Data to "Make Asset" Operator. (#82738)
  • Add Button to Refresh the Automatic Asset Preview. (#82719)
  • Polish Preview Creation. (#82704)
  • Support Directories as Asset Repositories. (#82682)
  • Add Icon for the Asset Browser. (#82681)
  • UI Cleanup. (#82680)
  • Support Filtering by Tags. (#82679)
  • Support Basic Meta-data Editing for "Current File" repository. (#82678)
  • Support Custom Preview Images. (#82677)
  • "Make Asset" and the Search Menu. (#82676)
  • Automatically refresh the "Current File" Repository. (#82666)
  • Fix issues with "Make Asset" in Button Context Menu. (#82664)
  • Make Thumbnail Dragging More Reliable. (#82663)
  • Support More Data-block Types. (#82661)
  • Support "Unmake Asset". (#82654)
  • Handle Data Dependencies. (#82653)

Next Week

  • Finish and commit data-block design changes patch (D8554).
  • Continue going through Asset Browser ToDo tasks.
  • Make sure the UI module doesn't have outstanding tasks for bcon4.

October 19 - October 25

Review, general UI module work and a bit of Asset Browser stuff.

General:

  • UI team meeting & wrote meeting notes.
  • Proposed (now accepted) workaround for id_management test failure on macOS/Clang (D9315).
  • Worked with Hans Goudey on a final placement for the Properties data-path pin and the search button, for which we had to find a workaround for layout issues.
  • Patch review session with Hans.
Pose libs story map.png

Asset Browser:

  • Created an own developer.blender.org project for the Asset Browser, including an own milestone.
  • Created a digital user story map for the pose libraries (see picture).
  • Created tasks:
    • Asset Management Terminology. (#82015)
    • Define How to Deal With Different Preview Sizes and DPIs. (#81972)
  • Discussed possible next sprint with David Drayton.


Commits:

  • UI: Swap order of increment and decrement file name icon in File Browser (rB3601cdd2)
  • UI: Move Properties path pin button next to the data-path (rB187cc5e2)
  • UI: Better center-align Properties search button in header (rB876f78cb)
  • Cleanup: Missing parentheses around macro in versioning (rB9bf1bf59)

Review: 11

  • Accepted: Fix T81890: Active keyframe changes with active FCurve on deselect of keyframe (D9328)
  • Accepted: Fix T81818: Outliner mode column does not consider shared object data (D9273)
  • Accepted: Sculpt: Remove tools with missing icons experimental option (D9299)
  • Accepted: UI: Allow changing the active side of line gestures (D9301)
  • Accepted: Move selection box with spacebar (D9227)
  • Accepted: Unable to build without UI_PROP_DECORATE (D8370)
  • Accepted: UI: Popover arrows are clipped (D9030)
  • Requested changes to: T68649 Adding a dialog box to Load Factory Preferences (D6522)
  • Accepted: UI Code Quality: Cleanup ui_but_update_from_old_block (D9117)
  • Requested changes to: Outliner: Create new collection with selected objects (D8648)
  • Requested changes to: UI: FModifier layout updates, drag and drop (D7997)

Next Week

  • Wrap-up 3rd Asset Browser sprint (pose library design/prototyping).
  • Start 4th Asset Brower sprint (document and commit to the basic design).
  • UI patch review.
  • UI meeting + notes.

October 12 - October 18

Bug tracker week, but didn't manage to spend too much time on actually fixing bugs.

General:

  • UI meeting & wrote meeting notes.
  • Spent quite some time on a single issue, that is a id_management test failure on macOS/Clang (see #81077). Found out this is likely a compiler bug.
  • Patch review session with Campbell.

Commits:

  • Outliner: Use operator option to decide which item to rename (rBe936f042)
  • Cleanup: Refactor lookup for hovered Outliner element for renaming (rBd4f94d8a)
  • Cleanup: Remove unused properties from node Viewer Region operator (rB48b52e06)
  • Cleanup: Rename Outliner helper function (rB1b7458f8)

Fixes:

  • Fix build error with clean builds (rBba823317)
  • Fix error in previous commit (rBa88076e9)
  • Fix T81675: Renaming collapsed collection in Outliner renames nested items (rB5129e2e0)
  • Fix T81555: Outliner object state filter not updating correctly (rBc1cee363)

Review: 10

  • Accepted: Property Search: Reset panel expansion when exiting search (D8984)
  • Accepted: Sculpt: Add angle snapping to line gesture tools (D9115)
  • Accepted: Fix T81697: Property search crash with python handlers (D9216)
  • Accepted: Change Invert Filter icon for UIList (D9194)
  • Requested changes to: New option to invert search filter in Dopesheet (D9182)
  • Accepted: Property Search: All tabs (D8859)
  • Requested changes to: [WIP] directional box selection (D9180)
  • Accepted: Fix T81669: Vertex size in UV Editor changes using Face Dot Size in themes (D9190)
  • Accepted: Outliner: Add missing check for the drag type in datastack_drop_poll (D9169)
  • Requested changes to: Fix T81532: UI: Animation Editors - slider covers button to reveal the sidebar (D9149)


Next Week

October 5 - October 11

General UI module and pose library work mostly. There was lots of talking, brain storming, note making and sketching for me.

  • UI meeting & meeting notes.
  • Asset Browser, sprint #3 (pose library design/prototyping):
    • Created a pose library user-story map (offline, will create an online version as well).
    • Had a meeting with David Drayton, mostly giving him a project update and general discussion around presets. Helped confirming hypotheses.
    • Created test-builds, received and replied to feedback.
    • Fixed some issues in the previous sprint (8db12b1f95, 3ed7aeef03).
    • Started writing an overview document for the Asset Browser design. I think we have to do better at communicating that to "outsiders". This may become part of an own sprint.
  • Created & discussed patch - Workspaces: Add option to specify a preferred scene for a workspace (D9140).
  • Gave initial feedback - VR: OpenXR Action Support (D9124).

Review

Revision Name Action taken
D9108 UI: Incorrect Tab Sizing Accepted
D9106 Sculpt: Preview the active side of the line gestures Requested changes & accepted once addressed.
D9111 UI: Reduce item padding in the gpencil edit context menus Accepted
D7737 Indicate the Active Keyframe in Graph Editor Accepted
D9117 UI Code Quality: Cleanup ui_but_update_from_old_block Requested changes


Next Week

  • UI patch review
  • Bug sprint

September 28 - October 4

Plenty of UI patch review, finished 2nd asset browser sprint (custom repository basics) and Friday was code quality day.

  • Asset Browser:
    • Support showing local assets in Asset Browsers ("Local" repository) - (45bb7d7013).
    • Add Preferences options to set up custom asset repositories (d68be33df5).
    • Support switching between custom repositories in the Asset Browser (ad5bfecf5a).
  • Code quality:
    • Worked on a patch to rework the version patching design with some C++ tricks to avoid possible issues and clean things up (P1681). I wasn't too satisfied with the result though.
    • Clear layout pointer on layout destruction (f7655dd322).
    • Reworked 2D View panning and zooming operator integration (21fc4ae206, eacaebea83, d8c3ad6f98).
    • Remove dead code in panel logic (e839179b01).
    • Remove/replace C standard library assert() and header usages (0bae2662f4).

Fixes

Report Name Commit
- Fix File Browser filtering showing workspaces for "Environment" category 2c317457cb
- Fix issues with calling View2D zoom operators in an EXEC context 3a1cf838ca
- Fix possible un-initialized variable use in UI code 27bcbf19ed


Review

Revision Name Action taken
D8997 Outliner: Draw dashed hierarchy lines for objects. Accepted
D8890 UV/Image Editor: Overlay Popover. Accepted
D9021 Sculpt: Line Project Gesture tool Accepted
D8651 Cleanup: Remove unused View2D variables and function Accepted
D8859 Property Search: All tabs Discussed possible improvements with Hans, didn't formally request changes.
D8975 Property Search: Differentiate search filtered inactive buttons Accepted
D8976 Property Search: Don't use search color for subpanel titles. Accepted
D8984 Property Search: Reset panel expansion when exiting search Requested changes
D9006 Property Search: Set panel expansion when tab changes Requested changes & accepted once addressed
D8832 Fix T78503:Disabled layout portion passes mouse through Accepted

Next Week

  • UI patch review.
  • Start 3rd Asset Browser sprint (pose library design/prototyping).
  • Prepare Asset Browser code for review & merge as experimental feature
  • Upload design fragments at some centralized location.
  • Continue work on Human Interface Guidelines.

September 21 - September 27

All kinds of UI tasks, didn't manage to get as much done for the Asset Browser as I hoped. Overall this wasn't the most productive week.

  • Worked on the Human Interface Guidelines.
    • Created an updated proposal for the tooltip guidelines (#76261).
    • Created (more or less empty) sub-pages: Accessibility, Icons, Writing Style (with contents copied from the old guidelines).
    • Added sub-page on user-centered design with some initial contents.
    • Added a list of TODOs to be addressed before making the guidelines more public & official.
  • Updated data-block selector design changes patch (D8554).
  • Asset Browser:
    • Show "Make Asset" in the context menu of buttons showing IDs (f4bbec1bcd).
    • Had a user story meeting with Hjalti Hjálmarsson and Pablo Fournier from the Blender Studio, as well as Pablo Vazquez. I will write up notes for this.
    • Local WIP changes to support showing local assets as repository.
  • UI module work:
    • Tuesday module meeting.
    • Regular tracker and organization work.

Fixes

Report Name Commit
#80854 Search buttons fail in Adjust Last Operation Panel 7883ccd29f
- Fix assert failure when using Ctrl+Mousewheel on Object Mode button 92454ae100


Review

Revision Name Action taken
D8413 Expose non-adaptive subdivision mode in subsurf modifier. Requested changes
D8997 Outliner: Draw dashed hierarchy lines for objects Requested changes
D8928 Outliner: Move collection exclude icon to restrict column Accepted

Next Week

  • UI patch review.
  • Continue 2nd Asset Browser sprint.
  • Write up notes on Pose Library user story session.
  • Upload design fragments at some centralized location.
  • Continue work on Human Interface Guidelines.

September 14 - September 20

Plenty of review, some meetings, smaller fixes and continued work on the data-block design changes. Didn't get to work on the Asset Browser.

  • Created (experimental) patch: Versioning: Try to prevent accidental early-exiting in versioning (D8909).
  • Updated patch with changes: Fix C operators can't set default display or sort type for File Browser (D8598).
  • Continued work on the data-block selector design changes. Changes are local, but I should be able to update D8554 soon with them.
  • Because of that, I did some general improvements to superimposed icons:
    • UI: Correct superimposed icon interaction hotspot (ce558a46c1).
    • UI: Support interacting with superimposed icons while editing (9d528381b5).
    • Support tooltips for superimposed icons (local only right now).
  • Cleanup: Resolve warnings (9ce1a04e2a).
  • UI Module work:
    • Updated the roadmap picture
    • UI meeting
    • Tuesday module meeting


Fixes

Report Name Commit
#80363 Progress cursor getting stuck 7b66c719ae
- Fix versioning code after FCurves versioning not executed 1a4fc6dcd6
- Fix warning printed when duplicating marker ff44429421
- Fix misalignment of menu items in Preferences > Save & Load menu a13b14b67d


Review

Revision Name Action taken
D8880 UI: Add icon_only argument to operator_enum Requested changes, accepted once addressed
D8317 UI: Fix drawing of aligned icon buttons in menu rows Looked into issues, suggested patch eventually accepted
D8783 Property Search: Search with button groups Accepted
D8856 Property Search: Single tab Requested changes, accepted once addressed
D8622 Collections: Add color tagging and use in outliner Requested changes, accepted once addressed
D8022 Action Constraint: Add manual time factor input control. Accepted
D8642 Outliner: Data stack drag and drop operator Accepted

Next Week

  • UI patch review
  • 2nd Asset Browser sprint

September 7 - September 13

Fixes

Report Name Commit
#80561 Crash when multi-mesh editing UVs with proportional editing 9681708c1c


Review

Revision Name Action taken
D8790 Decimate Modifier: Restore vertex group factor property in UI Accepted
D8641 Outliner: Add mode toggling column Requested changes
D8376 UI: Use an operator to set the property editor's pinned data-block Commented

Next Week

August 31 - September 6

More review and other general UI module work.

  • UI meeting on Monday, wrote meeting notes.
  • Did a pass over existing bug reports to reclassify more as known issues.
  • Created TODO task for missing icon for the release (#80331).
  • Code Quality Day:
    • Created patch: RNA - Better validation for float UI step size (makes Add-on test succeed, D8807).
    • Store curve-button gradient type in derived struct (47881791be).
    • Use derived struct for number buttons (e6f0b60c2e).

Fixes

Report Name Commit
- VR Scene Inspection: Better way to calculate landmark angle from viewer rBA1346083
- Fix missing cursor changes with "Lock Object Modes" disabled 88b6dd1392
- Fix Cycles unsetting most GCC and Clang C++ flags e73c60f1bd
- Fix T67265: Status bar is overlapped by workspace layout 69377784f5


Review

Revision Name Action taken
D8722 Sculpt: Line gestures and Mask Line tool Requested changes
D8776 Fix T80311: Sculpt Filters not working when using vertical split Accepted
D8749 UI: Changing limits for the text size theme options Accepted & Committed
D8641 Outliner: Add mode toggling column Requested Changes
D8719 UI: Expose important settings from file browser popovers Accepted
D8787 Fix T80356: Icon alpha theme property affects previews Requested Changes

Next Week

  • UI Patch review
  • Next iteration over the data-block selector implementation.
  • Plan and start second Asset Browser sprint.

August 24 - August 30

Mostly review, the first Asset Browser sprint and smaller, general tasks.

  • Asset Manager:
    • First Sprint started this week. I'm pretty happy with the result, most targets for it are already done.
    • Add Asset Browser UI as sub-editor for the File Browser (17922955e7, c73f3af304, 52e857b129, 0cad3b7f81).
    • First steps for asset repositories, for a single assets.blend in a fixed path (2566c7f1b2, a01fcfcc6a).
    • Support dragging assets from Asset Browser into viewport (897f35cd18).
  • Created patch: UI: Remove "Unset" from buttons context menu (D8727).
  • Created TODO task: Missing DNA Defaults ("Reset to Default Value" sets to 0) - (#80164)

Fixes

Report Name Commit
- Fix Outliner allowing to enter Pose Mode on linked armature 9b0ef34534


Review

Revision Name Action taken
D8638 Outliner: Add properties editor sync on selection Commented, accepted partially
D8642 Outliner: Data stack drag and drop operator Requested changes
D8708 Fix T77900: File Browser in macOS fullscreen crashes Accepted
D8717 UI: Add file browser alternating row theme color Accepted
D8648 Outliner: Create new collection with selected objects Commented
D8559 UI: Use instanced panel custom data instead of list index Accepted
D8642 Outliner: Data stack drag and drop operator Requested Changes


Next Week

  • UI & Module Meeting
  • Wrap up the first Asset Browser sprint (evaluate it and create a short video demo). Plan and maybe start the second one.
  • Code Quality Day

August 17 - August 23

Mostly some general work and some further design work to prepare the first asset manager sprints.

  • Asset Manager:
    • Wrote meeting notes for last week's meeting.
    • Monday we had a meeting with David Drayton, UX specialist and 3D Artist, to discuss the Asset Manager design, process and tools. There seems to be lots of agreement on the issues and approaches. It was quite encouraging.
    • Did a first draft of a user story map for the implementation perspective.
Asset-browser-user-story-map.png


  • Created patch: Fix C operators can't set default display or sort type for File Browser (D8598).
  • Reported: Icon Background Opaque for Animation channels (#79885).
  • RNA: Validate scene/view-layer combination for statistics query (5cc08510e0).
  • Continued working on data-block selector design changes (esp. for Library Overrides):
    • Rather big update for D8554: Add menu to ID-template for library operations.
    • Created a design task for the proposed changes (#79959).
  • Outliner: Avoid rebuilding tree on selection/active changes (b077de086e).
  • Created design task: Quad View Exiting Behavior (#79981).

Fixes

Report Name Commit
- Fix incorrect notifier value ce0bcd5fbf
#79987 Crash when joining objects [regression from own earlier commit] 53d1f89322
- Fix crash when accessing view_layer.depsgraph through BPY [regression from own earlier commit] 7aeaf5da0e


Review

Revision Name Action taken
D8573 Fix T77340: Nested nodes alpha issues Accepted
D8604 Fix T79816: UI: Restore scene.statistics() function Made edits, accepted and committed
D8601 UI: Remove panel X axis closing code Accepted
D8650 Outliner: Various small fixes Accepted


Next Week

  • UI Patch Review (esp. the Outliner GSoC project patches)
  • Start first sprint/iteration of the Asset Browser. Goal is to have an initial (limited/broken) UI to test and evaluate.

August 10 - August 16

Continued the Asset Manager core design discussions, next week I should be able start implementing a first iteration of the entire design. I also tried to get some VR tasks resolved, in time for 2.90 and to be able to focus more on other things. There was also some continued work to improve search menus for usage with libraries and UI patch review.

  • We had a couple of Asset Manager discussions and (together with Ton as the project commissioner, see #73366) settled on the foundations for the first part of the project.
  • Created a UI Patch: Add menu to ID-template for library operations (D8554).


Fixes

Report Name Commit
- Fix broken behavior on active VR Landmark change. f1cb3dfbaa
- Fix pose offset on VR session start for some OpenXR runtimes. 2e5c877056
#79324 Crash when changing View Layer while VR session runs 9c093a5d9a
#79738 Double Click does not opening folders in File Browser ba2d1c8898
#79616 Sort by column in filebrowser is broken e84e6e12ed
- Fix offset applied on top of VR landmark with no positional tracking. ab3a651515
#78267 Workaround graphics issues breaking SteamVR use with Blender cb578ca104
- Fix --debug-xr not outputting OpenXR debug prints on Windows 77e4905b17
- Fix constant lighting change in VR view when rotating head b3c08a3a0a


Review

Revision Name Action taken
D8513 T79594: Define rounding for armature edit props Accepted
D8516 Fix T79640: "Assign Shortcut" doesn't work for "View 2D Zoom" Accepted but suggested change
D8549 Sequencer: Implement zoom-to-fit view mode Requested changes & accepted once addressed
D8561 UI Code Quality: Use derived struct for curve profile buttons Accepted & suggested followup
D8571 Increase Sculpt options panel width Accepted
D8555 Multires: Base Mesh Sculpting Accepted UI changes
D8575 UI: Remove cutoff text in popovers for 2.90 release Accepted


Next Week

  • Start work on a first, very simple/hacky implementation of the initial Asset Browser design.
  • Regular development work (UI patch review, UI module work, GSoC, etc.)

August 3 - August 9

It was bug sprint week, so I spent most time on bug fixing. Managed to fix 17 UI bugs. Also tried to catch up a bit with the incoming flood of UI patches, checked the status of GSoC UI projects and did some work for code quality day.

  • Created #79589: Title Case for UI Labels
  • Went over GSoC UI projects to check on status and if there are any troublesome changes.
  • Code quality day:


Fixes

Report Name Commit
#78575 Assert when using UILayout.prop_tabs_enum() 057f3f2f3d
#78428 Checkbox labels don't highlight on mouse-over in popovers 14b77b37cb
#78346 Missing shortcut indicators and crash on shortcut change 10590b0500
#79234 Material preview does not update 5270462953
#78688 Crash changing workspace with specific fullscreen setup 304767dcd3
#78630 Custom icons not grayed out in inactive layouts c3113724ed
#78412 CtrlSpacebar does not maximize Python console on Windows 87062d4d67
#79524 Button alignment broken in some cases adfde60831
#78907 Renaming file doesn't work while mouse is over file icon 1b593edf1d
- Double-click not opening directories on some touch-pads c606044157
- File name sometimes not visible immediately after renaming 315ae005c3
#78698 Move cursor stuck after removing modifier c5b6b3d82f
- Fix buffer-overflow when drawing Curve Guide objects cb294c3a01
#79616 Sort by column in filebrowser is broken 5809dc6b5b
- Fix fast clicks on File Browser sort columns not changing sorting 4ba9d7d71e
- Fix failing assert when entering Texture Paint mode 9f475db6c9
#79571 "Assign Shortcut" doesn't work for "Clear Keyframes" 17dbdcc552

Review

Revision Name Action taken
D8480 UI: Align items in the edit mesh context menus Accepted & committed
D8478 UI: Set X Move Cursor for Slider Button Requested changes
D8441 Fix padding when multi-editing aligned widgets Accepted & committed
D8434 UI: Changes to timeline header popovers Accepted
D8420 UI: Name force fields using the type of force by default Accepted & committed (with minor tweaks)
D8346 UI: Fixes and small improvements to some labels and UI messages Accepted & committed (with minor tweaks)


Next Week

  • A few bug fixes for 2.90.
  • Check asset manager design with Ton.
  • Search Menu Design for Linked Data-blocks (#78012).
  • Regular UI module work (including patch review).

July 27 - August 2

A week with little tangible outcome. I intentionally hold back on writing more Asset Manager code until the big picture design is signed off by Ton. Also traveled back to Amsterdam, where I had to set up a new system...

  • Kept working on the Asset Manager presentation. We re-scheduled it for the next week due to timing difficulties. After feedback from Dalai I added concrete workflow examples with mockups.
  • I spent quite some time thinking about the brush storage and pose library design for the Asset Manager.
    • Wrote down an initial proposal from Julien Kaspar and me on how the brush storage and workflow could look like.
    • For pose libraries things are still vague. But it's less pressuring and for now a basic idea of the workflow should be enough.
  • Checked status of the Property Search work and gave feedback.
  • GSoC:
    • 2nd GSoC evaluation. Unfortunately we had to fail the VR project.
    • The Outliner project passed. I tried to get a better idea of where it stands, so I can take over as main mentor from William.


Next Week

  • Bug sprint
  • Patch review
  • Code quality day

July 20 - July 26

  • VR:
  • Asset-Manager
    • Created design task for data-block previews: #79178 - Support preview thumbnails for more data-block types
    • I'm preparing a big picture asset manager presentation for the Blender Studio. No breaking news in there (all info is publicly available), it's just to make sure the entire Studio (including Ton as the Project Commissioner) is on the same page.


Fixes

Report Name Commit
- Fix weird placement of "Motion Tracking" in 3D View overlay popup ed870f87b9
- Incorrect VR pose after changing landmark 954aa441bf


Review

Revision Name Action taken
D8187 UI: Adjust Multiresolution Modifier Layout Requested changes & accepted once addressed.
D8193 UI: Add an outer boundary for edge panning, use in outliner Accepted
D8168 UI: Fix File Broswer filter checkbox not connected to label Accepted & committed
D8194 Sculpt: Multires switch sculpt level operator Commented
#69441 Cursors Design Accepted
#8359 UI: use term 'Vertex' instead of 'Vert' Accepted


Next Week

Mostly the same as last week. Given the new plan to have the asset manager presentation next week, I focused on preparing that over my initial plans.

  • Design for #71082 (UI: Search Menu Design for Linked Data-blocks).
  • Asset Manager presentation for the studio.
  • Wrap up Asset Manager meta-data work.

July 13 - July 19

Had holidays this week. Still did a few smaller things, mostly to make sure things are ready for Bcon3 next Wednesday.

  • Created 2.90 task: Review updates to VR Scene Inspection Add-on (#78997).
  • Checked status of 2.90 UI and VR targets. #78012 and #76595 might have to be postponed (checked with Hans on the latter).
  • Also, gave two ten minute presentations on Asset Manager and VR on the German Blender Day :)

Review

Revision Name Action taken
D8322 UI: Use property split for edit custom property popover Accepted
D8238 UI: Add constraint panel shortcuts Accepted
D7557 UI: Status Bar Changes Accepted


Next Week

  • Design for #71082 (UI: Search Menu Design for Linked Data-blocks).
  • Review changes to VR Scene Inspection Add-on (#78997).
  • Wrap up Asset Manager Meta-data work.

July 6 - July 12

All focus was on the asset-manager. Making great progress on that, the first part, asset-metadata is almost done.

  • Asset Manager:
    • Experimented with a new asset data-block type, for some possible technical benefits (3417af0ebe, fff746f00a, b836dfd56c).
    • After discussing this with Brecht, I went back to the previous solution. It makes some things more complicated but should allow the same features (42d75801de, 90d755bf21).
    • Add support for different kinds of meta-data: Author, description, tags (98ef119dcf, 243a59ba6d, 245a704b7c).
    • Add File Browser Link/Append option to show only assets, lays foundations for reading asset data from other files (022d0ab2f8.
    • Started writing technical core design document (with core requirements and specifications).
  • UI meeting, meeting notes and general module work.
  • Ongoing work for macOS arm64 support with patches from Apple (#78710).


Review

Revision Name Action taken
D8000 UI: Add units to motion tracking solve errors Requested changes & accepted once addressed.


Next Week

Holidays :)

June 29 - July 5

Object previews for assets. Items with previews are assets, others are regular data-blocks.

Work on the Asset Manager started this week! For the first weeks this will overlap with the library overrides usability work I've been doing.


Review

Revision Name Action taken
D8031 UI: Add shortcuts for modifier panels accepted
D8159 Fix T77730: ShaderFx Missing Update Notifier accepted but gave feedback

Fixes

Next Week

  • Continue Asset meta-data work
  • UI patch review

June 22 - June 28

Lots of general work. I also took over UI module ownership, so I spent time on organizational tasks for the module.

Review:

  • D8069 [suggested alternative approach]: Edit Voxel Size: Move the label to the center of region when not visible.
  • D7833 [accepted]: Widget - Replace geometry by fragment shader drawing.
  • D6470 [accepted]: Add Free Handle Types to CurveProfile Widget.

Fixes:

  • Fix Preferences not saved when changing translation settings (7117ed9691).
  • #77830: Material preview crash with running VR session (2dd60e6c2c).
  • Fix error when filtering in Outliner "Blender File" mode with libraries (2a72421cfb).
  • #78112: VSE Sequencer/Preview crash after fullscreen (23b5e10dbd).
  • Proposed fix/workaround for #78171 (Adjust Last Operation: Changes in Outliner are reverted back automatically).

Next Week

  • Library Overrides: Get D7631 in, find a design for ID-templates (#78012).
  • Asset Manager! Add some initial data structures and add basics for meta-data.
  • VR: keep up with SteamVR updates, some workaround/fixes might be needed on our side.
  • General GSoC work

June 15 - June 21

A mixture of general UI tasks and VR, plus some catching up on patch review.

General:

  • We had two UI meetings. There should be meeting notes soon.
  • Artists in the studio mentioned performance issues with the Outliner in big scenes. Investigated and committed improvements to avoid quite some unnecessary work (e15f85f23d, f4c0ea1d29, 15083d9e1e, 254f164b27).
  • Discussed some major Asset Manager code design questions with Brecht.
  • Created design task #78012, UI: Search Menu Design for Linked Data-blocks.
  • Watched a very useful presentation by Andy about the studio pipeline.

VR:

  • Spent quite some time on trying to fix the DirectX interoperability failure on some hardware - with no success... Some code changes I did for that should be re
  • Created report to Monado about color-management issues, based on my previous SteamVR one. Helped them test a fix too.
  • Created a Virtual Reality project for developer.blender.org and organized tasks on its workboard.
  • GSoC: Discussed code design with student and Jeroen


Fixes:

  • Crash when closing window while Outliner shows screens (0ded6f5525).

Review:

  • D7977 [accepted]: Fix T77541: Unregistering DATA_PT_modifiers doesn't remove modifier panels
  • D8031 [explained alternative & accepted]: UI: Add shortcuts for modifier panels
  • D8042 [accepted]: UI: Ctrl-click on panel header to expand & collapse subpanels
  • D7557 [requested changes]: UI: Status Bar Changes
  • D7499 [accepted]: UI: Drag and Drop Constraints, Layout Updates
  • D7978 [accepted]: UI: Grease Pencil Modifier Drag and Drop, Layout Changes
  • D5817 [accepted]: Outliner: Selection cleanup
  • D7985 [accepted]: UI: ShaderFx Drag and Drop, Layout Updates

Next Week

  • Library Overrides (finish Outliner integration D7631, start work on search menues #78012).
  • UI patch review
  • Smaller VR tasks (e.g. update Blender Manual for SteamVR support, fix DirectX interoperability failure on some GPUs, etc)
  • GSoC

June 8 - June 14

Worked further on library overrides, a bit of general UI development, and due to the unexpected announcement of OpenXR support in SteamVR, I spent a day on VR again.

  • UI: Avoid rebuilding Outliner tree on simple button interactions (53d1a729cc).
  • UI: Show library names grayed out and right-aligned in menus (d62bbf4079).
  • UI [patch]: Show library status icons in search menus, rather than letter prefix (D7999).
  • VR:
    • Thursday evening we got the news that SteamVR added OpenXR support! So I spent Friday on this, it has some implications.
    • It worked out of the box with the Blener Studio's Vive! Well except of one issue...
    • There is a SteamVR bug in color-space handling. We had it before with other OpenXR runtimes, so we have a workaround in place that I enabled for SteamVR too now (f12fe3c23e, a809631ff2).
    • Discussed how we can deal with this issue with regards to the LTS release, and how SteamVR support affects VR development in general.
    • Created a detailed bug report to SteamVR for the color-management issue. Also commented on an existing request for OpenGL support.
    • Spent quite some time talking to Peter Klimenko (the VR GSoC student) on overall design an implementation for the controller support.
    • Personal weekend project: Started working on parallel drawing of the VR view, so that can draw continuously without overhead of the rest of Blender's main loop. Needs more work (crashes a lot...) but I got something basic working.
  • Asset Manager: Painfully merged master into the existing asset branches from Bastien, useful as reference at least.

Fixes:

  • Fix crash running "Edit Voxel Size" operator outside of a main 3D View region (bf4198cdaf).
  • Fix missing animation decorators for pointer buttons (d1932a8ed6).
  • Fix #74101: File Browser in macOS fullscreen crashes or makes windows unusable (4b39de677d).

Review:

  • D7499 [requested changes]: Drag and Drop Constraints, Layout Updates.
  • D7941 [suggested alternative & accepted once incorporated]: Voxel Size Edit: Fix text not readable when zooming in the viewport.

Next Week

  • Library Overrides
  • UI patch review
  • Smaller VR tasks (e.g. update Blender Manual for SteamVR support, fix DirectX interoperability failure on some GPUs, decide how the SteamVR color-management issue can be addressed for LTS, etc)
  • GSoC

June 1 - June 7

A short week with little time to work on the general UI agenda. Monday was a holiday, Friday was code quality day. So most time was spent on general tasks, but managed to do a few things for library overrides.

  • Committed a few usability improvements for the "Make Library Overrides" operator:
    • Don't move collections to Scene Collection when overriding (bd3ab27410)
    • Unlink instance empty after "Make Library Override" (1743326889)
    • Expand linked/overriden collections by default in the Outliner (417ebc3845)
  • Had a meeting with Bastien on Library Overrides. Turns out there's less work to do for me than I thought, Bastien plans to look into most issues I thought would be on my plate. I will still try to help him although the Asset Manager should probably get prioritized.

Code Quality Day:

  • Updated and fixed quite some merge conflicts for the wm-drag-drop-rewrite branch (see D4071).
  • Same with the temp-ui-button-type-refactor branch
  • Continued work in the temp-ui-button-type-refactor branch, which partially had to be reworked due to conflicting changes in master (51afd98b1d, 190ef51fd5, 2a515fe612).
  • Updated D7610 with these changes (UI Code Quality: Use derived structs for search buttons and decorators).

Fixes:

  • Fix broken split layout in encoding options (26aa64b688).

Review:

  • D7908 [accepted]: Fix T77173 - Report Background Colors for 2.83 Release
  • D7465 [requested changes, committed tweaks & accepted once ready]: Pan 2D Region When Dragging to Boundary
  • D7895 [accepted]: Cleanup: Use const context for some UI templates
  • D7498 [accepted]: Drag and Drop Modifiers, Layout updates

Next Week

  • Library Overrides
  • UI patch review
  • GSoC

May 25 - May 31

There was no particular focus this week. Did a mixture of bug fixing, review and GSoC. The GSoC VR project needed some final preparations, to make sure there's a bigger picture on the engineering side for the student to work towards.

  • UI/Physics: Show error enabling Rigid Body if compiled without Bullet (2ba3214a21).
  • Cleanup: Avoid mixing unlink-operator and menu name for ID-templates (23520cbd13).
  • Cleanup/refactor: Workspace API, boilerplate code, early exit (a2baf50242).
  • VR/GSoC - Created design tasks for the main deliverables of the VR GSoC project. These should give the student the foundation needed to get his work done:
    • #77127: Controller Drawing
    • #77128: Controller Based Picking
    • #77137: Python API for Controller Interaction

Fixes:

  • Fix T76957: Rigid body "Animated" text cutoff (28d81f7b24).
  • Fix T68209: Crash opening pre 2.8 file with maximized area (fc2bb44e94).
  • Fix T77075: Crash omitting optional UILayout.template_ID_tabs parameter (2a692e05c8).
  • Fix T77075: Overlapping tabs placement when used in right Top-bar split (4114e89020).

Review:

  • D7754 [accepted]: Curves - Implement Handles for selected points only.
  • D6505 [accepted]: UI Experiment - Scrollbars.
  • D7828 [accepted & committed]: Skip unnecessary cursor setting (e490dc4346).
  • D7737 [requested changes & committed own tweaks]: Indicate the Active Keyframe in Graph Editor.
  • D7498 [requested changes]: Drag and Drop Modifiers, Layout updates.

Next Week

It's important that I move forward in the general agenda, so that I can soon move on to the asset manager work. That means, I have to get work on the library overrides done.

  • Focus: Library overrides (#76555).
  • UI patch review.
  • GSoC (help students getting started).
  • Create design task for UI process policies.

May 18 - May 24

Many general tasks with no particular focus. Although I did spend some more time on the bug tracker.

  • Did quite some changes for D7754 Curves: Implement Handles for selected points only.
  • Brecht, Campbell and I discussed ways to solve issues with stale data access by the UI, as well as dealing with context changes during UI handler execution. Discussion on going (D7795).
  • There's an ongoing discussion on how the UI development process happens, caused by some recent controversies. I updated a personal vision statement proposal for the UI team, to help addressing this (prefer to not share the link yet).
  • VR: Investigated some possible anti-aliasing improvements but want to check with the viewport team before committing/submitting any changes.
  • WBSO bookkeeping
  • GSoC (organizational chatting, discussed some concrete project aspects).
  • General Bug tracker triaging and classification

Fixes:

  • #76801: Renaming bone in pose mode doesn't redraw the viewport names (a4b2734fe2).
  • Proposed fix for #75312: Workspace duplicate resets my tweak tool back to default select box.
  • #76418, #72693: Issues with File Browser spawned from other temporary windows (796412dca0).
  • #76940: Empty HUD (Redo Panel) (3bc15c097c).
  • #77000: Preferences window can not be opened from script operator (8e4c74292a)
  • VR: Fix big performance bottleneck for simple scenes (6b8555e01c)

Review:

  • D7755 [accepted]: Curves - Disable Curve Normals by default.
  • D7778 [accepted]: Fix T75694 - Compositor Backdrop boundbox missing updates.
  • D7803 [accepted]: UI - Remove panel grid snapping
  • D7819 [accepted]: Fix T76960 - fluid baking operators not working with pinned object
  • D7825 [accepted]: Outliner - Show drivers for bone visibility icon


Next Week

  • UI Patch review
  • Create design task for UI process policies.
  • GSoC/VR:
    • Create design task for VR controller API design.
    • Investigate decision regaring OpenGL vs. raycasts for picking with controllers.
  • Continue work on library overrides (#76555).

May 11 - May 17

Packed week. Plan was to focus on the bug tracker, mainly fixing. Lots of patches were coming in (partially bug fixes) so I had to spend more time on keeping that manageable than doing fixes myself.
Emphasized fixes to show what I've done for the bug tracker sprint.

  • VR:
    • Investigated issue with landmark changing, but turned out to be a design issue. Commented in #71347.
    • Checked Ubisoft's VR changes (xr-world-navigation branch) and discussed how that could affect the overlapping GSoC project.
  • Investigated a remaining code design concern of mine for D7490 and suggested ways to solve it.
  • Checked if library upgrades for the OpenXR SDK or FreeType are needed for 2.90 (see #76184).
  • Investigated fix for #75962 - Windows only event system issue when changing windows. While the report itself is low-priority, its cause may have other effects, so would be good to solve.
  • Committed some changes/fixes by others (takes time from me too, since changes have to be tested and the commit message has to be written):
    • Fix #76040: Tweak development branch splash image to exclude rounded corners (by Yevgeny Makarov, f17e7e0b62).
    • Fix #75898 (part 1): Missing hinting information in default font (by Harley Acheson, 2efe77ca51).
    • Fix #75898 (part 2): Missing hinting information in default monospace font (by Nikhil Shringarpurey, 3ced9c1c72).

Fixes:

  • Fix #76621, #76594: UILayout.prop_search() broken for data-block names.
  • Fix #T6599: UI/Animation - Don't change Graph Editor cursor from scrubbing region.
  • Fix #76635: Clicking the text button X in a pop-up doesn't clear.
  • Fix #76481: Fast clicks over Dopesheet toggles trigger renaming.


Review:

  • D7705 [accepted]: Fix T76665 - Wrong files selected when using box select.
  • D7737 [requested changes]: Fix T76595: Indicate the Active Keyframe in Graph Editor.
  • D7720 [commented to suggest alternative approach]: Fix T75292 - File-select events not handled while modal handler is active.
  • D7744 [accepted & committed]: Fix T76772 - Addon: Add Camera Rigs are broken.
  • D7732 [suggested changes & accepted once addressed]: Fix T76734 - Changing Envelope FModifier controlpoints missing update.
  • D7650 [requested changes & accepted once addressed]: Preference setting for default empty size for collection instances.
  • D7490 [requested changes & accepted once addressed]: UI - List Panel System.
  • D7755 [suggested changes & accepted once addressed]: Curves - Disable Curve Normals by default.
  • D7754 [suggested changes]: Curves: Implement Handles for selected points only.
  • D7380 [accepted & suggested visual changes]: UI - Windows Shell Links & Improved Mac Aliases.

May 4 - May 10

Tried to focus a bit more on library overrides usability work. I have a much better idea of what the issues are and what we could do to address them by now. This needs to be checked on with others, so I created a design task (to collect usability issues for starters) and submitted some first patches.
Besides that, mostly general development.

  • Library Overrides:
    • Submitted patch to improve "Make Library Overrides" usability (D7627).
    • Submitted patch to display library overrides in the Outliner (D7631).
    • Created design task to collect usability issues/paper-cuts (#76555)
  • VR: Created feedback thread for first milestone with a list of known issues
  • UI: Gray out shortcut indicator in search menus (9535dbcee0).
  • macOS: Remove workaround for old quit dialog (45adcc51b2).
  • Some general GSoC work (organizational stuff mostly).


Fixes:

  • Fix wrong XR notifier bit value (84eaaad94c).
  • Proposed fix for #76418: After render you want to save image, but saving window it is hidden below render windows when Blender.app in fullscreen mode (macOS)
  • #76594 exposed an issue with search menus for string properties. Created a possible fix but need to test some more (P1380).

Review:

  • D7608 [requested changes & accepted after update]: Corner styles for annotation line tool.
  • D7635 [accepted & committed]: VR - Fix OpenXR state freeze on Oculus after taking off HMD.
  • D7490 [second review pass, requested changes]: UI - List Panel System

Next Week

  • Bug tracker

April 27 - May 3

Monday was a Dutch national holiday, so this was a four day week. These were mostly spent on general UI development. Forgot in last week's planning that Friday would be a code quality day, so time was spent on that rather than more libray overrides work and bug tracker.

  • UI: Use property split layout and decorators for material properties (4cc8123377).
  • Some UI changes in the layout generation code were needed for this:
    • Support array properties for UILayout.prop_decorator() (3c858246cd).
    • Add (internal) option to use property splitting for label-less items (6842958c9b)
  • UI Code Quality: Use derived structs for search buttons and decorators (D7610)
  • VR: Attempted to fix some issues with changing base boses, i.e. landmarks in the *VR Scene Inspection* Add-on (0cfd2d6f4b, rBA82f1a7b).
  • Some smaller additions to the Human Interface Guidelines (prefer to not link to this yet).
  • Investigated some library overrides issues, but needs further discussions.

Fixes:

  • Dragging panels changing region size (8e08d80e52).

Review:

  • D7535 [requested changes]: UI - Use new heading layout option to remove Text strip Shadow subpanel
  • D7490 [requested changes]: UI - List Panel System
  • D7498 [commented]: UI - Drag and Drop Modifiers, Layout updates
  • D7499 [didn't comment, same as for D7498 applies]: UI - Drag and Drop Constraints, Layout Updates

Next Week

  • Continue work on library overrides usability issues (#53500).
  • Continue Review of modifier and constraint UI changes (D7462, D7465, D7490, D7498, D7499).
  • Bug Tracker

April 20 - April 26

Various things with no particular focus: General UI, library overrides, VR, bug-tracker. Didn't have much code to commit, but did some experiments and digging into various issues.

  • Use different icon to remove user-created shortcuts in Preferences (7ff0f896e8).
  • Submitted proof of concept patch for text wrapping support in labels (D7496).
  • Small default-settings tweaks:
    • Reduce near-clipping in factory settings (246d59ff0f).
    • Change default axes for Track To constraint (be00902082).
  • VR: Tweaks to the add-on UI (rBA136030c).
  • Spent time on further digging into existing usablity issues for library overrides. Also made two experimental patches for improved search menus for linked data, but don't have access to the machine they're on right now.
  • Investigated possible solutions for #75898. Also discussed direction to take with UI font rendering within the UI team (possible improvements, checking what other apps do, different trade-offs, etc).
  • Investigated details and proposed possible solutions for #76017.
  • Proposed solution for #76124.


Fixes:

  • #75610: Fix missing Outliner selection syncing on "Select Hierarchy" (d290bdd42a).
  • Fix utterly wrong decorator button logic (a2de3d86de).


Next Week

  • Review patches for modifier and constraint UI changes (D7462, D7465, D7490, D7498, D7499).
  • Continue work on library overrides usability issues (#53500).
  • General UI
  • Bug Tracker

April 13 - April 19

General UI development for the 2.83 release and getting the layout system changes ready for master (the famous last 10%...).

  • Better split layout for checkboxes:
  • Support using property split for menu items & use for output FPS setting (a940f4e653)
  • Draw real node sockets for node-input buttons and left-align them (D7409, 7ef2dd8424, 675d42dfc3).
  • Resources: Remove small splash screen image variant (69419b5f00).
  • Investigated and removed old hacks for dynamic scrollbar hiding, see fixes below (9029690a5d).
  • Discussions, chats or meetings on various UI topics.
  • Bug tracker

Fixes:

Review:

  • D6999 [accepted & committed]: Automatically scale splash screen image (ad3bcee081)
  • D6549 [made minor edits, accepted & committed]: Avoid manual right-alignment of text in splash screen (bdf260a1b8)
  • D6847 [made edits, accepted & committed]: Round splash image corners according to theme preferences (04828b7d99)
  • D7436 [accepted]: Toolsystem - Fix error for groups with diffrent amount of tools between modes

Next Week

  • Library overrides UI, see #53500 and #73318.
  • Bug tracker classification and fixing.

April 6 - April 12

Only worked on general UI developemt tasks. That mainly is, layout system changes, first changes for library overrides and some bug fixing.

  • Better support for linked data-blocks in search buttons (d6cefef98f, #73156). Important for library overrides.
  • Changes to checkbox layouts and the general property split layout (#65965):
    • William Reynish and I planned to work on this for a while. It has quite an impact on readability and allows further polish all over the UI. Plus it's relevant for some modifier design changes currently in progress.
    • What seems like a relatively simple change needs quite some fine tuning since it will affect many parts of the UI. There are also some further tweaks enabled by this. (e21fc05b35, 0dcc4fd780, 820350ac80, 1974b5b903, f8347075d0, fc4d2d1e16, 3b0f241e72, d20886e98d, ce54157417, 7714746e5c, 01900f5e6c, 7fb4010137, 69182c3b7c)
    • William went over layout definitions and updated them based on my work.
    • Also applied some of these changes to the modifier branch, mostly as examples for William and Hans Goudey to follow (18f1d80a6c, 513de8eaf6).
  • Checked alternative approach for D6847 (Rounding the corners of the splash image according to the theme preferences - WIP patch is attached there). Would need more work but we decided it's not really worth it.
  • General bug tracker work.

Fixes:

  • #75489: Crash on deleting current workspace from the outliner (d216a0b505).
  • #75203 (high priority): Crash when changing active keying set.
    This one was quite nasty and took some time. Turns out there were actually three bugs (74fa8787d8, 239cab11ff).

Review:

  • #75535 [accepted]: Compositor backdrop gizmo dragging interrupts with node mouse over
  • D7286 [rejected]: Fix T75203 - Crash when changing active keying set

Next Week

BCon3 is coming, so I should spend some more time on the tracker. Other than that regular UI development, esp. for library overrides.

  • Bug tracker classification and fixing.
  • Library overrides UI, see #53500 and #73318.
  • Finish checkbox layout changes and submit for review.

March 30 - April 5

Focus was wrapping up the VR work, so I mostly did some final polish.

  • VR:
    • First days of the week, I worked on improving base pose management - right now we do it all on the Blender side, but there should be a way to let the OpenXR runtime know about it, so it can do fine tuning. This turned out to be quite a hassle and I didn't get it to work entirely. After lots of back and forth I mostly got it to work, but then there were differences between runtimes. So my conclusion is that the OpenXR specification doesn't cover this case sufficiently.
    • VR Scene Inspection add-on: Add manual link and increase version number (rBA9a32e84)
    • Refactored DirectX context management (34465a7fb0).
    • Smaller fixes (afe707cc3a, f149d5e4b2)
  • Code cleanup day:
  • UI: Support split property layout for pointer search buttons (f1573731bc).

Fixes:

  • Fix accidentally reverted changes in VR merge due to merge error (736f9f5a69)

Review:

  • D7323 [accepted]: Utils - add option to format only changed files to make format.
  • D7267 [gave design feedback]: bRemove Version from Footer.
  • D7272 [requested changes]: Synchronizing editors between workspaces.
  • #74157 [gave design feedback]: Use menus for operator search & various improvements.

Next Week

Next week I'll stop further VR development (bug fixes may still come) and move on to library overrides.

  • First changes for the library overrides UI, see #53500 and #73318.
  • UI Patch review
  • Bug tracker classification

March 22 - March 29

Time was mostly spent on the patch tracker. The UI patch backlog is shrinking slowly. At least in my queries they all fit on a single page now :)

Fixes:

  • Fix VR viewer offset on session start with no positional tracking (e5f7b31dd4).

Review:

  • D6791 [committed]: Theming colors and size of background (transparency) checkerboard pattern.
  • D7219 [accepted & committed]: Fix missing grid theme option for Movie Clip Editor.
  • D7208 [accepted & committed]: Fix #74038: Scrolling doesn't work in menu if there is no active item.
  • D7189 [requested changes & accepted later]: UI: 3D Viewport text edit menus.
  • D7203 [requested changes]: Dialog Alert and Info Editor Icon Colors.
  • D7145 [commented]: Don't draw icons if the widget is too small.
  • D7234 [suggested changes, accepted later]: VSE: don't allow strip preview when clicking on the scrubbing region.
  • D7238 [sugested changes & accepted]: VSE: don't allow strip preview when clicking on the scrubbing region.
  • D7119 [requested changes]: Region "Hover" Refactor.
  • D7263 [accepted]: UI: Add missing operators to menus in the 3D Viewport Mesh Edit mode.

Next Week

  • Again: Work on the remaining tasks for the first VR milestone (71347).
  • More patch review
  • Bug tracker

March 16 - March 22

This week was all about merging the VR patches. With success!

  • During review, it was suggested to change the way we manage VR view shading. We discussed this in #71347 and in the Blender chat, and came to a conclusion which I implemented (1792bf1c0a, rBA4efd565, 3f114cd229).
  • VR finally landed on Tuesday. That is, the main VR patches. (406bfd4304, rBdc2df830, rBA636b4ca)
  • Overall the merges seem to have gone smooth. Of course there were a few things to fix, but they were all small and mostly build system issues on specific platforms.
  • Contacted the informal "VR team" to let them know about the merge and discuss further steps. There's no new, non-public info there yet. This is just an informal poke that should be followed up by public records.
  • Documentation:
    • Last week's report didn't schedule documentation work for this week, which was an oversight. I spent quite some time on this.
    • Took some time to write informative commit messages (esp. for dc2df8307f). They should give other developers enough context to reason about changes.
    • Release notes: Created an own page for VR.
    • Manual: Added entries for the new VR add-on and HMD usage. The latter is essentially the getting started guide to refer users to.
    • Developer Documentation: Updated developer documentation I wrote early and moved it to the more official developer docs.
  • Joined the Bender Everyday livestream on Friday to talk about the VR project!

Fixes:

  • Fix BPY enum property definiton failing if items contain spaces (dd416681fb).


Next Week

I'd like to catch up with things that I neglected a bit in favor of getting VR in:

  • Patch review
  • Bug tracker classification
  • Feedback on GSoC proposals and helping students to get started.
  • Work on the remaining tasks for the first VR milestone (71347).

March 9 - March 15

Lots and lots of polishing for the VR patches. Unfortunately, I didn't get them in yet because the back-and-forth for the review takes more time then I hoped. The last patch for C-side changes is also less contained and had less time for polish, so it needed more work than earlier patches.
But: We're really close!

  • VR:
    • Finally decided to look into why Eevee rendering is so unusable in VR, while waiting on review by other devs. Turns out this was a very simple to fix issue. Now Eevee works surprisingly well! Honestly I didn't expect it to work that well. (29addd4360)
    • A number of bigger, or at least non-trivial refactors (6ae0839879, c18d503205, e07f2aec7e, 4ad5449c92, 5ea28551cb, 8a87e48b18)
    • Lots of cleanups and smaller fixes
  • Created patch D7113: Allow WM-reports to be displayed as popups (wanted for VR)

Fixes:

  • #74585: Crash when scrolling viewport shading pop-up (dc3ff1db3f)
  • Fix failing assert because of invalid region coordinates (214cc3c245)

Review:

  • D7024 [accepted]: Drag & Drop on panels in 3d view behaves unexpectedly.


Next Week

  • Still: Get remaining VR patches into master!
  • Patch review
  • Work on the remaining tasks for the first VR milestone (#71347).