User:Severin/Reports/2020

Weekly Reports: March - December 2020

September 21 - September 27

Fixes

Report Name Commit
T80854 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

Next Week

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
T80363 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
T80561 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 (T80331).
  • 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) - (T80164)

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 (T79885).
  • 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 (T79959).
  • Outliner: Avoid rebuilding tree on selection/active changes (b077de086e).
  • Created design task: Quad View Exiting Behavior (T79981).

Fixes

Report Name Commit
- Fix incorrect notifier value ce0bcd5fbf
T79987 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 T73366) 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
T79324 Crash when changing View Layer while VR session runs 9c093a5d9a
T79738 Double Click does not opening folders in File Browser ba2d1c8898
T79616 Sort by column in filebrowser is broken e84e6e12ed
- Fix offset applied on top of VR landmark with no positional tracking. ab3a651515
T78267 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 T79589: 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
T78575 Assert when using UILayout.prop_tabs_enum() 057f3f2f3d
T78428 Checkbox labels don't highlight on mouse-over in popovers 14b77b37cb
T78346 Missing shortcut indicators and crash on shortcut change 10590b0500
T79234 Material preview does not update 5270462953
T78688 Crash changing workspace with specific fullscreen setup 304767dcd3
T78630 Custom icons not grayed out in inactive layouts c3113724ed
T78412 CtrlSpacebar does not maximize Python console on Windows 87062d4d67
T79524 Button alignment broken in some cases adfde60831
T78907 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
T78698 Move cursor stuck after removing modifier c5b6b3d82f
- Fix buffer-overflow when drawing Curve Guide objects cb294c3a01
T79616 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
T79571 "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 (T78012).
  • 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: T79178 - 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
T69441 Cursors Design Accepted
T8359 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 T71082 (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 (T78997).
  • Checked status of 2.90 UI and VR targets. T78012 and T76595 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 T71082 (UI: Search Menu Design for Linked Data-blocks).
  • Review changes to VR Scene Inspection Add-on (T78997).
  • 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 (T78710).


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).
  • T77830: Material preview crash with running VR session (2dd60e6c2c).
  • Fix error when filtering in Outliner "Blender File" mode with libraries (2a72421cfb).
  • T78112: VSE Sequencer/Preview crash after fullscreen (23b5e10dbd).
  • Proposed fix/workaround for T78171 (Adjust Last Operation: Changes in Outliner are reverted back automatically).

Next Week

  • Library Overrides: Get D7631 in, find a design for ID-templates (T78012).
  • 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 T78012, 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 T78012).
  • 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 T74101: 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:
    • T77127: Controller Drawing
    • T77128: Controller Based Picking
    • T77137: 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 (T76555).
  • 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:

  • T76801: Renaming bone in pose mode doesn't redraw the viewport names (a4b2734fe2).
  • Proposed fix for T75312: Workspace duplicate resets my tweak tool back to default select box.
  • T76418, T72693: Issues with File Browser spawned from other temporary windows (796412dca0).
  • T76940: Empty HUD (Redo Panel) (3bc15c097c).
  • T77000: 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 (T76555).

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 T71347.
    • 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 T76184).
  • Investigated fix for T75962 - 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 T76040: Tweak development branch splash image to exclude rounded corners (by Yevgeny Makarov, f17e7e0b62).
    • Fix T75898 (part 1): Missing hinting information in default font (by Harley Acheson, 2efe77ca51).
    • Fix T75898 (part 2): Missing hinting information in default monospace font (by Nikhil Shringarpurey, 3ced9c1c72).

Fixes:

  • Fix T76621, T76594: UILayout.prop_search() broken for data-block names.
  • Fix TT6599: UI/Animation - Don't change Graph Editor cursor from scrubbing region.
  • Fix T76635: Clicking the text button X in a pop-up doesn't clear.
  • Fix T76481: 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 (T76555)
  • 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 T76418: After render you want to save image, but saving window it is hidden below render windows when Blender.app in fullscreen mode (macOS)
  • T76594 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 (T53500).
  • 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 T75898. 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 T76017.
  • Proposed solution for T76124.


Fixes:

  • T75610: 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 (T53500).
  • 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 T53500 and T73318.
  • 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, T73156). Important for library overrides.
  • Changes to checkbox layouts and the general property split layout (T65965):
    • 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:

  • T75489: Crash on deleting current workspace from the outliner (d216a0b505).
  • T75203 (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:

  • T75535 [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 T53500 and T73318.
  • 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.
  • T74157 [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 T53500 and T73318.
  • 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 T74038: 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 (7134771347).
  • 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 T71347 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 (7134771347).

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:

  • T74585: 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 (T71347).