User:Aligorith/Foundation/2018

June - August
(Half-June to Half-August)

July 30 - August 3
This week, my primary focus shifted back towards work on improving motion paths in Blender, given that this is one of the biggest bottlenecks for the Spring animators now.
 * Fixed bug where clearing paths didn't refresh the viewport (reported by Hjalti) [Spring Bug]
 * Made Motion Paths panel easier to access in Armature Properties (previously, Ghosting was getting emphasized more, despite being less useful)


 * Added profiling (timing) prints to the motionpath calculations, to quantify the scope of the problem. Current (2.8 branch) average times for 250 frames of animation:
 * Autumn "tests/run_cycle.blend" - 10.913 sec
 * 01_050_A.anim.blend (Spring only) - 14.95 sec


 * Investigated how to get motionpath evaluation occurring on stripped-down depsgraph/COW instances, where only the bare minimum data gets re-evaluated.
 * Started working on a proof-of-concept for this graph filtering approach.

General Development:
 * Changed behaviour of the "Clean Keyframes" operator to not erase handle and interpolation settings (f08f6c1adec)
 * Fixed T56199: Crash when using Annotations in 2D editors (using old keymaps, which would trigger the old operator)

GSoC (NPR) Mentoring:
 * Spent time compiling + testing the NPR branch (including fixing compile errors building without OpenSubdiv enabled)
 * Provided usability feedback to Yiming
 * Fixed refresh (messagebus subscribe) bug where changing

Side Note:
 * With the removal of many MSVC2013 compatability hacks (notably the Boost vs C++11 workarounds, and __func__ defines), I had to waste time finding local workarounds for these changes to keep a working dev environment until my new workstation is here and usable. Unfortunately, this does add a bit of extra overhead to prevent my local hacks from ending up in mainline.

July 23 - July 27
My main focus this week was on finishing support for Annotations.
 * Implemented support for dynamically updating icons (846f5d8f744)
 * Implemented fix for mode-switch piemenu problems (a54c30da76d)
 * Reintroduced "Stroke Placement" settings
 * Various DNA/RNA fixes for property conflicts between GP and Annotations, regarding stroke thickness + stroke placement settings (aa8b7f4368b)
 * Fixes for crashes in 2D editors when using Annotations following cleanup commits (171e231a8a8)
 * Various bugfixes for topbar support of Annotation/GP tools
 * Debugged stroke thickness rendering issues on Mac with billrey. Conclusion: A custom shader will need to be implemented here.

July 16 - July 20
Annotations:
 * Datablock collection filters for GP datablocks and GP Materials
 * Spent time investigating how to implement dynamically-updating icons for Annotation/GP layer previews
 * Spent time investigating solutions for mode-switch piemenu problems (where the new Grease Pencil modes

Patch Review/Developer Support:
 * Spent 3-4 hours every night fielding questions/ideas/etc. from @angarilov on IRC regarding patches for the constraint system, and other patches listed on https://developer.blender.org/diffusion/BS/history/shrinkwrap-features/
 * Tested and reviewed D3530 (Damped Track vector ambiguity)
 * Reviewing all the relevant code to determine if the proposed patches are reasonable solutions to the problems presented.

July 9 - July 13
Animation:
 * Fix T55796: Motion Paths are not being drawn as overlay [Spring Bug]
 * Triaged & rejected T55928 (Dopesheet "show slider" is switch on when switching dopesheet mode to shapekey editor, and back to dopesheet mode)
 * Triaged & closed T55959 (Highlight the mesh instead of showing the bone in pose mode)

Grease Pencil:
 * Resolve "context fighting" issues with GP Objects vs Annotations
 * Fixes for Annotation layers getting created with the wrong names
 * Expose annotation tool settings in topbar
 * Simplify eraser behaviour (i.e. remove "soft" mode)
 * Change default color for Annotation strokes (to match the icon, and be more visible against the default background)


 * General code cleanup for issues/dead code discovered while investigating other issues
 * Investigated issues with getting GP Sculpt brushes to work in the Toolbar
 * Investigated ways to filter GP collections

Code Review:
 * Started reviewing D3530 (Damped Track vector ambiguity)
 * Performed first-pass review of NPR GSoC branch (D3505)

July 2 - July 6
Animation:
 * Investigated T55709 (Poselib -> Add New Pose crash), and proposed solution
 * Fix T55777: Non-selected keys in Graph Editor are invisible [Spring Bug]
 * Triaged/Checked on T51644

Grease Pencil:
 * Code Cleanup for GP Branch
 * Removed remnants of previous attempts to support 3D View annotations using GP objects
 * Move GP Object defines to correct files
 * Move "GP Paper" settings into a popover
 * Code review for fixes/changes being added to the branch (see concerns raised on @antonioya's commits from this week for details)


 * Annotations
 * Added Toolbar support for Annotations in 3D view
 * Add missing icon data from icons_geom.blend so that the Annotation tools show the correct icons

June 25 - June 30
Animation:
 * Introduce a "Filters" popover for housing all the less commonly tweaked animation editor filters, freeing up space in the headers and hopefully making some of these easier to understand (5f545dbde81)
 * Make the Search/Collection filters work without having to enable a toggle first

Grease Pencil:
 * Attended Google Hangouts meeting to reach consensus on a way forward for merging the GP branch, focussing on the scope/design of the Annotations system
 * Started work implementing the design we arrived at, based on getting an initially functioning version of the tool, equivalent to 2.77-ish Grease Pencil (but with modern immediate mode API). Got 3D view support working.

June 21 - June 22

 * Fix T55525: "Only Keyframes from Selected Channels" option in Timeline was being ignored [Spring Bug]
 * Various fixes for animation editor submodes not getting initialised correctly (following their inclusion in the Editors menu as standalone entries)

June 11 - June 14
Animation:
 * Work on the new Drivers setup workflow
 * Display floating properties panel (instead of context menu) after adding a new driver (4605e57b0f6)
 * Tweaks to default py-expressions created, so that editing the driver settings will get a working driver immediately (9ab26bec276)
 * Tweaks to popover creation function so that popover panels stay open instead of disappearing easily (1ff28c2650a)
 * Various UI Tweaks
 * Reserving defines for Onion Skinning in the overlay settings (3122366b28d)

Grease Pencil branch:
 * Fix Copy-on-Write issues with gp layer -> active_frame (3721b857c69)
 * Wrote up proposal for how IMO the Annotation system could/should work

June 4 - June 9
Holidays + Post Code Quest unpacking/recovery/etc.

---

Code Quest
April 4 - June 3 - In Amsterdam. See Code Quest weekly reports from Dalai

---

February - March
... To be ported from old wiki ...