Blender Git Statistics -> Developers -> angavrilov

Alexander Gavrilov (angavrilov)

Total Commits : 581
Master Commits : 365
Branch Commits : 216
First Commit : January 20, 2016
Latest Commit : September 17, 2021

Commits by Month

DateNumber of Commits
September, 202110
August, 20212
July, 20216
June, 202137
May, 202116
April, 20217
March, 20210
February, 20211
January, 202180
December, 202038
November, 202010
October, 20208
September, 20200
August, 20205
July, 20205
June, 20203
May, 20200
April, 20200
March, 20201
February, 20201
January, 20207
December, 20194
November, 201918
October, 20192
September, 201925
August, 201913
July, 20190
June, 20192
May, 201933
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 2652.2
Modified6 29210.8
Deleted1 2372.1

Code Changes

ActionTotalPer Commit
Lines Added52 84393.9
Lines Removed18 41932.7

Latest commits Feed

Revision 642dd7e by Alexander Gavrilov (temp-angavrilov)
September 17, 2021, 11:05 (GMT)
Temporary Hack: provide B-Bone scale versioning for files with old patch.

Run the versioning code for the conversion of bbone scale to an xyz
vector if it has fields that correspond to the old version of the
patch before that change requiring versioning.

The actual Y (length) scale value from the old patch isn't versioned
and will be lost, requiring manual fixing.
Revision 5cc1b68 by Alexander Gavrilov (temp-angavrilov)
September 17, 2021, 11:05 (GMT)
Bone Overlay: support bone wireframe opacity settings.

When weight painting the bone overlay is extremely intrusive,
effectively requiring either extensive use of hiding individual
bones, or disabling the whole bone overlay between selections.

This addresses the issue by adding two bone opacity sliders that
are used for the 'wireframe' armature drawing mode. One directly
controls the uniform opacity as the straightforward option.

The other one allows fade based on the depth from the camera,
using exponential decay with the slider specifying the 'half-life'
depth. This is intended as a way to automatically hide bones
in distant parts of the mesh while focused on a specific part.

Differential Revision:
Revision 409e90d by Alexander Gavrilov (temp-angavrilov)
September 17, 2021, 11:05 (GMT)
Context: add accessors returning selected actions for animation editors.

Add a new 'selected_visible_actions' property to allow querying
actions that are selected in animation related editors for use in
UI and operators. The 'selected_editable_actions' variant excludes
linked actions (the only reason an action can be read-only).

In the Action and Shape Key editors there is only one action
that is specified by the field at the top of the editor.

In Dope Sheet it scans the channel rows and returns all actions
related to the selected items. This includes summary items for
actions and groups.

In Graph Editor, it lists actions associated with selected curves.

The new property is also used for Copy To Selected and Alt-Click.

Ref D11803
Revision 3361319 by Alexander Gavrilov (temp-angavrilov)
September 17, 2021, 11:05 (GMT)
Animation: allow manually setting the intended playback range for actions.

Some operations, e.g. adding a new action strip to NLA, require
knowing the active frame range of an action. However, currently it
can only be deduced by scanning the keyframes of the curves within
it. This is not ideal if e.g. curves are staggered for overlap.

As suggested by Nathan Vegdahl in comments to T54724, this patch adds
Action properties that allow manually specifying its active frame range.
The settings are exposed via a panel in the Dopesheet and Action Editor.
When enabled, the range is highlighted in the background using a striped
fill to distinguish it from the solid filled regular playback range.

When set, the frame range is used when adding or updating NLA tracks,
and by add-ons using `Action.frame_range`, e.g. FBX exporter.

Differential Revision:
Revision b8d213f by Alexander Gavrilov (temp-angavrilov)
September 17, 2021, 11:05 (GMT)
Animation: allow marking actions as cyclic for Cycle-Aware Keying.

When a manual frame range is set, allow marking an action as having
Cyclic Animation. This does not affect how the action is evaluated,
but the Cycle-Aware Keying option will automatically make any newly
added F-Curves cyclic. This allows using the option from the start
to build the cycle, rather than only for tweaking an existing loop.

