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.
- 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
- 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
- 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
- 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)
- 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
- Started reviewing D3530 (Damped Track vector ambiguity)
- Performed first-pass review of NPR GSoC branch (D3505)
July 2 - July 6
- 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
- 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)
- 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
- 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
- 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
- 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.
April 4 - June 3 - In Amsterdam. See Code Quest weekly reports from Dalai
February - March
... To be ported from old wiki ...