May 18 - 24

Another week of mainly looking into bug reports. I'm finding that it takes quite a while to start looking into a report for a new area and the rate of dead ends is fairly high, but the second time I look into any area of the code is productive much more quickly.

One particularly interesting task was T74552, where writing -1m50cm or -1'6" in a text box would resolve to -05m and -6" respectively. The negative only applies to the first of the two numbers, and there's an implied + between the two values, which is quite confusing.

Fixes for:

  • Incorrect bevel behavior with small edge weights (c554f4e14fce)
  • Inaccessible / inconsistent 3D mouse UI (7e4654e4ce2cc)
  • Negatives don't distribute in number input (D7813)
  • Investigated bug reports, with some more time spent looking into T76861, T76803, T75784
  • Kept my various patches up to date with latest master as they wait for final review.

Next Week

I'd like to finish up the number input fix and the stack UI patches finally. I'd also like to continue working on property search-- hopefully the basics of that are pretty close to done.

May 11 - 17

On Monday I did some final work on textfield undo / redo support before Campbell committed it with some more modifications. The list panel patches are getting quite close as well, thanks to Julian's review.

Investigated Reports

In Review

  • D7737 Fix T76595 Graph Editor: No indication of active keyframe
  • D7738 UI: Small Changes to Graph Editor Active Vertex Panel



  • Tested the Wayland support, submitted a report about it: T76720
  • Various UI discussions (Button changes at hard limits, node socket side-panel UI)
  • Other bug triaging

Next Week

More bug fixing! Maybe the modifier UI patch will make it into master too.

May 4 - May 10

This week I focused on wrapping up code review for the list panel patches and the text-field undo-redo support patch. I also started to work on search for the properties window. After a discussion with Julian Eisel I worked out the right way forward, and the basics are working, but there will be a lot of complications to solve before it's finished, one obvious problem is keeping groups of buttons aligned in the search view.

  • I also did some quick UI updates for the curve draw tool: D7652
  • And some basic interface code review for some grease pencil patches: D7648 D7608
  • Before deciding on the next project I updated an old patch, still waiting for final review though: D6470

Next Week

It's not clear if we'll finish code review for the list-panel patches this week because of the bug fixing sprint. But it would be very nice as it's getting old keeping the branch up to date with master.

April 27 - May 3

Earlier in the work I worked with Matias Mendiola from the Grease Pencil team to work out updated UI layouts for grease pencil modifiers and effects. I also moved the layout code for each to callbacks for the types, keeping it consistent with the changes for mesh modifiers. This means the only remaining "stack" UI to apply the list panel system to for drag-drop is sequencer strip modifiers, which I haven't looked into yet.

I also worked on updating the first two patches for the stack UI changes which got a first round of review. And also reworked the text field undo-redo patch based on review.

I looked into / triaged 5 reports Committed fix 7212dbd7be8d

Next Week

With the main development for the stack UI project finished, it's time to pick the next project, which will involve discussion with other UI team members. I'd like to have an organized and prioritized list of projects to tackle early in the week.

April 20 - 26

I focussed on cleaning up the modifier-panels-ui branch to remove unrelated changes and clean up the code in preparation for review. Three patches are posted for review now:

  • D7490 The underlying system to use panels to represent lists.
  • D7498 Drag and drop modifiers and layout updates
  • D7499 The same system implemented for constraints.

One of the constraint layout updates. Maybe "Owner Space" should still be "Convert" though

I also worked on a project Campbell suggested to familiarize myself further with UI code, undo support in button text fields. My patch for that is ready for review here: D7518

And finally I reworked two panel dragging quality of life improvement patches. Together it should all be a great improvement.

  • D7465 adds the ability to pan regions when dragging to their edges.
  • D7462 Fixes some incorrect scrolling when dragging the last two panels in the list.


Next Week

I've mainly finished the projects I've started out with, so it's time to start planning the next project. I don't want to start anything too large while my current patches are in review though, so I'd like to work on some smaller things, hopefully the "medium" and "small" projects from my Ideas page.

April 15 - 19

The first (half) week of work for my 3 month grant. I mainly worked on finalizing the modifer-ui-panels branch this week. The main code for using panels to represent lists is almost ready for review, there is just some final generalization to do.

  • Draw list panels with the theme of the box widget, solving AA and transparency issues. (ac943796d4da)
  • Fix a small issue when dragging the final panel in a region (54ac90625f7c)
  • Initial code for scrolling regions when panels are dragged to the top or bottom (e8a6759c1d22)
  • Draw subpanels above panels when dragging, which allowed us to get rid of the transparency when dragging panels (3b0d86d8b1e9)

I also had some extra time this weekend and implemented the same system for constraint panels, which was pretty quick because of the generality of the list panel system.

  • Use panels for constraints (d9f542bbb0)
  • Rework the layouts for transform constraints. Huge visual and legibility improvements here (f787b7f1c)
  • Dragging and dropping, panel expansion saving for constraints (f12a66817d

Also closed 2 reports as duplicates.

Next Week

I'd like to submit the list panel system and the modifier panel UI for code review as two separate patches this week. Constraints won't take much longer to finish up too, so that should be possible. I'd also like to start looking into undo support for text input fields.