The curves are made cyclic when they have only one key, either
after inserting the first key, or before adding the second one.
The latter case avoids the need to manually make the first added
curve cyclic after marking a newly added action cyclic.

Differential Revision:
Revision 612ffe4 by Alexander Gavrilov (temp-angavrilov)
September 17, 2021, 11:05 (GMT)
Animation: support filtering for curves that don't match the action cycle.

Since the looping behavior is defined per curve rather than at
action level, it is possible for curve loop periods to get out of
sync with each other. This commit adds an option to compare curves
against the frame range specified in the action, and treat any
mismatches as errors for the purpose of F-Curve filtering.

When enabled, the check verifies that curves within the action
have valid cyclic extrapolation, the action period evenly
divides by the curve period (since a curve looping at e.g. half
of the action period length still repeats in sync with the action),
and the end values match if the cycle is supposed to be perfect.

Differential Revision:
Revision e5dadfa by Alexander Gavrilov (temp-angavrilov)
September 17, 2021, 11:05 (GMT)
Depsgraph: connect up drivers on various physics properties.

It seems drivers for physics properties weren't being linked to
evaluation nodes. This connects settings used by modifiers
to Geometry; particle settings and rigid body data to Transform
which seems to contain rigid body evaluation; and force fields
to object Transform, since fields can exist on empties.

Differential Revision:
Revision b669e33 by Alexander Gavrilov (temp-angavrilov)
September 17, 2021, 11:05 (GMT)
Constraints: refactor the D7437 patch adding Custom Space for constraints.

As mentioned in the comments to that patch, I had an idea for
a different way to do some technical aspects, but it was too
complicated to force changes in the original patch. Thus I submit
this follow up patch.

First, instead of modifying all the get_constraint_targets and
flush_constraint_targets callbacks, introduce wrapper functions
for accessing constraint targets, convert all code to use them,
and handle the new reference there uniformly for all constraints.

This incidentally revealed a place in the Collada exporter that
didn't clean up after retrieving the targets.

Also, tag the special target with a flag so other code can
handle it appropriately where necessary. This for instance
allows dependency graph to know that the Use B-Bone Shape
option doesn't affect this specific target.

Finally, rename and simplify the function for initializing the
custom space, and make sure it is called everywhere necessary.

Differential Revision:
Revision f15fd94 by Alexander Gavrilov (temp-angavrilov)
September 17, 2021, 11:05 (GMT)
Armature: apply Y scale to B-Bone segments.

This fixes a strange behavior where the segments were not actually
scaled in the Y direction to match their actual length, thus
producing gaps or overlap depending on the shape of the curve. For
transformation the change should be very small if enough segments
are used, but this will affect the results of the Copy Transforms
and Armature constraints, so a backwards compatibility option is
provided. Newly created bones default to the new behavior.
Revision ca841de by Alexander Gavrilov (temp-angavrilov)
September 17, 2021, 10:54 (GMT)
Force Fields: implement new true power and custom falloff options.

The 'power' falloff option in Blender force fields does not actually
generate a true power falloff function, as pointed out in D2389.
However, that patch adds a special 'gravity' falloff option to Force
fields, without addressing the shortcoming in the common options.

The reason for not using the true curve in the options, as far as
one can tell, is that the power curve goes up to infinity as the
distance is reduced to 0, while the falloff options are designed
so that the maximum value of the curve is 1.

However, in reality forces with a power falloff don't actually go
to infinity, because real objects have a nonzero size, and the force
reaches its maximum at the surface of the object. This can be used
to integrate an option to use a true power falloff with the design
of falloff settings, if it requires a nonzero 'minimum' distance
to be set, and uses a curve that reaches 1 at that distance.

Since this is adding a new feature to the minimum distance value,
it is also a good opportunity to add a feature to the maximum
distance. Specifically, the new options can be used to apply
arbitrary brush-style falloff curves between min and max,
including a fully custom curve option. When used together with
power falloff, the two curves are multiplied together.

While the true power option allows creating more physically
correct forces, the custom curves aid artistic effects.

Differential Revision:

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