Blender Git Statistics -> Developers -> angavrilov

Alexander Gavrilov (angavrilov)

Total Commits : 276
Master Commits : 249
Branch Commits : 27
First Commit : January 20, 2016
Latest Commit : May 19, 2019 (Yesterday)

Commits by Month

DateNumber of Commits
May, 201929
April, 201928
March, 20192
February, 20190
January, 20196
December, 201831
November, 201839
October, 201825
September, 20189
August, 20184
July, 20183
June, 20180
May, 20180
April, 20181
March, 20182
February, 20180
January, 20180
December, 20170
November, 20171
October, 201710
September, 20170
August, 201711
July, 20170
June, 20170
May, 20176
April, 20172
March, 20170
February, 20170
January, 20176
December, 20161
November, 20161
October, 20162
September, 20166
August, 201624
July, 20167
June, 20163
May, 20167
April, 20160
March, 20160
February, 20161
January, 20169

Commit Distribution

PathNumber of Commits

Favourite Files

FilenameTotal Edits

File Changes

ActionTotalPer Commit
Added1 2474.5
Modified4 44316.1
Deleted1 2374.5

Code Changes

ActionTotalPer Commit
Lines Added20 01175.5
Lines Removed8 94733.8

Latest commits Feed

Revision ec1c9e3 by Alexander Gavrilov (master)
1 day and 10 hours ago
Python API: add a Matrix.Diagonal constructor to mathutils.

For some reason there seems to be no way to do the very simple and
obvious task of converting a scale vector to a matrix via mathutils.
The Matrix.Scale constructor does something complicated instead.

Reviewers: brecht, campbellbarton

Differential Revision:
Revision b05038f by Alexander Gavrilov (master)
May 16, 2019, 09:02 (GMT)
RNA: new FCurve.is_empty property that exposes the new empty curve check.
Revision 6519982 by Alexander Gavrilov (master)
May 16, 2019, 06:48 (GMT)
Fix T64681: evaluate curves with generative modifiers and no keys.

Introduce a new function and use it everywhere, including
automatic curve deletion checks to guarantee consistency.
Revision 40a69b2 by Alexander Gavrilov (master)
May 15, 2019, 19:35 (GMT)
Animation: treat F-Curves with no keys as if muted/not existing.

When normally editing curves, deleting the last keyframe also
deletes the curve. Thus if for some reason it didn't happen,
e.g. maybe due to removing keys directly via Python, skip the
bad curve instead of resetting the channel to zero.
Revision 198c00f by Alexander Gavrilov (master)
May 15, 2019, 19:35 (GMT)
Armature Constraint: don't calculate the unneeded ct->matrix for solve.

This constraint requires full bone data to evaluate, so it can't
use the generic single target matrix system. Calculating it is
thus useless waste of CPU time.
Revision 08a79fc by Alexander Gavrilov (master)
May 14, 2019, 19:26 (GMT)
Depsgraph: dependency on B-Bone start handle end roll when inheriting it.

Specifically the dependency is on any drivers that may be affecting
the RNA property of the handle bone, which currently link to segments.
Revision 26d2652 by Alexander Gavrilov (master)
May 14, 2019, 18:56 (GMT)
Armature: implement universal hash table lookup of Bone objects by name.

Since drivers on Bone properties are really supposed to be stored
in Armature data and access bones via its bones[] collection, this
lookup path should work efficiently.

Mass lookup of bones by name was already done through hashes,
but they were built temporarily every time that was needed. This
simply replaces it with a common hash table computed immediately
after file load, copy, or Edit to Object mode switch.
Revision 02e3bf2 by Alexander Gavrilov (master)
May 14, 2019, 09:39 (GMT)
Depsgraph: detect bbone_segments drivers from Object animation data.
Revision 1c106e1 by Alexander Gavrilov (master)
May 14, 2019, 09:39 (GMT)
RNA: fix the id_data pointer of PoseBone.bone to point at the Armature.

The owning ID reference of RNA pointers is supposed to point at the
ID container that owns the object, but for PoseBone.bone it wasn't
updated to point at the Armature data ID instead of Armature Object.

This caused issues, like pose_bone.bone.driver_add() adding the
driver to the Armature Object animation data, which violates the
intended design of the animation data structures.

Since RNA code generally assumes that all pointers that don't
refer directly to an ID remain within the current ID, a custom
getter is required to fix this.
Revision 27d097e by Alexander Gavrilov (master)
May 13, 2019, 19:09 (GMT)
Python API: expose conversion between tweaked NLA strip and scene time.

This is necessary to correctly do low-level keyframe manipulation
in tweak mode, and the logic is complex enough that re-implementing
it in Python is impractical.

MiikaHweb - Blender Git Statistics v1.06
By: Miika HämäläinenLast update: Nov-07-2014 14:18 MiikaHweb | 2003-2019