skia2/modules/skottie
Florin Malita 92ec801a2b [skottie] 2D spatial interpolation support
AE discriminates [1] between basic 2-dimensional properties
(PropertyValueType.TwoD - e.g. scale), and spatial 2D properties
(PropertyValueType.TwoD_SPATIAL - e.g. position).

For the latter it provides additional keyframe controls (tangent in &
tangent out) to describe a non-linear interpolation path ("spatial
interpolation").  This composes on top of the usual temporal
interpolation (with its own optional cubic mapping).

To support spatial interpolation:

  - introduce a new Skottie value type (Vec2Value), to represent
    TwoD and TwoD_SPATIAL properties
  - introduce a KeyframeAnimator specialization for Vec2Value, which
    tracks per-keyframe tangent information
  - for spatial keyframes, instantiate/store an SkContourMeasure, and
    use instead of straight Vec2 LERP
  - switch interesting 2D properties to the new value type (transform
    position, anchor point, scale)

(we could look into separating TwoD/TwoD_SPATIAL if needed, but the new
specialization is already more efficient than the old
opaque-vector-with-late-binding approach)

[1] http://docs.aenhancers.com/properties/property/#property-propertyvaluetype

Change-Id: I0863fd970cec4c5ff15cf01b2fb5c6602a468179
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274283
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-03-10 17:50:55 +00:00
..
fuzz rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
gm rm Sk3D.h -- long live SkMat4 2020-02-20 13:15:33 +00:00
include This change allows users of PropertyObserver to compose a full keypath for each of the modified properties. 2020-02-12 14:13:13 +00:00
src [skottie] 2D spatial interpolation support 2020-03-10 17:50:55 +00:00
tests [skottie] Refactor keyframe encoding 2020-02-13 18:54:32 +00:00
utils This change allows users of PropertyObserver to compose a full keypath for each of the modified properties. 2020-02-12 14:13:13 +00:00
BUILD.gn rm Sk3D.h -- long live SkMat4 2020-02-20 13:15:33 +00:00
skottie.gni [skottie] Cleanup: finalize adapter conversion 2020-02-03 18:56:01 +00:00