Weekly Reports: September - December 2019 (Blender Institute)
November 11 - November 17
- Started updating the manual for the File Browser changes, unfinished and unpushed though.
- Created patch for Graph Editor selection changes (D6235).
- Sybren raised concerns about general readability of the code, which was already bad before, our proposed changes would make things worse. So I put quite some efforts into "leaving the campground cleaner than I found it". Updated the patch.
- Updated patch to introduce OpenXR SDK dependency (D6188).
- Fix T71474: Temporary image editor cancels to file editor after file operation (b962253ed158).
- Fix T71590: Closing file browser reopens previously closed render view (96ce32dca6ab).
- Fix T70991: Maximized file browser hides file name bar on Windows (f641c60530fb).
- D6212 [accepted & committed]: VSE: open file browser sidebar by default when adding external strips.
- D6234 [requested bigger changes]: Add a filter to the theme preferences.
- D6260 [accepted]: Fix filebrowser saving dialog size when maximized.
- D6259 [found better fix]: File Explorer: Maximize window no the filename textbox on Windows.
Also (although I'm not sure if this counts to my work under BI contract):
- Submitted merge request to fix multiple memory issues in Monado (FOSS OpenXR runtime for Linux). Got merged immediately: 05b069b0a0.
November 4 - November 10
Had two days off, work hours were mostly spend on making the OpenXR branch review more manageable, the graph editor selection changes, as well as general fixes.
- Split up changes from my soc-2019-openxr GSoC branch into multiple, more manageable patches (D6188, D6190, D6192, D6193). Also created a parent task for the review (T71365).
- Finished rewrite of temporary fullscreen logic (ef7fd50f8a93).
- Did more tweaks and fixes to the graph editor selection, based on animator feedback (1d3da5aa84bc, 2779d0328fa8, d5d2a1005688). Need to check with them again, if there are no new issues, this should be ready to go into master.
- Fix broken selection behavior in multiple editors right after saving (3ed40972920d).
October 28 - November 3
Most time was spent on meetings, Graph Editor selection/transform changes for T57918 and general fixes/tweaks.
- Wrote down notes from BConf VR meeting and sent them to bf-committers.
- Fix T71019: Disappearing file thumbnails & crash on area split (7c1fbe24ca33).
- UI: Only show render result in image editors in view mode (f069f5be7fe5).
- Continued work on Graph Editor selection/transform changes (T70634, T57918):
- Spend quite some effort make the transform code only transform selected handles of the clicked on side (1ee7405a9881, 0a7628d63393, 0cfee25a100a, ca737350a846, 19f520780c28).
- Allow deselecting individual handles & keys with ctrl+box select (1ba0bd1d8d4d).
- Checked with animators on feedback and made Hjalti use my branch for testing. One (easy to fix) issue got pointed out, this should be ready for master soon.
- Spend a while rewriting temporary fullscreen logic to fix a regression with stacked, temporary fullscreens. This can probably be committed on Monday.
October 21 - October 27
Had a few days off, directly followed by the conference.
October 14 - October 20
Did a bit of general UI development/maintenance and quite some work for VR, mainly addressing review points.
Worth mentioning: Bastien arrived in Amsterdam where he will stay for some weeks, so we did an internal meeting with Pablo and Andy on the asset manager project. Plan is that I work on the UI side of it, hopefully starting after the conference.
Note that I've taken some days off until the conference for some "family business".
- Fix T70581: Node Wrangler output switching broken (80fe0ac7ff8c).
- File Browser: Add F2 shortcut to rename files (5edfde58fe60).
- UI: Add renaming to Node and VSE strip context menu (760481518b8d).
- Fix: First item in File Browser can't be renamed (9a85592ddea2).
- Fix T70815: Missing tool settings redraw when using Annotate Tool (4d3a3172582d).
- Fix: Some ID-Filters not enabled on Link/Append (a6b9e1dfdbf7).
- UI: Add missing workspace icon to link/append ID-Filters (a3f7ae1b9682).
- UI: Remember ID-Filter in-between File Browser calls (b54626364253).
- FBX IO: Bring back experimental hint for apply transform option (90c32d295772).
- Support VR Session settings & add some basic ones (1ada9f5bf95d, 752b4989d675).
- Adds the needed bits to support VR session settings and access them in the VR view drawing code.
- Added settings for: shading mode, grid floor, annotations, clipping. More can easily be added.
- The Add-on adds a "VR" tab in the side bar, containing buttons for the added settings.
- General minor improvements & cleanup (fa9a841d4361, 927c300c0221, 51af7510fba6, 350b7b378d8b, 3bed8a73384d).
- Fix too dark rendering on Monado runtime (0615321ca085). Commented on the patch with more info on this.
- Updated D5537: GSoC 2019: Core Support of Virtual Reality Headsets through OpenXR
October 7 - October 13
Finally, I was able to focus on to topics not related to the File Browser. So I worked on general UI topics, but was also able to do some further testing for my OpenXR GSoC branch. I finally got it to work with the FOSS Monado OpenXR runtime! That means I can now test VR work on Linux.
- Tested & accepted D4585: Move files to OS recycling bin when deleted in file explorer.
- UI: Move all Selected NLA-Strips when Dragging (7dea0585468d).
- Fix T70522: Sidebars in Clip Editor work incorrectly in Dopesheet mode (95749f5d548c).
- Fix: region toggle operator being able to toggle regions it shouldn't (b1f1c8c33fab).
- Created T70634 (design task): Graph Editor: Reevaluate Key and Handle Selection Behavior.
Committed some changes to a new branch for experimenting with a possible solution:
- Created & committed D6021: Transform Manipulator: Only hide locked axis if lock and manipulator space match (1857aa32bd3b).
- Fix: Manipulator visible if root or tip of locked bone is selected (7c88d845157e).
- Fix missing manipulator update when toggling bone lock (cf192bdd43b8).
- Created quick hack T70730: VSE: "Include Handles" option for Box Select.
- VR: Strictly follow specification to get OpenXR extension functions (941e1f5a9875).
September 30 - October 6
Did some more or less final tweaks for the File Browser for 2.81, but moved on to general UI tasks this week. Mostly, addressing the remaining points in T57918.
- Reviewed & updated D4585: Move files to OS recycling bin when deleted in file explorer.
- Reviewed & updated D5153: Event system & keymap support for key detecting/ignoring key repeat events.
- UI: Remember File Browser Display Options in Preferences (ddb157999eed).
- UI: Register File Browser as Child/Dialog-Window for the OS (edffb0e9b19d).
- Worked on remaining tasks for T57918 Tweaks & Fixes for Improved Left Click Select Support (Parent task):
- Experimented with a different way to implement support for click-dragging multiple selected items (VSE strips, markers, dopesheet keyframes, ect.), see P1123. Ended up going with a solution suggested by Brecht.
- Created D5979: Generic drag-all-selected support (Node Editor, VSE, Dopesheet Graph Editor, Markers).
- WM: Utilities for select operators to work with click-dragging items (be2cd4bb5325).
- Node Editor: Use new operator utilities for node selection and dragging (5f51e7817206).
- UI: Move all Selected Strips and Strip Handles when Dragging (1f5ae1a5a505).
- UI: Move all Selected Dopesheet Keys when Dragging (d4d036ae140a).
- UI: Move all Selected Markers when Dragging (809ab298f1ca).
- Fix T70462: Shift+Click on neighbour folder enters it (db66c33efe42).
- There's consensus within the UI team to start setting up guidelines and documentation on the design vision, rationales and known design trade-offs. E.g. the Blender Human Interface Guidelines or Design Bible.
- I wrote a landing page proposal for this, which includes a proposed vision description. It's too early to show this publicly, this is not something to take lightly.
September 23 - September 29
A bit of an ineffective week, spent lots of time experimenting with things, or fighting the X server trying to make it manage windows the way we want it to. Once again, this work was mostly for the file browser.
- Experimented quite a bit with different ways of storing file browser properties like display type or window size, so that this information is remembered after the browser is closed. Ideally in the Preferences. In consultation with Brecht, I ended up with the least versatile, but simplest solution:
- [Submitted and updated twice] D5893: Remember file browser display options in preferences.
- We'd like to make improvements to the handling of secondary windows in general soon, but for the file browser some immediate improvements to the multi-window behavior are needed. I spent lots of time trying to get enough control over the behavior of X-based Linux window managers to get windows to work like we want (see T69819). Windows also took some time, but was less of an issue. Specifically for the file browser I've settled on a solution now:
- [Updated with a complete rewrite] D5810: Let the OS treat the file browser as proper dialog window.
- Keymaps: Don't show confirm prompt when creating directories (f8b57dbb816c).
- Let file browser tool/bookmarks region push upper bar in (57519f237a91).
- Use responive layout for upper bar in file browser (98c0d16da53a).
- D5871: Fix topbar padding to fit the tool icons
- D5898: Fix T70255: Filebrowser (python): Setting bookmarks_active crash
September 16 - September 22
Once again most time was spent on the file browser, but I'm confident I can move on to other tasks soon.
- Show in-/decrement buttons for exporters (8d6b0eda5d).
- Open file options region for more operations (28ee0f97c3).
- Refactor temp-space opening for optional fullscreen mode (95373e274908).
- Move render display type to Preferences (cac756a92aae).
- Preference for file browser as fullscreen area (f5bbaf55ac3d).
- Cleanup: Add/use utility to remove regions (f5dc979a7eb0).
- Rewrite file region handling for non-editor mode (d1cc340e5669).
- Refactor: Ensure there's always a valid file editor tool region (b20182e33418).
- Remove redundant file bookmarks region toggle operator (2f1e8f4b97e7).
- Use vertical file list for "Recover Auto Save" (f0ec7c2ec6ed).
- Replace big options button in file browser (adfe68e2025b).
- Avoid file browser directory change if path didn't change (ac15bf16462b).
- Submitted D5810: Ghost: Make temporary windows on-top popup windows.
- T69755: 'Enter' over file name not working (af9ca138ba).
- Crash in local collections with excluded layer (1353158aa24b).
- T70074: Missing file execute region in some files (crashes) (ee12af9c97f7).
- T70048: Assert when cancelling Append window (4a5af65fe9e3).
- Preferences opens file browser in wrong window (c8df6f2cf9df).
- Empty file options region in regular editor (09b728ff3e37).
- D2772: Tracking: Highlight keyframes in path visualization.
Did some fixes and cleanups in the
soc2019-openxr branch, so I can update the review patch soon:
- Fix mistakes in openxr build options (3c38e67765).
- Fix Linux linker config name for the OpenXR-SDK (9baa9e2bd3).
- Cleanup (639dffa43aa4, 6af2f222caea, cddf043ccace).
September 9 - September 15
Moved to Amsterdam this week! Unfortunately doing that took me quite some time, so this report will be much shorter than the last one.
- Refactor buttton extra icons to support multiple icons with custom operators (D5730, 828905190e).
- Add superimposed + and - icons for file increasing/decreasing (2aa3e9c67c).
- File browser deselect on click on empty space (42c062c98a).
- [Submitted for review] Preferences options for temporary editor display type (D5754).
- [Submitted, but abandoned for alternative solution] Ghost: Add support for always-on-top windows (D5765).
- Reviewed/tested D5682.
- Fix T69791: Fix crash reading old file browser in temporary window (914f4308fb).
- Fix T69736: Flipping bookmarks region empties it (69e0f485c9).
September 1 - September 8
Tried to get the file browser UI design overhaul in early in the week. Managed to do that, but had to spend most remaining time fixing many related issues (not all caused by our changes). This did however raise some concerns regarding testing for me, which I'd like to discuss with the UI team soon.
Initially I wanted to address some other usability related tasks while I'm still working from home (mostly T57918). We got plenty of feedback on the file browser changes though and we want to further tweak some things. So I will continue work on the file browser. Pablo, William, Brecht and I seem to agree on this.
File Browser Design Overhaul Merge
- Updated patch (D5601):
- Merged file browser design overhaul into master (ee8f69c96c, 53aec1ccff)
All related to the file browser redesign (though, not all caused by it):
- Don't show button context menu for drag-labels (2356f60c62)
- T69451: Walk-select in empty directory asserts
- Selecting multiple files ignoring first file (197653e087)
- Access to disabled OBJ exporter property (0abe5a6a37)
- T69467: Temporary Info Editor window crashes (0c7bfdf9a5)
- T69463: File Browser opens off-center on hiDPI (da25aca267)
- T69469: Overrun in file action type RNA enum (718989d662)
- T69457: Move file execute region and file path button back to C, fixing multiple bugs (45d4c92579, 9972d6c306)
- Bring back confirmation prompt for file path auto-create (e10f8c27a2)
- T69495: Crash changing action in file browser (fbf6898f58)
- T69498: Crash on export UV Layout (4c4a8bf588)
- Failing assert on directory auto-creation (5fd46d27f5)
- T69581: File browser errors not reported in the UI (4c20c53b89, 83a7d98a32)
- Saving images from temp Image Editor failing (ab823176d3)
- Crash closing stacked file browser window (a566b71333)
- T67756: File drag starts on file browser open (e7476b667e)
Reviewed a few smaller patches for the file browser:
- D5667: File Browser Optional Created and Accessed Date Columns (requested changes)
- D5713: File Browser Custom Folder Color (commented with suggestions, didn't want to accept or request changes)
- D5671: Fbx export crashes blender
Also participated in the UI meeting on Wednesday.
Not much happened on the VR front, plan is to step things up once I'm in Amsterdam. Dalai reviewed my GSoC branch (D5537) and didn't seem to have any bigger concern.
There's also continuous contact with potential XR module team members. I've asked to move design discussion to design tasks now (T68998, T68994, T68995), so expect some activity there soon-ish.