aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental
Commit message (Collapse)AuthorAge
* Delete GLFWTestGravatar Jim Van Verth2018-02-08
| | | | | | | Change-Id: Ia303259e0e157d6066428183002748752fad3a7c Reviewed-on: https://skia-review.googlesource.com/105606 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* [skottie] FMA-friendlier lerpGravatar Florin Malita2018-02-05
| | | | | | | | | TBR= Change-Id: Id43e463da99bb0478c48ba48a909cead817e4498 Reviewed-on: https://skia-review.googlesource.com/103600 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Split-position supportGravatar Florin Malita2018-02-01
| | | | | | | | | TBR= Change-Id: I82433bc9a73f89956c2b25146e1521412d125945 Reviewed-on: https://skia-review.googlesource.com/102622 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Clamp SkCubicMap results to [0,1]Gravatar Florin Malita2018-01-31
| | | | | | | | | | | | | | Looks like SkCubicMap can produce slightly out-of-range values. That's prolly some unimportant precision artifact, but since we're asserting t is in [0,1] down the line it'd be nice to not crash in debug. TBR= Change-Id: I048b691d1c0f0977556d5b25893a6dab2b9986cc Reviewed-on: https://skia-review.googlesource.com/102480 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [sksg] Initial text supportGravatar Florin Malita2018-01-31
| | | | | | | | | | | Use the new node type for SkottieSlide2 labels. TBR= Change-Id: Icd6a4faf1c281bd83a2331c0072d1a6ed71acc09 Reviewed-on: https://skia-review.googlesource.com/102441 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Anti-alias masksGravatar Florin Malita2018-01-30
| | | | | | | | | TBR= Change-Id: I16eca80b515fde8ad87a79c01ffd0ea2b3e31259 Reviewed-on: https://skia-review.googlesource.com/101740 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Layer clip supportGravatar Florin Malita2018-01-29
| | | | | | | | | TBR= Change-Id: Ibf65efc69031f8f6e19f4f28cccab29c357e704d Reviewed-on: https://skia-review.googlesource.com/101540 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Time start, time stretchGravatar Florin Malita2018-01-29
| | | | | | | | | | | | Pre-compositions (only) can have their timelines adjusted via bias and scale. TBR= Change-Id: I519fa1d7cf210f7f152dcabcbe004119a2cf08d9 Reviewed-on: https://skia-review.googlesource.com/101460 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Hierarchical animatorsGravatar Florin Malita2018-01-29
| | | | | | | | | | | | | | Instead of a flat animator space, introduce animator groups. This allows us to encapsulate layer animators and only dispatch ticks when their owning layer is active. TBR= Change-Id: I1fc8a55abf68a712b71969bb1a11275dbe54c236 Reviewed-on: https://skia-review.googlesource.com/101201 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Revert "[skottie] Cache attached assets"Gravatar Florin Malita2018-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ba3ed69a4ee4125750cd56ca9141c2b78fd65d22. Reason for revert: Looks like asset references can manipulate the timeline (preComps), so we do need distinct instances for each ref. May revisit in the future for cases where all instances share the same timeline. Original change's description: > [skottie] Cache attached assets > > This avoids redundant instantiations for assets referenced multiple > times. > > TBR= > > Change-Id: I8f61f73e695f0d567e55ef077c7d3fb344399f12 > Reviewed-on: https://skia-review.googlesource.com/101002 > Reviewed-by: Florin Malita <fmalita@chromium.org> > Commit-Queue: Florin Malita <fmalita@chromium.org> TBR=fmalita@chromium.org Change-Id: I3e537ace9dfbf69a11f421992db033a0f8ad2aa9 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/101220 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Reduce parser verbosityGravatar Florin Malita2018-01-29
| | | | | | | | | TBR= Change-Id: I9a949cfb9e7625b93988d9fc251c8696ae99007a Reviewed-on: https://skia-review.googlesource.com/101080 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Cache attached assetsGravatar Florin Malita2018-01-29
| | | | | | | | | | | | This avoids redundant instantiations for assets referenced multiple times. TBR= Change-Id: I8f61f73e695f0d567e55ef077c7d3fb344399f12 Reviewed-on: https://skia-review.googlesource.com/101002 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Simplify layer matrix cachingGravatar Florin Malita2018-01-28
| | | | | | | | | | | Switch to SkTHashMap, unify the cache based on layer index. TBR= Change-Id: I7e7622571156d67b4fe5ef91ee9a9a49b089c78f Reviewed-on: https://skia-review.googlesource.com/101001 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Switch animators to SkTArrayGravatar Florin Malita2018-01-28
| | | | | | | | | TBR= Change-Id: I8acc02f176e7dffd344456ad4cc39936e9a9618f Reviewed-on: https://skia-review.googlesource.com/101000 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Add 'rz' rotation supportGravatar Florin Malita2018-01-26
| | | | | | | | | TBR= Change-Id: I6dd82e5dc516faac091e5173688d2bc977e4fcaa Reviewed-on: https://skia-review.googlesource.com/100280 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Refactor animatorsGravatar Florin Malita2018-01-26
| | | | | | | | | | | Separate storage for values, cubic maps, repeated values deduplication. TBR= Change-Id: Ibfbcea91ef1d7b1da937b4af44079e7612d410cb Reviewed-on: https://skia-review.googlesource.com/99981 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Parser cleanupGravatar Florin Malita2018-01-25
| | | | | | | | | | | Consolidate parsing utils into their own CU. TBR= Change-Id: Idbf6db5220135ba91df6ebefce3a241c6ec4af15 Reviewed-on: https://skia-review.googlesource.com/99721 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Cache the last keyframeGravatar Florin Malita2018-01-25
| | | | | | | | | | | We can avoid searching on every tick. TBR= Change-Id: Ifc3ff40f1f5ec2bf865c09a8e784223aa8a96674 Reviewed-on: https://skia-review.googlesource.com/99580 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Animator scrubbingGravatar Florin Malita2018-01-24
| | | | | | | | | | | | | Use std::function and lambda closures to capture node type info. Reduces the template degree. TBR= Change-Id: Id81ff3e2e1fca5c8acaaf2d0fc67e608d6f3d606 Reviewed-on: https://skia-review.googlesource.com/99261 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Clamp keyframe valuesGravatar Florin Malita2018-01-24
| | | | | | | | | | | We can skip interpolation if |t| is out of range or the interval is constant ("hold"). TBR= Change-Id: I0602d36557f46592ab673201ed2b4a96d40dc461 Reviewed-on: https://skia-review.googlesource.com/99420 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] "hold" keyframe supportGravatar Florin Malita2018-01-24
| | | | | | | | | TBR= Change-Id: I5388bc5a5d24b3bbe3962b2da646719e95efe858 Reviewed-on: https://skia-review.googlesource.com/99281 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Initial mask supportGravatar Florin Malita2018-01-23
| | | | | | | | | TBR= Change-Id: Ibf4baeb17f98e1ed359f04deefe2f1c09414540d Reviewed-on: https://skia-review.googlesource.com/98840 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Discard orphaned geometry animatorsGravatar Florin Malita2018-01-23
| | | | | | | | | TBR= NOTRY=true Change-Id: I8e4de99c8ebc3ec28509753b59a287d896e65aea Reviewed-on: https://skia-review.googlesource.com/98705 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* [skottie] Improved animation params parsingGravatar Florin Malita2018-01-23
| | | | | | | | | | Some BM versions wrap the Bezier animation params into arrays. TBR= Change-Id: I376b1ed2079105066413b513c3df33a61440cf41 Reviewed-on: https://skia-review.googlesource.com/98580 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Improved trim path supportGravatar Florin Malita2018-01-23
| | | | | | | | | | |offset| is an angular value in [0..360]. TBR= Change-Id: I10a91bec7e8f43db1f54c8b5358dd0604c974998 Reviewed-on: https://skia-review.googlesource.com/98560 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [sksg] Animator, SceneGravatar Florin Malita2018-01-22
| | | | | | | | | | Relocate some reusable logic from Skottie TBR= Change-Id: I8764e666c9f1127ed895ee1d16cd66d052469ac5 Reviewed-on: https://skia-review.googlesource.com/98160 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [sksg] Refactor inval registrationGravatar Florin Malita2018-01-22
| | | | | | | | | | ... to avoid having too many Node friends. TBR= Change-Id: I8f8ff570d94ea48017935066a3d51cd8265ec120 Reviewed-on: https://skia-review.googlesource.com/97980 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [sksg] Improved trim-path emulationGravatar Florin Malita2018-01-21
| | | | | | | | | | Skip zero-length trims, simplify dashing. TBR= Change-Id: I0b30d78a1eeb93131ba0bd915431ab21d05cc00a Reviewed-on: https://skia-review.googlesource.com/97663 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie] Only apply effects to non-empty geometry stacksGravatar Florin Malita2018-01-21
| | | | | | | | TBR= Change-Id: Iaafd63c787b72cdf83b21bd39cc10d01612e435d Reviewed-on: https://skia-review.googlesource.com/97662 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [sksg] Skip zero-width strokesGravatar Florin Malita2018-01-21
| | | | | | | | | | | | Zero-width strokes imply hairline in Skia, but in other models (e.g. Lottie) they are simply ignored. The latter approach avoids discontinuities when width -> 0, so let's make it the default for sksg. TBR= Change-Id: I957a873c0e6468e21372115ed18cc7316fd2e7d1 Reviewed-on: https://skia-review.googlesource.com/97661 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skottie,sksg] Improved shape group semanticsGravatar Florin Malita2018-01-19
| | | | | | | | | | | * paints also apply to preceding nested geometries * path effects also apply to preceding nested geometries TBR= Change-Id: Ic72f8d032fb5823f506ff688630b786a23219f20 Reviewed-on: https://skia-review.googlesource.com/97222 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* handle large rects, rename helperGravatar Mike Reed2018-01-17
| | | | | | | | | | | To fix gm/bigrect, needed to do adjust "largest" rect so it doesn't become empty when round-tripping with SkRect/SkIRect. I renamed it after this. Bug: skia: Change-Id: I747782c8456da603cf298275d2300ea1996e7629 Reviewed-on: https://skia-review.googlesource.com/95563 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Yuqian Li <liyuqian@google.com>
* Skotty -> SkottieGravatar Florin Malita2018-01-17
| | | | | | | Change-Id: If8b6516024c69b0fc256208874f6666a4e70e12c Reviewed-on: https://skia-review.googlesource.com/95241 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skotty] Refactor paint opacityGravatar Florin Malita2018-01-12
| | | | | | | | | | Promote to a PaintNode attribute, drop color composite. TBR= Change-Id: Ia79d5f7e193a472d53ac4ff8beb7234d4dc26cef Reviewed-on: https://skia-review.googlesource.com/94280 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skotty,sksg] Initial gradient supportGravatar Florin Malita2018-01-12
| | | | | | | | TBR= Change-Id: I61e4d46ac14660f4c9ea757be2278e4098131a6b Reviewed-on: https://skia-review.googlesource.com/94121 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skotty,sksg] Initial matte layer supportGravatar Florin Malita2018-01-11
| | | | | | | | TBR= Change-Id: I5b689f5d7b0d147fa200cf5bffe476077085cb19 Reviewed-on: https://skia-review.googlesource.com/93300 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skotty] Adjust Draw node bounds for paintGravatar Florin Malita2018-01-11
| | | | | | | | | TBR= Change-Id: I88b3fe9c0ed4be2244b82d78995d6e27fa022296 Reviewed-on: https://skia-review.googlesource.com/93301 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skotty] Initial solid layer supportGravatar Florin Malita2018-01-09
| | | | | | | | TBR= Change-Id: Ib78ff693a1c79873248563502635aed93a90f963 Reviewed-on: https://skia-review.googlesource.com/92624 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* [skotty] Color opacity supportGravatar Florin Malita2018-01-09
| | | | | | | | TBR= Change-Id: I21dd6dda211d17c5de1b815fd43eac713a8e8ccc Reviewed-on: https://skia-review.googlesource.com/92840 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skotty] Pre-initialize animated propsGravatar Florin Malita2018-01-09
| | | | | | | | | | | | | Force an initial tick on animation initialization. This prevents inconsistent state flashing if the client starts rendering before the first tick. TBR= Change-Id: Iaec3146b4085c980e6501d6a65dd8f2421a2895f Reviewed-on: https://skia-review.googlesource.com/92740 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skotty] Animator scrubbingGravatar Florin Malita2018-01-09
| | | | | | | | | | Less boilerplate, less template bloat. TBR= Change-Id: Ie0ef4808f4bcd8af9b6cdf89732d214311bc6101 Reviewed-on: https://skia-review.googlesource.com/92701 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skotty] Pass animation frame/time as floatGravatar Florin Malita2018-01-09
| | | | | | | | | | No reason to punt through SkMSec, we just lose precision. TBR= Change-Id: I2f61e49658701a3b5a675f3dd44543fd9aa98708 Reviewed-on: https://skia-review.googlesource.com/92600 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skotty] Layer in/out supportGravatar Florin Malita2018-01-09
| | | | | | | | TBR= Change-Id: I79a9f5f15c051fc2d08bc2d6788ff059ec2d36f0 Reviewed-on: https://skia-review.googlesource.com/92460 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skotty] Animator cleanup passGravatar Florin Malita2018-01-09
| | | | | | | | TBR= Change-Id: I2849c1438a8b245f04a01977919b653f0a16492b Reviewed-on: https://skia-review.googlesource.com/92380 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skotty] Initial opacity supportGravatar Florin Malita2018-01-08
| | | | | | | | | TBR= Change-Id: I62581d3a7a83af5ccf373f0f4edf66a2d7f06f07 Reviewed-on: https://skia-review.googlesource.com/92223 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skotty] Tag animating paths as volatileGravatar Florin Malita2018-01-08
| | | | | | | Change-Id: Ib90634ef682dba49b99594b008a0615d04c61a49 Reviewed-on: https://skia-review.googlesource.com/92140 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* move largest apis into privateGravatar Mike Reed2018-01-08
| | | | | | | | | Related to https://skia-review.googlesource.com/c/skia/+/91860 Bug: skia: Change-Id: Ia8fd981b422bbab75541b078277d2e09e1fc9d41 Reviewed-on: https://skia-review.googlesource.com/91940 Reviewed-by: Brian Salomon <bsalomon@google.com>
* [skotty,sksg] Initial image supportGravatar Florin Malita2018-01-08
| | | | | | | | TBR= Change-Id: Ib3c918b1d746e4f190ae05708681f2d5519afdb2 Reviewed-on: https://skia-review.googlesource.com/91980 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [skotty] More flexible property parsingGravatar Florin Malita2018-01-08
| | | | | | | | | | | Older Json versions don't tag properties wih an "a" animation marker, but appear to instead rely on a try-and-see-what-sticks approach. TBR= Change-Id: I8a3a7e43576c590aa5ac168891574ceb4811ad49 Reviewed-on: https://skia-review.googlesource.com/91861 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* add skotty-dir slideGravatar Mike Reed2018-01-08
| | | | | | | | | | Shows a directory of skotties in a grid Bug: skia: Change-Id: I96b0700d8809c94a394cf517222123967afb20dc Reviewed-on: https://skia-review.googlesource.com/91407 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>