skia2/resources/skottie
Florin Malita cfbb56c6e1 [skottie] Auto-orient fixes
Two issues:

1) For static keyframes (start_value == end_value) AE yields horizontal
   orientation (0 tangent).  We technically have the same logic in
   Skottie, but our value deduplication logic interferes: the two
   consecutive equal values are consolidated, and the result ends up
   holding the spatial lerp info for the next frame => our hold frames
   auto-orient for the beginning of the next keyframe.

   Fix: skip value deduplication when spatial lerp is present.

2) The very last keyframe is always static and holds no spatial info.
   AE retains the orientation of the previous frame, but Skottie yields
   0 tangent.

   Fix: the easiest way to accomplish AE semantics is to detect when
   we're dealing with the last keyframe, and swap with the previous
   keyframe with an adjust weight of 1 (to select the end value).  This
   produces the same lerp result (because keyframed values are always
   contiguous) and also respects the orientation of the prev frame.

TBR=
Change-Id: Id661f7804533e95b747722457489a7ef759572a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301176
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-07-08 13:52:27 +00:00
..
images [skottie] Fix layer transform vs. effects interactions 2019-06-17 12:26:13 +00:00
skottie_sample_1.json [skottie] GM exercising external font loading 2018-09-20 19:05:35 +00:00
skottie_sample_2.json [skottie] GM exercising external font loading 2018-09-20 19:05:35 +00:00
skottie_sample_multiframe.json [skottie] Multi-frame image support 2018-10-03 19:02:35 +00:00
skottie_sample_search.json [skottie] Add a custom property manager util class 2018-11-28 17:12:07 +00:00
skottie_sample_webfont.json [skottie] Add custom props rendering GM 2020-01-17 13:53:02 +00:00
skottie-3d-2planes.json [skottie] Add a couple more 3D tests 2019-11-04 19:08:43 +00:00
skottie-3d-3planes.json [skottie] Add a couple more 3D tests 2019-11-04 19:08:43 +00:00
skottie-3d-parenting-camera.json [skottie] 3D layer parenting refinements 2019-10-28 20:29:54 +00:00
skottie-3d-parenting-nocamera.json [skottie] 3D layer parenting refinements 2019-10-28 20:29:54 +00:00
skottie-3d-rotation-order.json [skottie] Relocate "GMs" to resources/ 2019-05-03 16:14:46 +00:00
skottie-auto-orient-2.json [skottie] Auto-orient fixes 2020-07-08 13:52:27 +00:00
skottie-auto-orient.json [skottie] Layer auto-orient support 2020-05-25 16:19:23 +00:00
skottie-bezier-extranormal.json [skottie] Relocate "GMs" to resources/ 2019-05-03 16:14:46 +00:00
skottie-brightnesscontrast-legacy.json [skottie] Brightness and Contrast effect 2020-04-28 14:33:12 +00:00
skottie-brightnesscontrast.json [skottie] Contrast cleanup 2020-04-29 13:57:22 +00:00
skottie-camera-one-node.json [skottie] One-node camera support 2019-11-14 18:45:18 +00:00
skottie-camera-parent-1.json [skottie] Relocate "GMs" to resources/ 2019-05-03 16:14:46 +00:00
skottie-camera-parent-2.json [skottie] Relocate "GMs" to resources/ 2019-05-03 16:14:46 +00:00
skottie-camera-parent-3.json [skottie] Relocate "GMs" to resources/ 2019-05-03 16:14:46 +00:00
skottie-camera-precomp.json [skottie] Fix precomposed camera sizing 2019-12-05 14:34:15 +00:00
skottie-camera-rotation.json [skottie] Relocate "GMs" to resources/ 2019-05-03 16:14:46 +00:00
skottie-chained-mattes.json [skottie] Cascading track matte support 2019-12-12 21:42:11 +00:00
skottie-corner-pin-effect.json [skottie] Corner pin effect 2020-04-05 16:47:06 +00:00
skottie-dropshadow-style.json [skottie] Initial drop shadow style support 2020-03-25 12:14:26 +00:00
skottie-effects-tranform.json [skottie] Fix layer transform vs. effects interactions 2019-06-17 12:26:13 +00:00
skottie-fill-effect.json [skottie] Cleanup: convert remaining effects to new adapter pattern 2020-01-30 15:30:08 +00:00
skottie-gradient-opacity.json [skottie] Streamlined gradient stop merger 2019-11-05 19:44:11 +00:00
skottie-gradient-ramp.json [skottie] Relocate "GMs" to resources/ 2019-05-03 16:14:46 +00:00
skottie-hidden-shapes-layers.json [skottie] Relocate "GMs" to resources/ 2019-05-03 16:14:46 +00:00
skottie-huesaturation-effect.json [skottie] Initial Hue/Saturate effect support 2019-08-02 18:04:14 +00:00
skottie-innerglow-style.json [skottie] Initial outer/inner glow 2020-04-23 13:46:48 +00:00
skottie-innershadow-style.json [skottie] Initial inner shadow layer style support 2020-04-17 19:57:08 +00:00
skottie-invert-effect.json [skottie] Invert effect support 2019-12-11 23:07:04 +00:00
skottie-levels-effect.json [skottie] Relocate "GMs" to resources/ 2019-05-03 16:14:46 +00:00
skottie-line-height.json [skottie] Text line height support 2019-05-08 19:27:52 +00:00
skottie-linear-wipe-effect.json [skottie] Add forgotten linear-wipe test 2019-07-03 15:06:42 +00:00
skottie-luma-matte.json [skottie] Luma matte support 2019-10-16 13:17:51 +00:00
skottie-mask-feather.json [skottie] Relocate "GMs" to resources/ 2019-05-03 16:14:46 +00:00
skottie-matte-blendmode.json [skottie] Fix layer blend modes under mattes 2019-10-29 01:49:26 +00:00
skottie-mergepaths-effect.json [skottie] Fix merge paths <-> paints interaction 2020-07-07 17:28:47 +00:00
skottie-motion-blur-mask.json [sksg] Fix mask/context overrides interaction 2019-09-04 14:09:44 +00:00
skottie-motion-blur-ph0.json [skottie] Motion blur support 2019-07-09 13:02:17 +00:00
skottie-motion-blur-ph360.json [skottie] Motion blur support 2019-07-09 13:02:17 +00:00
skottie-motion-blur-ph-360.json [skottie] Motion blur support 2019-07-09 13:02:17 +00:00
skottie-motiontile-effect-phase.json [skottie] Add support for motion tile phase 2019-06-18 14:01:22 +00:00
skottie-motiontile-effect.json [skottie] Motion tile effect 2019-06-17 18:20:15 +00:00
skottie-multi-range-selectors.json [skottie] Add support for multiple range selectors 2019-08-14 17:34:02 +00:00
skottie-nested-animation.json [skottie] Introduce an external layer API 2020-05-06 20:31:14 +00:00
skottie-offsetpaths-effect.json [skottie] Add shape layer Offset Paths support 2020-07-06 16:31:52 +00:00
skottie-outerglow-style.json [skottie] Initial outer/inner glow 2020-04-23 13:46:48 +00:00
skottie-prolevels-effect.json [skottie] Add support for ADBE Pro Levels2 effect 2020-02-05 21:05:08 +00:00
skottie-radial-wipe-effect.json [skottie] Radial swipe effect 2019-06-21 14:03:45 +00:00
skottie-shift-channels-effect.json [skottie] Shift Channels effect support 2019-10-22 20:36:01 +00:00
skottie-text-animator-1.json [skottie] Add support for scale and rotation text animators 2019-05-31 20:41:19 +00:00
skottie-text-animator-2.json [skottie] Initial text range selector support 2019-06-04 20:50:32 +00:00
skottie-text-animator-3.json [skottie] Add support for RangeSelector shapes 2019-06-06 13:51:11 +00:00
skottie-text-animator-4.json [skottie] Fix zero-overlap selector handling 2019-06-06 16:09:39 +00:00
skottie-text-animator-5.json [skottie] Animated text tracking support 2019-06-11 13:41:28 +00:00
skottie-text-animator-6.json [skottie] Animated text tracking support 2019-06-11 13:41:28 +00:00
skottie-text-animator-7.json [skottie] Animated text tracking support 2019-06-11 13:41:28 +00:00
skottie-text-animator-8.json [skottie] Text selector ease-high/ease-low support 2019-08-29 21:34:10 +00:00
skottie-text-animator-linespacing.json [skottie] Add line-spacing animator support 2020-07-06 15:41:12 +00:00
skottie-text-blur.json [skottie] Add support for text animator blur 2020-02-24 14:01:16 +00:00
skottie-text-grouping-alignment-2.json [skottie] Add another text grouping test 2020-03-03 15:17:20 +00:00
skottie-text-grouping-alignment.json [skottie] Text anchor point grouping support 2020-03-02 23:07:39 +00:00
skottie-text-perchar-3d.json [skottie] Initial support for per-character 3D 2020-02-21 21:14:02 +00:00
skottie-text-resize-to-fit.json [skottie] Add kBottom text alignment extension 2019-05-24 15:28:01 +00:00
skottie-text-scale-to-fit.json [skottie] Shaper downscale-to-fit vertical alignment mode 2019-08-19 18:59:06 +00:00
skottie-text-valign-2.json [skottie] Use hybrid bounds for custom Shaper VAlign modes 2019-06-28 11:35:09 +00:00
skottie-text-valign-bottom.json [skottie] Add kBottom text alignment extension 2019-05-24 15:28:01 +00:00
skottie-text-valign-scaletofit.json [skottie] Separate text resize options 2020-01-29 00:09:42 +00:00
skottie-text-valign.json [skottie] Relocate "GMs" to resources/ 2019-05-03 16:14:46 +00:00
skottie-text-vertical-clip.json [skottie] Clip overflowing paragraph lines 2020-02-20 18:35:15 +00:00
skottie-time-reverse.json [skottie] Fix handling of time-reversed precomp layers 2020-02-28 19:42:51 +00:00
skottie-transform-effect.json [skottie] Add support for Transform distort effect 2019-06-14 16:58:31 +00:00
skottie-trimpath-fill.json [SkTrimPathEffect] Preserve wrap-around continuity 2020-04-07 14:40:17 +00:00
skottie-trimpath-modes.json [skottie] Fix trim path mode interpretation 2019-11-05 18:31:24 +00:00
skottie-tritone-effect.json [skottie] Cleanup: convert remaining effects to new adapter pattern 2020-01-30 15:30:08 +00:00
skottie-venetianblinds-effect.json [skottie] Venetian Blinds effect 2019-06-26 13:13:10 +00:00