User:Sergey/Foundation/2018

From Blender Developer Wiki
Jump to: navigation, search

Week 318: 1st - 7th January

  • General development
    • Most of the week was still in Russia, then in a transfer back to Amsterdam.
    • Friday was mainly spent on hardware maintenance here in the studio.
    • Was also doing some task scheduler refactor, to avoid API clutter and allow extra threadability and avoid threading overhead.

Fixed: 0, Closed: 0.

Week 319: 8th - 14th January

  • General development
    • Spend some time on getting Dell servers updated and checked from hardware point of view. Soon they can be moved to our rack!
    • Did 10% to 40% optimizations on subsurf and mesh deform.
    • Increase memory limit settings to their possible max on platform
  • Bug tracker
    • Fix T53691 Motion Tracking Object Solver Constraint doesn't work as Bone Constraint
    • Fix T53759 Cycles / 2.8: Light position doesnt update in viewport render

Fixed: 2, Closed: 0.

Week 320: 15th - 21st January

  • General development
    • Sculpting: Add an option to hide mask in viewport (requested by Julien in the studio)
  • Bug tracker
    • Fix T53794 Can't control color ramp node color values with drivers
    • Fix T53788 Camera animation not working
  • Dependency graph
    • Fix fake cyclic dependencies for node tree drivers
    • Fix missing node tree updates when unconnected node affects output via driver
    • Fix for fake dependency cycle being created for shape key drivers
  • Blender 2.8
    • Fix/workaround for missing hair
    • Spend quite some time on passing depsgraph to fix 53788.

Fixed: 2, Closed: 6.

Week 321: 22nd - 28th January

  • General development
    • Two days were spent in the datacenter, preparing new servers.
  • Bug tracker
    • Fix T53115 Memleak with instanced groups and Cycles
    • Fix T53646 Blender 2.8 multiple crashes in auto UVs generation
    • Fix T53115 Memleak with instanced groups and Cycles
  • Dependency graph
    • Fix evaluation order with nested animation and copy on write
    • Fix crash entering edit mode with CoW enabled
    • Add missing synchronize code to scene

Fixed: 3, Closed: 2.

Week 322: 29th January - 4th February

  • General development
    • Cycles: Fix 32 bit Linux compilation
  • Bug tracker
    • Fix T52520 Metaballs in edit mode causes infinite Cycles viewport reset
    • Fix T53686 VSE Render crash when zooming timeline
    • Fix T53980 IK influencing REST POSE with New Depsgraph
    • Fix T53598 OpenGL Render Animation does not update shadows
  • Dependency graph
    • Fix missing update when property from proxy rig drives something
    • Fix missing group duplicated by hair in render
  • Blender 2.8
    • Refactor object engine data storage, using C-style subclass, so all engines have some common header with flags for engine specific data.

Fixed: 4, Closed: 2.

Week 323: 5th - 11th February

  • General development
    • Studio request: Synchronize selection on bones when selecting everything
    • Remove Carve boolean
    • Fix crash with font on curve
  • Dependency graph
    • Correction to particle fix from last week: was working by accident due to some debug code remained. Turned out whole chunk of depsgraph building was still missing.
    • Fix missing camera animation after layer visibility changes
  • Blender 2.8
    • Depsgraph: Fix node sockets as driver variables
    • Depsgraph: Fix crash when visible update is called after tagging for updates
    • Depsgraph: Fix crash with shape keys and lattices
    • Depsgraph: More fixes for shape keys, made them to work for meshes

Fixed: 0, Closed: 4.

Week 324: 12th - 18th February

  • General development
    • Cycles: Implement index output for hair node, allows to have variety for simple children
    • CMake: Fix compilation error when CUDA dynload is disabled but toolkit is not installed
    • Hair child: Use clamp function to clamp curve evaluation (avoids redundant curve evaluation which was happening per-child strand)
    • Simple hair children: Implementation of twist control (children twisted around parent). Supports weight and texture influence
  • Bug tracker
    • Fix T54078 Adding subsurf prior to particle system breaks simple children vgroups and textures
    • Fix T54076 MCE in Graph mode - clip.graph_select_border does not work by header menu

