May 20 - 24
Bug fixing week, and API cleanup.
For the API it included using the new
toggle keyword for the new visibility panel, and remove _base_ from users entirely (simplifying scripts that need to override context).
For bugfixing there was some bugs I introduced in recent commits, but also a sequencer crash, auto-preference saving for theme reset and a few outliner/collection related issues.
- Patch Waiting for Review
- Update "Overriding Context" API example caf52e3779a.
- Fix T65094: Sequencer crashes blender when scene strip has NULL scene 7d44184c85c.
- Sequencer: Fix UI when scene strip has a NULL scene 0cb2c20ada2.
- Outliner: Fix selecting collections in view layer selecting original objects 5df4c0a4693.
- Outliner: Set View Layer as the default mode for new outliners b60c43aabde.
- Fix T65028: Eye icon not toggle-able from the outliner for linked objects d8f096406b2.
- Fix T65060: Outliner - Sort Alphabetically checkbox is not working be03e678e31.
- Fix T65059: Crash in empty scenes for context _bases functions fae58962493.
- Visibility panel: Use "toggle" keyword 6539cf31992.
- Remove "_base*" from context API 0910932e71d.
- Fix: Reset to the default theme not auto-saved 9be7c831f67.
- UI: add Visibility panel for objects 785ff8e1d2e.
- Fix build 301806a0676.
- Bugs reported
- T65093: ASAN crash when using navigation (orbiting) gizmo.
- T65080: Assert on editor split while dragging to resize.
- T65095: Hiding a nested collection doesn't immediately update its parent instances in the scene.
May 13 - 17
More work on the outliner user interface - graying out states based on hierarchy, better tooltips, and Shift + Click for objects properties.
Also worked on a panel for object visibility settings in the Properties editor. It is a bit tricky/hacky to get this right, but I have a working version waiting for review in [D4889].
- Patch Waiting for Review
- Outliner: Make restriction icons inactive based on hierarchy value e3ea703b092.
- Set selection column restrict hidden by default 0255cf81260.
- Fix icon for outliner temporarily hide 70d67de5e5b.
- Fix default open outliner restrict columns 5c8df0a742c.
- Fix T64467: Outliner Rename drawing overlapping restriction column + checkbox a63be6c6c72.
- Outliner Tooltips Cleanup: Retrict/Allow > Restrict ; set/unset > set 32c7da1e37c.
- T64020: Outliner - implement Shift + Click for objects as well 41858a73111.
- Code style cleanup:
- Outliner Restriction: Naming sanitization and icon 777a546c0c7.
- Outliner restriction filter: Unify order 903041e1c0e.
- T64607: Outliner UI Tooltips 9b80318a284.
May 6 - 10
Finished the outliner visibility changes patch:
- Granular restriction visibility toggles.
- Expose layer collection "holdout" and "indirect only".
- Set children (shift+click) fully working.
- Isolate (ctrl+click) fully working, and toggleable (if you try to isolate a collection already isolated it toggles between isolate and "show" all).
Note: We need to define what do we want to do with the non-object visibility icons (e.g., modifier, bones). Right now they are in the same column as viewport visibility, but I suspect we may want to shuffle this around or at least make sure they use the same icons as collecions/objects.
- Outliner Visibility Update b1af6820015.
April 29 - May 4
Finished and committed the refactor/cleanup in the object/object base flag. Small tweaks (UI) and fix (unlink operator not working for children in outliner). But the core of the work was in the (still local, and work in progress) outliner visibility implementation - T651578:
- Outliner: Fix "Unlink" not working for parented objects b7277aac728.
- UI: Collections Visibility panel tweaks ab33692bc26.
- Cleanup/update comment on flag_legacy values d4126238b4b.
- Fix T63343: Duplicated object is hidden whereas it should not 1aa093ce9c4.
- Stop using deprecated ob->flag & SELECT ae7db030dab.
- Remove BKE_scene_object_base_flag_sync_from_object 2d32372c59a.
- Refactor: Use object select API - ED_object_base_select 088d59c3d37.
- Grease Pencil: Fix using wrong flag for selecting objects on convert c7452f14c5d.
- Cleanup: Object base syncing already happening as part of ED_object_base_select 7388856318f.
April 22 - 26
Fixed and refactored the outliner parent patch which is now committed. Besides I spent some time on a needed refactor on the object and base flags (i.e., getting rid of BKE_scene_object_base_flag_sync_from_object, and sanitize the use of ED_object_base_select). Once this is ready this will fix T63343, but for now I'm keeping the commits local.
- Outliner parenting hierarchy: Sort for children when not a-z sorting 78f8679cfc6.
- Fix T63869: Crash in new outliner show parenting hierarchy edff7892927.
- Outliner: Show parenting hierarchy in view layer view 5f888e65c3e.
- Outliner draw: Fix using wrong flag to tag object on visibility change 1ab1d987fa6.
- Rename: Separate: By loose parts > By Loose Parts 0e4e1d257cd.
April 15 - 19
Tackled two high priority bugs this week: one is fixed (outliner crash depending on selected object); the other is waiting for review show parent/children in outliner.
Besides that I did some small changes: toggle collection visibility with shift; make outliner bone selection to mimic viewport's multi-object behaviour.
- Patches waiting for review
- Outliner: Simplify logic for parent nesting 2a39f2595bf.
- Selecting a pose bone in outliner deselect others d29bd6c6b7b.
- Fix T63066: Outliner crash when selecting object being in armature editmode e6151bc4c1f.
- Fix T63204: Toggle collection visibility with shift e017d89eae5.
March 25 - April 12
Time off and code quest home stretching.
March 18 - 22
Stereoscopy drawing fixes (sequencer, viewport camera frame), re-did and committed the fix for cycles update on viewlayer change, fixed objects (un)selected on paste, and missing DEG tag update for hiding curves.
- Fix T62815: Camera frame shift issue + stereo frame working faecac0b5e1.
- Viewport Refactor: Move camera tracking reconstruction in own function 4015d162df5.
- Silence false positive uninitialized warning 820be185bc3.
- Fix warning for uninitialized icon_only 243a9254ea5.
- Fix: VSE preview not showing stereo drawing (unreported) 74b47e4181d.
- Fix T58517: Multi-view issues with OpenGL render + scene settings 5f45cbb26ec.
- Silence warnings 193b708a486.
- Fix T62348: Cycles - Viewport rendering not update on switching viewlayer 9a49a26eb38.
- Fix T62841: Hidden collection shortcut should be work in edit mode a17df6d91e6.
- Fix T61670: Copy -> Paste - Pasted elements are not selected 0c44b7e177f.
- Unify "Hide Selected / Reveal Hidden" operator names 540f50a4da6.
- Fix T62735: hiding curves doesnt hide in viewport 7cf1b81b3c6.
- Silence sorted function declaration/const warnings b7255d33dac.
March 11 - 15
Mixed bug fixes. Finished the workspace context menu issue, master collection in collection related operators, local view fix for python objects (torus) and hook, unhide all selection issue, armature pose/edit mode issues crash and outliner visibility/depsgraph bug.
- Patches waiting for review
- Remove object hide_* operators from outliner keymap 4510f88d00a.
- Fix T62438: Unhide all doesn't set newly visible objects to selected b7d942446f8.
- Fix T62313 - No way to remove object from master collection in 3d view 713010bd779.
- Fix T62320: Outliner collection disable not propagating to other view layers fcffbe1d1b3.
- Fix: "Jump To Target" showing up in workspace context menu 2e043c266bf.
- Fix T62377: Crash hiding Armature in edit mode and switching to pose 868a6797e0d.
- Fix Hook to New Object won't appear in Local View e37e105fedb.
- Fix T62436: New added Torus won't appear in Local View 9054b39b27c.
- Silence warning commits db5ca11d802, aaa35d10924.
March 4 - 8
Another bug fixing week. I started with some stereo drawing reported regression bugs, got a bit caught up on it (fixed some 2.79 bugs even :/), and moved to grease pencil pinning. This was severely broken and bit beyond the greasepencil team's expertise (Antonio Vazquez asked to look at this).
I then moved on to fix a workspace high priority bug -T57655. I end up spending my time preparing the terrain - fixed 2 bugs, submitted patch for 2 more workspace issues - but being able to tackle the bug itself yet.
- Patches waiting for review
- Fix T60855: Workspace duplicating - addons filter won't duplicate too.
- Fix/workaround: "Jump To Target" showing up in workspace context menu
- Fix active workspace changes when deleting workspace a0f2923fd82.
- Fix crash when deleting workspaces too fast aa49444c291.
- Final fix for greasepencil materials assign/select/deselect in edit mode 2ada9c5bc8f.
- Fix T62349: Grease Pencil top material list not working 4ccaf56814a.
- Properties Editor: Grease Pencil and pinning fixes 92d185faebe.
- Minor UI fix: Disable stereo volume alpha when stereo volume is disabled 8eca5c3f7ab.
- Fix build for Linux systems c2ff8735f53.
- Fix stereoscopy convergence plane placement b94ec178a20.
- Fix stereo plane pass and state 0ec98863e27.
- Viewport: Fix stereoscopy volume "wires" not showing 3fc7d51ed3d.
- Fix T62118: Stereo drawing options visible from camera view f1fef41863b.
- Fixup for fix for OSX build using a build folder name with spaces 69c8248a1ce.
February 25 - March 1
I addressed review comments on the outliner collections duplicate patch, and committed it. Followed by sorted bugs such as:
- Grease pencil panel not pinning
- Grease pencil icon not building.
- Delete hierarchy crash.
- OSX build fixup
- Visibility icons drag issue.
Besides work on tracker, and even reporting a few bugs I ran into.
- Fix T62098: Outliner: Delete hierarchy crash d1baed5e3d0.
- Fixup for fix for OSX build using a build folder name with spaces 42faf52d8bc.
- Fix T62025: Outliner and viewport missing update after deleting object 589d0894722.
- Fix T62016: Outliner visibility icons drag behaviour broken 92182495da8 568fa11a040.
- Outliner: Collections Duplicate - remove original duplicate operator 7d4e1ac727f.
- Outliner: Collection - Duplicate Hierarchy, and Duplicate Linked Hierarchy e7ea99af1b0 619c65a4b33.
- Cleanup: Set BKE_key_from_object/_p to take const Object * dbab52e4c0d.
- Fix: Grease Pencil data panels not working with pinning ce104ca8964.
- Grease Pencil: Strokes Cut icon 1beada2c62d.
- Grease Pencil: Silence warning 3d59599afe7.
February 18 - 22
This week I worked on a fixup for the visibility unification, physics related bug, regression on filepath handling, regression on collection switching and small cleanups.
- Patch ready
- D4394: Outliner: Collection - Duplicate Hierarchy, and Duplicate Linked Hierarchy.
- Fix: Workbench assert on non-image texture node 655faca1058.
- Cleanup: Remove redundant function call e9f738754d1.
- Fix T55921: Toggling visibility for collections doesn't work in Pose b6c61945aed.
- Fix T61788: Hidden objects reappear after rendering e278b38b921.
- Fix T61600: Physics properties inactive when appending objects bef82f72d27.
- EEVEE Shader comments: Explain why material gets darkened when using mix shader 0e7409d466f.
- Fix T61696: Filepath buttons not accepting empty values 6c0cbfcd530.
February 11 - 15
The main fix of this week was outliner and object data. While fixing the crash, I refactored the logic for outliner and obdata clicking. We now switch the active object, and always go to the edit/pose mode expected. Also addressed the bug with high priority that I was more comfortable with (crash switching workspaces) beside sorted fixes (bake action, rigid body data missing).
Finally we had a design meeting about outliner, collections and visibility. William Reynish wrote notes and an initial proposal here: T61578.
- Fix T61512: Crash switching workspace with fullscreen area eff3728db91.
- Fix T61210: Crash/inconsistency when clicking on obdata in outliner 2b7752fb007.
- Fix T61567: Object loose its rigid body data when moving to collection f5ac1f444b6.
- Fix Object > Animation > Bake Action caf89c3de16.
- Fix "typo" in show_object_viewport* RNA_def_property_update 09b40aa0397.
- Cleanup: Use ID_IS_LINKED instead of id.lib 66c23ea2b4a.
- Fix: objects in outliner cannot be disabled 69f50e6ea98.
February 4 - 8
I wrapped up and committed the outliner visibility unification. The rest of the week was spent polishing up the visibility functionality:
* A few bug fixes (not change linked ID data). * New functionality (H, Alt+H in the outliner unified for objects and collections). * Isolate object.
A lot of the polishing was based on Julien Kaspar feedback, on behalf of the Blender Animation Studio and William Reynish.
- Outliner visibility: Prevent changing linked objects and collections 191b8951f7a.
- Outliner Visibility: Alt+H operator to unhide all objects and collections e04d6794d01.
- Outliner Visibility: H operator to hide collection or objects 744223afbf4.
- Outliner visibility: Ctrl to isolate object 3f537f30e6b.
- Fix T61287: Object restrict viewport ignored in instanced collection 02581a7ef81.
- Remove no-longer needed function 5ed27372ab4.
- Fixup for outliner visibility not changing disable state db231e87fc8.
- Outliner visibility: Respect original viewport enable/disable state 766741b0aa8.
- Outliner visibility unification: Prevent master collection visibility to change e3a3782d7fa.
- Outliner visibility unification: Implement 3 levels of viewport visibility 897e047374f.
- Outliner: eyes for collection affect collection visibility e3f7f0c3ebd.
- Outliner: Gray out collections only when they are invisible dc7f3123266.
- Per view-layer collection visibility 3d984aa1503.
- Fix T61204: Can't select Camera in stereoscopy mode d1ef6be4a77.
January 28 - February 1
Besides some minor triaging on tracker, I finished the outliner visibility patch.
* Not rebuild depsgraph on visibility change (only on disable collections). * Expose all options (isolate, hide/show, hide/show hierarchy, enable/disable) to a context menu in outliner. * Support drag & drop
It should be merged as soon as it is reviewed.
January 21 - 25
More bug fixes on stereo (Cycles rendering, image editor), freestyle rendering and small UI polishing. Apart from that I spent the time working on the outliner visibility patch. There are still a few things missing, which I want to address the following week. But this week I tackled:
* From review: Ctrl + Click to isolate collection * From review: Alt + Click to disable visibility * From review: hide > disable
- Fix T58142: Crash when use Cycles to render stereoscopy 699b49e8e9d.
- Fix Freestyle (ASAN detected) crash fa1d5586a1a.
- Fix T60775: Stereo drawing in image editor broken (shows only right eye) d96f1fcd394.
- EEVEE UI: Render/Viewport Samples - follow Cycles 178299278b7.
January 14 - 18
January 7 - 11
Stereoscopy 3d drawing is fixed in the viewport, and the stereo 3d support elements are back:
* Cameras * Convergence Plane / Alpha * Stereoscopy Volume / Alpha
Initially what was broken was simply the drawing of the stereoscopy 3d for converging cameras. This issue was introduced with copy-on-write. With this fixed and out of the way, I decided to port the viewport stereo element drawings since we never prioritized that.
- Viewport: Stereoscopy drawing is back ce3475f7479.
- BKE_camera_multiview_model_matrix: Add _scaled version ba89b69ebdb.
- Drawing API: shgroup_instance and shgroup_instance_alpha clarification 9f6e09bd8c1.
- Fix T60328: Stereoscopy Convergence Plane broken 0bd20aa7df2.
- Revert "Fix T60044: Sculpting brush is not visible on file load" 583c3213347.
January 1 - 4
Bug fixing and tracker. More triaging than I was hoping to, but I ran out of confirmed bugs assigned to me.
- Silence warning bfac8a429c7.
- Partial fix T60148: EEVEE hangs when anamorphic bokeh is too low 1753177ad8a.
- EEVEE DoF: Fix runtime error: division by zero when blades was 0 bdbe4844284.
- Fix T60044: Sculpting brush is not visible on file load 4d8ed937f22.
- Fix poll function for SelectPattern operator c862c14339e.
- Fix T60030: Select pattern fails with pose bones 6fdfa556678.