Weekly Reports for year 2020

Week 418: 30th December - 5th January

  • General development
    • Another short week due to new year
    • Updated volume regression tests for Cycles (for Manta)
    • Some tasks for the studio (computers, servers, ...)
  • Bug tracker
    • Fix T72820 Linked objects jumping around during render
    • Fix T72821 Crash when ID is removed from post-update callback
  • Next week
    • Increase productivity in tracker/fixes.

Fixed 2, Closed 2.

Week 419: 6th - 12th January

  • General development
    • Depsgraph: Fix wrong ID filtering
    • Fix crash opening specific files (like the one from TT48684)
    • Helped OpenData team with the release of new benchmark launcher
    • Looked into performance issues (TT57936). Will publish updated report later next week.
  • Bug tracker
    • Fix T62311 Metaball animation playback crash
    • Fix T71908 Animated properties are lost after frame-post handler
  • Next week
    • Some studio related duties (dying hardware)
    • Clean up old patches/reports assigned to self
    • Keep up with high priority bugs

Fixed 2, Closed 0.

Week 420: 13th - 19th January

  • General development
    • Depsgraph: Re-iterated over fix for handlers and animated properties. Initial fix caused regression in more commonly used cases, so it was reverted. Actual solution goes somewhere way deeper.
    • Fixes for non-x86_64 platforms for 2.82 for linux distors.
    • Collected updated performance bottlenecks for T57936
    • Meeting with Brecht and Dalai about roadmap for 2020.
  • Next week
    • Some more meetings will likely be needed for roadmap
    • Document performance investigation
    • Make a plan of action for multires, have second pair of eyes (hi, Brecht :) on it

Fixed 0, Closed 0.

Week 421: 20th - 26th January

  • General development
    • Fix wrong DNA alignment on specific architectures (such as arm)
    • Refactored the way external dependencies are communicated to CMake, letting build system to have full dependency graph. Fixing weird unpredictable linking errors, which depend on feature set.
    • Fixed static initialization order fiasco of TBB/MKL.

Fixed 0, Closed 0.

Week 422: 27th January - 2nd February

  • General development
    • Infrastructure maintenance week.

Fixed 0, Closed 0.

Week 423: 3rd - 9th February

  • General development
    • Codesign setup for macOS buildbot builds.
    • Worked around static initialization fiasco between TBB and MKL (appeared when running tests on centOS on AMD machine).
    • Worked on blowing dust away from tracking module, stumbled into some design violations in constraint system. Annoyingly, the change was committed without waiting for any of review.
    • Got pulled into setting up renderfarm workers on Friday afternoon, which escalated a bit into a rabbit hole to hell.
  • Next week
    • Finish fix for Follow Track constraint started on Friday.
    • One of storage/render nodes needs to have hard drive situation figured out (spontaneous SMART errors. Dirty/flackey backplane?).
    • Prepare for the release (make sure tests are passing, prepare packing situation for all sort of stores and so on).

Fixed 0, Closed 0.

Week 424: 10th - 16th February

  • General development
    • 2.82 release week:
      • Investigated new Microsoft Store tooling for packaging
      • Fixed regression tests
      • Baby-sited release builds
    • Started looking into smooth propagation of multires delta to higher levels. Only spent half a day on Friday on this.
  • Bug tracker
    • Fix TT73675 Leaving exit mode tags all objects for update
  • Next week
    • Keep working on smoothing delta for multires.

Fixed 1, Closed 0.

Week 425: 17th - 23rd February

  • General development
    • Solve strict compiler warnings on macOS
    • Worked on making codesign more resilient for possible interrupts
    • Looked into making pre-compiled libraries work on Arch
    • Kept working on multires in a local branch
  • Next week
    • Spend as much time as possible on multires. Goal is to have smooth propagation for reshape operator

Fixed 0, Closed 0.

Week 426: 24th February - 1st March

  • General development
    • Spent all week on multires.
  • Next week
    • Start moving safe-for-2.83-parts to master
    • Get rest of changes testable by artists

Fixed 0, Closed 0.

Week 427: 24th 2nd - 8th March

  • General development
    • Another week of multires. Progress so far:
      • New basement for "reshape" functionality seems to be wrapped up (all the common functionality for Subdivide, Reshape, Apply Base, propagation of edits from sculpt to top level)
      • Subdivide and reshape are ported to the new basement. They might cause some minor artifacts on a really extraordinary cases (like the 2 quads with 2 common edges in the Suzanne's nose). But comparing to 2.80 and 2.79 works rock-solid and keeps shape the same on any of multires levels.
      • Propagation of sculpt edits to top level is also ported to the new basement. Causes minor artifacts in the extraordinary case mentioned above. Compared to 2.80 and 2.79 allows to rotate an entire mesh or its parts and have top level details adopted accordingly (previously, they will not be aware of rotation and will be added in the wrong direction).
      • Tested by Julien Kaspar
    • There is still quite some work to be done to make it really rock solid, but that's for the next week.
  • Next week
    • Update project task, list current limitations and list of things to resolve, put code to a Git branch.
    • Port "Apply Base" to the new code path, solving artifacts happening by this operator.
    • Make sculpt undo system aware of "propagation", which requires being able to undo changes to CustomData layers.
      • This is the biggest stopper so far, as attempting to undo past sculpt level change will no longer propagate properly.
      • Isn't really a new issue (was there since 2.5x), but is really annoying and dangerous.

Fixed 0, Closed 0.

Week 428: 9th - 15th March

  • General development
    • Cleanup: Replace ABS/SQUARE/CUBE with function calls (solves real problem in studio light code)
    • Depsgraph: Fix crash deleting Viewer image from Outliner
    • Some rounds of disk cache review
    • Committed all current fixes for multires (subdivide, reshape, apply base)
  • Bug tracker
    • Fix T74686 Loading btx file in multires modifier is not working
  • Next week
    • Continue (and, hopefully, finish) disk cache review.
    • Review status after multires changes (see if there any bugs reported after the merge).
    • move forward with propagation undo in sculpt mode.

Fixed 1, Closed 0.

Week 429: 16th - 22nd March

  • General development
    • Fixed warnings encountered when compiling with MSVC.
    • Various fixes in multires:
      • Apply Base didn't work correct when there are deformation modifiers prior to multires
      • Apply Base was randomly distorting mesh with shapekeys
      • Support subdivision and propagation for base meshes with creases
      • Fix non-working Simple type subdivision
      • Disallow changing mode and quality after subdivision
      • Fix assert when removing modifier in edit mode
  • Bug tracker
    • Fix T74322 Wrong object bundles with scaled camera
  • Next week
    • Need to look into some dependency graph fiasco for the studio
    • Carry on with the tasks mentioned in the multires (T73317)

Fixed 1, Closed 1.

Week 430: 23rd - 29th March

  • General development
    • Fixed wrong threading usage in sound area poked from depsgrapgh
    • Multires:
      • Enable Optimal Display by default.
      • Fixed possible interference between Apply Base and sculpt mode.
      • Worked on support Undo for Apply Base during sculpt mode (same code would be used to undo propagation on sculpt level change).
    • Fixed build on macOS 10.15.4 and Xcode 11.4.
    • Fixed other legacy and annoying aspects of CMake on macOS.
    • Quite a bit of non-code work (like meetings),
  • Bug tracker
    • Fix T74984 Crash opening specific production files
  • Next week
    • Get the Undo patches reviewed. They are tiny, so should be quick
    • Support Undo of propagation (which is a bit of a challenge since propagation happens on property change, not on operator)

Fixed 1, Closed 0.