Fixed: 2, Closed: 2.

Week 325: 19th - 25th February

  • Bug tracker
    • Fix T53032 Image sequence works bad with Displace modifier
    • Fix T54096 Subdivision Surface + Boolean Modifiers + Transform = crash
    • Fix T54069 Vertex groups for hair length is wrong in some cases
    • Fix T54083 Dependency Cycle only in new-depsgraph
  • Depsgraph
    • Fix dependency when constraint influence drives some other constraint
    • Fix fake dependency cycle with chained IK solvers with tip excluded
    • Replace LIB_TAG_DOIT with hash lookup

Fixed: 4, Closed: 2.

Week 326: 26th February - 4th March

  • General development
    • Radial control: Skip operator properties from being saved, was causing wrong behavior when mixing particle and texture brushes.
  • Depsgraph
    • Fix cycle detector to handle closed loops (A -> B -> C -> A).
    • Silence obviously noisy relations build errors when dealing with drivers (when driver has wrong fcurve RNA path both depsgraph builder and evaluator will report an error).
    • Fix dependency cycle when ID prop drives ID property
  • Blender 2.8
    • Depsgraph: Update tool settings when updating CoW scene, partially solves issue with toggling selection mode in mesh edit mode.

Fixed: 0, Closed: 5.

Week 327: 5th - 11th March

  • General development
    • Covered FFmpeg framerate detection with regression tests.
  • Bug tracker
    • Fix T54225 Blur node stopped working when Map Range was fed with image
    • Fix T54204 Wrong selection on Clean Tracks (Motion Tracking)
    • Fix T53857 Incorrect framerate for videos imported from OBS
  • Blender 2.8
    • Started document which contains all design decisions which I'm not sure what's the best way to solve. The goal is: have concrete discussion and strict defined way to go, which we all agree on.

Fixed: 3, Closed: 3.

Week 328: 12th - 18th March

  • General development
    • Add an option to color all pointers depsgraph is printing with color calculated from pointer hash.
  • Bug tracker
    • Fix T54296 Cycles viewport render stuck on constant re-render
    • Fix T54319 Crash after double-clicking baked F-curve
  • Blender 2.8
    • Depsgraph: Fix missing updates with drivers
    • Depsgraph: Fix missing shader updates with copy on write

Fixed: 2, Closed: 1.

Week 329: 19th - 25th March

  • General development
    • Fix missing array duplication when copying material. Solves crashes with Copy-on-Write.
    • Tracking: Warn when no tracks are selected when creating mesh
    • Tracking: Make object created form tracks active and selected
    • Update Google libraries (makes us more ready for newer MSVC versions)
  • Bug tracker
    • Fix T54378 Drivers fail with property from empty
  • Depsgraph
    • Report new depsgraph evaluation time.
  • Blender 2.8
    • Depsgraph: Prevent non-expandable datablocks from being freed. Solves crash with Copy-on-Write and image datablocks
    • Depsgraph: Fix memory leak when datablock is not reused after updating relations
    • Draw manager: Fix missing active camera triangle with CoW
    • Eevee: Fix missing camera animation with CoW

Fixed: 1, Closed: 1.

Week 330: 26th March - 1st April

  • General development
    • Cycles: Fix bad register cast in sseb, fixes compilation error with new GCC.
    • GHOST: Solve compilation error of test programs, needed those to investigate slowdown on my desktop.
  • Blender 2.8
    • Depsgraph: Tag datablock with original update flag. Solves lack of granularity of updates in certain cases of particles.
    • Draw manager: Make it to keep track of own EvaluationContext, which can be used for all sorts of queries.
    • Fixed particles drawing, which was hiding all particles after tweaking Number slider. This is the reason why i needed EvaluationContext in draw manager.
    • Particles: Remove dedicated recalc field from ParticleSettings, use more generic id->recalc.
    • Particles: Re-arrange evaluation in a way that point cache operations does not cause race condition with rest of particles evaluation.
    • Particles: Fix missing hair dynamics.

Fixed: 0, Closed: 0.

