From 883b563b0a752c1100238e1926d97524f91c761c Mon Sep 17 00:00:00 2001 From: Ryan McCahan Date: Tue, 15 Sep 2020 12:26:56 -0600 Subject: [PATCH 01/81] Add note to web player documentation about masked stroke paths (#135) --- images/Web-StrokeCutoffMaskingDemo.png | Bin 0 -> 243093 bytes web.md | 6 ++++++ 2 files changed, 6 insertions(+) create mode 100644 images/Web-StrokeCutoffMaskingDemo.png diff --git a/images/Web-StrokeCutoffMaskingDemo.png b/images/Web-StrokeCutoffMaskingDemo.png new file mode 100644 index 0000000000000000000000000000000000000000..e4c7d9a826d6b172ff2d1047c6a8c2d07bffa0b4 GIT binary patch literal 243093 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 ViNI6_*7yJb002ovPDHLkV1hFu*x&#F literal 0 HcmV?d00001 diff --git a/web.md b/web.md index 8437e2c..4b4d062 100644 --- a/web.md +++ b/web.md @@ -224,3 +224,9 @@ If an element needs to be rendered larger than the original size, it won't be sm * Some fonts have special combinations of chars that are spaced differently than default. These are not supported yet, they will be spaced as any other char and you might notice some differences. * Some fonts can't be converted to glyphs on AE and will result on an error on the plugin. I've seen this behavior specially with fonts that simulate pixelled fonts. * If you use Typekit fonts, make sure you load them on a single kit, and provide for each font the css Selector displayed on the kit editor. + +## Paths with strokes getting cut off + +If paths with strokes are being cut off to a rectangular viewbox, add a rectangular path larger than the stroked path to the same layer to force the final masked size to include the stroke width. + +![Stroke cutoff issue demo](images/Web-StrokeCutoffMaskingDemo.png) From 58935638c27d7f91223e123e2e1019fadab325c0 Mon Sep 17 00:00:00 2001 From: George Melissourgos <21154979+DrMerfy@users.noreply.github.com> Date: Tue, 15 Sep 2020 21:54:02 +0300 Subject: [PATCH 02/81] Changed its -> it's (#116) Co-authored-by: George Melissourgos --- after-effects.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/after-effects.md b/after-effects.md index 970f316..25b0111 100644 --- a/after-effects.md +++ b/after-effects.md @@ -4,7 +4,7 @@ Get up and running creating animations for Lottie in After Effects! # Installing Bodymovin -### 1 - Close After Effects if its open +### 1 - Close After Effects if it's open ### 2 - Install the ZXP installer @@ -265,4 +265,4 @@ Coming soon... ## Animation easings are off -Coming soon... \ No newline at end of file +Coming soon... From 766ca5f5d4c34b703fbba8c11b3fd9a4b67f1358 Mon Sep 17 00:00:00 2001 From: Robby Uitbeijerse Date: Tue, 15 Sep 2020 20:54:27 +0200 Subject: [PATCH 03/81] Update typo awa -> away (#112) --- web.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web.md b/web.md index 4b4d062..48172e4 100644 --- a/web.md +++ b/web.md @@ -82,7 +82,7 @@ animation instances have these main methods: - **anim.goToAndStop(value, isFrame)** first param is a numeric value. second param is a boolean that defines time or frames for first param - **anim.goToAndPlay(value, isFrame)** first param is a numeric value. second param is a boolean that defines time or frames for first param - **anim.setDirection(direction)** -- one param direction (1 is normal direction.) -- **anim.playSegments(segments, forceFlag)** -- first param is a single array or multiple arrays of two values each(fromFrame,toFrame), second param is a boolean for forcing the new segment right awa +- **anim.playSegments(segments, forceFlag)** -- first param is a single array or multiple arrays of two values each(fromFrame,toFrame), second param is a boolean for forcing the new segment right away - **anim.setSubframe(flag)** -- If false, it will respect the original AE fps. If true, it will update as much as possible. (true by default - **anim.destroy()** From 8055feb1dc23820403f50a4cf2a042cf9acf258a Mon Sep 17 00:00:00 2001 From: Tom Date: Tue, 15 Sep 2020 21:04:22 +0200 Subject: [PATCH 04/81] Added missing space character (#98) Added a missing space character in the Community articles and videos section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1d670be..3bc72a5 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ Heres some links from around the community [A Lottie to Like](https://t.co/dadjvgv9vk) by Nick Butcher -[Creating better user experiences with animations and Lottie](https://pspdfkit.com/blog/2017/creating-better-user-experiences-with-animations-and-lottie/)by Samo Korosec and Stefan Keileithner +[Creating better user experiences with animations and Lottie](https://pspdfkit.com/blog/2017/creating-better-user-experiences-with-animations-and-lottie/) by Samo Korosec and Stefan Keileithner [How to use Lottie \(In Chinese\)](https://goo.gl/e7BkND) by PattyDraw From 277b664acbbb151914bfa09415e6786fb6f113b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mi=C5=82osz?= Date: Tue, 15 Sep 2020 21:04:36 +0200 Subject: [PATCH 05/81] Added information about passing Activity to correctly load dark mode (-night) resources (#97) See https://github.com/airbnb/lottie-android/pull/1361 --- android.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/android.md b/android.md index 8f7ce83..95388d2 100644 --- a/android.md +++ b/android.md @@ -60,6 +60,8 @@ It is recommended to use `lottie_rawRes` because you can use static references t You can also call many Lottie APIs on LottieAnimationView directly. View the class reference for the full set of APIs. +Note: to correctly load dark mode (`-night`) resources, make sure you pass `Activity` as a context where possible (instead of e.g. the application context). The `Activity` won't be leaked. + ### Caching Animations All Lottie animations are cached with a LRU cache by default. Default cache keys will be created for animations loaded from `res/raw/` or `assets/`. Other APIs require setting a cache key. From 4b4cdba812c763cfb3a73d8d6cda7d73008a88eb Mon Sep 17 00:00:00 2001 From: Shivay Lamba Date: Wed, 16 Sep 2020 00:34:54 +0530 Subject: [PATCH 06/81] Updated Description Meta Tag (#109) Changed the description tag to make it more meaningful --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 6010a3c..0193feb 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ Lottie Docs - + + + diff --git a/images/duolingo.svg b/images/duolingo.svg deleted file mode 100644 index 4b6caec..0000000 --- a/images/duolingo.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/images/lottielab.png b/images/lottielab.png new file mode 100644 index 0000000000000000000000000000000000000000..72ac42c0493fd2bb6bec4fd65c2a1cf873b18f95 GIT binary patch literal 135382 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 z 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�^2oK7j$9?_30pqvRVq{Iw=(>SS!AZ{ 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
`qgs$1W?j@QPf^o69};(1rK=*})LOX+oaCvWOvl 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

!^Xi( zbly55OcXMtQfp2=g;96m`3K%Y)65#qfV&fG)pxI1?7CFUT9^G;I9e!8CSAIyldIUU<8z2v6p{x(tzPHfudIW@~tjVp0O*3_`P#*AFx_jyM4h~UD&_tVM4 zwonIt&RM5)XIAO^^d{EE8sH5!a(Y}_KGx-T8b#g;PqCib6pDXbUEQM6KHM2OL-~Ha zPU0ijhHMxMIJmZ(=Y8yQ4m9f2cY%O@BGhmD>Dp7);ubqdKD|)R;ptkkLx>;+v$&;o joy+|=>KOqh-5<%S;-fx`fq+;P;7>_TUA9u%H1Pib(#%wN literal 0 HcmV?d00001 From 819e6dd214cfc68532fc1f8f7df5c8f7487b3570 Mon Sep 17 00:00:00 2001 From: Gabriel Peal Date: Tue, 19 Jul 2022 17:25:52 -0700 Subject: [PATCH 44/81] Update home.md --- home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.md b/home.md index c238119..555f068 100644 --- a/home.md +++ b/home.md @@ -24,7 +24,7 @@ We would especially like to thank our sponsorships from [![Tonal](images/tonal.svg ':size=300')](https://www.tonal.com/) -[![Stream](images/stream.png ':size=300')](https://getstream.io/chat/sdk/android/?utm_source=OpenCollective&utm_medium=Github_Repo_Content_Ad&utm_content=Developer&utm_campaign=OpenCollective_Jan2022_AndroidChatSDK) +[![Stream](images/stream.png ':size=300')](https://getstream.io/chat/?utm_source=OpenCollective_Lottie&utm_medium=Github_Repo_Content_Ad&utm_content=Developer&utm_campaign=Lottie_July2022_Chat_klmh22) [![Coinbase](images/coinbase.svg ':size=300')](https://www.coinbase.com/) From ea6adc10bc297ea23b6b8ae9dd510d91a8be975b Mon Sep 17 00:00:00 2001 From: Saurabh Shelar <51042360+iShelar@users.noreply.github.com> Date: Tue, 9 Aug 2022 21:02:07 +0530 Subject: [PATCH 45/81] Update docs.md (#203) @gpeal It's my first contribution. --- docs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs.md b/docs.md index a1b83e7..e848c15 100644 --- a/docs.md +++ b/docs.md @@ -6,7 +6,7 @@ To do that, find the markdown file with the docs you want to edit and follow [Gi [http://airbnb.io/lottie](http://airbnb.io/lottie) runs on [docsify](https://docsify.js.org/#/?id=docsify). Docsify was chosen because it takes hosted markdown and generates the page dynamically. That means that simply updating the markdown files here is all that is needed to update [http://airbnb.io/lottie](http://airbnb.io/lottie). 1. Fork and clone this repo. -1. Install docsify: `sudo npm instal -g docsify-cli`. +1. Install docsify: `sudo npm install -g docsify-cli`. 1. Startup the local docsify server with `docsify serve .` from the root of this repo. 1. Edit the markdown and verify your changes on the localhost url outputted from the `docsify serve` command. 1. Put up a pull request to this repo and tag `@gpeal` From 7fb0092ed5afda324a8c785fd8e975cc6b61f1aa Mon Sep 17 00:00:00 2001 From: Andrey Dotcenko Date: Tue, 9 Aug 2022 17:32:20 +0200 Subject: [PATCH 46/81] Update deprecated example in android-compose.md (#202) The [current example](http://airbnb.io/lottie/#/android-compose?id=basic-usage) uses deprecated composable, here is a fix **Details:** Screenshot 2022-06-17 at 10 44 46 --- android-compose.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/android-compose.md b/android-compose.md index fec750a..2a45a51 100644 --- a/android-compose.md +++ b/android-compose.md @@ -29,8 +29,8 @@ fun Loader() { val composition by rememberLottieComposition(LottieCompositionSpec.RawRes(R.raw.loading)) val progress by animateLottieCompositionAsState(composition) LottieAnimation( - composition, - progress, + composition = composition, + progress = { progress }, ) } ``` From 4d3c697f99ac480bb9845cf6fd39c6641e8b206f Mon Sep 17 00:00:00 2001 From: ingslh Date: Tue, 9 Aug 2022 23:34:47 +0800 Subject: [PATCH 47/81] Fixed two link errors in after-effects.md (#201) --- after-effects.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/after-effects.md b/after-effects.md index 3f54e5e..b3396ef 100644 --- a/after-effects.md +++ b/after-effects.md @@ -127,7 +127,7 @@ This walkthrough explains how to get artwork from Sketch to Lottie. If you alrea It doesn't dive into any animation techniques. For that check out one of our other walkthroughs. -We're assuming you have three things. Adobe Illustrator, Adobe After Effects, and [Bodymovin](https://github.com/airbnb/lottie-web). For a walkthrough on how to install Bodymovin go [here](/bodymovin-installation.md). +We're assuming you have three things. Adobe Illustrator, Adobe After Effects, and [Bodymovin](https://github.com/airbnb/lottie-web). For a walkthrough on how to install Bodymovin go [here](#Installing%20Bodymovin). ### 1 - Ensure artwork is grouped @@ -138,7 +138,7 @@ To get the asset exported in one piece everything needs to be put into a single ### 2 - Select the group and export as an SVG -You might be thinking ๐Ÿค” Why not export artwork as a PDF or EPS that goes directly into AE?? We'll explain why later. If you don't have illustrator a PDF or EPS will still work, you just might have to do more cleanup in After Effects. Check out cleanup tips in the [Debugging section](/after-effects/debugging.md) +You might be thinking ๐Ÿค” Why not export artwork as a PDF or EPS that goes directly into AE?? We'll explain why later. If you don't have illustrator a PDF or EPS will still work, you just might have to do more cleanup in After Effects. Check out cleanup tips in the [Debugging section](#debugging) ![ArtworkWalkthrough_02](/images/ArtworkWalkthrough_02.png) From 6f198ac0a7ec5ac08a5dcd75695bee1597f0679b Mon Sep 17 00:00:00 2001 From: Vladimir Iakunin <85172479+viakunin@users.noreply.github.com> Date: Mon, 14 Nov 2022 16:46:58 +0100 Subject: [PATCH 48/81] Add LottieConfig.Builder.setEnableNetworkCache() docs (#211) Add docs to support disabling Lottie's internal network cache, see https://github.com/airbnb/lottie-android/pull/2158 --- android.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/android.md b/android.md index 699956c..92ca708 100644 --- a/android.md +++ b/android.md @@ -73,9 +73,10 @@ If you fire multiple animation requests for the same animation in parallel such --- # Global Configuration Lottie has some global configuration options. None are required by default but it can be used to: -* Use your own network stack intead of Lottie's built in one when loading animations from the network. +* Use your own network stack instead of Lottie's built in one when loading animations from the network. * Provide your own cache directories for animation fetched from the network instead of using Lottie's default one (`cacheDir/lottie_network_cache`). * Enable systrace makers for debugging. +* Disable Lottie's network cache completely if you want to implement custom network fetcher-level caching strategy. To set it up, somewhere during your application initialization, include: ```kotlin @@ -84,6 +85,7 @@ Lottie.initialize( .setEnableSystraceMarkers(true) .setNetworkFetcher(...) .setNetworkCacheDir(...) + .setEnableNetworkCache(false) ) ``` From faed44280df528a9aa6b822ce2d20214452eb3de Mon Sep 17 00:00:00 2001 From: Guillermo Orellana <172084+wiyarmir@users.noreply.github.com> Date: Mon, 3 Apr 2023 17:51:11 +0100 Subject: [PATCH 49/81] Small typo in android-compose.md (#206) One of the examples references `iteration` instead of `iterations` --- android-compose.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android-compose.md b/android-compose.md index 2a45a51..ae61ab8 100644 --- a/android-compose.md +++ b/android-compose.md @@ -153,7 +153,7 @@ val lottieAnimatable = rememberLottieAnimatable() LaunchedEffect(Unit) { lottieAnimatable.animate( composition, - iteration = LottieConstants.IterateForever, + iterations = LottieConstants.IterateForever, clipSpec = LottieClipSpec.Progress(0.5f, 0.75f), ) } From f22744716c3fd7956a38447ce632222cd2bbe946 Mon Sep 17 00:00:00 2001 From: Saurabh Shelar <51042360+iShelar@users.noreply.github.com> Date: Mon, 3 Apr 2023 22:21:39 +0530 Subject: [PATCH 50/81] Review home doc (#208) --- home.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/home.md b/home.md index 555f068..f13dc7e 100644 --- a/home.md +++ b/home.md @@ -1,14 +1,14 @@ # Lottie for [Android](https://github.com/airbnb/lottie-android), [iOS](https://github.com/airbnb/lottie-ios), [Web](https://github.com/airbnb/lottie-web), [React Native](https://github.com/airbnb/lottie-react-native), and [Windows](https://aka.ms/lottie) -Lottie is a library for Android, iOS, Web, and Windows that parses [Adobe After Effects](http://www.adobe.com/products/aftereffects.html) animations exported as json with [Bodymovin](https://github.com/airbnb/lottie-web) and renders them natively on mobile and on the web! +Lottie is a library for Android, iOS, Web, and Windows that parses [Adobe After Effects](http://www.adobe.com/products/aftereffects.html) animations exported as JSON with [Bodymovin](https://github.com/airbnb/lottie-web) and renders them natively on mobile and on the web! -For the first time, designers can create **and ship** beautiful animations without an engineer painstakingly recreating it by hand. They say a picture is worth 1,000 words so here you go: +For the first time, designers can create **and ship** beautiful animations without an engineer painstakingly recreating them by hand. They say a picture is worth 1,000 words, so here you go: ![Lottie Logo animation](images/Introduction_00_sm.gif ':size=500') -The above animation was created in After Effects, and can be rendered natively across all platforms with a simple json file. +The above animation was created in After Effects and can be rendered natively across all platforms with a simple JSON file. ## Sponsors @@ -45,18 +45,18 @@ Or get in touch on GitHub or via lottie@airbnb.com You can build the sample app for Android yourself or download it from the [Play Store](https://play.google.com/store/apps/details?id=com.airbnb.lottie). The sample app includes some built in animations but also allows you to load an animation from internal storage or from a url. -For Windows, you can get the [Lottie Viewer app](https://aka.ms/lottieviewer) to preview Lottie animation and codegen classes, and the [Lottie Samples app](https://aka.ms/lottiesamples) to get started with code samples and simple tutorials. +For Windows, you can get the [Lottie Viewer app](https://aka.ms/lottieviewer) to preview Lottie animation and codegen classes and the [Lottie Samples app](https://aka.ms/lottiesamples) to get started with code samples and simple tutorials. ## Shipping something with Lottie? -We would love to feature your work on our [community showcase](/community-showcase.md)! To do so, Put up a PR on [github.com/lottie](https://github.com/airbnb/lottie) with a change to [community-showcase.md](https://github.com/airbnb/lottie/blob/master/community-showcase.md) with a description and gif of your animation. +We would love to feature your work in our [community showcase](/community-showcase.md)! To do so, Put up a PR on [github.com/lottie](https://github.com/airbnb/lottie) with a change to [community-showcase.md](https://github.com/airbnb/lottie/blob/master/community-showcase.md) with a description and gif of your animation. We also have an internal regression testing repo that we can use to prevent causing regressions with your animations. ## Alternatives 1. Build animations by hand. Building animations by hand is a huge time commitment for design and engineering across Android and iOS. It's often hard or even impossible to justify spending so much time to get an animation right. 1. Gifs. Gifs are more than double the size of a bodymovin JSON and are rendered at a fixed size that can't be scaled up to match large and high density screens. -1. Png sequences. Png sequences are even worse than gifs in that their file sizes are often 30-50x the size of the bodymovin json and also can't be scaled up. -1. Animated Vector Drawable (Android only). More performant because it runs on the RenderThread instead of the main thread. Supports only a subset of Lottie features. Progress can't be manually set. Doesn't support text or dynamic colors. Can't be loaded programatically or over the internet. +1. Png sequences. Png sequences are even worse than gifs in that their file sizes are often 30-50x the size of the bodymovin JSON and also can't be scaled up. +1. Animated Vector Drawable (Android only). More performant because it runs on the RenderThread instead of the main thread. Supports only a subset of Lottie features. Progress can't be manually set. Doesn't support text or dynamic colors. Can't be loaded programmatically or over the internet. ## Why is it called Lottie? Lottie is named after a German film director and the foremost pioneer of silhouette animation. Her best known films are The Adventures of Prince Achmed (1926) โ€“ the oldest surviving feature-length animated film, preceding Walt Disney's feature-length Snow White and the Seven Dwarfs (1937) by over ten years @@ -83,7 +83,7 @@ Here are some articles and podcasts from the Lottie team @ Airbnb ## Community articles and videos -Heres some links from around the community +Here are some links from around the community [A Lottie to Like](https://t.co/dadjvgv9vk) by Nick Butcher From 0d5b3915fa39644af98b66b64a5e02a7dda7d2ea Mon Sep 17 00:00:00 2001 From: Murtaza S Vhora Date: Tue, 4 Apr 2023 01:48:48 +0530 Subject: [PATCH 51/81] Adding Failure Listener documentation for lottie-android (#222) Adding Failure Listener documentation for lottie-android issue: [App crash on invalid json url #2271](https://github.com/airbnb/lottie-android/issues/2271) This commit fixes #221 --- android.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/android.md b/android.md index 92ca708..acea9eb 100644 --- a/android.md +++ b/android.md @@ -107,6 +107,14 @@ In the update listener callback: `animation.getAnimatedFraction()` will return the progress of the animation taking into account the set min/max frame [minFrame,maxFrame]. +### Failure Listener + +Set a default failure listener that will be called if any of the setAnimation APIs fail for any reason. This can be used to replace the default behavior. The default behavior will log any network errors and rethrow all other exceptions. + +If you are loading an animation from the network, errors may occur if your user has no internet. You can use this listener to retry the download or you can have it default to an error drawable with `setFallbackResource(int)`. Unless you are using `setAnimationFromUrl(String)`, errors are unexpected. + +Set the listener to `null` to revert to the default behavior. + ### Custom animators Although `playAnimation()` is sufficient for the vast majority of use cases, you can call `setProgress(...)` in the update callback for your own animator. This can be useful to tie an animation to something like a gesture, download progress, or scroll position. From c45010025cc9f7ff63d13c3ccad8f0e4a0bda9a3 Mon Sep 17 00:00:00 2001 From: Stepan Mikhailiuk Date: Fri, 5 May 2023 15:44:00 -0700 Subject: [PATCH 52/81] =?UTF-8?q?feat(*):=20update=20supported=20features?= =?UTF-8?q?=20for=20lottie-web,=20alpha=20matte=20works=20=E2=80=A6=20(#22?= =?UTF-8?q?4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supported-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supported-features.md b/supported-features.md index ac0f8d0..84126c5 100644 --- a/supported-features.md +++ b/supported-features.md @@ -54,7 +54,7 @@ | Expansion | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | | Feather | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›” | โ›” | | **Mattes** | **Android** | **iOS** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | -| Alpha Matte | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | +| Alpha Matte | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Alpha Inverted Matte | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Luma Matte | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | | Luma Inverted Matte | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | From 8e4ef6ea261e427854271a40e1fef67ec198d6d4 Mon Sep 17 00:00:00 2001 From: Gabriel Peal Date: Sat, 17 Jun 2023 19:12:00 -0700 Subject: [PATCH 53/81] Update Android dynamic property stroke colors --- android.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/android.md b/android.md index acea9eb..eb484c3 100644 --- a/android.md +++ b/android.md @@ -219,10 +219,10 @@ The following value can be modified: | Transform | Layer | Fill | Stroke | Ellipse | Polystar | Repeater | Image | Text | |------------------------|---------------------------|--------------|--------------|--------------|----------------------------|-------------------------|--------------|---------------| -| TRANSFORM_ANCHOR_POINT | TRANSFORM_ANCHOR_POINT | COLOR | COLOR | ELLIPSE_SIZE | POLYSTAR_POINTS | REPEATER_COPIES | IMAGE | COLOR | -| TRANSFORM_POSITION | TRANSFORM_POSITION | OPACITY | OPACITY | POSITION | POLYSTAR_ROTATION | REPEATER_OFFSET | COLOR_FILTER | STROKE_COLOR | +| TRANSFORM_ANCHOR_POINT | TRANSFORM_ANCHOR_POINT | COLOR | STROKE_COLOR | ELLIPSE_SIZE | POLYSTAR_POINTS | REPEATER_COPIES | IMAGE | COLOR | +| TRANSFORM_POSITION | TRANSFORM_POSITION | OPACITY | STROKE_WIDTH | POSITION | POLYSTAR_ROTATION | REPEATER_OFFSET | COLOR_FILTER | STROKE_COLOR | | TRANSFORM_OPACITY | TRANSFORM_OPACITY | COLOR_FILTER | COLOR_FILTER | | POSITION | TRANSFORM_ROTATION | | STROKE_WIDTH | -| TRANSFORM_SCALE | TRANSFORM_SCALE | | STROKE_WIDTH | | POLYSTAR_OUTER_RADIUS | TRANSFORM_START_OPACITY | | TEXT_TRACKING | +| TRANSFORM_SCALE | TRANSFORM_SCALE | | OPACITY | | POLYSTAR_OUTER_RADIUS | TRANSFORM_START_OPACITY | | TEXT_TRACKING | | TRANSFORM_ROTATION | TRANSFORM_ROTATION | | | | POLYSTAR_OUTER_ROUNDEDNESS | TRANSFORM_END_OPACITY | | TEXT_SIZE | | | TIME_REMAP (composition) | | | | POLYSTAR_INNER_RADIUS | | | TYPEFACE | | | | | | | | | | TEXT | From 72e0cf0fd8610457ac978926a857cee0fbb5ed9e Mon Sep 17 00:00:00 2001 From: Gabriel Peal Date: Fri, 14 Jul 2023 17:25:08 -0700 Subject: [PATCH 54/81] Updated README --- home.md | 22 ++++++++++++---------- images/emerge.png | Bin 0 -> 69863 bytes 2 files changed, 12 insertions(+), 10 deletions(-) create mode 100644 images/emerge.png diff --git a/home.md b/home.md index f13dc7e..25f193f 100644 --- a/home.md +++ b/home.md @@ -1,12 +1,10 @@ # Lottie for [Android](https://github.com/airbnb/lottie-android), [iOS](https://github.com/airbnb/lottie-ios), [Web](https://github.com/airbnb/lottie-web), [React Native](https://github.com/airbnb/lottie-react-native), and [Windows](https://aka.ms/lottie) - Lottie is a library for Android, iOS, Web, and Windows that parses [Adobe After Effects](http://www.adobe.com/products/aftereffects.html) animations exported as JSON with [Bodymovin](https://github.com/airbnb/lottie-web) and renders them natively on mobile and on the web! For the first time, designers can create **and ship** beautiful animations without an engineer painstakingly recreating them by hand. They say a picture is worth 1,000 words, so here you go: -![Lottie Logo animation](images/Introduction_00_sm.gif ':size=500') - +![Lottie Logo animation](images/Introduction_00_sm.gif ":size=500") The above animation was created in After Effects and can be rendered natively across all platforms with a simple JSON file. @@ -16,22 +14,23 @@ Lottie is made possible because of our supporters on GitHub Sponsors and Open Co We would especially like to thank our sponsorships from -[![Lottiefiles](images/lottiefiles.svg ':size=300')](https://www.lottiefiles.com/) +[![Lottiefiles](images/lottiefiles.svg ":size=300")](https://www.lottiefiles.com/) -[![Lottie Lab](images/lottielab.png ':size=300')](https://lottielab.io/) +[![Lottie Lab](images/lottielab.png ":size=300")](https://lottielab.io/) -[![Airbnb](images/airbnb.svg ':size=300')](https://www.airbnb.com/) +[![Airbnb](images/airbnb.svg ":size=300")](https://www.airbnb.com/) -[![Tonal](images/tonal.svg ':size=300')](https://www.tonal.com/) +[![Emerge Tools](images/emerge.png ":size=300")](https://www.emergetools.com/) -[![Stream](images/stream.png ':size=300')](https://getstream.io/chat/?utm_source=OpenCollective_Lottie&utm_medium=Github_Repo_Content_Ad&utm_content=Developer&utm_campaign=Lottie_July2022_Chat_klmh22) +[![Stream](images/stream.png ":size=300")](https://getstream.io/chat/?utm_source=OpenCollective_Lottie&utm_medium=Github_Repo_Content_Ad&utm_content=Developer&utm_campaign=Lottie_July2022_Chat_klmh22) -[![Coinbase](images/coinbase.svg ':size=300')](https://www.coinbase.com/) +[![Coinbase](images/coinbase.svg ":size=300")](https://www.coinbase.com/) Read more about it on our [blog post](http://airbnb.design/introducing-lottie/) Or get in touch on GitHub or via lottie@airbnb.com ## Sample App +
@@ -53,19 +52,23 @@ We would love to feature your work in our [community showcase](/community-showca We also have an internal regression testing repo that we can use to prevent causing regressions with your animations. ## Alternatives + 1. Build animations by hand. Building animations by hand is a huge time commitment for design and engineering across Android and iOS. It's often hard or even impossible to justify spending so much time to get an animation right. 1. Gifs. Gifs are more than double the size of a bodymovin JSON and are rendered at a fixed size that can't be scaled up to match large and high density screens. 1. Png sequences. Png sequences are even worse than gifs in that their file sizes are often 30-50x the size of the bodymovin JSON and also can't be scaled up. 1. Animated Vector Drawable (Android only). More performant because it runs on the RenderThread instead of the main thread. Supports only a subset of Lottie features. Progress can't be manually set. Doesn't support text or dynamic colors. Can't be loaded programmatically or over the internet. ## Why is it called Lottie? + Lottie is named after a German film director and the foremost pioneer of silhouette animation. Her best known films are The Adventures of Prince Achmed (1926) โ€“ the oldest surviving feature-length animated film, preceding Walt Disney's feature-length Snow White and the Seven Dwarfs (1937) by over ten years [The art of Lotte Reineger](https://www.youtube.com/watch?v=LvU55CUw5Ck&feature=youtu.be) ## Contributing to Documentation + Contributors are more than welcome. Just put up a PR to [github.com/airbnb](https://github.com/airbnb/lottie). ## Issues or feature requests? + File github issues for anything that is unexpectedly broken. If an After Effects file is not working, please attach it to your issue. Debugging without the original file is much more difficult. ## Articles, Interviews & Podcasts @@ -80,7 +83,6 @@ Here are some articles and podcasts from the Lottie team @ Airbnb [Lottie Animation with Brandon Withrow and Gabriel Peal on Software engineering daily podcast](https://softwareengineeringdaily.com/2017/08/10/lottie-animation-with-brandon-withrow-and-gabriel-peal/) - ## Community articles and videos Here are some links from around the community diff --git a/images/emerge.png b/images/emerge.png new file mode 100644 index 0000000000000000000000000000000000000000..76f7727403e7225377c039d04b344fce8bce3007 GIT binary patch literal 69863 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
~wXw4eLm;XBcgVvg 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 literal 0 HcmV?d00001 From 27139db845b5a345f24ccc28ac3a5d3160b7b893 Mon Sep 17 00:00:00 2001 From: Cal Stephens Date: Mon, 11 Sep 2023 14:02:36 -0700 Subject: [PATCH 55/81] Update iOS documentation --- _sidebar.md | 2 +- home.md | 4 + ios-contributor.md | 4 +- ios-migration.md | 40 --- ios.md | 681 ++++++++++++++++++++---------------------- sponsorship.md | 13 +- supported-features.md | 195 ++++++------ 7 files changed, 439 insertions(+), 500 deletions(-) delete mode 100644 ios-migration.md diff --git a/_sidebar.md b/_sidebar.md index e213ffb..491e348 100644 --- a/_sidebar.md +++ b/_sidebar.md @@ -5,7 +5,7 @@ * [**After Effects**](/after-effects.md) * [**Android**](/android.md) * [**Android - Jetpack Compose**](/android-compose.md) -* [**iOS/MacOS**](/ios.md) +* [**iOS**](/ios.md) * [**React Native**](/react-native.md) * [**Web**](/web.md) * [**Windows**](/windows.md) diff --git a/home.md b/home.md index 25f193f..5bc96db 100644 --- a/home.md +++ b/home.md @@ -83,6 +83,10 @@ Here are some articles and podcasts from the Lottie team @ Airbnb [Lottie Animation with Brandon Withrow and Gabriel Peal on Software engineering daily podcast](https://softwareengineeringdaily.com/2017/08/10/lottie-animation-with-brandon-withrow-and-gabriel-peal/) +[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54): A new rendering engine with significant performance improvements powered by Core Animation + +[Moving Lottie Swiftly into the Future](https://medium.com/airbnb-engineering/lottie-and-swift-at-airbnb-e0c85dc365e7): A personal story on how Airbnb rewrote the popular open source library Lottie in a new language + ## Community articles and videos Here are some links from around the community diff --git a/ios-contributor.md b/ios-contributor.md index eeeea1a..019550e 100644 --- a/ios-contributor.md +++ b/ios-contributor.md @@ -1,9 +1,9 @@ +> The doc was last updated in 2019 and is no longer up to date. It no longer reflects the current project structure, and doesn't include any content about the Core Animation rendering engine. This doc is left available as documentation of the Main Thread rendering engine, which hasn't changed significantly since this documentation was written. + # Lottie-iOS Render System Documentation The purpose of this document is to explain how Lottie's render system works. -For questions reach out to the author: [Brandon Withrow](https://twitter.com/theWithra) - ## Check Before Submitting Before submitting a PR to Lottie please run through the following checklist. diff --git a/ios-migration.md b/ios-migration.md deleted file mode 100644 index 1f16d23..0000000 --- a/ios-migration.md +++ /dev/null @@ -1,40 +0,0 @@ -# Migrating from Lottie 2.5.3(OBJC) -> 3.0 (SWIFT) - -Lottie 3.0 is a complete rewrite of Lottie in Swift. Because of this there are some minor API changes. This guide should help you through migrating code from Lottie 2.5.2 to 3.0 - -For continued support and contribution to Objective-C please point to the official Lottie Objective-C Branch [Here](https://github.com/airbnb/lottie-ios/tree/lottie/objectiveC) - -Swift discourages the use of Prefix for names. A lot of the api changes are just the removal of `LOT` from the class name. Below is a complete list of API changes. - -To use Lottie Swift in an Objective-C project read Apple's official documentation [here](https://developer.apple.com/documentation/swift/imported_c_and_objective-c_apis/importing_swift_into_objective-c) - -## Class Changes -| Lottie 2.5.2 | Lottie 3.0+ | -| --:| --:| -|`LOTAnimationView`|`AnimationView`| -|`LOTComposition`|`Animation`| -|`LOTKeypath`|`AnimationKeypath`| -|`LOTAnimationCache`|`AnimationCacheProvider`| -|`LOTCacheProvider`|`AnimationImageProvider`| -|`LOTValueDelegate`|`AnyValueProvider`| -|`LOTAnimatedControl`|`AnimatedControl`| -|โ›”๏ธ|`AnimatedButton`| -|`LOTAnimatedSwitch`|`AnimatedSwitch`| - -## Method Changes - -| Lottie 2.5.2 | Lottie 3.0+ | -| --:| --:| -|`LOTAnimationView.sceneModel`|`AnimationView.animation`| -|`LOTAnimationView.loopAnimation`|`AnimationView.loopMode`| -|`LOTAnimationView.autoReverseAnimation`|`AnimationView.loopMode`| -|`LOTAnimationView.animationProgress`|`AnimationView.currentProgress`| -|`LOTAnimationView.cacheEnable`|โ›”๏ธ(Cache is passed in on init)| -|`LOTAnimationView.setValueDelegate:forKeypath:`|`AnimationView.setValueProvider:keypath:`| -|`LOTComposition.animationNamed:`|`Animation.named:`| -|`LOTComposition.animationWithFilePath:`|`Animation.filepath:`| -|`LOTComposition.animationNamed:inBundle:`|`Animation.named:bundle:`| -|`LOTComposition.animationFromJSON:`|โ›”๏ธ(`Animation` is Encodable/Decodable from data on it's own.)| - diff --git a/ios.md b/ios.md index cadc19c..7a2667b 100644 --- a/ios.md +++ b/ios.md @@ -1,45 +1,33 @@ +# Supported Platforms -> ==**Announcement**==: As of 3.0 Lottie has been completely rewritten in Swift 4.2! For Objective-C support please use Lottie 2.5.3. Read Migration doc [Here](/ios-migration.md). - -## Contents - -- [Installing Lottie](#installing-lottie) -- [Quick Start](#quick-start) -- [Animation Model](#animation-model) - - [Loading Animation](#loading-animation) -- [Animation View](#animation-view) - - [Supplying Images](#supplying-images) - - [Playing Animations](#playing-animations) - - [Animation Settings](#animation-settings) - - [Using Markers](#using-markers) - - [Dynamic Animation Properties](#dynamic-animation-properties) - - [Adding Views to Animations](#adding-views-to-animations) - - [Enabling and Disabling Animation Nodes](#enabling-and-disabling-animation-nodes) -- [Image Provider](#image-provider) - - [BundleImageProvider](#bundleimageprovider) - - [FilepathImageProvider](#filepathimageprovider) -- [Animation Cache](#animation-cache) - - [LRUAnimationCache](#lruanimationcache) -- [Value Providers](#value-providers) - - [Primitives](#primitives) - - [Prebuilt Providers](#prebuilt-providers) -- [Animated Control](#animated-control) -- [Animated Switch](#animated-switch) -- [Animated Button](#animated-button) -- [Examples](#examples) - - [Changing Animations at Runtime](#changing-animations-at-runtime) -- [Supported After Effects Features](#supported-after-effects-features) -- [Alternatives](#alternatives) -- [Why is it Called Lottie?](#why-is-it-called-lottie) -- [Contributing](#contributing) -- [Issues or Feature Requests?](#issues-or-feature-requests) -## Installing Lottie -Lottie supports [CocoaPods](https://cocoapods.org/) and [Carthage](https://github.com/Carthage/Carthage) (Both dynamic and static). Lottie is written in ***Swift 4.2***. -### Github Repo - -You can pull the [Lottie Github Repo](https://github.com/airbnb/lottie-ios/) and include the Lottie.xcodeproj to build a dynamic or static library. - -### CocoaPods +The [lottie-ios](https://github.com/airbnb/lottie-ios) package supports iOS, macOS, tvOS, and visionOS. + +# Installing Lottie + +Lottie supports [Swift Package Manager](https://www.swift.org/package-manager/), [CocoaPods](https://cocoapods.org/), and [Carthage](https://github.com/Carthage/Carthage) (Both dynamic and static). + +## Github Repo + +You can pull the [Lottie Github Repo](https://github.com/airbnb/lottie-ios/) and include the `Lottie.xcodeproj` to build a dynamic or static library. + +## Swift Package Manager + +To install Lottie using [Swift Package Manager](https://github.com/apple/swift-package-manager) you can follow the [tutorial published by Apple](https://developer.apple.com/documentation/xcode/adding_package_dependencies_to_your_app) using the URL for the Lottie repo with the current version: + +1. In Xcode, select โ€œFileโ€ โ†’ โ€œAdd Packages...โ€ +1. Enter https://github.com/airbnb/lottie-spm.git + +or you can add the following dependency to your `Package.swift`: + +```swift +.package(url: "https://github.com/airbnb/lottie-spm.git", from: "4.2.0") +``` + +When using Swift Package Manager we recommend using the [lottie-spm](https://github.com/airbnb/lottie-spm) repo instead of the main lottie-ios repo. The main git repository for [lottie-ios](https://github.com/airbnb/lottie-ios) is somewhat large (300+ MB), and Swift Package Manager always downloads the full repository with all git history. The [lottie-spm](https://github.com/airbnb/lottie-spm) repo is much smaller (less than 500kb), so can be downloaded much more quickly. + +Instead of downloading the full git history of Lottie and building it from source, the lottie-spm repo just contains a pointer to the precompiled XCFramework included in the [latest lottie-ios release](https://github.com/airbnb/lottie-ios/releases/latest) (typically ~8MB). If you prefer to include Lottie source directly your project, you can directly depend on the main lottie-ios repo by referencing `https://github.com/airbnb/lottie-ios.git` instead. + +## CocoaPods Add the pod to your Podfile: ```ruby pod 'lottie-ios' @@ -49,11 +37,12 @@ And then run: ```ruby pod install ``` -After installing the cocoapod into your project import Lottie with +After installing the cocoapod into your project import Lottie with ```swift import Lottie ``` -### Carthage + +## Carthage Add Lottie to your Cartfile: ``` github "airbnb/lottie-ios" "master" @@ -65,25 +54,28 @@ carthage update ``` In your application targets โ€œGeneralโ€ tab under the โ€œLinked Frameworks and Librariesโ€ section, drag and drop lottie-ios.framework from the Carthage/Build/iOS directory that `carthage update` produced. -[Back to contents](#contents) - -## Quick Start +# Quick Start Lottie loads and renders animations and vectors exported in the bodymovin JSON format. Bodymovin JSON can be created and exported from After Effects with [bodymovin](https://github.com/bodymovin/bodymovin), Sketch with [Lottie Sketch Export](https://github.com/buba447/Lottie-Sketch-Export), and from [Haiku](https://www.haiku.ai). - - Lottie-iOS looks to `UIImageView` for its API. The basic API is broken into two parts: - - `Animation` - The backing model for an animation that is deserialized from a json file. - - `AnimationView` - A `UIView` subclass responsible for loading and rendering the `Animation` + +Lottie provides components for displaying and rendering Lottie animations, which are compatible with SwiftUI, UIKit, and Core Animation: + - `LottieAnimationLayer`: a Core Animation `CALayer` subclass that renders Lottie animations + - `LottieAnimationView`: a UIKit `UIView` subclass that wraps `LottieAnimationLayer` and provides the same set of APIs. + - `LottieView`: a SwiftUI `View` that wraps the UIKit `LottieAnimationView` and provides a SwiftUI-style declarative API. + +`LottieAnimation` is the main type for representing a Lottie animation. It supplies many static helper methods for loading `LottieAnimation`s, including asynchronously from URLs. Lottie also supports the [dotLottie](https://dotlottie.io/) format, available as the `DotLottieFile` type. + +## UIKit You can quickly load a Lottie animation with: ```swift -let starAnimationView = AnimationView(name: "StarAnimation") +let starAnimationView = LottieAnimationView(name: "StarAnimation") ``` -Additionally you can choose to load an `AnimationView` without any animation, and set the animation later: +Additionally you can choose to load an `LottieAnimationView` without any animation, and set the animation later: ```swift -let starAnimationView = AnimationView() +let starAnimationView = LottieAnimationView() /// Some time later -let starAnimation = Animation.named("StarAnimation") +let starAnimation = LottieAnimation.named("StarAnimation") starAnimationView.animation = starAnimation ``` You can load animations from a specific bundle, a filepath, or even asynchronously from a URL. Read more about loading animations [Here](#loading-animation) @@ -91,26 +83,62 @@ You can load animations from a specific bundle, a filepath, or even asynchronous After loading an animation it can be played with: ```swift starAnimationView.play { (finished) in - /// Animation finished + /// LottieAnimation finished } ``` Read more about playing animations [Here](#playing-animations) -[Back to contents](#contents) -## Animation Model -The `Animation` model is the top level model object in Lottie. An `Animation` holds all of the animation data backing a Lottie Animation. `Animations` are deserialized from JSON. -Codable; see JSON schema [here](https://github.com/airbnb/lottie-web/tree/master/docs/json). +## SwiftUI + +The `LottieView` SwiftUI view provides many of the same APIs as the UIKit `LottieAnimationView`. + +For example, here's how you load and play a simple local animation: + +```swift +LottieView(animation: .named("StarAnimation")) + .play() +``` + +`LottieView` also provides a convenient API for loading animations asynchronously, e.g. by downloading them from a URL: + +```swift +LottieView { + try await LottieAnimation.loadedFrom(url: myAnimationDownloadURL) +} +.play() +``` + +You can use an `@State` property with a `LottiePlaybackMode` to control animation playback. For example, here's how you can trigger an animation to be played in response to a button being pressed: + +```swift +@State var playbackMode = LottiePlaybackMode.pause + +var body: some View { + LottieView(animation: .named("StarAnimation")) + .play(playbackMode) + .animationDidFinish { _ in + playbackMode = .pause + } + + Button { + playbackMode = .fromProgress(0, toProgress: 1, loopMode: .playOnce) + } label: { + Image(systemName: "play.fill") + } +} +``` - `Animation` is also fully `codable`. ==Animations can be decoded, and encoded to JSON!== +# LottieAnimation Model +The `LottieAnimation` model is the top level model object in Lottie. An `LottieAnimation` holds all of the animation data backing a Lottie LottieAnimation. `LottieAnimation`s are deserialized from JSON using the schema defined [here](https://github.com/airbnb/lottie-web/tree/master/docs/json). -### Loading Animation -There are a variety of ways to load an `Animation` on its own. Additionally you can load an animation while allocating an `AnimationView` through one of the convenience initializers on `AnimationView`. +## Loading LottieAnimation +There are a variety of ways to load an `LottieAnimation` on its own. Additionally you can load an animation while initializing an `LottieAnimationView` through one of the convenience initializers on `LottieAnimationView`. -Animations can be stored in an `AnimationCacheProvider` to reduce the overhead of deserializing the same animations over and over. Read more [here](#animation-cache). +Animations can be stored in an `AnimationCacheProvider` to reduce the overhead of deserializing the same animations over and over. Read more [here](#animation-cache). # -#### Loading from a Bundle +### Loading from a Bundle ```swift -Animation.named(_ name: String, bundle: Bundle, subdirectory: String?, animationCache: AnimationCacheProvider?) -> Animation? +LottieAnimation.named(_ name: String, bundle: Bundle, subdirectory: String?, animationCache: AnimationCacheProvider?) -> LottieAnimation? ``` Loads an animation model from a bundle by its name. Returns `nil` if an animation is not found. @@ -123,18 +151,18 @@ Parameters: Example: ```swift /// Load from the main bundle. -let animation = Animation.named("StarAnimation") +let animation = LottieAnimation.named("StarAnimation") /// Load from a specific bundle/ -let animation = Animation.named("StarAnimation", bundle: myBundle) +let animation = LottieAnimation.named("StarAnimation", bundle: myBundle) /// Load from a subdirectory in a bundle. -let animation = Animation.named("StarAnimation", subdirectory: "Animations") +let animation = LottieAnimation.named("StarAnimation", subdirectory: "Animations") /// Load with an animation cache. -let animation = Animation.named("StarAnimation", animationCache: LRUAnimationCache.sharedCache) +let animation = LottieAnimation.named("StarAnimation", animationCache: LRUAnimationCache.sharedCache) ``` -# -#### Loading from a Filepath + +### Loading from a Filepath ```swift -Animation.filepath(_ filepath: String, animationCache: AnimationCacheProvider?) -> Animation? +LottieAnimation.filepath(_ filepath: String, animationCache: AnimationCacheProvider?) -> LottieAnimation? ``` Loads an animation model from an absolute filepath. Returns `nil` if an animation is not found. @@ -144,37 +172,34 @@ Parameters: Example: ```swift -let animation = Animation(filepathURL.path, animationCache: LRUAnimationCache.sharedCache) +let animation = LottieAnimation(filepathURL.path, animationCache: LRUAnimationCache.sharedCache) ``` -[Back to contents](#contents) -## Animation View -`AnimationView` is a UIView (NSView on macOS) subclass that displays animation content. `AnimationView` offers a number of ways to load, play, and even change animations. +# LottieAnimation View +`LottieAnimationView` is a UIView (NSView on macOS) subclass that displays animation content. `LottieAnimationView` offers a number of ways to load, play, and even change animations. Lottie is also available as a `LottieView` SwiftUI `View` and a `LottieAnimationLayer` Core Animation `CALayer`. -### Creating Animation Views -Animation views can be allocated with or without animation data. There are a handful of convenience initializers for initializing with animations. +## Creating LottieAnimation Views +LottieAnimation views can be allocated with or without animation data. There are a handful of convenience initializers for initializing with animations. -# -### Supplying Images -`AnimationView` uses `AnimationImageProvider` to retrieve the images for its animation. -An image provider can be supplied when the Animation View is initialized, or after by setting its `imageProvider` property. -To force an AnimationView to reload its images call `reloadImages()` on the AnimationView. +## Supplying Images +`LottieAnimationView` uses `AnimationImageProvider` to retrieve the images for its animation. +An image provider can be supplied when the LottieAnimation View is initialized, or after by setting its `imageProvider` property. +To force an LottieAnimationView to reload its images call `reloadImages()` on the LottieAnimationView. Read more about `AnimationImageProvider` [here](#image-provider) -# -### Playing Animations -#### Time +## Playing Animations +### Time There are several methods for playing animations, and portions of animations. Lottie describes Time in three ways: - Frame Time - Describes time in a frames per second format. `(Seconds * Framerate)` *eg: 0.5 second is FrameTime 12 when framerate is 24*. - Progress Time - Describes time in progress from 0 (the beginning of the animation timeline) to 1 (the end of the animation timeline). - Time - Describes time in seconds. -All three can be used to play and set time on an `AnimationView` -# -#### Basic Playing +All three can be used to play and set time on an `LottieAnimationView` + +### Basic Playing ```swift -AnimationView.play(completion: LottieCompletionBlock?) +LottieAnimationView.play(completion: LottieCompletionBlock?) ``` Plays the animation from its current state to the end of its timeline. Calls the completion block when the animation is stopped. @@ -183,14 +208,21 @@ Parameters: Example: ```swift -starAnimationView.play { (finished) in -/// Animation stopped +starAnimationView.play { finished in + /// LottieAnimation stopped } + +// SwiftUI LottieView API +LottieView(animation: myAnimation) + .play() + .animationDidFinish { finished in + /// LottieAnimation did finish + } ``` -# -#### Play with Progress Time + +### Play with Progress Time ```swift -AnimationView.play(fromProgress: AnimationProgressTime?, toProgress: AnimationProgressTime, loopMode: LottieLoopMode?, completion: LottieCompletionBlock?) +LottieAnimationView.play(fromProgress: AnimationProgressTime?, toProgress: AnimationProgressTime, loopMode: LottieLoopMode?, completion: LottieCompletionBlock?) ``` Plays the animation from a `Progress Time` to a `Progress Time` with options. @@ -204,11 +236,15 @@ Example: ```swift /// Play only the last half of an animation. animationView.play(fromProgress: 0.5, toProgress: 1) + +// SwiftUI LottieView API +LottieView(animation: myAnimation) + .play(.fromProgress(0.5, toProgress: 1, loopMode: .playOnce)) ``` -# -#### Play with Frame Time + +### Play with Frame Time ```swift -AnimationView.play(fromFrame: AnimationProgressTime?, toFrame: AnimationFrameTime, loopMode: LottieLoopMode?, completion: LottieCompletionBlock?) +LottieAnimationView.play(fromFrame: AnimationProgressTime?, toFrame: AnimationFrameTime, loopMode: LottieLoopMode?, completion: LottieCompletionBlock?) ``` Plays the animation from a `Frame Time` to a `Frame Time` with options. @@ -222,13 +258,18 @@ Example: ```swift /// Play from frame 24 to 48 of an animation. animationView.play(fromFrame: 24, toFrame: 48) + + +// SwiftUI LottieView API +LottieView(animation: myAnimation) + .play(.fromFrame(24, toFrame: 24, loopMode: .playOnce)) ``` -# -#### Play with Marker Names + +### Play with Marker Names ```swift -AnimationView.play(fromMarker: String?, toMarker: String, loopMode: LottieLoopMode?, completion: LottieCompletionBlock?) +LottieAnimationView.play(fromMarker: String?, toMarker: String, loopMode: LottieLoopMode?, completion: LottieCompletionBlock?) ``` -Plays the animation from a named marker to another marker. Markers are point in time that are encoded into the Animation data and assigned a name. +Plays the animation from a named marker to another marker. Markers are point in time that are encoded into the LottieAnimation data and assigned a name. Read more on Markers [here](#using-markers) ==NOTE==: If markers are not found the play command will exit. @@ -240,53 +281,62 @@ Parameters: Example: ```swift -/// Play from frame 24 to 48 of an animation. +/// Play from marker "ftue1_begin" to marker "ftue1_end" of an animation. animationView.play(fromMarker: "ftue1_begin", toMarker: "ftue1_end") + + +// SwiftUI LottieView API +LottieView(animation: myAnimation) + .play(.fromMarker("ftue1_begin", toMarker: "ftue1_end", loopMode: .playOnce)) ``` -# -#### Stop + +### Stop ```swift -AnimationView.stop() +LottieAnimationView.stop() ``` Stops the currently playing animation, if any. The animation view is reset to its start frame. The previous animation's completion block will be closed with `false` Example: ```swift animationView.stop() ``` -# -#### Pause + +### Pause ```swift -AnimationView.pause() +LottieAnimationView.pause() ``` Pauses the animation in its current state. The previous animation's completion block will be closed with `false` Example: ```swift animationView.pause() + +// SwiftUI LottieView API +LottieView(animation: myAnimation) + .playbackMode(.pause) ``` -# -### Animation Settings -`AnimationView` has a variety of settings for controlling playback, and visual state. -# -#### Content Mode + +## LottieAnimation Settings +`LottieAnimationView` has a variety of settings for controlling playback, and visual state. + +### Content Mode ```swift /// iOS -var AnimationView.contentMode: UIViewContentMode { get set } +var LottieAnimationView.contentMode: UIViewContentMode { get set } /// MacOS -var AnimationView.contentMode: LottieContentMode { get set } +var LottieAnimationView.contentMode: LottieContentMode { get set } ``` -Describes how the AnimationView should resize and scale its contents. +Describes how the LottieAnimationView should resize and scale its contents. Options: -: **scaleToFill**: Animation scaled to fill the bounds of AnimationView. The animation will be stretched if the aspect of the AnimationView is different than the Animation. -: **scaleAspectFit**: Animation will be scaled to fit the AnimationView while preserving its aspect ratio. -: **scaleAspectFill**: Animation will be scaled to fill the AnimationView while preserving its aspect ratio. -: **topLeft**: Animation will not be scaled. -# -#### Background Behavior +: **scaleToFill**: LottieAnimation scaled to fill the bounds of LottieAnimationView. The animation will be stretched if the aspect of the LottieAnimationView is different than the LottieAnimation. +: **scaleAspectFit**: LottieAnimation will be scaled to fit the LottieAnimationView while preserving its aspect ratio. +: **scaleAspectFill**: LottieAnimation will be scaled to fill the LottieAnimationView while preserving its aspect ratio. +: **topLeft**: LottieAnimation will not be scaled. + +### Background Behavior ```swift -var AnimationView.backgroundBehavior: LottieBackgroundBehavior { get set } +var LottieAnimationView.backgroundBehavior: LottieBackgroundBehavior { get set } ``` -Describes the behavior of an AnimationView when the app is moved to the background. (iOS only) +Describes the behavior of an LottieAnimationView when the app is moved to the background. (iOS only) The default is `.pause` @@ -294,114 +344,112 @@ Options: : **stop**: Stop the animation and reset it to the beginning of its current play time. The completion block is called. : **pause**: Pause the animation in its current state. The completion block is called. : **pauseAndRestore**: Pause the animation and restart it when the application moves back to the foreground. The completion block is stored and called when the animation completes. -# -#### Loop Mode + +### Loop Mode ```swift -var AnimationView.loopMode: LottieLoopMode { get set } +var LottieAnimationView.loopMode: LottieLoopMode { get set } ``` Sets the loop behavior for `play` calls. Defaults to `playOnce` Options: -: **playOnce**: Animation is played once then stops. -: **loop**: Animation will loop from end to beginning until stopped. -: **autoReverse**: Animation will play forward, then backwards and loop until stopped. -: **repeat(amount)**: Animation will loop from end to beginning up to *amount* of times. -: **repeatBackwards(amount)**: Animation will play forward, then backwards a *amount* of times. -# -#### Is Animation Playing +: **playOnce**: LottieAnimation is played once then stops. +: **loop**: LottieAnimation will loop from end to beginning until stopped. +: **autoReverse**: LottieAnimation will play forward, then backwards and loop until stopped. +: **repeat(amount)**: LottieAnimation will loop from end to beginning up to *amount* of times. +: **repeatBackwards(amount)**: LottieAnimation will play forward, then backwards a *amount* of times. + +### Is LottieAnimation Playing ```swift -var AnimationView.isAnimationPlaying: Bool { get set } +var LottieAnimationView.isAnimationPlaying: Bool { get set } ``` Returns `true` if the animation is currently playing, `false` if it is not. -# -#### Should Rasterize When Idle + +### Should Rasterize When Idle ```swift -var AnimationView.shouldRasterizeWhenIdle: Bool { get set } +var LottieAnimationView.shouldRasterizeWhenIdle: Bool { get set } ``` -When `true` the animation view will rasterize its contents when not animating. Rasterizing will improve performance of static animations. +When `true` the animation view will rasterize its contents when not animating. Rasterizing will improve performance of static animations. This may be required to avoid unexpected artifacts if your `LottieAnimationView` is not opaque with `alpha = 1.0` (e.g. if applying a crossfade to your view). ==Note:== this will not produce crisp results at resolutions above the animation's natural resolution. Defaults to `false` -# -#### Respect Animation Frame Rate + +### Respect LottieAnimation Frame Rate ```swift -var AnimationView.respectAnimationFrameRate: Bool { get set } +var LottieAnimationView.respectAnimationFrameRate: Bool { get set } ``` -When `true` the animation will play back at the framerate encoded in the `Animation` model. When `false` the animation will play at the framerate of the device. +When `true` the animation will play back at the framerate encoded in the `LottieAnimation` model. When `false` the animation will play at the framerate of the device. Defaults to `false` -# -#### Animation Speed + +### LottieAnimation Speed ```swift -var AnimationView.animationSpeed: CGFloat { get set } +var LottieAnimationView.animationSpeed: CGFloat { get set } ``` Sets the speed of the animation playback. Higher speed equals faster time. Defaults to `1` # -#### Current Progress +### Current Progress ```swift -var AnimationView.currentProgress: AnimationProgressTime { get set } +var LottieAnimationView.currentProgress: AnimationProgressTime { get set } ``` Sets the current animation time with a Progress Time. Returns the current Progress Time, or the final Progress Time if an animation is in progress. ==Note==: Setting this will stop the current animation, if any. -# -#### Current Time + +### Current Time ```swift -var AnimationView.currentTime: TimeInterval { get set } +var LottieAnimationView.currentTime: TimeInterval { get set } ``` Sets the current animation time with a TimeInterval. Returns the current TimeInterval, or the final TimeInterval if an animation is in progress. ==Note==: Setting this will stop the current animation, if any. -# -#### Current Frame + +### Current Frame ```swift -var AnimationView.currentFrame: AnimationFrameTime { get set } +var LottieAnimationView.currentFrame: AnimationFrameTime { get set } ``` Sets the current animation time with a Frame Time. Returns the current Frame Time, or the final Frame Time if an animation is in progress. ==Note==: Setting this will stop the current animation, if any. -# -#### Realtime Frame + +### Realtime Frame ```swift -var AnimationView.realtimeAnimationFrame: AnimationFrameTime { get } +var LottieAnimationView.realtimeAnimationFrame: AnimationFrameTime { get } ``` -Returns the realtime Frame Time of an AnimationView while an animation is in flight. -# -#### Realtime Progress +Returns the realtime Frame Time of an LottieAnimationView while an animation is in flight. +ress ```swift -var AnimationView.realtimeAnimationProgress: AnimationProgressTime { get } +var LottieAnimationView.realtimeAnimationProgress: AnimationProgressTime { get } ``` -Returns the realtime Progress Time of an AnimationView while an animation is in flight. -# -#### Force Display Update +Returns the realtime Progress Time of an LottieAnimationView while an animation is in flight. + +### Force Display Update ```swift -func AnimationView.forceDisplayUpdate() +func LottieAnimationView.forceDisplayUpdate() ``` -Forces the AnimationView to redraw its contents. +Forces the LottieAnimationView to redraw its contents. -# -### Using Markers + +## Using Markers Markers are a way to describe a point in time by a key name. Markers are encoded into animation JSON. By using markers a designer can mark playback points for a developer to use without having to worry about keeping track of animation frames. If the animation file is updated, the developer does not need to update playback code. -Markers can be used to [playback sections of animation](#play-with-marker-names), or can be read directly for more advanced use. Both `Animation` and `AnimationView` have methods for reading Marker Times. +Markers can be used to [playback sections of animation](#play-with-marker-names), or can be read directly for more advanced use. Both `LottieAnimation` and `LottieAnimationView` have methods for reading Marker Times. -# -#### Reading Marker Time + +### Reading Marker Time ```swift -/// Animation View Methods -AnimationView.progressTime(forMarker named: String) -> AnimationProgressTime? -AnimationView.frameTime(forMarker named: String) -> AnimationFrameTime? -/// Animation Model Methods -Animation.progressTime(forMarker named: String) -> AnimationProgressTime? -Animation.frameTime(forMarker named: String) -> AnimationFrameTime? +/// LottieAnimation View Methods +LottieAnimationView.progressTime(forMarker named: String) -> AnimationProgressTime? +LottieAnimationView.frameTime(forMarker named: String) -> AnimationFrameTime? +/// LottieAnimation Model Methods +LottieAnimation.progressTime(forMarker named: String) -> AnimationProgressTime? +LottieAnimation.frameTime(forMarker named: String) -> AnimationFrameTime? ``` Each method returns the time for the marker specified by name. Returns nil if the marker is not found. -# -### Dynamic Animation Properties -Nearly all properties of a Lottie animation can be changed at runtime using a combination of [Animation Keypaths](#animation-keypaths) and [Value Providers](#value-providers). Setting a ValueProvider on a keypath will cause the animation to update its contents and read the new Value Provider. -In addition, animation properties can be read using `Animation Keypaths`. -# -#### Setting Dynamic Properties +## Dynamic LottieAnimation Properties +Nearly all properties of a Lottie animation can be changed at runtime using a combination of [LottieAnimation Keypaths](#animation-keypaths) and [Value Providers](#value-providers). Setting a ValueProvider on a keypath will cause the animation to update its contents and read the new Value Provider. +In addition, animation properties can be read using `LottieAnimation Keypaths`. + +### Setting Dynamic Properties ```swift -AnimationView.setValueProvider(_ valueProvider: AnyValueProvider, keypath: AnimationKeypath) +LottieAnimationView.setValueProvider(_ valueProvider: AnyValueProvider, keypath: AnimationKeypath) ``` Sets a ValueProvider for the specified keypath. The value provider will be set on all properties that match the keypath. @@ -418,10 +466,10 @@ let redValueProvider = ColorValueProvider(Color(r: 1, g: 0.2, b: 0.3, a: 1)) /// Set the provider on the animationView. animationView.setValueProvider(redValueProvider, keypath: fillKeypath) ``` -# -#### Reading Animation Properties + +### Reading LottieAnimation Properties ```swift -AnimationView.getValue(for keypath: AnimationKeypath, atFrame: AnimationFrameTime?) -> Any? +LottieAnimationView.getValue(for keypath: AnimationKeypath, atFrame: AnimationFrameTime?) -> Any? ``` Reads the value of a property specified by the Keypath. Returns nil if no property is found. @@ -437,19 +485,17 @@ let fillKeypath = AnimationKeypath(keypath: "Layer 1.Group 1.Transform.Position" let position = animationView.getValue(for: fillKeypath, atFrame: nil) /// Returns Vector(10, 10, 0) for currentFrame. ``` -# -#### Logging Keypaths + +### Logging Keypaths ```swift -AnimationView.logHierarchyKeypaths() +LottieAnimationView.logHierarchyKeypaths() ``` Logs all child keypaths of the animation into the console. -# -#### Adding Views to Animations +### Adding Views to Animations Custom views can be added to AnimationViews. These views will animate alongside the animation. -# -#### Enabling and Disabling Animation Nodes +### Enabling and Disabling LottieAnimation Nodes `public func setNodeIsEnabled(isEnabled: Bool, keypath: AnimationKeypath)` @@ -463,7 +509,7 @@ An enabled node affects the render tree, a disabled node will be removed from th Example ```swift // Create an animation view. -let animation = Animation.named("LottieLogo1", subdirectory: "TestAnimations") +let animation = LottieAnimation.named("LottieLogo1", subdirectory: "TestAnimations") // Some time later. Create a keypath to find any node named "Stroke 1" let keypath1 = AnimationKeypath(keypath: "**.Stroke 1") // Disable all nodes named Stroke 1, removing them from the current render tree. @@ -472,10 +518,9 @@ animationView.setNodeIsEnabled(isEnabled: false, keypath: keypath1) animationView.setNodeIsEnabled(isEnabled: true, keypath: keypath1) ``` -# -#### Adding Subviews +### Adding Subviews ```swift -AnimationView.addSubview(_ subview: AnimationSubview, forLayerAt keypath: AnimationKeypath) +LottieAnimationView.addSubview(_ subview: AnimationSubview, forLayerAt keypath: AnimationKeypath) ``` Searches for the nearest child layer to the first Keypath and adds the subview to that layer. The subview will move and animate with the child layer. Furthermore the subview will be in the child layers coordinate space. ==Note==: if no layer is found for the keypath, then nothing happens. @@ -496,31 +541,50 @@ subview.addSubview(customView) /// Set the provider on the animationView. animationView.addSubview(subview, forLayerAt: layerKeypath) ``` -# -#### Converting CGRect and CGPoint to Layers + +### Converting CGRect and CGPoint to Layers ```swift /// Converts a rect -AnimationView.convert(_ rect: CGRect, toLayerAt keypath: AnimationKeypath) -> CGRect? +LottieAnimationView.convert(_ rect: CGRect, toLayerAt keypath: AnimationKeypath) -> CGRect? /// Converts a point -AnimationView.convert(_ point: CGPoint, toLayerAt keypath: AnimationKeypath) -> CGPoint? +LottieAnimationView.convert(_ point: CGPoint, toLayerAt keypath: AnimationKeypath) -> CGPoint? ``` -These two methods are used to convert geometry from the AnimationView's coordinate space into the coordinate space of the layer found at Keypath. +These two methods are used to convert geometry from the LottieAnimationView's coordinate space into the coordinate space of the layer found at Keypath. If no layer is found, nil is returned Parameters -: **point or rect**: The CGPoint or CGRect in the AnimationView's coordinate space to convert. +: **point or rect**: The CGPoint or CGRect in the LottieAnimationView's coordinate space to convert. : **keypath**: The keypath used to find the layer. # -[Back to contents](#contents) -## Image Provider -Image provider is a protocol that is used to supply images to `AnimationView`. -Some animations require a reference to an image. The image provider loads and provides those images to the `AnimationView`. Lottie includes a couple of prebuilt Image Providers that supply images from a Bundle, or from a FilePath. +# Rendering Engines + +Lottie for iOS includes two rendering engine implementations, which are responsible for actually displaying and rendering Lottie animations: + + - The Core Animation rendering engine (enabled by default in Lottie 4.0+) uses Core Animation `CAAnimation`s to deliver better performance than the older Main Thread rendering engine. + - The Main Thread rendering engine (the default before Lottie 4.0) runs code on the main thread once per frame to update and re-render the animation. + +You can learn more about the Core Animation rendering engine in [this post](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54) on Airbnb's Tech Blog: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)**. + +The Core Animation rendering engine and Main Thread rendering engine support different sets of functionality. For example, as of Sept 2023 the Core Animation engine doesn't support time remapping, but only the Core Animation rendering engine supports drop shadows. A complete list of supported functionality is available [here](https://airbnb.io/lottie/#/supported-features). + +Most animations are rendered exactly the same by both rendering engines, but s shown above the Core Animation rendering engine and Main Thread rendering engine support slightly different sets of functionality. + +As of [Lottie 4.0](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54), Lottie uses the Core Animation rendering engine by default. If Lottie detects that an animation uses functionality not supported by the Core Animation rendering engine, it will automatically fall back to the Main Thread rendering engine. You can also configure which rendering engine is used by configuring the `LottieConfiguration.renderingEngine`. + + +By default, if Lottie detects that an animation uses functionality not supported by the Core Animation rendering engine, it will automatically fall back to the Main Thread rendering engine. You can also configure which rendering engine is used by configuring the `LottieConfiguration.renderingEngine`. + + +# Image Provider +Image provider is a protocol that is used to supply images to `LottieAnimationView`. + +Some animations require a reference to an image. The image provider loads and provides those images to the `LottieAnimationView`. Lottie includes a couple of prebuilt Image Providers that supply images from a Bundle, or from a FilePath. Additionally custom Image Providers can be made to load images from a URL, or to Cache images. -### BundleImageProvider +## BundleImageProvider ```swift public class BundleImageProvider: AnimationImageProvider ``` @@ -532,8 +596,8 @@ let imageProvider = BundleImageProvider(bundle: Bundle.main, searchPath: "Animat /// Set the provider on an animation. animationView.imageProvider = imageProvider ``` -# -### FilepathImageProvider + +## FilepathImageProvider ```swift public class FilepathImageProvider: AnimationImageProvider ``` @@ -545,42 +609,42 @@ let imageProvider = AnimationImageProvider(filepath: url) /// Set the provider on an animation. animationView.imageProvider = imageProvider ``` -[Back to contents](#contents) -## Animation Cache -`AnimationCacheProvider` is a protocol that describes an Animation Cache. Animation Cache is used when loading `Animation` models. Using an Animation Cache can increase performance when loading an animation multiple times. +# LottieAnimation Cache + +`AnimationCacheProvider` is a protocol that describes an LottieAnimation Cache. LottieAnimation Cache is used when loading `LottieAnimation` models. Using an LottieAnimation Cache can increase performance when loading an animation multiple times. -Lottie comes with a prebuilt LRU Animation Cache. +Lottie comes with a prebuilt LRU LottieAnimation Cache. -### LRUAnimationCache -An Animation Cache that will store animations up to `cacheSize`. Once `cacheSize` is reached, the least recently used animation will be ejected. The default size of the cache is 100. +## LRUAnimationCache +An LottieAnimation Cache that will store animations up to `cacheSize`. Once `cacheSize` is reached, the least recently used animation will be ejected. The default size of the cache is 100. LRUAnimationCache has a global `sharedCache` that is used to store the animations. You may also call `LRUAnimationCache.sharedCache.clearCache()` to clear the cache. -[Back to contents](#contents) -## Value Providers -`AnyValueProvider` is a protocol that return animation data for a property at a given time. Every fame an `AnimationView` queries all of its properties and asks if their ValueProvider has an update. If it does the AnimationView will read the property and update that portion of the animation. + +# Value Providers +`AnyValueProvider` is a protocol that return animation data for a property at a given time. Every fame an `LottieAnimationView` queries all of its properties and asks if their ValueProvider has an update. If it does the LottieAnimationView will read the property and update that portion of the animation. Value Providers can be used to dynamically set animation properties at run time. -### Primitives +## Primitives ValueProviders work with a few Primitive data types. - - **Color**: A primitive that describes a color in R G B A (0-1) - - **Vector1D**: A single float value. - - **Vector3D**: A three dimensional vector. (X, Y, Z) + - **LottieColor**: A primitive that describes a color in R G B A (0-1) + - **LottieVector1D**: A single float value. + - **LottieVector3D**: A three dimensional vector. (X, Y, Z) -### Prebuilt Providers +## Prebuilt Providers Lottie comes with a handful of prebuilt providers for each Primitive Type. Each Provider can be initialized with a single value, or a block that will be called on a frame-by-frame basis. Example ```swift /// A Color Value provider that returns a reddish color. -let redValueProvider = ColorValueProvider(Color(r: 1, g: 0.2, b: 0.3, a: 1)) +let redValueProvider = ColorValueProvider(LottieColor(r: 1, g: 0.2, b: 0.3, a: 1)) /// A keypath that finds the color value for all `Fill 1` nodes. let fillKeypath = AnimationKeypath(keypath: "**.Fill 1.Color") @@ -589,13 +653,12 @@ animationView.setValueProvider(redValueProvider, keypath: fillKeypath) /// Later... /// Changing the value provider will update the animation. -redValueProvider.color = Color(r: 0, g: 0.2, b: 1, a: 1) +redValueProvider.color = LottieColor(r: 0, g: 0.2, b: 1, a: 1) ``` -[Back to contents](#contents) -## Animation Keypaths -`AnimationKeypath` is an object that describes a keypath search for nodes in the animation JSON. `AnimationKeypath` matches views and properties inside of `AnimationView` to their backing `Animation` model by name. +# LottieAnimation Keypaths +`AnimationKeypath` is an object that describes a keypath search for nodes in the animation JSON. `AnimationKeypath` matches views and properties inside of `LottieAnimationView` to their backing `LottieAnimation` model by name. -A keypath can be used to set properties on an existing animation, or can be validated with an existing `Animation`. `AnimationKeypath` can describe a specific object, or can use wildcards for fuzzy matching of objects. Acceptable wildcards are either "*" (star) or "**" (double star). Single star will search a single depth for the next object. Double star will search any depth. +A keypath can be used to set properties on an existing animation, or can be validated with an existing `LottieAnimation`. `AnimationKeypath` can describe a specific object, or can use wildcards for fuzzy matching of objects. Acceptable wildcards are either "*" (star) or "**" (double star). Single star will search a single depth for the next object. Double star will search any depth. An `AnimationKeypath` can be initialized with a dot-separated keypath, or with an array of keys. @@ -615,8 +678,7 @@ Code Example: let fillKeypath = AnimationKeypath(keypath: "**.Fill 1.Color") ``` -[Back to contents](#contents) -## Animated Control +# Animated Control Lottie comes prepacked with a two Animated Controls, `AnimatedSwitch` and `AnimatedButton`. Both of these controls are built on top of `AnimatedControl` `AnimatedControl` is a subclass of `UIControl` that provides an interactive mechanism for controlling the visual state of an animation in response to user actions. @@ -625,8 +687,9 @@ The `AnimatedControl` will show and hide layers depending on the current `UICont Users of `AnimationControl` can set a Layer Name for each `UIControl.State`. When the state is change the `AnimationControl` will change the visibility of its layers. -[Back to contents](#contents) -## Animated Switch +# Animated Switch + +Also available as `LottieSwitch`, a SwiftUI `View` implementation. ![SwitchButton](images/switchTest.gif) @@ -641,8 +704,11 @@ public func setProgressForState(fromProgress: AnimationProgressTime, toProgress: AnimationProgressTime, forState onState: Bool) ``` -[Back to contents](#contents) -## Animated Button + +# Animated Button + +Also available as `LottieButton`, a SwiftUI `View` implementation. + ![HeartButton](images/HeartButton.gif) An interactive button that plays an animation when pressed. @@ -665,7 +731,7 @@ Example: let twitterButton = AnimatedButton() twitterButton.translatesAutoresizingMaskIntoConstraints = false /// Set an animation on the button. -twitterButton.animation = Animation.named("TwitterHeartButton", subdirectory: "TestAnimations") +twitterButton.animation = LottieAnimation.named("TwitterHeartButton", subdirectory: "TestAnimations") /// Turn off clips to bounds, as the animation goes outside of the bounds. twitterButton.clipsToBounds = false /// Set animation play ranges for touch states @@ -674,37 +740,37 @@ twitterButton.setPlayRange(fromMarker: "touchDownEnd", toMarker: "touchUpCancel" twitterButton.setPlayRange(fromMarker: "touchDownEnd", toMarker: "touchUpEnd", event: .touchUpInside) view.addSubview(twitterButton) ``` -[Back to contents](#contents) -## Examples -### Changing Animations at Runtime +# Examples + +## Changing Animations at Runtime Lottie can do more than just play beautiful animations. Lottie allows you to **change** animations at runtime. -### Say we want to create 4 toggle switches. +## Say we want to create 4 toggle switches. ![Toggle](images/switch_Normal.gif) It's easy to create the four switches and play them: ```swift -let animationView = AnimationView(name: "toggle"); +let animationView = LottieAnimationView(name: "toggle"); self.view.addSubview(animationView) animationView.play() -let animationView2 = AnimationView(name: "toggle"); +let animationView2 = LottieAnimationView(name: "toggle"); self.view.addSubview(animationView2) animationView2.play() -let animationView3 = AnimationView(name: "toggle"); +let animationView3 = LottieAnimationView(name: "toggle"); self.view.addSubview(animationView3) animationView3.play() -let animationView4 = AnimationView(name: "toggle"); +let animationView4 = LottieAnimationView(name: "toggle"); self.view.addSubview(animationView4) animationView4.play() ``` -### Now lets change their colors +## Now lets change their colors ![Recolored Toggle](images/switch_BgColors.gif) ```swift @@ -726,128 +792,33 @@ animationView3.setValueProvider(redValueProvider, keypath: keypath) animationView4.setValueProvider(orangeValueProvider, keypath: keypath) ``` The keyPath is a dot separated path of layer and property names from After Effects. -AnimationView provides `func logHierarchyKeypaths()` which will recursively log all settable keypaths for the animation. +LottieAnimationView provides `func logHierarchyKeypaths()` which will recursively log all settable keypaths for the animation. ![Key Path](images/aftereffectskeypath.png) "BG-On.Group 1.Fill 1.Color" -### Now lets change a couple of properties +## Now lets change a couple of properties ![Multiple Colors](images/switch_MultipleBgs.gif) Lottie allows you to change **any** property that is animatable in After Effects. -[Back to contents](#contents) - -# -## Supported After Effects Features - -See Supported Features by platform [here](/supported-features.md) -| **Shapes** | **2.5.2** | **3.0** | -|:--|:-:|:-:| -| Shape | ๐Ÿ‘ | ๐Ÿ‘ | -| Ellipse | ๐Ÿ‘ | ๐Ÿ‘ | -| Rectangle | ๐Ÿ‘ | ๐Ÿ‘ | -| Rounded Rectangle | ๐Ÿ‘ | ๐Ÿ‘ | -| Polystar | ๐Ÿ‘ | ๐Ÿ‘ | -| Group | ๐Ÿ‘ | ๐Ÿ‘ | -| Repeater | ๐Ÿ‘ | โ›”๏ธ | -| Trim Path (individually) | โ›”๏ธ | ๐ŸŽ‰ | -| Trim Path (simultaneously) | โ—๏ธ | ๐ŸŽ‰ | -| **Renderable** | **2.5.2** | **3.0** | -| Fill | ๐Ÿ‘ | ๐Ÿ‘ | -| Stroke | ๐Ÿ‘ | ๐Ÿ‘ | -| Radial Gradient | ๐Ÿ‘ | ๐Ÿ‘ | -| Linear Gradient | ๐Ÿ‘ | ๐Ÿ‘ | -| Gradient Stroke | โ›”๏ธ | ๐ŸŽ‰ | -| **Transforms** | **2.5.2** | **3.0** | -| Position | ๐Ÿ‘ | ๐Ÿ‘ | -| Position (separated X/Y) | โ—๏ธ | ๐Ÿ‘ | -| Scale | ๐Ÿ‘ | ๐Ÿ‘ | -| Skew | โ›”๏ธ | ๐ŸŽ‰ | -| Rotation | ๐Ÿ‘ | ๐Ÿ‘ | -| Anchor Point | ๐Ÿ‘ | ๐Ÿ‘ | -| Opacity | ๐Ÿ‘ | ๐Ÿ‘ | -| Parenting | ๐Ÿ‘ | ๐Ÿ‘ | -| Auto Orient | โ›”๏ธ | โ›”๏ธ | -| **Interpolation** | **2.5.2** | **3.0** | -| Linear Interpolation | โ—๏ธ | ๐ŸŽ‰ | -| Bezier Interpolation | ๐Ÿ‘ | ๐Ÿ‘ | -| Hold Interpolation | ๐Ÿ‘ | ๐Ÿ‘ | -| Spatial Bezier Interpolation | โ—๏ธ | ๐ŸŽ‰ | -| Rove Across Time | ๐Ÿ‘ | ๐Ÿ‘ | -| **Masks** | **2.5.2** | **3.0** | -| Mask Path | ๐Ÿ‘ | ๐Ÿ‘ | -| Mask Opacity | ๐Ÿ‘ | ๐Ÿ‘ | -| Add | ๐Ÿ‘ | ๐Ÿ‘ | -| Subtract | โ—๏ธ | ๐ŸŽ‰ | -| Intersect | โ›”๏ธ | ๐ŸŽ‰ | -| Lighten | โ›”๏ธ | โ›”๏ธ | -| Darken | โ›”๏ธ | โ›”๏ธ | -| Difference | โ›”๏ธ | โ›”๏ธ | -| Expansion | โ›”๏ธ | โ›”๏ธ | -| Feather | โ›”๏ธ | โ›”๏ธ | -| **Mattes** | **2.5.2** | **3.0** | -| Alpha Matte | ๐Ÿ‘ | ๐Ÿ‘ | -| Alpha Inverted Matte | โ›”๏ธ | ๐ŸŽ‰ | -| Luma Matte | โ›”๏ธ | โ›”๏ธ | -| Luma Inverted Matte | โ›”๏ธ | โ›”๏ธ | -| **Merge Paths** | **2.5.2** | **3.0** | -| Merge | โ›” | โ›” | -| Add | โ›” | โ›” | -| Subtract | โ›” | โ›” | -| Intersect | โ›” | โ›” | -| Exclude Intersection | โ›” | โ›” | -| **Layer Effects** | **2.5.2** | **3.0** | -| Fill | โ›”๏ธ | โ›”๏ธ | -| Stroke | โ›”๏ธ | โ›”๏ธ | -| Tint | โ›”๏ธ | โ›”๏ธ | -| Tritone | โ›”๏ธ | โ›”๏ธ | -| Levels Individual Controls | โ›”๏ธ | โ›”๏ธ | -| **Text** | **2.5.2** | **3.0** | -| Glyphs | โ›”๏ธ | โ›”๏ธ | -| Fonts | โ›”๏ธ | ๐ŸŽ‰ | -| Transform | โ›”๏ธ |๐ŸŽ‰ | -| Fill | โ›”๏ธ | ๐ŸŽ‰ | -| Stroke | โ›”๏ธ | ๐ŸŽ‰ | -| Tracking | โ›”๏ธ | ๐ŸŽ‰ | -| Anchor point grouping | โ›”๏ธ | โ›”๏ธ | -| Text Path | โ›” | โ›”๏ธ | -| Per-character 3D | โ›” | โ›”๏ธ | -| Range selector (Units) | โ›” | โ›”๏ธ | -| Range selector (Based on) | โ›” | โ›”๏ธ | -| Range selector (Amount) | โ›” | โ›”๏ธ | -| Range selector (Shape) | โ›” | โ›”๏ธ | -| Range selector (Ease High) | โ›” | โ›”๏ธ | -| Range selector (Ease Low) | โ›” | โ›”๏ธ | -| Range selector (Randomize order) | โ›” | โ›”๏ธ | -| expression selector | โ›” | โ›”๏ธ | -| **Other** | **2.5.2** | **3.0** | -| Expressions | โ›”๏ธ | โ›”๏ธ | -| Images | ๐Ÿ‘ | ๐Ÿ‘ | -| Precomps | ๐Ÿ‘ | ๐Ÿ‘ | -| Time Stretch | โ›”๏ธ | ๐Ÿ‘ | -| Time remap | โ›”๏ธ | ๐Ÿ‘ | -| Markers | โ›”๏ธ | ๐ŸŽ‰ | - -[Back to contents](#contents) -## Alternatives +# Alternatives 1. Build animations by hand. Building animations by hand is a huge time commitment for design and engineering across Android and iOS. It's often hard or even impossible to justify spending so much time to get an animation right. 2. [Facebook Keyframes](https://github.com/facebookincubator/Keyframes). Keyframes is a wonderful new library from Facebook that they built for reactions. However, Keyframes doesn't support some of Lottie's features such as masks, mattes, trim paths, dash patterns, and more. 2. Gifs. Gifs are more than double the size of a bodymovin JSON and are rendered at a fixed size that can't be scaled up to match large and high density screens. 3. Png sequences. Png sequences are even worse than gifs in that their file sizes are often 30-50x the size of the bodymovin json and also can't be scaled up. -[Back to contents](#contents) -## Why is it Called Lottie? +# Why is it Called Lottie? Lottie is named after a German film director and the foremost pioneer of silhouette animation. Her best known films are The Adventures of Prince Achmed (1926) โ€“ the oldest surviving feature-length animated film, preceding Walt Disney's feature-length Snow White and the Seven Dwarfs (1937) by over ten years. [The art of Lotte Reineger](https://www.youtube.com/watch?v=LvU55CUw5Ck&feature=youtu.be) -[Back to contents](#contents) -## Contributing -Contributors are more than welcome. Just upload a PR with a description of your changes. -To get ramped up on how Lottie-iOS works, read through the [Contributor Documentation](/ios-contributor.md) +# Contributing +Contributors are more than welcome. Just post a PR with a description of your changes. For larger changes, please open a discussion first to help build alignment on the necessary changes and the design direction. + +# Issues or Feature Requests? + +Use GitHub issues for for filing bug reports about crashes, regressions, unexpected behavior, etc. Be sure to check the [list of supported features](https://airbnb.io/lottie/#/supported-features) before submitting. If an animation is not working, please attach the After Effects file or animation JSON file to your issue. -[Back to contents](#contents) -## Issues or Feature Requests? -File github issues for anything that is broken. Be sure to check the [list of supported features](#supported-after-effects-features) before submitting. If an animation is not working, please attach the After Effects file to your issue. Debugging without the original can be very difficult. Lottie is developed and maintained by [Brandon Withrow](mailto:brandon@withrow.io). Feel free to reach out via [email](mailto:brandon@withrow.io) or [Twitter](https://twitter.com/theWithra) +If you have a question or feature request, please start a discussion here: +https://github.com/airbnb/lottie-ios/discussions -[Back to contents](#contents) diff --git a/sponsorship.md b/sponsorship.md index 84bb119..b89a007 100644 --- a/sponsorship.md +++ b/sponsorship.md @@ -1,18 +1,9 @@ # Sponsorship -Lottie is an open source project built and maintained by a single or very small group of people per platform. Almost all support and work is done on nights and weekends outside of any full time jobs. If you use Lottie and want to support its ongoing development, please considering having you or your company Sponsor Lottie. Each repo has a sponsorship section on the right side of the main repo with links to GitHub Sponsors and Open Collective. - -## Github Sponsors - -For [GitHub Sponsors](https://github.com/sponsors), contributions can be made from either an individual or an organization/company. Contributions are sent directly to specific maintainers of the project. - -Most Lottie platforms are maintained by a single person. You can sponsor them here: -* Android: [Gabriel Peal](https://github.com/sponsors/gpeal) -* iOS: [Brandon Withrow](https://github.com/sponsors/buba447) -* Web: [Hernan Torrisi](https://github.com/bodymovin) (not accepting sponsorship at this time) +Lottie is an open source project built and maintained by a single or very small group of people per platform. Almost all support and work is done on nights and weekends outside of any full time jobs. If you use Lottie and want to support its ongoing development, please considering having you or your company Sponsor Lottie. Each repo has a sponsorship section on the right side of the main repo with links to Open Collective or GitHub Sponsors. ## Open Collective -Lottie also accepts sponsorship via [Open Collective](https://opencollective.com/lottie). +Lottie accepts sponsorship via [Open Collective](https://opencollective.com/lottie). ## Why Sponsor Lottie? diff --git a/supported-features.md b/supported-features.md index 84126c5..fdc0235 100644 --- a/supported-features.md +++ b/supported-features.md @@ -1,105 +1,118 @@ # Supported Features -| **Shapes** | **Android** | **iOS** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| **Shapes** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web** (SVG) | **Web** (Canvas) | **Web** (HTML) | |:--|:-:|:-:|:-:|:-:|:-:|:-:| -| Shape | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Ellipse | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Rectangle | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Rounded Rectangle | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Polystar | ๐Ÿ‘ | ๐Ÿ‘ | ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธโ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Group | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Repeater | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Trim Path (individually) | ๐Ÿ‘ | ๐Ÿ‘ | ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธโ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Trim Path (simultaneously) | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| **Fills** | **Android** | **iOS** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| Shape | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Ellipse | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Rectangle | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Rounded Rectangle | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Polystar | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Group | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Repeater | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Trim Path (individually) | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Trim Path (simultaneously) | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| **Fills** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | | Color | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Opacity | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Fill Rule | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Radial Gradient | ๐Ÿ‘ | ๐Ÿ‘ | ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Linear Gradient | ๐Ÿ‘ | ๐Ÿ‘ | ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| **Strokes** | **Android** | **iOS** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | -| Color | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Opacity | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Width | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Line Cap | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Line Join | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Miter Limit | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Dashes | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Gradient | ๐Ÿ‘ | ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๐Ÿ‘ | ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| **Transforms** | **Android** | **iOS** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | -| Position | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Position (separated X/Y) | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Scale | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Rotation | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Anchor Point | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Opacity | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Parenting | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Auto Orient | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Skew | โ“ | ๐Ÿ‘ | โ“ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| **Interpolation** | **Android** | **iOS** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | -| Linear Interpolation | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Bezier Interpolation | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Hold Interpolation | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Spatial Bezier Interpolation | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Rove Across Time | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| **Masks** | **Android** | **iOS** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | -| Mask Path | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Mask Opacity | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Add | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Subtract | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Intersect | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๏ธโ›” | โ›” | โ›” | -| Lighten | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›” | โ›” | -| Darken | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›” | โ›” | -| Difference | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›” | โ›” | -| Expansion | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | -| Feather | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›” | โ›” | -| **Mattes** | **Android** | **iOS** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | -| Alpha Matte | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Alpha Inverted Matte | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Luma Matte | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | -| Luma Inverted Matte | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | -| **Merge Paths** | **Android** | **iOS** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | -| Merge | ๐Ÿ‘ (KitKat+) | โ›” | ๐Ÿ‘ | โ›” | โ›” | โ›” | -| Add | ๐Ÿ‘ (KitKat+) | โ›” | ๐Ÿ‘ | โ›” | โ›” | โ›” | -| Subtract | ๐Ÿ‘ (KitKat+) | โ›” | ๐Ÿ‘ | โ›” | โ›” | โ›” | -| Intersect | ๐Ÿ‘ (KitKat+) | โ›” | ๐Ÿ‘ | โ›” | โ›” | โ›” | -| Exclude Intersection | ๐Ÿ‘ (KitKat+) | โ›” | ๐Ÿ‘ | โ›” | โ›” | โ›” | -| **Layer Effects** | **Android** | **iOS** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | -| Fill | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Stroke | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Tint | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Tritone | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Levels Individual Controls | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ” | ๐Ÿ‘ | ๐Ÿ‘ | -| Gaussian blur | ๐Ÿ‘ (4.1+) | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | -| Drop Shadows | ๐Ÿ‘ (4.1+) | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | -| **Text** | **Android** | **iOS** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | -| Glyphs | ๐Ÿ‘ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Fonts | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Transform | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Fill | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Stroke | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Tracking | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Anchor point grouping | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Text Path | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Per-character 3D | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Range selector (Units) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Range selector (Based on) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Range selector (Amount) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Range selector (Shape) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Range selector (Ease High) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Range selector (Ease Low) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Range selector (Randomize order) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| expression selector | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| **Other** | **Android** | **iOS** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | -| Expressions | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Images | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Precomps | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Time Stretch | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Time remap | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Markers | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| **Strokes** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| Color | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Opacity | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Width | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Line Cap | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Line Join | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Miter Limit | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Dashes | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Gradient | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| **Transforms** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| Position | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Position (separated X/Y) | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Scale | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Rotation | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Anchor Point | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Opacity | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Parenting | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Auto Orient | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Skew | โ“ | ๐Ÿ‘ | ๐Ÿ‘ | โ“ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| **Interpolation** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| Linear Interpolation | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Bezier Interpolation | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Hold Interpolation | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Spatial Bezier Interpolation | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Rove Across Time | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| **Masks** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| Mask Path | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Mask Opacity | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Add | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Subtract | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Intersect | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | โ›” | โ›” | โ›” | +| Lighten | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›” | โ›” | +| Darken | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›” | โ›” | +| Difference | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›” | โ›” | +| Expansion | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | +| Feather | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›” | โ›” | +| **Mattes** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| Alpha Matte | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Alpha Inverted Matte | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Luma Matte | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | +| Luma Inverted Matte | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | +| **Merge Paths** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| Merge | ๐Ÿ‘ (KitKat+) | โ›” | โ›” | ๐Ÿ‘ | โ›” | โ›” | โ›” | +| Add | ๐Ÿ‘ (KitKat+) | โ›” | โ›” | ๐Ÿ‘ | โ›” | โ›” | โ›” | +| Subtract | ๐Ÿ‘ (KitKat+) | โ›” | โ›” | ๐Ÿ‘ | โ›” | โ›” | โ›” | +| Intersect | ๐Ÿ‘ (KitKat+) | โ›” | โ›” | ๐Ÿ‘ | โ›” | โ›” | โ›” | +| Exclude Intersection | ๐Ÿ‘ (KitKat+) | โ›” | โ›” | ๐Ÿ‘ | โ›” | โ›” | โ›” | +| **Layer Effects** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| Fill | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Stroke | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Tint | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Tritone | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Levels Individual Controls | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ” | ๐Ÿ‘ | ๐Ÿ‘ | +| Gaussian blur | ๐Ÿ‘ (4.1+) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | +| Drop Shadows | ๐Ÿ‘ (4.1+) | ๐Ÿ‘ | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | +| **Text** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| Glyphs | ๐Ÿ‘ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Fonts | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Transform | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Fill | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Stroke | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Tracking | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Anchor point grouping | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Text Path | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Per-character 3D | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Range selector (Units) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Range selector (Based on) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Range selector (Amount) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Range selector (Shape) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Range selector (Ease High) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Range selector (Ease Low) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Range selector (Randomize order) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| expression selector | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| **Other** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| Expressions | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Images | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Precomps | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Time Stretch | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Time remap | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Markers | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ## Drop Shadows and Gaussian Blurs on Android Drop shadows and gaussian blur effects on Android are applied on each fill or stroke not on the final layer. This has the following side effects: * If you have many shapes in a layer that has a drop shadow, each shape will get its own shadow and it may appear darker in some areas than others due to overlapping shadows. * If your blur or shadow extends beyond the bounds of a precomp, the blur or shadow will be clipped. To avoid this, add padding to your precomp. * Dynamic properties must target the individual fill or strokes that have a blur or shadow even if the effect is applied on the whole layer. The easiest way to do this is to append "**" after the layer name in the KeyPath. This will apply the dynamic property to all applicable children within the layer. + +## iOS: Core Animation rendering engine vs Main Thread rendering engine + +Lottie for iOS includes two rendering engine implementations, which are responsible for actually displaying and rendering Lottie animations: + + - The Core Animation rendering engine (enabled by default in Lottie 4.0+) uses Core Animation `CAAnimation`s to deliver better playback performance than the older Main Thread rendering engine. + - The Main Thread rendering engine (the default before Lottie 4.0) runs code on the main thread once per frame to update and re-render the animation. + +You can learn more about the Core Animation rendering engine in [this post](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54) on Airbnb's Tech Blog: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)**. + +Most animations are rendered exactly the same by both rendering engines, but as shown above the Core Animation rendering engine and Main Thread rendering engine support slightly different sets of functionality. + +As of [Lottie 4.0](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54), Lottie uses the Core Animation rendering engine by default. If Lottie detects that an animation uses functionality not supported by the Core Animation rendering engine, it will automatically fall back to the Main Thread rendering engine. You can also configure which rendering engine is used by configuring the `LottieConfiguration.renderingEngine`. From 82f762dcd18e246c169b912d636c68c03946a151 Mon Sep 17 00:00:00 2001 From: Nayan Radadiya Date: Tue, 12 Sep 2023 02:38:37 +0530 Subject: [PATCH 56/81] Fixed 'instal' typo on contribute page (#200) From bf94172a2ae59e2dd621842b00ef49f8d9afb716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateo=20Guzm=C3=A1n?= Date: Mon, 11 Sep 2023 23:12:10 +0200 Subject: [PATCH 57/81] Updating react-native troubleshooting links (#216) --- react-native.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/react-native.md b/react-native.md index 53930fc..3d38dd3 100644 --- a/react-native.md +++ b/react-native.md @@ -248,4 +248,5 @@ LottieReactNative/LRNContainerView.h: 'Lottie/Lottie.h' file not found Add the `Lottie.framework` to the `Embedded Binaries` in your Xcode project configuration. ## Animation issues -Refer to the troubleshooting guilds on [Android](/android/troubleshooting.md) or [iOS](/ios/troubleshooting.md). \ No newline at end of file + +Refer to the [troubleshooting guide](https://github.com/lottie-react-native/lottie-react-native#troubleshooting). From 92bdfbc968cccca3e657835d41c9a9deadcefae3 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Mon, 11 Sep 2023 23:20:23 +0200 Subject: [PATCH 58/81] fix: use Titanium SDK for 3rd party framework --- README.md | 2 +- other-platforms.md | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 06d3095..9157dd6 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ To do that, find the markdown file with the docs you want to edit and follow [Gi * [Skia](https://skia.org/user/modules/skottie) * [Xamarin](https://github.com/martijn00/LottieXamarin) * [NativeScript](https://github.com/bradmartin/nativescript-lottie) -* [Axway Appcelerator](https://github.com/m1ga/ti.animation) +* [Titanium SDK](https://github.com/m1ga/ti.animation) * [Qt QML](https://sea-region.github.com/kbroulik/lottie-qml) * [Rlottie](https://github.com/Samsung/rlottie) * [Python](https://gitlab.com/mattia.basaglia/python-lottie) diff --git a/other-platforms.md b/other-platforms.md index df32e84..e4592ca 100644 --- a/other-platforms.md +++ b/other-platforms.md @@ -4,7 +4,7 @@ The Lottie community has build Lottie bindings for the following platforms: # Wrappers * [Xamarin](https://github.com/martijn00/LottieXamarin) * [NativeScript](https://github.com/bradmartin/nativescript-lottie) -* [Axway Appcelerator](https://github.com/m1ga/ti.animation) +* [Titanium SDK](https://github.com/m1ga/ti.animation) * [Qt QML](https://sea-region.github.com/kbroulik/lottie-qml) * [Rlottie](https://github.com/Samsung/rlottie) * [Python](https://gitlab.com/mattia.basaglia/python-lottie) @@ -21,4 +21,3 @@ The Lottie community has build Lottie bindings for the following platforms: * [Windows](https://github.com/windows-toolkit/Lottie-Windows) * [Qt](https://blog.qt.io/blog/2019/03/08/announcing-qtlottie/) * [Skia](https://skia.org/user/modules/skottie) - From cab6edd271c56cd9badb157949c5ba0c5d627d7e Mon Sep 17 00:00:00 2001 From: Matthew Runo <74583+inktomi@users.noreply.github.com> Date: Mon, 11 Sep 2023 14:20:50 -0700 Subject: [PATCH 59/81] Update wording for images, which can be much larger. (#226) --- android-compose.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android-compose.md b/android-compose.md index ae61ab8..318d569 100644 --- a/android-compose.md +++ b/android-compose.md @@ -161,7 +161,7 @@ LaunchedEffect(Unit) { # Images -Images should be avoided whenever possible. They are much large, less performant, and can lead to pixelation. Whenever possible, try and make your animation consist solely of vectors. However, Lottie does support images in one of 4 ways: +Images should be avoided whenever possible. They are much larger, less performant, and can lead to pixelation. Whenever possible, try and make your animation consist solely of vectors. However, Lottie does support images in one of 4 ways: 1. Baked into the Lottie json file. This is done via an option in the exporter (such as teh Bodymovin After Effects plugin). When done, images are encoded as a base64 string and embedded directly in the json file. This is the simplest way to use images because everything is contained in a single file and no additional work is necessary to make them work. 1. Zipped with the json file in a single zip file. When parsing the animation, Lottie will unzip the animation and automatically link any images in zip file to the composition. These zip files can be stored in `src/main/assets` and loaded via `LottieCompositionSpec.Asset` or downloaded via the internet and loaded via `LottieCompositionSpec.Url`. 1. Stored in `src/main/assets/*`. When the animation is exported, it may include references to external images referenced via their file name. When this method is used, the images should be stored in a subdirectory within your assets folder and set via the `imageAssetsFolder` parameter on your `LottieAnimation` composable. From 7a515766fb18ef3d653fb91c0717d6886bbab679 Mon Sep 17 00:00:00 2001 From: Cal Stephens Date: Tue, 12 Sep 2023 08:16:44 -0700 Subject: [PATCH 60/81] Fix table formatting --- supported-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supported-features.md b/supported-features.md index fdc0235..cd7a192 100644 --- a/supported-features.md +++ b/supported-features.md @@ -1,7 +1,7 @@ # Supported Features | **Shapes** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web** (SVG) | **Web** (Canvas) | **Web** (HTML) | -|:--|:-:|:-:|:-:|:-:|:-:|:-:| +|:--|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | Shape | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Ellipse | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Rectangle | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | From 657a1f6fb553c45d6ab3d86f8be29b2a3840e359 Mon Sep 17 00:00:00 2001 From: Cal Stephens Date: Tue, 12 Sep 2023 08:21:03 -0700 Subject: [PATCH 61/81] Improve consistency of table headers --- supported-features.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/supported-features.md b/supported-features.md index cd7a192..a5ade76 100644 --- a/supported-features.md +++ b/supported-features.md @@ -1,6 +1,6 @@ # Supported Features -| **Shapes** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web** (SVG) | **Web** (Canvas) | **Web** (HTML) | +| **Shapes** | **Android** | **iOS (Core Animation)** | **iOS (Main Thread)** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | |:--|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | Shape | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Ellipse | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | @@ -11,13 +11,13 @@ | Repeater | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Trim Path (individually) | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Trim Path (simultaneously) | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| **Fills** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| **Fills** | **Android** | **iOS (Core Animation)** | **iOS (Main Thread)** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | | Color | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Opacity | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Fill Rule | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Radial Gradient | ๐Ÿ‘ | ๐Ÿ‘ | ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Linear Gradient | ๐Ÿ‘ | ๐Ÿ‘ | ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| **Strokes** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| **Strokes** | **Android** | **iOS (Core Animation)** | **iOS (Main Thread)** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | | Color | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Opacity | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Width | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | @@ -26,7 +26,7 @@ | Miter Limit | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Dashes | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Gradient | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| **Transforms** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| **Transforms** | **Android** | **iOS (Core Animation)** | **iOS (Main Thread)** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | | Position | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Position (separated X/Y) | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Scale | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | @@ -36,13 +36,13 @@ | Parenting | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Auto Orient | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Skew | โ“ | ๐Ÿ‘ | ๐Ÿ‘ | โ“ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| **Interpolation** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| **Interpolation** | **Android** | **iOS (Core Animation)** | **iOS (Main Thread)** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | | Linear Interpolation | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Bezier Interpolation | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Hold Interpolation | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Spatial Bezier Interpolation | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Rove Across Time | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| **Masks** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| **Masks** | **Android** | **iOS (Core Animation)** | **iOS (Main Thread)** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | | Mask Path | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Mask Opacity | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Add | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | @@ -53,18 +53,18 @@ | Difference | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›” | โ›” | | Expansion | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | | Feather | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›” | โ›” | -| **Mattes** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| **Mattes** | **Android** | **iOS (Core Animation)** | **iOS (Main Thread)** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | | Alpha Matte | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Alpha Inverted Matte | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Luma Matte | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | | Luma Inverted Matte | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | -| **Merge Paths** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| **Merge Paths** | **Android** | **iOS (Core Animation)** | **iOS (Main Thread)** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | | Merge | ๐Ÿ‘ (KitKat+) | โ›” | โ›” | ๐Ÿ‘ | โ›” | โ›” | โ›” | | Add | ๐Ÿ‘ (KitKat+) | โ›” | โ›” | ๐Ÿ‘ | โ›” | โ›” | โ›” | | Subtract | ๐Ÿ‘ (KitKat+) | โ›” | โ›” | ๐Ÿ‘ | โ›” | โ›” | โ›” | | Intersect | ๐Ÿ‘ (KitKat+) | โ›” | โ›” | ๐Ÿ‘ | โ›” | โ›” | โ›” | | Exclude Intersection | ๐Ÿ‘ (KitKat+) | โ›” | โ›” | ๐Ÿ‘ | โ›” | โ›” | โ›” | -| **Layer Effects** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| **Layer Effects** | **Android** | **iOS (Core Animation)** | **iOS (Main Thread)** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | | Fill | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Stroke | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Tint | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | @@ -72,7 +72,7 @@ | Levels Individual Controls | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ” | ๐Ÿ‘ | ๐Ÿ‘ | | Gaussian blur | ๐Ÿ‘ (4.1+) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | | Drop Shadows | ๐Ÿ‘ (4.1+) | ๐Ÿ‘ | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | -| **Text** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| **Text** | **Android** | **iOS (Core Animation)** | **iOS (Main Thread)** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | | Glyphs | ๐Ÿ‘ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Fonts | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Transform | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | @@ -90,7 +90,7 @@ | Range selector (Ease Low) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Range selector (Randomize order) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | expression selector | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| **Other** | **Android** | **iOS** (Core Animation) | **iOS** (Main Thread) | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | +| **Other** | **Android** | **iOS (Core Animation)** | **iOS (Main Thread)** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | | Expressions | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Images | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Precomps | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | From f89db81ad7af2eb14c5383713b0d382be23050cf Mon Sep 17 00:00:00 2001 From: Cal Stephens Date: Tue, 12 Sep 2023 08:21:42 -0700 Subject: [PATCH 62/81] Fix missing column under "Fills" --- supported-features.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/supported-features.md b/supported-features.md index a5ade76..f52cb6b 100644 --- a/supported-features.md +++ b/supported-features.md @@ -12,11 +12,11 @@ | Trim Path (individually) | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Trim Path (simultaneously) | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | **Fills** | **Android** | **iOS (Core Animation)** | **iOS (Main Thread)** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | -| Color | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Opacity | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Fill Rule | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Radial Gradient | ๐Ÿ‘ | ๐Ÿ‘ | ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Linear Gradient | ๐Ÿ‘ | ๐Ÿ‘ | ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Color | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Opacity | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Fill Rule | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Radial Gradient | ๐Ÿ‘ | ๐Ÿ‘ | ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Linear Gradient | ๐Ÿ‘ | ๐Ÿ‘ | ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๏ธ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | **Strokes** | **Android** | **iOS (Core Animation)** | **iOS (Main Thread)** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | | Color | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Opacity | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | From 33e675c1c3e64ca98a827da11ea4ccb9cc5c86eb Mon Sep 17 00:00:00 2001 From: Nikita Borodulin Date: Wed, 13 Sep 2023 17:57:49 +0300 Subject: [PATCH 63/81] Remove repetition from ios.md (#229) --- ios.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/ios.md b/ios.md index 7a2667b..e5b1c35 100644 --- a/ios.md +++ b/ios.md @@ -574,9 +574,6 @@ Most animations are rendered exactly the same by both rendering engines, but s s As of [Lottie 4.0](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54), Lottie uses the Core Animation rendering engine by default. If Lottie detects that an animation uses functionality not supported by the Core Animation rendering engine, it will automatically fall back to the Main Thread rendering engine. You can also configure which rendering engine is used by configuring the `LottieConfiguration.renderingEngine`. -By default, if Lottie detects that an animation uses functionality not supported by the Core Animation rendering engine, it will automatically fall back to the Main Thread rendering engine. You can also configure which rendering engine is used by configuring the `LottieConfiguration.renderingEngine`. - - # Image Provider Image provider is a protocol that is used to supply images to `LottieAnimationView`. From b31b0350986e0063cb01c1f9559e60f78265603d Mon Sep 17 00:00:00 2001 From: Cal Stephens Date: Thu, 14 Sep 2023 15:35:32 -0700 Subject: [PATCH 64/81] Update current iOS version to 4.3.0 --- ios.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios.md b/ios.md index e5b1c35..89fd280 100644 --- a/ios.md +++ b/ios.md @@ -20,7 +20,7 @@ To install Lottie using [Swift Package Manager](https://github.com/apple/swift-p or you can add the following dependency to your `Package.swift`: ```swift -.package(url: "https://github.com/airbnb/lottie-spm.git", from: "4.2.0") +.package(url: "https://github.com/airbnb/lottie-spm.git", from: "4.3.0") ``` When using Swift Package Manager we recommend using the [lottie-spm](https://github.com/airbnb/lottie-spm) repo instead of the main lottie-ios repo. The main git repository for [lottie-ios](https://github.com/airbnb/lottie-ios) is somewhat large (300+ MB), and Swift Package Manager always downloads the full repository with all git history. The [lottie-spm](https://github.com/airbnb/lottie-spm) repo is much smaller (less than 500kb), so can be downloaded much more quickly. From 637024ed3096e2dc6941fbe10764f537275f0006 Mon Sep 17 00:00:00 2001 From: J Meredith <5113432+j2em6h@users.noreply.github.com> Date: Wed, 20 Sep 2023 10:00:09 -0400 Subject: [PATCH 65/81] Use `bodymovin` name for bower (#166) `bodymovin` name still in use by bower. https://github.com/airbnb/lottie-web/blob/master/bower.json#L2 Installation fails if `lottie-web` is used --- web.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web.md b/web.md index be05318..d375dc3 100644 --- a/web.md +++ b/web.md @@ -41,7 +41,7 @@ npm install lottie-web ## Bower ```bash -bower install lottie-web +bower install bodymovin ``` --- From 342dc4ccc680d2b70ff82788690395695356cb20 Mon Sep 17 00:00:00 2001 From: Cal Stephens Date: Wed, 20 Sep 2023 16:10:33 -0700 Subject: [PATCH 66/81] Update latest iOS version to 4.3.1 --- ios.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios.md b/ios.md index 89fd280..de35d52 100644 --- a/ios.md +++ b/ios.md @@ -20,7 +20,7 @@ To install Lottie using [Swift Package Manager](https://github.com/apple/swift-p or you can add the following dependency to your `Package.swift`: ```swift -.package(url: "https://github.com/airbnb/lottie-spm.git", from: "4.3.0") +.package(url: "https://github.com/airbnb/lottie-spm.git", from: "4.3.1") ``` When using Swift Package Manager we recommend using the [lottie-spm](https://github.com/airbnb/lottie-spm) repo instead of the main lottie-ios repo. The main git repository for [lottie-ios](https://github.com/airbnb/lottie-ios) is somewhat large (300+ MB), and Swift Package Manager always downloads the full repository with all git history. The [lottie-spm](https://github.com/airbnb/lottie-spm) repo is much smaller (less than 500kb), so can be downloaded much more quickly. From deeb33694cdf48b8aaf19b04349b98c392bce6f7 Mon Sep 17 00:00:00 2001 From: Cal Stephens Date: Tue, 26 Sep 2023 11:32:26 -0700 Subject: [PATCH 67/81] Update current lottie-ios version to 4.3.2 --- ios.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios.md b/ios.md index de35d52..b3fa45b 100644 --- a/ios.md +++ b/ios.md @@ -20,7 +20,7 @@ To install Lottie using [Swift Package Manager](https://github.com/apple/swift-p or you can add the following dependency to your `Package.swift`: ```swift -.package(url: "https://github.com/airbnb/lottie-spm.git", from: "4.3.1") +.package(url: "https://github.com/airbnb/lottie-spm.git", from: "4.3.2") ``` When using Swift Package Manager we recommend using the [lottie-spm](https://github.com/airbnb/lottie-spm) repo instead of the main lottie-ios repo. The main git repository for [lottie-ios](https://github.com/airbnb/lottie-ios) is somewhat large (300+ MB), and Swift Package Manager always downloads the full repository with all git history. The [lottie-spm](https://github.com/airbnb/lottie-spm) repo is much smaller (less than 500kb), so can be downloaded much more quickly. From 69f98881446bee939dc88fdb3839e1627ea3de84 Mon Sep 17 00:00:00 2001 From: Cal Stephens Date: Tue, 26 Sep 2023 13:17:58 -0700 Subject: [PATCH 68/81] Update iOS documentation with content from 4.3.2 --- ios.md | 132 ++++++++++++++++++++------------------------------------- 1 file changed, 46 insertions(+), 86 deletions(-) diff --git a/ios.md b/ios.md index b3fa45b..5d9851d 100644 --- a/ios.md +++ b/ios.md @@ -96,7 +96,7 @@ For example, here's how you load and play a simple local animation: ```swift LottieView(animation: .named("StarAnimation")) - .play() + .playing() ``` `LottieView` also provides a convenient API for loading animations asynchronously, e.g. by downloading them from a URL: @@ -105,23 +105,23 @@ LottieView(animation: .named("StarAnimation")) LottieView { try await LottieAnimation.loadedFrom(url: myAnimationDownloadURL) } -.play() +.playing() ``` You can use an `@State` property with a `LottiePlaybackMode` to control animation playback. For example, here's how you can trigger an animation to be played in response to a button being pressed: ```swift -@State var playbackMode = LottiePlaybackMode.pause +@State var playbackMode = LottiePlaybackMode.paused var body: some View { LottieView(animation: .named("StarAnimation")) - .play(playbackMode) + .playbackMode(playbackMode) .animationDidFinish { _ in - playbackMode = .pause + playbackMode = .paused } Button { - playbackMode = .fromProgress(0, toProgress: 1, loopMode: .playOnce) + playbackMode = .playing(fromProgress(0, toProgress: 1, loopMode: .playOnce)) } label: { Image(systemName: "play.fill") } @@ -214,7 +214,7 @@ starAnimationView.play { finished in // SwiftUI LottieView API LottieView(animation: myAnimation) - .play() + .playing() .animationDidFinish { finished in /// LottieAnimation did finish } @@ -239,7 +239,7 @@ animationView.play(fromProgress: 0.5, toProgress: 1) // SwiftUI LottieView API LottieView(animation: myAnimation) - .play(.fromProgress(0.5, toProgress: 1, loopMode: .playOnce)) + .playing(.fromProgress(0.5, toProgress: 1, loopMode: .playOnce)) ``` ### Play with Frame Time @@ -262,7 +262,7 @@ animationView.play(fromFrame: 24, toFrame: 48) // SwiftUI LottieView API LottieView(animation: myAnimation) - .play(.fromFrame(24, toFrame: 24, loopMode: .playOnce)) + .playing(.fromFrame(24, toFrame: 48, loopMode: .playOnce)) ``` ### Play with Marker Names @@ -287,7 +287,7 @@ animationView.play(fromMarker: "ftue1_begin", toMarker: "ftue1_end") // SwiftUI LottieView API LottieView(animation: myAnimation) - .play(.fromMarker("ftue1_begin", toMarker: "ftue1_end", loopMode: .playOnce)) + .playing(.fromMarker("ftue1_begin", toMarker: "ftue1_end", loopMode: .playOnce)) ``` ### Stop @@ -311,7 +311,7 @@ animationView.pause() // SwiftUI LottieView API LottieView(animation: myAnimation) - .playbackMode(.pause) + .playbackMode(.paused) ``` ## LottieAnimation Settings @@ -338,12 +338,13 @@ var LottieAnimationView.backgroundBehavior: LottieBackgroundBehavior { get set } ``` Describes the behavior of an LottieAnimationView when the app is moved to the background. (iOS only) -The default is `.pause` +The default is `.continuePlaying` when using the Core Animation rendering engine, and `.pauseAndRestore` when using the Main Thread rendering engine. Options: : **stop**: Stop the animation and reset it to the beginning of its current play time. The completion block is called. : **pause**: Pause the animation in its current state. The completion block is called. -: **pauseAndRestore**: Pause the animation and restart it when the application moves back to the foreground. The completion block is stored and called when the animation completes. +: **pauseAndRestore**: Pause the animation and restart it when the application moves back to the foreground. The completion block is stored and called when the animation completes. This is the default when using the Main Thread rendering engine. +: **continuePlaying**: The animation continues playing in the background. This is the default when using the Core Animation rendering engine. ### Loop Mode ```swift @@ -390,6 +391,15 @@ Defaults to `1` ### Current Progress ```swift var LottieAnimationView.currentProgress: AnimationProgressTime { get set } + +// SwiftUI LottieView API: setting current progress +LottieView(animation: myAnimation) + .currentProgress(0.5) + +// SwiftUI LottieView API: getting current progress +LottieView(animation: myAnimation) + .playing() + .getRealtimeAnimationProgress($progressBinding) ``` Sets the current animation time with a Progress Time. Returns the current Progress Time, or the final Progress Time if an animation is in progress. ==Note==: Setting this will stop the current animation, if any. @@ -397,6 +407,10 @@ Sets the current animation time with a Progress Time. Returns the current Progre ### Current Time ```swift var LottieAnimationView.currentTime: TimeInterval { get set } + +// SwiftUI LottieView API +LottieView(animation: myAnimation) + .currentTime(4.0) ``` Sets the current animation time with a TimeInterval. Returns the current TimeInterval, or the final TimeInterval if an animation is in progress. ==Note==: Setting this will stop the current animation, if any. @@ -404,6 +418,10 @@ Sets the current animation time with a TimeInterval. Returns the current TimeInt ### Current Frame ```swift var LottieAnimationView.currentFrame: AnimationFrameTime { get set } + +// SwiftUI LottieView API +LottieView(animation: myAnimation) + .currentFrame(120.0) ``` Sets the current animation time with a Frame Time. Returns the current Frame Time, or the final Frame Time if an animation is in progress. ==Note==: Setting this will stop the current animation, if any. @@ -419,19 +437,12 @@ var LottieAnimationView.realtimeAnimationProgress: AnimationProgressTime { get } ``` Returns the realtime Progress Time of an LottieAnimationView while an animation is in flight. -### Force Display Update -```swift -func LottieAnimationView.forceDisplayUpdate() -``` -Forces the LottieAnimationView to redraw its contents. - ## Using Markers Markers are a way to describe a point in time by a key name. Markers are encoded into animation JSON. By using markers a designer can mark playback points for a developer to use without having to worry about keeping track of animation frames. If the animation file is updated, the developer does not need to update playback code. Markers can be used to [playback sections of animation](#play-with-marker-names), or can be read directly for more advanced use. Both `LottieAnimation` and `LottieAnimationView` have methods for reading Marker Times. - ### Reading Marker Time ```swift /// LottieAnimation View Methods @@ -463,8 +474,14 @@ Example: let fillKeypath = AnimationKeypath(keypath: "**.Fill 1.Color") /// A Color Value provider that returns a reddish color. let redValueProvider = ColorValueProvider(Color(r: 1, g: 0.2, b: 0.3, a: 1)) + /// Set the provider on the animationView. animationView.setValueProvider(redValueProvider, keypath: fillKeypath) + +// SwiftUI LottieView API +LottieView(animation: myAnimation) + .playing() + .valueProvider(redValueProvider, for: fillKeypath) ``` ### Reading LottieAnimation Properties @@ -473,6 +490,7 @@ LottieAnimationView.getValue(for keypath: AnimationKeypath, atFrame: AnimationFr ``` Reads the value of a property specified by the Keypath. Returns nil if no property is found. +Only supported by the Main Thread rendering engine. Parameters : **for**: The keypath used to search for the property. @@ -488,75 +506,17 @@ let position = animationView.getValue(for: fillKeypath, atFrame: nil) ### Logging Keypaths ```swift +// UIKit LottieAnimationView API LottieAnimationView.logHierarchyKeypaths() -``` -Logs all child keypaths of the animation into the console. - -### Adding Views to Animations -Custom views can be added to AnimationViews. These views will animate alongside the animation. - -### Enabling and Disabling LottieAnimation Nodes - -`public func setNodeIsEnabled(isEnabled: Bool, keypath: AnimationKeypath)` - -Sets the enabled state of all animator nodes found with the keypath search. -This can be used to interactively enable / disable parts of the animation. -An enabled node affects the render tree, a disabled node will be removed from the render tree. - -- Parameter isEnabled: When true the animator nodes affect the rendering tree. When false the node is removed from the tree. -- Parameter keypath: The keypath used to find the node(s). -Example -```swift -// Create an animation view. -let animation = LottieAnimation.named("LottieLogo1", subdirectory: "TestAnimations") -// Some time later. Create a keypath to find any node named "Stroke 1" -let keypath1 = AnimationKeypath(keypath: "**.Stroke 1") -// Disable all nodes named Stroke 1, removing them from the current render tree. -animationView.setNodeIsEnabled(isEnabled: false, keypath: keypath1) -// Re-enable all nodes named Stroke 1. -animationView.setNodeIsEnabled(isEnabled: true, keypath: keypath1) -``` - -### Adding Subviews -```swift -LottieAnimationView.addSubview(_ subview: AnimationSubview, forLayerAt keypath: AnimationKeypath) -``` -Searches for the nearest child layer to the first Keypath and adds the subview to that layer. The subview will move and animate with the child layer. Furthermore the subview will be in the child layers coordinate space. -==Note==: if no layer is found for the keypath, then nothing happens. - -Parameters -: **subview**: The subview to add to the found animation layer. -: **keypath**: The keypath used to find the animation layer. - -Example: -```swift -/// A keypath that finds `Layer 1` -let layerKeypath = AnimationKeypath(keypath: "Layer 1") - -/// Wrap the custom view in an `AnimationSubview` -let subview = AnimationSubview() -subview.addSubview(customView) - -/// Set the provider on the animationView. -animationView.addSubview(subview, forLayerAt: layerKeypath) -``` - -### Converting CGRect and CGPoint to Layers -```swift -/// Converts a rect -LottieAnimationView.convert(_ rect: CGRect, toLayerAt keypath: AnimationKeypath) -> CGRect? -/// Converts a point -LottieAnimationView.convert(_ point: CGPoint, toLayerAt keypath: AnimationKeypath) -> CGPoint? +// SwiftUI LottieView API +LottieView(animation: myAnimation) + .playing() + .configure { lottieAnimationView in + lottieAnimationView.logHierarchyKeypaths() + } ``` -These two methods are used to convert geometry from the LottieAnimationView's coordinate space into the coordinate space of the layer found at Keypath. - -If no layer is found, nil is returned - -Parameters -: **point or rect**: The CGPoint or CGRect in the LottieAnimationView's coordinate space to convert. -: **keypath**: The keypath used to find the layer. -# +Logs all child keypaths of the animation into the console. # Rendering Engines From 93987982c88744bd6854d0ab9668b04595f2f17f Mon Sep 17 00:00:00 2001 From: Cal Stephens Date: Fri, 29 Sep 2023 16:16:53 -0700 Subject: [PATCH 69/81] Update current iOS version to 4.3.3 --- ios.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios.md b/ios.md index 5d9851d..996d25e 100644 --- a/ios.md +++ b/ios.md @@ -20,7 +20,7 @@ To install Lottie using [Swift Package Manager](https://github.com/apple/swift-p or you can add the following dependency to your `Package.swift`: ```swift -.package(url: "https://github.com/airbnb/lottie-spm.git", from: "4.3.2") +.package(url: "https://github.com/airbnb/lottie-spm.git", from: "4.3.3") ``` When using Swift Package Manager we recommend using the [lottie-spm](https://github.com/airbnb/lottie-spm) repo instead of the main lottie-ios repo. The main git repository for [lottie-ios](https://github.com/airbnb/lottie-ios) is somewhat large (300+ MB), and Swift Package Manager always downloads the full repository with all git history. The [lottie-spm](https://github.com/airbnb/lottie-spm) repo is much smaller (less than 500kb), so can be downloaded much more quickly. From 2b64b7c1b8aaf31e335b19ff5de728fe9e57feeb Mon Sep 17 00:00:00 2001 From: Parsa Nasirimehr <40071952+TheRogue76@users.noreply.github.com> Date: Thu, 18 Jan 2024 23:40:24 +0100 Subject: [PATCH 70/81] fix: update React Native docs to be in sync with the repo again (#233) --- react-native.md | 391 ++++++++++++++++++++++++++---------------------- 1 file changed, 210 insertions(+), 181 deletions(-) diff --git a/react-native.md b/react-native.md index 3d38dd3..58413a8 100644 --- a/react-native.md +++ b/react-native.md @@ -1,252 +1,281 @@ -# Getting Started +# Lottie React Native -Get started with Lottie by installing the node module with yarn or npm: +[![npm Version](https://img.shields.io/npm/v/lottie-react-native.svg)](https://www.npmjs.com/package/lottie-react-native) [![License](https://img.shields.io/npm/l/lottie-react-native.svg)](https://www.npmjs.com/package/lottie-react-native) -

yarn add lottie-react-native@{{ book.reactNativeVersion }}
-# or
-npm i --save lottie-react-native@{{ book.reactNativeVersion }}
-
+Lottie component for React Native ([Repo](https://github.com/lottie-react-native/lottie-react-native)) -### iOS +# Installing -If you're using CocoaPods on iOS, you can put the following in your `Podfile`: +## Breaking Changes in v6! + +We've made some significant updates in version 6 that may impact your current setup. To get all the details about these changes, check out the [migration guide](https://github.com/lottie-react-native/lottie-react-native/blob/master/MIGRATION-5-TO-6.md). + +Stay informed to ensure a seamless transition to the latest version. Thank you! + +## iOS and Android + +- Install `lottie-react-native` (latest): -```ruby -pod 'lottie-ios', :path => '../node_modules/lottie-ios' -pod 'lottie-react-native', :path => '../node_modules/lottie-react-native' +``` +yarn add lottie-react-native ``` -If you're not using CocoaPods on iOS, you can use `react-native link`: +Go to your ios folder and run: -```bash -react-native link lottie-ios -react-native link lottie-react-native +``` +pod install ``` -After this, open the Xcode project configuration and add the `Lottie.framework` as `Embedded -Binaries`. +## Web -### Android +- Install `lottie-react-native` (latest): -For android, you can `react-native link` as well: +``` +yarn add lottie-react-native +``` -```bash -react-native link lottie-react-native +- Add dependencies for web players: + +``` +yarn add @dotlottie/react-player @lottiefiles/react-lottie-player ``` -or you can add it manually: +## Windows (React Native >= 0.63) -`settings.gradle`: +
+Install the `lottie-react-native` npm package. (Click to expand) +
+ +Add the following to the end of your project file. For C# apps, this should come after any `Microsoft.Windows.UI.Xaml.CSharp.targets` includes. For C++ apps, it should come after any `Microsoft.Cpp.targets` includes. +```xml + + $([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'node_modules\lottie-react-native\package.json'))\node_modules\lottie-react-native + + + + +``` -

-include ':lottie-react-native'
-project(':lottie-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/lottie-react-native/src/android')
-
+Add the LottieReactNative.vcxproj file to your Visual Studio solution to ensure it takes part in the build. -`build.gradle`: +For C# apps, you'll need to install the following packages through NuGet: -

-dependencies {
-  ...
-  compile project(':lottie-react-native')
-  ...
-}
-
+- LottieGen.MsBuild +- Microsoft.UI.Xaml +- Win2D.uwp +- Microsoft.Toolkit.Uwp.UI.Lottie + - This package is used for loading JSON dynamically. If you only need codegen animation, you can set `false` in your project file and omit this reference. -Lottie requires Android support library version 26. If you're using the `react-native init` -template, you may still be using 23. To change this, simply go to `android/app/build.gradle` and -find the `compileSdkVersion` option inside of the `android` block and change it to +For C++ apps, you'll need these NuGet packages: +- LottieGen.MsBuild +- Microsoft.UI.Xaml + +WinUI 2.6 (Microsoft.UI.Xaml 2.6.0) is required by default. Overriding this requires creating a Directory.Build.props file in your project root with a `` property. + +In your application code where you set up your React Native Windows PackageProviders list, add the LottieReactNative provider: + +```csharp +// C# +PackageProviders.Add(new LottieReactNative.ReactPackageProvider(new AnimatedVisuals.LottieCodegenSourceProvider())); ``` -android { - compileSdkVersion 26 // <-- update this to 26 - // ... + +```cpp +// C++ +#include +#include + +... + +PackageProviders().Append(winrt::LottieReactNative::ReactPackageProvider(winrt::AnimatedVisuals::LottieCodegenSourceProvider())); ``` -You must also add the `LottiePackage` to `getPackages()` in your `ReactApplication` +Codegen animations are supported by adding LottieAnimation items to your project file. These will be compiled into your application and available at runtime by name. For example: -```java - import com.airbnb.android.react.lottie.LottiePackage; - - ... - - @Override - protected List getPackages() { - return Arrays.asList( - ... - new LottiePackage() - ); - } - }; -``` - -Then, go to `android/build.gradle` and make sure it has : - -``` -allprojects { - repositories { - mavenLocal() - jcenter() - // Add the following 3 lines - maven { - url 'https://maven.google.com' - } - maven { - // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm - url "$rootDir/../node_modules/react-native/android" - } - } -} +```xml + + + + ``` -With this change you should be ready to go. +```js +// js + +``` -Lottie's animation progress can be controlled with an `Animated` value: +Codegen is available to both C# and C++ applications. Dynamic loading of JSON strings at runtime is currently only supported in C# applications. -```jsx -import React from 'react'; -import { Animated, Easing } from 'react-native'; -import LottieView from 'lottie-react-native'; - -export default class BasicExample extends React.Component { - constructor(props) { - super(props); - this.state = { - progress: new Animated.Value(0), - }; - } - - componentDidMount() { - Animated.timing(this.state.progress, { - toValue: 1, - duration: 5000, - easing: Easing.linear, - }).start(); - } +
+ +# Usage - render() { - return ( - - ); - } +Lottie can be used in a declarative way: + +```jsx +import React from "react"; +import LottieView from "lottie-react-native"; + +export default function Animation() { + return ( + + ); } ``` Additionally, there is an imperative API which is sometimes simpler. -```jsx -import React from 'react'; -import LottieView from 'lottie-react-native'; +```tsx +import React, { useEffect, useRef } from "react"; +import LottieView from "lottie-react-native"; + +export default function AnimationWithImperativeApi() { + const animationRef = useRef(null); + + useEffect(() => { + animationRef.current?.play(); -export default class BasicExample extends React.Component { - componentDidMount() { - this.animation.play(); // Or set a specific startFrame and endFrame with: - this.animation.play(30, 120); - } - - render() { - return ( - { - this.animation = animation; - }} - source={require('../path/to/animation.json')} - /> - ); - } + animationRef.current?.play(30, 120); + }, []); + + return ( + + ); } ``` -## Sample App +Lottie's animation view can be controlled by either React Native Animated or Reanimated API. -You can check out the example project with the following instructions +```tsx +import React, { useEffect, useRef, Animated } from "react"; +import { Animated, Easing } from "react-native"; +import LottieView from "lottie-react-native"; -1. Clone the repo: `git clone https://github.com/airbnb/lottie-react-native.git` -2. Open: `cd lottie-react-native` and Install: `npm install` -3. Run `npm start` to start the packager. ** The packager must be running to use the sample apps.** -4. In another CLI window, do the following: +const AnimatedLottieView = Animated.createAnimatedComponent(LottieView); -For Running iOS: +export default function ControllingAnimationProgress() { + const animationProgress = useRef(new Animated.Value(0)); -1. If you don't have CocoaPods installed, run `bundle install` -2. Install pods: `npm run build:pods` -3. Run Example: `npm run run:ios` - -For Running Android: + useEffect(() => { + Animated.timing(animationProgress.current, { + toValue: 1, + duration: 5000, + easing: Easing.linear, + useNativeDriver: false, + }).start(); + }, []); + + return ( + + ); +} +``` -1. Run Example: `npm run run:android` +Changing color of layers: -# Props +NOTE: This feature may not work properly on Android. We will try fix it soon. +```jsx +import React from "react"; +import LottieView from "lottie-react-native"; + +export default function ChangingColorOfLayers() { + return ( + + ); +} ``` -type AnimationProps = { - // The source of animation. Can be referenced as a local asset by a string, or remotely - // with an object with a `uri` property, or it can be an actual JS object of an - // animation, obtained (for example) with something like - // `require('../path/to/animation.json')` - source: string | AnimationJson | { uri: string }, - // A number between 0 and 1, or an `Animated` number between 0 and 1. This number - // represents the normalized progress of the animation. If you update this prop, the - // animation will correspondingly update to the frame at that progress value. This - // prop is not required if you are using the imperative API. - progress: number | Animated = 0, +# If you want to use `.lottie` files - // The speed the animation will progress. This only affects the imperative API. The - // default value is 1. - speed: number = 1, +You need to modify your `metro.config.js` file accordingly by adding `lottie` extension to the `assetExts` array: - // A boolean flag indicating whether or not the animation should loop. - loop: boolean = false, +```js +const { getDefaultConfig, mergeConfig } = require("@react-native/metro-config"); - // Style attributes for the view, as expected in a standard `View`: - // http://facebook.github.io/react-native/releases/0.39/docs/view.html#style - // CAVEAT: border styling is not supported. - style?: ViewStyle, +const defaultConfig = getDefaultConfig(__dirname); - // [Android] Relative folder inside of assets containing image files to be animated. - // Make sure that the images that bodymovin export are in that folder with their names unchanged (should be img_#). - // Refer to https://github.com/airbnb/lottie-android#image-support for more details. - imageAssetsFolder: string, +/** + * Metro configuration + * https://facebook.github.io/metro/docs/configuration + * + * @type {import('metro-config').MetroConfig} + */ +const config = { + resolver: { + assetExts: [...defaultConfig.resolver.assetExts, "lottie"], + }, }; +module.exports = mergeConfig(getDefaultConfig(__dirname), config); ``` +# Setup jest for dotLottie files -Methods: +Create a file in the following path `__mocks__/lottieMock.js` and add the following code: +```js +module.exports = "lottie-test-file-stub"; ``` -class Animation extends React.Component { - - // play the animation all the way through, at the speed specified as a prop. - play(); - - // Reset the animation back to `0` progress. - reset(); +Then add the following to your `jest.config.js` file: +```js +module.exports = { + ... + moduleNameMapper: { + ..., + '\\.(lottie)$': '/jest/__mocks__/lottieMock.js', + }, + ... } ``` -# Troubleshooting - -If you are trying to run `pod install` and you get: +# API -``` -[!] Unable to find a specification for `lottie-ios` -``` +You can find the full list of props and methods available in our [API document](https://github.com/airbnb/lottie-react-native/blob/master/docs/api.md). These are the most common ones: -Run `pod repo update` and retry. +| Prop | Description | Default | +| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| **`source`** | **Mandatory** - The source of animation. Can be referenced as a local asset by a string, or remotely with an object with a `uri` property, or it can be an actual JS object of an animation, obtained (for example) with something like `require('../path/to/animation.json')`. | _None_ | +| **`style`** | Style attributes for the view, as expected in a standard [`View`](https://facebook.github.io/react-native/docs/layout-props.html). | You need to set it manually. Refer to this [pull request](https://github.com/lottie-react-native/lottie-react-native/pull/992). | +| **`loop`** | A boolean flag indicating whether or not the animation should loop. | `true` | +| **`autoPlay`** | A boolean flag indicating whether or not the animation should start automatically when mounted. This only affects the imperative API. | `false` | +| **`colorFilters`** | An array of objects denoting layers by KeyPath and a new color filter value (as hex string). | `[]` | -When your build fails with: +[More...](https://github.com/airbnb/lottie-react-native/blob/master/docs/api.md) -``` -LottieReactNative/LRNContainerView.h: 'Lottie/Lottie.h' file not found -``` - -Add the `Lottie.framework` to the `Embedded Binaries` in your Xcode project configuration. +# Troubleshooting -## Animation issues +Not all After Effects features are supported by Lottie. If you notice there are some layers or animations missing check [this list](https://github.com/airbnb/lottie/blob/master/supported-features.md) to ensure they are supported. -Refer to the [troubleshooting guide](https://github.com/lottie-react-native/lottie-react-native#troubleshooting). +For further troubleshooting, please refer to the [troubleshooting guide](https://github.com/lottie-react-native/lottie-react-native#troubleshooting). From 61e53205099fe5ea75260c55c479521627472dc5 Mon Sep 17 00:00:00 2001 From: Cal Stephens Date: Tue, 9 Jul 2024 14:09:52 -0700 Subject: [PATCH 71/81] Remove outdated comment about time remapping / drop shadows being unsupported --- ios.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios.md b/ios.md index 996d25e..32e7f94 100644 --- a/ios.md +++ b/ios.md @@ -527,7 +527,7 @@ Lottie for iOS includes two rendering engine implementations, which are responsi You can learn more about the Core Animation rendering engine in [this post](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54) on Airbnb's Tech Blog: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)**. -The Core Animation rendering engine and Main Thread rendering engine support different sets of functionality. For example, as of Sept 2023 the Core Animation engine doesn't support time remapping, but only the Core Animation rendering engine supports drop shadows. A complete list of supported functionality is available [here](https://airbnb.io/lottie/#/supported-features). +The Core Animation rendering engine and Main Thread rendering engine support different sets of functionality. A complete list of supported functionality is available [here](https://airbnb.io/lottie/#/supported-features). Most animations are rendered exactly the same by both rendering engines, but s shown above the Core Animation rendering engine and Main Thread rendering engine support slightly different sets of functionality. From 2e8aa17aff09c7abe6b9e971558dfe02baf45f18 Mon Sep 17 00:00:00 2001 From: Cal Stephens Date: Tue, 9 Jul 2024 14:12:09 -0700 Subject: [PATCH 72/81] Update iOS feature compatibility --- supported-features.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supported-features.md b/supported-features.md index f52cb6b..a82e2ce 100644 --- a/supported-features.md +++ b/supported-features.md @@ -71,7 +71,7 @@ | Tritone | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Levels Individual Controls | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ” | ๐Ÿ‘ | ๐Ÿ‘ | | Gaussian blur | ๐Ÿ‘ (4.1+) | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | -| Drop Shadows | ๐Ÿ‘ (4.1+) | ๐Ÿ‘ | โ›”๏ธ | โ›”๏ธ | โ” | โ” | โ” | +| Drop Shadows | ๐Ÿ‘ (4.1+) | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | โ” | โ” | โ” | | **Text** | **Android** | **iOS (Core Animation)** | **iOS (Main Thread)** | **Windows** | **Web (SVG)** | **Web (Canvas)** | **Web (HTML)** | | Glyphs | ๐Ÿ‘ | โ›”๏ธ | โ›”๏ธ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Fonts | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | @@ -95,7 +95,7 @@ | Images | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Precomps | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Time Stretch | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | -| Time remap | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | +| Time remap | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | โ›”๏ธ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | Markers | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | ## Drop Shadows and Gaussian Blurs on Android From 94da5037ae864ab6d0449886888fc27317771f0c Mon Sep 17 00:00:00 2001 From: Cal Stephens Date: Tue, 9 Jul 2024 14:12:40 -0700 Subject: [PATCH 73/81] Update iOS version number to 4.5.0 --- ios.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios.md b/ios.md index 32e7f94..574dd5f 100644 --- a/ios.md +++ b/ios.md @@ -20,7 +20,7 @@ To install Lottie using [Swift Package Manager](https://github.com/apple/swift-p or you can add the following dependency to your `Package.swift`: ```swift -.package(url: "https://github.com/airbnb/lottie-spm.git", from: "4.3.3") +.package(url: "https://github.com/airbnb/lottie-spm.git", from: "4.5.0") ``` When using Swift Package Manager we recommend using the [lottie-spm](https://github.com/airbnb/lottie-spm) repo instead of the main lottie-ios repo. The main git repository for [lottie-ios](https://github.com/airbnb/lottie-ios) is somewhat large (300+ MB), and Swift Package Manager always downloads the full repository with all git history. The [lottie-spm](https://github.com/airbnb/lottie-spm) repo is much smaller (less than 500kb), so can be downloaded much more quickly. From bc5297570fe8187433c747dc087a9a6283d65f4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=A1=A5=E1=A0=A0=E1=A1=B3=E1=A1=A4=E1=A1=B3=E1=A0=B6?= =?UTF-8?q?=E1=A0=A0=20=E1=A1=A5=E1=A0=A0=E1=A0=AF=E1=A0=A0=C2=B7=E1=A0=A8?= =?UTF-8?q?=E1=A1=9D=E1=A1=B4=E1=A0=A3=20=E7=8C=AB?= Date: Fri, 19 Jul 2024 10:48:59 +0800 Subject: [PATCH 74/81] Replace goo.gl links (#235) Google URL Shortener links will no longer be available after August 25th, 2025 https://developers.googleblog.com/en/google-url-shortener-links-will-no-longer-be-available/ --- home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.md b/home.md index 5bc96db..aac01fd 100644 --- a/home.md +++ b/home.md @@ -99,7 +99,7 @@ Here are some links from around the community [How to use Lottie \(In Spanish\)](https://www.youtube.com/watch?v=hLUBXENQSOc) by AnimatiCSS -[How to use Lottie \(In Chinese\)](https://goo.gl/e7BkND) by PattyDraw +[How to use Lottie \(In Chinese\)](https://medium.com/as-a-product-designer/ๅฟƒๅพ—ๅˆ†ไบซ-ๅฆ‚ไฝ•ไฝฟ็”จlottie-ๅฐ‡ๅฎŒ็พŽๅ‹•็•ซ100-ๅ‘ˆ็พๅœจ็”ขๅ“ไธŠ-7ac7107abfa5) by Patty Wu [A Beginningโ€™s Guide to Lottie: Creating Amazing Animations in iOS Apps](https://www.appcoda.com/lottie-beginner-guide/#) by Simon NG From 206a4224f18fb1b4d0a7b9e3d411068da9f9479d Mon Sep 17 00:00:00 2001 From: Horang <123877353+zaehorang@users.noreply.github.com> Date: Mon, 29 Jul 2024 04:51:24 +0900 Subject: [PATCH 75/81] fix: Add missing dot for correct method chaining (#236) --- ios.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios.md b/ios.md index 574dd5f..979901f 100644 --- a/ios.md +++ b/ios.md @@ -121,7 +121,7 @@ var body: some View { } Button { - playbackMode = .playing(fromProgress(0, toProgress: 1, loopMode: .playOnce)) + playbackMode = .playing(.fromProgress(0, toProgress: 1, loopMode: .playOnce)) } label: { Image(systemName: "play.fill") } From 8f14f048bed561ec1357e1aed18c8b21585ae74a Mon Sep 17 00:00:00 2001 From: Walker Selby Date: Thu, 2 Jan 2025 18:36:19 -0800 Subject: [PATCH 76/81] Fix GitHub capitalization to follow brand guidelines (#239) --- after-effects.md | 4 ++-- android.md | 2 +- home.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/after-effects.md b/after-effects.md index b3396ef..402c143 100644 --- a/after-effects.md +++ b/after-effects.md @@ -99,7 +99,7 @@ Using alpha mattes can impact performance. If you're using an alpha matte or an ## Debugging -If an animation is broken. Try debugging the animation by exporting only certain layers at a time to see which ones work and which ones don't. After you isolate the problem areas, be sure to file a github issue with the After effects file attached and then you can choose to remake those layers in a different way. +If an animation is broken. Try debugging the animation by exporting only certain layers at a time to see which ones work and which ones don't. After you isolate the problem areas, be sure to file a GitHub issue with the After effects file attached and then you can choose to remake those layers in a different way. ## No Blending modes or Luma mattes @@ -228,7 +228,7 @@ After its downloaded just use the camera to scan the QR code. If you're animation looks correct in the preview app, you are good to go! -If it doesn't then its time to do some debugging. Check out our [After Effects debugging tips](/after-effects/debugging.md) to see some techniques to get your animation working. If all else fails file an issue on github in the respective repo ([iOS](http://www.github.com/airbnb/lottie-ios), [Android](http://www.github.com/airbnb/lottie-android)) with your AE file attached and we'll do our best to support you. +If it doesn't then its time to do some debugging. Check out our [After Effects debugging tips](/after-effects/debugging.md) to see some techniques to get your animation working. If all else fails file an issue on GitHub in the respective repo ([iOS](http://www.github.com/airbnb/lottie-ios), [Android](http://www.github.com/airbnb/lottie-android)) with your AE file attached and we'll do our best to support you. # Advanced Illustrator to Lottie workflow diff --git a/android.md b/android.md index eb484c3..fcedadf 100644 --- a/android.md +++ b/android.md @@ -330,7 +330,7 @@ The Lottie for Android will automatically detect and report some errors. It does Check the [supported features page](/supported-features.md) on this site to see if you are using anything that isn't supported. ## Debug -Try rendering individual parts of the animation to see which feature isn't rendering correctly. See if you can narrow it down to a specific combination of shapes and effects or anything more specific than "it doesn't look right". If the issue should be supported and isn't, file an issue on the appropriate lottie github page with a description and a zip of the aep file. +Try rendering individual parts of the animation to see which feature isn't rendering correctly. See if you can narrow it down to a specific combination of shapes and effects or anything more specific than "it doesn't look right". If the issue should be supported and isn't, file an issue on the appropriate lottie GitHub page with a description and a zip of the aep file. ## Missing merge paths Merge paths are only available on KitKat and above so you must manually enable them using `enableMergePathsForKitKatAndAbove()` diff --git a/home.md b/home.md index aac01fd..ec8f3e9 100644 --- a/home.md +++ b/home.md @@ -69,7 +69,7 @@ Contributors are more than welcome. Just put up a PR to [github.com/airbnb](http ## Issues or feature requests? -File github issues for anything that is unexpectedly broken. If an After Effects file is not working, please attach it to your issue. Debugging without the original file is much more difficult. +File GitHub issues for anything that is unexpectedly broken. If an After Effects file is not working, please attach it to your issue. Debugging without the original file is much more difficult. ## Articles, Interviews & Podcasts From d903c48b1be25f01848b9fe128aad75e00d29496 Mon Sep 17 00:00:00 2001 From: Walker Selby Date: Thu, 2 Jan 2025 18:36:39 -0800 Subject: [PATCH 77/81] Fix link text to show lottie repository (#240) --- home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.md b/home.md index ec8f3e9..54964fa 100644 --- a/home.md +++ b/home.md @@ -65,7 +65,7 @@ Lottie is named after a German film director and the foremost pioneer of silhoue ## Contributing to Documentation -Contributors are more than welcome. Just put up a PR to [github.com/airbnb](https://github.com/airbnb/lottie). +Contributors are more than welcome. Just put up a PR to [github.com/airbnb/lottie](https://github.com/airbnb/lottie). ## Issues or feature requests? From 978aa9bb4831bf8cb41faf3bbbf4eb9fdb8dd023 Mon Sep 17 00:00:00 2001 From: Sebastian Gamboa Date: Wed, 5 Nov 2025 16:54:03 -0800 Subject: [PATCH 78/81] Create CNAME --- CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 CNAME diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..eaffbb3 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +lottie.airbnb.tech \ No newline at end of file From 633083ec72b3355eb8590a86c0b3338e53d21f85 Mon Sep 17 00:00:00 2001 From: henkri-alta Date: Thu, 8 Jan 2026 15:39:09 +0100 Subject: [PATCH 79/81] Fix typo in Lottie images section (#242) --- android-compose.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android-compose.md b/android-compose.md index 318d569..6cafac7 100644 --- a/android-compose.md +++ b/android-compose.md @@ -162,7 +162,7 @@ LaunchedEffect(Unit) { # Images Images should be avoided whenever possible. They are much larger, less performant, and can lead to pixelation. Whenever possible, try and make your animation consist solely of vectors. However, Lottie does support images in one of 4 ways: -1. Baked into the Lottie json file. This is done via an option in the exporter (such as teh Bodymovin After Effects plugin). When done, images are encoded as a base64 string and embedded directly in the json file. This is the simplest way to use images because everything is contained in a single file and no additional work is necessary to make them work. +1. Baked into the Lottie json file. This is done via an option in the exporter (such as the Bodymovin After Effects plugin). When done, images are encoded as a base64 string and embedded directly in the json file. This is the simplest way to use images because everything is contained in a single file and no additional work is necessary to make them work. 1. Zipped with the json file in a single zip file. When parsing the animation, Lottie will unzip the animation and automatically link any images in zip file to the composition. These zip files can be stored in `src/main/assets` and loaded via `LottieCompositionSpec.Asset` or downloaded via the internet and loaded via `LottieCompositionSpec.Url`. 1. Stored in `src/main/assets/*`. When the animation is exported, it may include references to external images referenced via their file name. When this method is used, the images should be stored in a subdirectory within your assets folder and set via the `imageAssetsFolder` parameter on your `LottieAnimation` composable. 1. Via `LottieProperty.IMAGE` dynamic properties. From b2be111524b000629877a0bfa3805cc5392711eb Mon Sep 17 00:00:00 2001 From: Ken Fehling Date: Sun, 15 Mar 2026 09:36:37 -1000 Subject: [PATCH 80/81] Fix typo (#230) --- ios.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios.md b/ios.md index 979901f..4f5aef9 100644 --- a/ios.md +++ b/ios.md @@ -529,7 +529,7 @@ You can learn more about the Core Animation rendering engine in [this post](http The Core Animation rendering engine and Main Thread rendering engine support different sets of functionality. A complete list of supported functionality is available [here](https://airbnb.io/lottie/#/supported-features). -Most animations are rendered exactly the same by both rendering engines, but s shown above the Core Animation rendering engine and Main Thread rendering engine support slightly different sets of functionality. +Most animations are rendered exactly the same by both rendering engines, but as shown above the Core Animation rendering engine and Main Thread rendering engine support slightly different sets of functionality. As of [Lottie 4.0](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54), Lottie uses the Core Animation rendering engine by default. If Lottie detects that an animation uses functionality not supported by the Core Animation rendering engine, it will automatically fall back to the Main Thread rendering engine. You can also configure which rendering engine is used by configuring the `LottieConfiguration.renderingEngine`. From a84a05f4353cb135a9cc29325a6e75bb735d0c0c Mon Sep 17 00:00:00 2001 From: Vlad Grigore Sima <96044562+dinozaurus0@users.noreply.github.com> Date: Wed, 25 Mar 2026 23:31:47 +0200 Subject: [PATCH 81/81] Add note on CA renderer behaviour limitations (#243) --- supported-features.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/supported-features.md b/supported-features.md index a82e2ce..217bd06 100644 --- a/supported-features.md +++ b/supported-features.md @@ -113,6 +113,7 @@ Lottie for iOS includes two rendering engine implementations, which are responsi You can learn more about the Core Animation rendering engine in [this post](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54) on Airbnb's Tech Blog: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)**. -Most animations are rendered exactly the same by both rendering engines, but as shown above the Core Animation rendering engine and Main Thread rendering engine support slightly different sets of functionality. +Most animations are rendered exactly the same by both rendering engines, but as shown above the Core Animation rendering engine and Main Thread rendering engine support slightly different sets of functionality. For example, the Core Animation rendering engine might not support certain complex shape configurations, particularly those involving intersecting or subtracting paths. Due to architectural constraints, these cases may render differently compared to the Main Thread rendering engine. This behavior is expected. +For more details, see [GitHub Issue #2631](https://github.com/airbnb/lottie-ios/issues/2613). -As of [Lottie 4.0](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54), Lottie uses the Core Animation rendering engine by default. If Lottie detects that an animation uses functionality not supported by the Core Animation rendering engine, it will automatically fall back to the Main Thread rendering engine. You can also configure which rendering engine is used by configuring the `LottieConfiguration.renderingEngine`. +As of [Lottie 4.0](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54), Lottie uses the Core Animation rendering engine by default. If Lottie detects that an animation uses functionality not supported by the Core Animation rendering engine, it will automatically fall back to the Main Thread rendering engine. You can also configure which rendering engine is used by configuring the `LottieConfiguration.renderingEngine`. \ No newline at end of file