Week 331: 2nd - 8th April

  • Depsgraph
    • Only bind ID-data and indices to depsgraph callbacks
    • Add missing expansion of custom bone shapes
    • Make sure textures used by modifiers are in the graph
    • Pull indirect dependencies via pchan constraints
  • Blender 2.8
    • Gawain: Make removing batches more thread safe
    • Depsgraph: Fix/workaround crash with animation and drivers and CoW
    • Depsgraph: Avoid build-time armature expanding

Fixed: 0, Closed: 0.

Week 332: 9th - 15th April

  • General development
    • First week of Code Quest.
    • Lots of time spent in design meetings etc.
  • Depsgraph
    • Build relations for objects linked via pchan constraints
  • Blender 2.8
    • Depsgraph: Remove function bindings with collections
    • Depsgraph: Bind view layer by index
    • Depsgraph: Bind base by it's index
    • Depsgraph: Avoid relations build time scene datablock expansion
    • Depsgraph: Move CoW tag to ID datablock tag
    • All this allowed to have Spring runcycle to (a) run (b) with only 30% slowdown comparing to master.


Fixed: 0, Closed: 0.

Week 333: 16th - 22nd April

  • General development
    • Make ID icons safe for deletion from threads. Solves threading issues with copy-on-write.
    • Interpolate size for interpolated children (request by Spring team)
    • Port particle instance modifier changes from Gooseberry branch (request by Spring team)
  • Depsgraph
    • Pull indirect relations via driver targets
    • Fix missing relation for particle instance modifier, was not deforming geometry with simulated hair.
  • Blender 2.8
    • Interface: Show properties values from evaluated datablocks
    • Fix missing initialization of depsgraph for snapping context
    • Depsgraph: Fix missing bases array update
    • Depsgraph: Fix base flag flush for objects from set scene

Fixed: 0, Closed: 0.

Week 334: 23nd - 29th April

  • Depsgraph
    • Avoid redundant copy-on-write relations
    • Avoid hash lookup for every evaluated scene query
    • Ensure we only expand scene datablock on evaluation (avoids unexpected pointers change during scene evaluaiton)
  • Blender 2.8
    • Camera manipulator: Make it aware of evaluated version of object
    • Make View Selected to be aware of copy-on-write
    • Manipulator: Use evaluated object's matrix to get manipulator position
    • Animation: Make it possible to keyframe to with copy-on-write

Fixed: 0, Closed: 1.

Week 335: 30th April - 6th May

  • Bug tracker
    • Fix T54935 Particle group instances don't render when hidden in viewport
  • Depsgraph
    • Fix extra operations and relations created for shared armatures
  • Blender 2.8
    • Draw manager: Fix wrong engine type used for view update
    • Depsgraph: Fix missing node tree update when adding keyframes
    • Depsgraph: Fix several ID blocks added multiple times to depsgraph
    • Fix edit mesh selection with copy-on-write enabled
    • Fix grid fill crash with copy on write
    • Animation: Make it possible to keyframe to with copy-on-write

Fixed: 1, Closed: 0.

Week 336: 8th - 13th May

  • Blender 2.8
    • Lots of work to get particle/hair edit mode to work. Editing parent strands works fine, even when copy-on-write is enabled. Next step is to being back child particles visualization.

Fixed: 0, Closed: 0.

Week 337: 14th - 20th May

  • Blender 2.8
    • Lots of fixes for particle edit mode, including:
      • Fix crash toggling mesh edit mode and going back to particle edit mode
      • Solves memory leak when using multiple hair systems with simple children interpolation
      • Made children particles to work in particle edit mode
    • Fixed bad memory read causing hair corruption when opening demo files
    • Rest of the week was spent on studio packing and moving

Fixed: 0, Closed: 0.

Week 338: 21st - 27th May

  • Blender 2.8
    • All week was spent on bringing server/network infrastructure back to working state.

Fixed: 0, Closed: 0.

Week 339: 28th May - 3rd June

  • Bug tracker
    • Fix T55203: Particle hair weights are not preserved
    • Fix T55253: Camera lens can't be edited after keyframing it
  • Dependency graph
    • Fix missing animation curves update when tweaking f-curves
    • Preserve memory caches for particles when creating Copy-on-Write
    • Begin concept of active dependency graph (single editing context)
    • Fixes to prevent object duplicate to jump (based on single editing context)
  • Blender 2.8
    • Modifier stack: Avoid roundtrip from mesh to DM back to mesh
    • Modifiers: Restore duplication of referenced layers and make modifier stack referencing copied CD layers

Fixed: 2, Closed: 0.

Week 340: 4th - 10th June

  • Bug tracker
    • Fix T55319: Keyframing issues
    • Fix T55126: COW problem: there is an active object even if unselectable
    • Fix T55375: Crash when changing visibility of instanced collection
    • Fix T55357: Particle geometry crash
    • Fix T55391: Anim render only shows scene state at current frame (no animation)
    • Fix T55380: Crash when getting out of EditMode in some cases
  • Dependency graph
    • Fix crash when making objects to share same mesh
    • Preserve unkeyed changes on undo and file open
    • Fix bug with broken tweak of animated node tree settings
    • Fixes to allow drivers to use ID datablocks as variables
    • Ensure collections are up to date after modifications
    • Don't optimize out collections used by duplication system
    • Fix missing relations when camera has drivers
  • Blender 2.8
    • Weight paint: Use helper function to get original mesh
    • Particle edit: Fix crash when trying to edit particles without cache
    • Particle edit: Fix missing hair with new particle system added
    • Particle mode: Support children drawing
    • Fix crash when file is saved in particle edit mode
    • Draw: Fix crash when trying to get procedural textures with modifier disabled

Fixed: 6, Closed: 0.

Week 341: 11th - 17th June

  • General development
    • Use local random number generator in dupli-, particles, and physcis code. Solves flickering of particles when depsgraph is evaluated in multiple threads.
  • Bug tracker
    • Fix T55409 Can't animated keyframed material node value after moving keyframe on timeline
  • Blender 2.8
    • Fix crash with n-dof device
    • Tag object/scene for selection update from operators (previously tag was happening in notifier, which is wroooong)
    • Hair editing: Only tag Copy-on-Write when children are enabled
    • Hair editing: Multi-thread various parts
  • Dependency graph
    • Don't update derived mesh for particles on render
    • Ensure modifiers evaluation doesn't happen on top evaluated mesh

Fixed: 1, Closed: 0.

Week 342: 18th - 24th June

  • General development
    • Math: Set matrix to zero when inversion fails. Avoids access non-initialized memory, matches old non-optimized code behavior
  • Blender 2.8
    • Particles: Support changing modifiers during particle edit mode
    • Particle edit: Fix missing hair in edit mode for new particle systems
    • Stop using md->scene in modifiers
  • Dependency graph
    • Add missing relation from proxy group (was causing flicker of characters on render farm)

Fixed: 0, Closed: 0.

Week 343: 24th June - 1st July

  • General development
  • Bug tracker
    • Fix TT55644 Multires ignores render subdivision when simplified
  • Blender 2.8
    • Cycles: Fix memory leak with session
    • Cycles: Free evaluated meshed when we are done with object
  • Dependency graph
    • Add missing nodes and relations for speaker
    • Fix missing relation from action to animation when it's shared
    • Add missing relation to pose init (yet another hunt for flickering objects)

Fixed: 0, Closed: 0.

Week 344: 2nd - 7th July

  • General development
    • Cycles: Fix missing curve hair when building with GCC-8 in release mode
    • Animation player: Ensure new frames are displayed while dragging mouse
  • Bug tracker
  • Blender 2.8
    • Sculpt: Fix possible race condition with undo nodes
    • Sculpt: Fix ghosting artifacts when sculpting in workbench engine
    • Sculpt: Fix wrong object used for crazy space calculation
    • Sculpt: Fix disappearing object on undo
    • Ensure dependency graph exists before initializing editors (fixes missing depsgraph when initializing sculpt mode)
  • Dependency graph
    • Don't force copy-on-write when shading changes
    • Preserve engine data when doing object copy on write update
    • Relations builder should not tag ID in all depsgraphs
    • Forbid flush from copy-on-write operations down the road

Fixed: 0, Closed: 0.

Week 345: 8th - 15th July

  • General development
    • GHOST: Fix memory leak in X11 DPI query
  • Bug tracker
    • Fix T55484 Border zoom fails in Edit-Mode
  • Blender 2.8
    • Modifiers: Use bool for boolean flag in isDisabled
    • Started working on OpenSubdiv implementation of subsurf modifier. Lots of ground work and bugs investigation (which ended up begin in OpenSubdiv side). More work next week!
  • Dependency graph
    • Fix face dependency cycle when bone uses id property from self
    • Force modifier stack update when mesh is copied
    • Fix non-working drivers after recent relations change

Fixed: 0, Closed: 0.

Week 346: 16th - 22nd July

  • General development
    • Ghost: Fix memory leak happening with keyboard mapping access
  • Blender 2.8
    • OpenSubdiv: Re-worked C-API integration, made it more clear and matching latest OpenSubdiv closer, and in a way which we are planning to sue it.
    • OpenSubdiv: Add API to evaluate face-varying data
    • Subsurf: Begin new subdivision surface module, a replacement of CCG, and old OpenSubdiv integration
    • Cycles: Fix missing nested particle systems when instanced multiple times
    • Depsgraph: Fix missing relation from proxy_form's ID properties

Fixed: 0, Closed: 0.

Week 347: 23rd - 29th July

  • Bug tracker
    • Fix T55634 Particle Viewport Display affects render visibilty
  • Blender 2.8
    • Fix wrong view layer rendered from command line
    • Subsurf: Subdivide polygons to the same resolution (fixes for non-quad faces using OpenSubdiv)
    • Subsurf: Fixes for ORIGINDEX with OpenSubdiv modifier
    • Subsurf: Started work on getting non-disconnected patches (before that every ptex face became unconnected)
  • Cycles
    • Initial implementation of detailed statistics. Currently only geometry and texture size.

Fixed: 0, Closed: 0.

Week 348: 30th July - 5th August

  • Bug tracker
    • Fix T56170 Fake dependency cycle in new depsgraph + interleaved armature update + proxy. This is a bugfix for the studio hair simulation.
  • Blender 2.8
    • Subsurf: Rework in a way that patches boundaries are merged together. Now patches are not disconnected.
    • Subsurf: Support subdivision of loose elements
    • Subsurf: Fix/workaround crashes and failures with non-manifold geometry
    • Subsurf: Evaluate all UV layers (was evaluating first layer only before)
    • Subsurf: Better crease which represents sharp edges
    • Respect ID user count when creating pose on object copy, fixed bad user counter of custom shape and CoW and undo.
  • Dependency graph
    • Fix crash on undo of new bone added

Fixed: 1, Closed: 0.

Week 349: 6th - 12th August

  • General development
    • All week was spent on getting benchmark client software, it's packaging and such.

Fixed: 0, Closed: 0.

Week 350: 13th - 19 August

  • Blender 2.8
    • Made it easier/cleaner to compile Blender without OpenSubdiv (before it was annoying mess of ifdef code all over, now it's one place in CMake).
    • Make uv boundaries easily extendible (relies on OpenSubdiv uv boundary smoothing, the idea is to be more compatible with other software)
    • Removed OpenSubdiv options from modifier
    • Introduce quality option for subsurf/multires. This is a refinment level in OpenSubdiv adaptive topology refiner. Defines how accurate vertex positions are.
    • Initial groundwork to hook up multires displacement to new Subdiv object.
    • Begin working on multires reshape tool/
  • Bug tracker
    • Fix T56290: Segfault when loading file - OpenSubdiv

Fixed: 1, Closed: 0.

Week 351: 20th - 26th August

  • Blender 2.8
    • More work on subsurf/multires. Now apply deformation modifiers on multires and reshape works.
  • Dependency graph
    • Bring back visibility checks based on collection restrict flags (solves FPS issue for our animators)

Fixed: 0, Closed: 0.

Week 352: 27th August - 2nd September

  • General development
    • Majority of the week was spent on platform maintenance (getting new Linux build environment working)
  • Bug tracker
    • Fix T56626 Cycles ambient occlusion only local : crash
  • Cycles
    • Committed BVH8 implementation, with some followup fixes
    • Fix detection of CPU brand string on 32 bit platforms

Fixed: 0, Closed: 1.

Week 353: 3rd - 9th September

  • Bug tracker
    • Fix T56593 Crash when enabling collection with curves
  • Blender 2.8
    • OpenSubdiv: Disable varying elements interpolation, gives 10% speedup of evaluation.
    • Lots of ground work to support OpenSubdiv evaluation into CCG.
    • At the very end of a week had PBVH drawn from grids (with artifacts and glitches), but that also allowed to have coordinates modified!
    • Fixes in addons used for Spring production to accommodate for the API changes.

Fixed: 1, Closed: 0.

Week 354: 10th - 16th September

  • General development
    • Cycles: Don't allocate Extra if BSDF allocation failed, solves crash with Spring files
  • Blender 2.8
    • Fixes for draw batch creation from CCG stored in PBVH.
    • Initial implementation of CCG based on OpenSubdiv. Allows to sculpt and see result, and also have proper sculpt result when sculpting on highest level. Going back to sculpt mode will loose previous work, and propagation to higher level does not yet work/
    • Speed up particular production files by using proper visibility for indirectly linked objects.

Fixed: 0, Closed: 0.

Week 355: 17th - 23rd September

  • General development
    • Fix memory leak in sculpt undo system
  • Blender 2.8
    • Dependency graph: Fixes for visibility optimization. which ended up in wrong deformation of Spring jacket.
    • Multires/sculpt: Fixed loosing existing sculpt data when entering sculpt mode.
    • Multires/sculpt: Implemented grids stitching, to support brushes like Smooth.
    • Multires/sculpt: Fix reshaping from object at lower level
    • Multires/sculpt: Support sculpting on a lover levels
    • Multires/sculpt: Support painting masks

Fixed: 0, Closed: 0.

Week 356: 24th - 30th September

  • General development
    • Use pixel aspect from clip, making workflow with anamorphic footage more straightforward.
    • Fix Cycles crash with BVH8 and some of production scenes.
  • Blender 2.8
    • Multires: Allow changing sculpt level without loosing data
  • Depsgraph
    • Always respect visibility flag when building object, fixing missing updates in the Spring production files.

Fixed: 0, Closed: 0.

Week 357: 1st - 7th October

  • Vacation in Russia.

Week 358: 8th - 14th October

  • Vacation in Russia.

Week 359: 15th - 21st October

  • Vacation in Amsterdam.

Week 359: 22st - 28th October

  • General development
    • This is a Blender Conference week.
    • Quite some time was spent on studio tasks, like fixing RAID.
  • Depsgraph
    • Fix missing relation update when animating custom properties.
    • Fix missing relations update after allocating compositor
  • Blender 2.8
    • Made OpenSubdiv to work in edit mode.
  • Bug tracker
    • Fix T56636Custom property cannot be animated

Fixed: 1, Closed: 0.

Week 359: 29th October - 4th November

  • General development
    • Cycles: Fix wrong BVH used when disabling AVX2 in debug settings.
    • Lots of studio maintenance.
  • Bug tracker
    • Fix T57360 Crash when Play Animation in this scene
  • Blender 2.8
    • Fix unneeded/unwanted user counter when freeing CoW NLA.
    • Enable dependency graph update while rendering, solving issue with lack of selection update while rendering.
    • Ground work to support smooth propagation of displacement for multires,
    • Fixed crash when joining two multires objects,

Fixed: 1, Closed: 8.

Week 360: 5th - 11th November

  • Blender 2.8
    • Some ground work to support smoothing of multires displacement done on lower level. Got bounded to other things after that...
    • Fixed crashes when doing smoke and hair dynamic baking.
    • Fixed crashes happening with rigs which has a dependency cycle.

Fixed: 0, Closed: 0.