├── .editorconfig
├── .gitattributes
├── .github
├── FUNDING.yml
├── stale.yml
└── workflows
│ ├── build.yml
│ └── pages.yml
├── .gitignore
├── Avalonia.Skia.Lottie.sln
├── Directory.Build.props
├── LICENSE.TXT
├── README.md
├── global.json
├── nuget.config
├── samples
├── LottieDemo.Desktop
│ ├── Assets
│ │ └── avalonia-logo.ico
│ ├── LottieDemo.Desktop.csproj
│ └── Program.cs
├── LottieDemo.Web
│ ├── AppBundle
│ │ ├── Logo.svg
│ │ ├── app.css
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── main.js
│ │ └── staticwebapp.config.json
│ ├── LottieDemo.Web.csproj
│ ├── Program.cs
│ └── runtimeconfig.template.json
├── LottieDemo
│ ├── App.axaml
│ ├── App.axaml.cs
│ ├── Assets
│ │ ├── 100_percent.json
│ │ ├── 12672-letter.json
│ │ ├── 13031-crypto-bitcoin-pop-over.json
│ │ ├── 15024-repeater.json
│ │ ├── 17416-fun-with-repeaters.json
│ │ ├── 21228-2d-animation-telegram-sticker.json
│ │ ├── 2719-bitcoin-to-the-moon.json
│ │ ├── 35975-chip-lines.json
│ │ ├── 40645-web-design.json
│ │ ├── 42495-payment-security.json
│ │ ├── DonutGraphic_V2.json
│ │ ├── LottieLogo1.json
│ │ ├── Plane.json
│ │ ├── StreetByMorning.json
│ │ ├── TwitterHeart.json
│ │ ├── ___.json
│ │ ├── a_mountain.json
│ │ ├── accept_arrows.json
│ │ ├── android_fingerprint.json
│ │ ├── anima.json
│ │ ├── animated_graph.json
│ │ ├── animated_laptop_.json
│ │ ├── animated_logo.json
│ │ ├── atm_link.json
│ │ ├── autoconnect_loading.json
│ │ ├── avalonia-logo.ico
│ │ ├── banner_animation.json
│ │ ├── bb8.json
│ │ ├── bell.json
│ │ ├── birds.json
│ │ ├── bitcoin_to_the_moon.json
│ │ ├── blood_transfusion_kawaii.json
│ │ ├── bomb.json
│ │ ├── books.json
│ │ ├── bootymovin.json
│ │ ├── bounching_ball.json
│ │ ├── brain__.json
│ │ ├── browser.json
│ │ ├── building_evolution_animation.json
│ │ ├── camera.json
│ │ ├── cancel_button.json
│ │ ├── cash.json
│ │ ├── change_to_search_bar.json
│ │ ├── check_pop.json
│ │ ├── chinese.json
│ │ ├── clock.json
│ │ ├── cloud_disconnection.json
│ │ ├── code_invite_success.json
│ │ ├── coding_ape.json
│ │ ├── coinfall.json
│ │ ├── colorline.json
│ │ ├── confusion.json
│ │ ├── construction_site.json
│ │ ├── cooking_app.json
│ │ ├── countdown.json
│ │ ├── credit_card.json
│ │ ├── credit_level.json
│ │ ├── cube_loader.json
│ │ ├── cubo_livre.json
│ │ ├── curly_hair_character_loop.json
│ │ ├── cycle_animation.json
│ │ ├── day_night_cycle.json
│ │ ├── day_of_the_dead.json
│ │ ├── deadpool.json
│ │ ├── delivery_van.json
│ │ ├── dna_loader.json
│ │ ├── dog.json
│ │ ├── done.json
│ │ ├── download copy.json
│ │ ├── download.json
│ │ ├── downloader.json
│ │ ├── drop.json
│ │ ├── drop_to_refresh.json
│ │ ├── edited-landscape.json
│ │ ├── elephant_trunk_swing.json
│ │ ├── emoji_shock.json
│ │ ├── emoji_tongue.json
│ │ ├── emoji_wink.json
│ │ ├── empty_status.json
│ │ ├── estimate.json
│ │ ├── fab_animate.json
│ │ ├── fabulous_onboarding_animation.json
│ │ ├── favourite_app_icon.json
│ │ ├── file_error.json
│ │ ├── finance_animation.json
│ │ ├── fingerprint_scanner.json
│ │ ├── finish,done.json
│ │ ├── fish.json
│ │ ├── flag_of_mexico.json
│ │ ├── flow.json
│ │ ├── frog.json
│ │ ├── funky_chicken.json
│ │ ├── gaming_pad.json
│ │ ├── gears.json
│ │ ├── glow_loading.json
│ │ ├── gradient_animated_background.json
│ │ ├── happy birthday.json
│ │ ├── hardware.json
│ │ ├── helloworld.json
│ │ ├── hint_01.json
│ │ ├── i'm_thirsty!.json
│ │ ├── immiguide_.json
│ │ ├── in-app_purchasing.json
│ │ ├── india.json
│ │ ├── infinite_rainbow.json
│ │ ├── intelia_logo_animation.json
│ │ ├── iphone_x_loading.json
│ │ ├── jojo_the_bird.json
│ │ ├── jolly_walker.json
│ │ ├── judgement.json
│ │ ├── kod.io_logo_reveal.json
│ │ ├── la_calavera.json
│ │ ├── landing_page.json
│ │ ├── lego_loader.json
│ │ ├── light.json
│ │ ├── lightsaber.json
│ │ ├── little_girl_jumping_-_loader.json
│ │ ├── loading copy.json
│ │ ├── loading disc.json
│ │ ├── loading...json
│ │ ├── loading.json
│ │ ├── loading_semicircle.json
│ │ ├── location.json
│ │ ├── location_marker.json
│ │ ├── location_pin.json
│ │ ├── lottie_logo_1.json
│ │ ├── lottiepreview_qr.json
│ │ ├── mailsent.json
│ │ ├── man_and_pay_with_credit_card.json
│ │ ├── map_animation.json
│ │ ├── material loading.json
│ │ ├── material_loader.json
│ │ ├── material_loading_2.json
│ │ ├── material_wave_loading.json
│ │ ├── me_at_office.json
│ │ ├── medal.json
│ │ ├── menuButton2.json
│ │ ├── menu_button_alt.json
│ │ ├── mindful.json
│ │ ├── mnemonics.json
│ │ ├── money.json
│ │ ├── motorcycle.json
│ │ ├── moving bus.json
│ │ ├── moving_eye.json
│ │ ├── no_internet_connection.json
│ │ ├── notification_request.json
│ │ ├── octopus.json
│ │ ├── ofrenda.json
│ │ ├── on_off_settings_switch.json
│ │ ├── pagado.json
│ │ ├── pagination.json
│ │ ├── panel2d.json
│ │ ├── passport.json
│ │ ├── patient_successfully_added.json
│ │ ├── payme.json
│ │ ├── peli-canon.json
│ │ ├── pen_tool_loop.json
│ │ ├── pencil_write.json
│ │ ├── penguin.json
│ │ ├── permission.json
│ │ ├── personal_character.json
│ │ ├── ph_onboarding_.json
│ │ ├── phonological.json
│ │ ├── pink_drink_machine.json
│ │ ├── plane_to_dollar.json
│ │ ├── play,_pause.json
│ │ ├── play_and_like_it.json
│ │ ├── play_button.json
│ │ ├── playing.json
│ │ ├── point.json
│ │ ├── poo_loader.json
│ │ ├── powerupp_app_onboard (1).json
│ │ ├── powerupp_app_onboard.json
│ │ ├── preloader.json
│ │ ├── print.json
│ │ ├── progress_bar 2.json
│ │ ├── progress_bar.json
│ │ ├── rating.json
│ │ ├── rectangles.json
│ │ ├── red_pocket_pop_up.json
│ │ ├── rejection.json
│ │ ├── retweet.json
│ │ ├── rey.json
│ │ ├── rocket.json
│ │ ├── rocksauce_title_card.json
│ │ ├── scan.json
│ │ ├── scan_qr_code_success.json
│ │ ├── search_button.json
│ │ ├── servishero_loading.json
│ │ ├── simple_loader.json
│ │ ├── slack_app_loader.json
│ │ ├── snowcation.json
│ │ ├── socar_logo.json
│ │ ├── soda_loader.json
│ │ ├── spacehub.json
│ │ ├── spider.json
│ │ ├── spinner loading.json
│ │ ├── splashy_loader.json
│ │ ├── square_drop_loader.json
│ │ ├── star 2.json
│ │ ├── streetby_test_loading.json
│ │ ├── submit button.json
│ │ ├── summer.json
│ │ ├── swiftkey-logo.json
│ │ ├── swipe_menu.json
│ │ ├── swipe_right_indicator.json
│ │ ├── switch_loop.json
│ │ ├── the_final_frontier.json
│ │ ├── tigerobo_demo.json
│ │ ├── timer_(3_second_loop).json
│ │ ├── toggle.json
│ │ ├── toggle_switch.json
│ │ ├── touch_id.json
│ │ ├── tractor.json
│ │ ├── tractor_animation.json
│ │ ├── trail_loading.json
│ │ ├── trophy.json
│ │ ├── truecosmos.json
│ │ ├── turbine.json
│ │ ├── typing dot.json
│ │ ├── uk.json
│ │ ├── updating_map.json
│ │ ├── us.json
│ │ ├── video_cam.json
│ │ ├── vigilance_camera.json
│ │ ├── volume_indicator.json
│ │ ├── volume_shake_indicator.json
│ │ ├── vr_animation.json
│ │ ├── vr_sickness.json
│ │ ├── walking.json
│ │ ├── walking_arrow.json
│ │ ├── wallet recharge.json
│ │ ├── washing_machine.json
│ │ ├── win_result_2.json
│ │ ├── wolf_peek.json
│ │ ├── x_pop.json
│ │ ├── xamarin_logo_2.json
│ │ ├── xuanwheel_logo.json
│ │ ├── yoga_carpet.json
│ │ └── youtube_icon_reveal.json
│ ├── LottieDemo.csproj
│ ├── ViewModels
│ │ ├── AssetViewModel.cs
│ │ └── MainViewModel.cs
│ └── Views
│ │ ├── MainView.axaml
│ │ ├── MainView.axaml.cs
│ │ ├── MainWindow.axaml
│ │ └── MainWindow.axaml.cs
└── LottieToSvg
│ ├── App.axaml
│ ├── App.axaml.cs
│ ├── LottieToSvg.csproj
│ ├── MainWindow.axaml
│ ├── MainWindow.axaml.cs
│ └── Program.cs
└── src
└── Lottie
├── Lottie.cs
├── Lottie.csproj
├── LottieCommand.cs
├── LottieCompositionCustomVisualHandler.cs
├── LottiePayload.cs
├── Properties
└── AssemblyInfo.cs
└── ServiceProviderExtensions.cs
/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 |
3 | # top-most EditorConfig file
4 | root = true
5 |
6 | # Default settings:
7 | # A newline ending every file
8 | # Use 4 spaces as indentation
9 | [*]
10 | insert_final_newline = true
11 | indent_style = space
12 | indent_size = 4
13 |
14 | # C# files
15 | [*.cs]
16 | # New line preferences
17 | csharp_new_line_before_open_brace = all
18 | csharp_new_line_before_else = true
19 | csharp_new_line_before_catch = true
20 | csharp_new_line_before_finally = true
21 | csharp_new_line_before_members_in_object_initializers = true
22 | csharp_new_line_before_members_in_anonymous_types = true
23 | csharp_new_line_between_query_expression_clauses = true
24 |
25 | # Indentation preferences
26 | csharp_indent_block_contents = true
27 | csharp_indent_braces = false
28 | csharp_indent_case_contents = true
29 | csharp_indent_switch_labels = true
30 | csharp_indent_labels = one_less_than_current
31 |
32 | # avoid this. unless absolutely necessary
33 | dotnet_style_qualification_for_field = false:suggestion
34 | dotnet_style_qualification_for_property = false:suggestion
35 | dotnet_style_qualification_for_method = false:suggestion
36 | dotnet_style_qualification_for_event = false:suggestion
37 |
38 | # prefer var
39 | csharp_style_var_for_built_in_types = true
40 | csharp_style_var_when_type_is_apparent = true
41 | csharp_style_var_elsewhere = true:suggestion
42 |
43 | # use language keywords instead of BCL types
44 | dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
45 | dotnet_style_predefined_type_for_member_access = true:suggestion
46 |
47 | # name all constant fields using PascalCase
48 | dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
49 | dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
50 | dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
51 |
52 | dotnet_naming_symbols.constant_fields.applicable_kinds = field
53 | dotnet_naming_symbols.constant_fields.required_modifiers = const
54 |
55 | dotnet_naming_style.pascal_case_style.capitalization = pascal_case
56 |
57 | # static fields should have s_ prefix
58 | dotnet_naming_rule.static_fields_should_have_prefix.severity = suggestion
59 | dotnet_naming_rule.static_fields_should_have_prefix.symbols = static_fields
60 | dotnet_naming_rule.static_fields_should_have_prefix.style = static_prefix_style
61 |
62 | dotnet_naming_symbols.static_fields.applicable_kinds = field
63 | dotnet_naming_symbols.static_fields.required_modifiers = static
64 |
65 | dotnet_naming_style.static_prefix_style.required_prefix = s_
66 | dotnet_naming_style.static_prefix_style.capitalization = camel_case
67 |
68 | # internal and private fields should be _camelCase
69 | dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion
70 | dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields
71 | dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style
72 |
73 | dotnet_naming_symbols.private_internal_fields.applicable_kinds = field
74 | dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal
75 |
76 | dotnet_naming_style.camel_case_underscore_style.required_prefix = _
77 | dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case
78 |
79 | # use accessibility modifiers
80 | dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
81 |
82 | # Code style defaults
83 | dotnet_sort_system_directives_first = true
84 | csharp_preserve_single_line_blocks = true
85 | csharp_preserve_single_line_statements = false
86 |
87 | # Expression-level preferences
88 | dotnet_style_object_initializer = true:suggestion
89 | dotnet_style_collection_initializer = true:suggestion
90 | dotnet_style_explicit_tuple_names = true:suggestion
91 | dotnet_style_coalesce_expression = true:suggestion
92 | dotnet_style_null_propagation = true:suggestion
93 |
94 | # Expression-bodied members
95 | csharp_style_expression_bodied_methods = false:none
96 | csharp_style_expression_bodied_constructors = false:none
97 | csharp_style_expression_bodied_operators = false:none
98 | csharp_style_expression_bodied_properties = true:none
99 | csharp_style_expression_bodied_indexers = true:none
100 | csharp_style_expression_bodied_accessors = true:none
101 |
102 | # Pattern matching
103 | csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
104 | csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
105 | csharp_style_inlined_variable_declaration = true:suggestion
106 |
107 | # Null checking preferences
108 | csharp_style_throw_expression = true:suggestion
109 | csharp_style_conditional_delegate_call = true:suggestion
110 |
111 | # Space preferences
112 | csharp_space_after_cast = false
113 | csharp_space_after_colon_in_inheritance_clause = true
114 | csharp_space_after_comma = true
115 | csharp_space_after_dot = false
116 | csharp_space_after_keywords_in_control_flow_statements = true
117 | csharp_space_after_semicolon_in_for_statement = true
118 | csharp_space_around_binary_operators = before_and_after
119 | csharp_space_around_declaration_statements = do_not_ignore
120 | csharp_space_before_colon_in_inheritance_clause = true
121 | csharp_space_before_comma = false
122 | csharp_space_before_dot = false
123 | csharp_space_before_open_square_brackets = false
124 | csharp_space_before_semicolon_in_for_statement = false
125 | csharp_space_between_empty_square_brackets = false
126 | csharp_space_between_method_call_empty_parameter_list_parentheses = false
127 | csharp_space_between_method_call_name_and_opening_parenthesis = false
128 | csharp_space_between_method_call_parameter_list_parentheses = false
129 | csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
130 | csharp_space_between_method_declaration_name_and_open_parenthesis = false
131 | csharp_space_between_method_declaration_parameter_list_parentheses = false
132 | csharp_space_between_parentheses = false
133 | csharp_space_between_square_brackets = false
134 |
135 | # Xaml files
136 | [*.{xaml,axaml}]
137 | indent_style = space
138 | indent_size = 2
139 |
140 | # Xml project files
141 | [*.{csproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}]
142 | indent_size = 2
143 |
144 | # Xml build files
145 | [*.builds]
146 | indent_size = 2
147 |
148 | # Xml files
149 | [*.{xml,stylecop,resx,ruleset}]
150 | indent_size = 2
151 |
152 | # Xml config files
153 | [*.{props,targets,config,nuspec}]
154 | indent_size = 2
155 |
156 | # Shell scripts
157 | [*.sh]
158 | end_of_line = lf
159 | [*.{cmd, bat}]
160 | end_of_line = crlf
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: [wieslawsoltes]
2 |
--------------------------------------------------------------------------------
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # https://probot.github.io/apps/stale/
2 |
3 | # Number of days of inactivity before an issue becomes stale
4 | daysUntilStale: 60
5 |
6 | # Number of days of inactivity before a stale issue is closed
7 | daysUntilClose: 7
8 |
9 | # Issues with these labels will never be considered stale
10 | exemptLabels:
11 | - pinned
12 | - security
13 |
14 | # Label to use when marking an issue as stale
15 | staleLabel: stale
16 |
17 | # Comment to post when marking an issue as stale. Set to `false` to disable
18 | markComment: >
19 | This issue has been automatically marked as stale because it has not had
20 | recent activity. It will be closed if no further activity occurs. Thank you
21 | for your contributions.
22 |
23 | # Comment to post when closing a stale issue. Set to `false` to disable
24 | closeComment: true
25 |
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 | - release/*
8 | pull_request:
9 | branches:
10 | - main
11 |
12 | jobs:
13 | build:
14 | strategy:
15 | matrix:
16 | os: [ubuntu-latest, windows-latest, macos-latest]
17 | name: Build ${{ matrix.os }}
18 | runs-on: ${{ matrix.os }}
19 |
20 | steps:
21 | - uses: actions/checkout@v1
22 | - name: Setup .NET Core
23 | uses: actions/setup-dotnet@v1
24 | - name: Install wasm-tools
25 | run: dotnet workload install wasm-tools wasm-experimental
26 | - name: Build Release
27 | run: dotnet build --configuration Release
28 | - name: Test Release
29 | run: dotnet test --configuration Release
30 |
--------------------------------------------------------------------------------
/.github/workflows/pages.yml:
--------------------------------------------------------------------------------
1 | name: Deploy to GitHub Pages
2 |
3 | env:
4 | PROJECT_PATH: samples/LottieDemo.Web/LottieDemo.Web.csproj
5 | OUTPUT_PATH: samples/LottieDemo.Web/bin/Release/net7.0/browser-wasm/AppBundle
6 | on:
7 | push:
8 | branches: [ main ]
9 |
10 | jobs:
11 | deploy-to-github-pages:
12 | runs-on: ubuntu-latest
13 | steps:
14 | - uses: actions/checkout@v2
15 |
16 | - name: Setup .NET Core SDK
17 | uses: actions/setup-dotnet@v1.9.0
18 |
19 | - name: Install wasm-tools
20 | run: dotnet workload install wasm-tools wasm-experimental
21 |
22 | - name: Install DotNetCompress
23 | run: dotnet tool install --global DotNetCompress --version 2.0.0 --no-cache
24 |
25 | - name: Publish .NET Project
26 | run: dotnet publish $PROJECT_PATH -c Release -o release --nologo
27 |
28 | - name: Change base-tag in index.html
29 | run: sed -i 's///g' $OUTPUT_PATH/index.html
30 |
31 | - name: copy index.html to 404.html
32 | run: cp $OUTPUT_PATH/index.html $OUTPUT_PATH/404.html
33 |
34 | - name: Compress Output using Brotli
35 | run: DotNetCompress -d $OUTPUT_PATH/ -p "*.dll" "*.js" "*.wasm" --format br --threads 4
36 |
37 | - name: Compress Output using GZip
38 | run: DotNetCompress -d $OUTPUT_PATH -p "*.dll" "*.js" "*.wasm" --format gz --threads 4
39 |
40 | - name: Add .nojekyll file
41 | run: touch $OUTPUT_PATH/.nojekyll
42 |
43 | - name: Commit wwwroot to GitHub Pages
44 | uses: JamesIves/github-pages-deploy-action@4.1.7
45 | with:
46 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47 | BRANCH: gh-pages
48 | FOLDER: ${{ env.OUTPUT_PATH }}
49 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.suo
8 | *.user
9 | *.userosscache
10 | *.sln.docstates
11 |
12 | # User-specific files (MonoDevelop/Xamarin Studio)
13 | *.userprefs
14 |
15 | # Build results
16 | [Dd]ebug/
17 | [Dd]ebugPublic/
18 | [Rr]elease/
19 | [Rr]eleases/
20 | x64/
21 | x86/
22 | bld/
23 | [Bb]in/
24 | [Oo]bj/
25 | [Ll]og/
26 |
27 | # Visual Studio 2015 cache/options directory
28 | .vs/
29 | # Uncomment if you have tasks that create the project's static files in wwwroot
30 | #wwwroot/
31 |
32 | # MSTest test Results
33 | [Tt]est[Rr]esult*/
34 | [Bb]uild[Ll]og.*
35 |
36 | # NUNIT
37 | *.VisualState.xml
38 | TestResult.xml
39 |
40 | # Build Results of an ATL Project
41 | [Dd]ebugPS/
42 | [Rr]eleasePS/
43 | dlldata.c
44 |
45 | # .NET Core
46 | project.lock.json
47 | project.fragment.lock.json
48 | artifacts/
49 | **/Properties/launchSettings.json
50 |
51 | *_i.c
52 | *_p.c
53 | *_i.h
54 | *.ilk
55 | *.meta
56 | *.obj
57 | *.pch
58 | *.pdb
59 | *.pgc
60 | *.pgd
61 | *.rsp
62 | *.sbr
63 | *.tlb
64 | *.tli
65 | *.tlh
66 | *.tmp
67 | *.tmp_proj
68 | *.log
69 | *.vspscc
70 | *.vssscc
71 | .builds
72 | *.pidb
73 | *.svclog
74 | *.scc
75 |
76 | # Chutzpah Test files
77 | _Chutzpah*
78 |
79 | # Visual C++ cache files
80 | ipch/
81 | *.aps
82 | *.ncb
83 | *.opendb
84 | *.opensdf
85 | *.sdf
86 | *.cachefile
87 | *.VC.db
88 | *.VC.VC.opendb
89 |
90 | # Visual Studio profiler
91 | *.psess
92 | *.vsp
93 | *.vspx
94 | *.sap
95 |
96 | # TFS 2012 Local Workspace
97 | $tf/
98 |
99 | # Guidance Automation Toolkit
100 | *.gpState
101 |
102 | # ReSharper is a .NET coding add-in
103 | _ReSharper*/
104 | *.[Rr]e[Ss]harper
105 | *.DotSettings.user
106 |
107 | # JustCode is a .NET coding add-in
108 | .JustCode
109 |
110 | # TeamCity is a build add-in
111 | _TeamCity*
112 |
113 | # DotCover is a Code Coverage Tool
114 | *.dotCover
115 |
116 | # Visual Studio code coverage results
117 | *.coverage
118 | *.coveragexml
119 |
120 | # NCrunch
121 | _NCrunch_*
122 | .*crunch*.local.xml
123 | nCrunchTemp_*
124 |
125 | # MightyMoose
126 | *.mm.*
127 | AutoTest.Net/
128 |
129 | # Web workbench (sass)
130 | .sass-cache/
131 |
132 | # Installshield output folder
133 | [Ee]xpress/
134 |
135 | # DocProject is a documentation generator add-in
136 | DocProject/buildhelp/
137 | DocProject/Help/*.HxT
138 | DocProject/Help/*.HxC
139 | DocProject/Help/*.hhc
140 | DocProject/Help/*.hhk
141 | DocProject/Help/*.hhp
142 | DocProject/Help/Html2
143 | DocProject/Help/html
144 |
145 | # Click-Once directory
146 | publish/
147 |
148 | # Publish Web Output
149 | *.[Pp]ublish.xml
150 | *.azurePubxml
151 | # TODO: Comment the next line if you want to checkin your web deploy settings
152 | # but database connection strings (with potential passwords) will be unencrypted
153 | *.pubxml
154 | *.publishproj
155 |
156 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
157 | # checkin your Azure Web App publish settings, but sensitive information contained
158 | # in these scripts will be unencrypted
159 | PublishScripts/
160 |
161 | # NuGet Packages
162 | *.nupkg
163 | # The packages folder can be ignored because of Package Restore
164 | **/packages/*
165 | # except build/, which is used as an MSBuild target.
166 | !**/packages/build/
167 | # Uncomment if necessary however generally it will be regenerated when needed
168 | #!**/packages/repositories.config
169 | # NuGet v3's project.json files produces more ignorable files
170 | *.nuget.props
171 | *.nuget.targets
172 |
173 | # Microsoft Azure Build Output
174 | csx/
175 | *.build.csdef
176 |
177 | # Microsoft Azure Emulator
178 | ecf/
179 | rcf/
180 |
181 | # Windows Store app package directories and files
182 | AppPackages/
183 | BundleArtifacts/
184 | Package.StoreAssociation.xml
185 | _pkginfo.txt
186 |
187 | # Visual Studio cache files
188 | # files ending in .cache can be ignored
189 | *.[Cc]ache
190 | # but keep track of directories ending in .cache
191 | !*.[Cc]ache/
192 |
193 | # Others
194 | ClientBin/
195 | ~$*
196 | *~
197 | *.dbmdl
198 | *.dbproj.schemaview
199 | *.jfm
200 | *.pfx
201 | *.publishsettings
202 | orleans.codegen.cs
203 |
204 | # Since there are multiple workflows, uncomment next line to ignore bower_components
205 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
206 | #bower_components/
207 |
208 | # RIA/Silverlight projects
209 | Generated_Code/
210 |
211 | # Backup & report files from converting an old project file
212 | # to a newer Visual Studio version. Backup files are not needed,
213 | # because we have git ;-)
214 | _UpgradeReport_Files/
215 | Backup*/
216 | UpgradeLog*.XML
217 | UpgradeLog*.htm
218 |
219 | # SQL Server files
220 | *.mdf
221 | *.ldf
222 | *.ndf
223 |
224 | # Business Intelligence projects
225 | *.rdl.data
226 | *.bim.layout
227 | *.bim_*.settings
228 |
229 | # Microsoft Fakes
230 | FakesAssemblies/
231 |
232 | # GhostDoc plugin setting file
233 | *.GhostDoc.xml
234 |
235 | # Node.js Tools for Visual Studio
236 | .ntvs_analysis.dat
237 | node_modules/
238 |
239 | # Typescript v1 declaration files
240 | typings/
241 |
242 | # Visual Studio 6 build log
243 | *.plg
244 |
245 | # Visual Studio 6 workspace options file
246 | *.opt
247 |
248 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
249 | *.vbw
250 |
251 | # Visual Studio LightSwitch build output
252 | **/*.HTMLClient/GeneratedArtifacts
253 | **/*.DesktopClient/GeneratedArtifacts
254 | **/*.DesktopClient/ModelManifest.xml
255 | **/*.Server/GeneratedArtifacts
256 | **/*.Server/ModelManifest.xml
257 | _Pvt_Extensions
258 |
259 | # Paket dependency manager
260 | .paket/paket.exe
261 | paket-files/
262 |
263 | # FAKE - F# Make
264 | .fake/
265 |
266 | # JetBrains Rider
267 | .idea/
268 | *.sln.iml
269 |
270 | # CodeRush
271 | .cr/
272 |
273 | # Python Tools for Visual Studio (PTVS)
274 | __pycache__/
275 | *.pyc
276 |
277 | # Cake - Uncomment if you are using it
278 | tools/**
279 | # !tools/packages.config
280 |
281 | # Telerik's JustMock configuration file
282 | *.jmconfig
283 |
284 | # BizTalk build output
285 | *.btp.cs
286 | *.btm.cs
287 | *.odx.cs
288 | *.xsd.cs
289 |
290 | # macOS
291 | .DS_Store
292 |
--------------------------------------------------------------------------------
/Avalonia.Skia.Lottie.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{63AB3979-8A62-4F66-923F-0080C6D384DE}"
4 | EndProject
5 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{BB17F9CC-92ED-43AD-B21E-3AFECEFE0AD1}"
6 | EndProject
7 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lottie", "src\Lottie\Lottie.csproj", "{DAE98D56-C766-4B9C-BEE4-947D72897D46}"
8 | EndProject
9 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LottieDemo", "samples\LottieDemo\LottieDemo.csproj", "{B5D2A1C7-8DB5-4825-B44B-5B1B780FE094}"
10 | EndProject
11 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LottieDemo.Desktop", "samples\LottieDemo.Desktop\LottieDemo.Desktop.csproj", "{4BAE6D71-C02F-4416-9A4F-35961EBFA022}"
12 | EndProject
13 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LottieDemo.Web", "samples\LottieDemo.Web\LottieDemo.Web.csproj", "{A84F5C89-5C20-452F-B914-9B1A77AC444A}"
14 | EndProject
15 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LottieToSvg", "samples\LottieToSvg\LottieToSvg.csproj", "{CE7E4ADC-8AD8-4973-8F89-58669CC38DA8}"
16 | EndProject
17 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{221169E3-B43C-4E97-8B5E-D070B3FCD4FF}"
18 | ProjectSection(SolutionItems) = preProject
19 | Directory.Build.props = Directory.Build.props
20 | nuget.config = nuget.config
21 | global.json = global.json
22 | EndProjectSection
23 | EndProject
24 | Global
25 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
26 | Debug|Any CPU = Debug|Any CPU
27 | Release|Any CPU = Release|Any CPU
28 | EndGlobalSection
29 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
30 | {DAE98D56-C766-4B9C-BEE4-947D72897D46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
31 | {DAE98D56-C766-4B9C-BEE4-947D72897D46}.Debug|Any CPU.Build.0 = Debug|Any CPU
32 | {DAE98D56-C766-4B9C-BEE4-947D72897D46}.Release|Any CPU.ActiveCfg = Release|Any CPU
33 | {DAE98D56-C766-4B9C-BEE4-947D72897D46}.Release|Any CPU.Build.0 = Release|Any CPU
34 | {B5D2A1C7-8DB5-4825-B44B-5B1B780FE094}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
35 | {B5D2A1C7-8DB5-4825-B44B-5B1B780FE094}.Debug|Any CPU.Build.0 = Debug|Any CPU
36 | {B5D2A1C7-8DB5-4825-B44B-5B1B780FE094}.Release|Any CPU.ActiveCfg = Release|Any CPU
37 | {B5D2A1C7-8DB5-4825-B44B-5B1B780FE094}.Release|Any CPU.Build.0 = Release|Any CPU
38 | {4BAE6D71-C02F-4416-9A4F-35961EBFA022}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
39 | {4BAE6D71-C02F-4416-9A4F-35961EBFA022}.Debug|Any CPU.Build.0 = Debug|Any CPU
40 | {4BAE6D71-C02F-4416-9A4F-35961EBFA022}.Release|Any CPU.ActiveCfg = Release|Any CPU
41 | {4BAE6D71-C02F-4416-9A4F-35961EBFA022}.Release|Any CPU.Build.0 = Release|Any CPU
42 | {A84F5C89-5C20-452F-B914-9B1A77AC444A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
43 | {A84F5C89-5C20-452F-B914-9B1A77AC444A}.Debug|Any CPU.Build.0 = Debug|Any CPU
44 | {A84F5C89-5C20-452F-B914-9B1A77AC444A}.Release|Any CPU.ActiveCfg = Release|Any CPU
45 | {A84F5C89-5C20-452F-B914-9B1A77AC444A}.Release|Any CPU.Build.0 = Release|Any CPU
46 | {CE7E4ADC-8AD8-4973-8F89-58669CC38DA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
47 | {CE7E4ADC-8AD8-4973-8F89-58669CC38DA8}.Debug|Any CPU.Build.0 = Debug|Any CPU
48 | {CE7E4ADC-8AD8-4973-8F89-58669CC38DA8}.Release|Any CPU.ActiveCfg = Release|Any CPU
49 | {CE7E4ADC-8AD8-4973-8F89-58669CC38DA8}.Release|Any CPU.Build.0 = Release|Any CPU
50 | EndGlobalSection
51 | GlobalSection(NestedProjects) = preSolution
52 | {DAE98D56-C766-4B9C-BEE4-947D72897D46} = {63AB3979-8A62-4F66-923F-0080C6D384DE}
53 | {B5D2A1C7-8DB5-4825-B44B-5B1B780FE094} = {BB17F9CC-92ED-43AD-B21E-3AFECEFE0AD1}
54 | {4BAE6D71-C02F-4416-9A4F-35961EBFA022} = {BB17F9CC-92ED-43AD-B21E-3AFECEFE0AD1}
55 | {A84F5C89-5C20-452F-B914-9B1A77AC444A} = {BB17F9CC-92ED-43AD-B21E-3AFECEFE0AD1}
56 | {CE7E4ADC-8AD8-4973-8F89-58669CC38DA8} = {BB17F9CC-92ED-43AD-B21E-3AFECEFE0AD1}
57 | EndGlobalSection
58 | EndGlobal
59 |
--------------------------------------------------------------------------------
/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 | 11.3.0
4 |
5 | Wiesław Šoltés
6 | Wiesław Šoltés
7 | Copyright © Wiesław Šoltés 2025
8 | https://github.com/wieslawsoltes/Avalonia.Skia.Lottie
9 |
10 |
11 | latest
12 | latest
13 |
14 |
15 | 11.3.0
16 | 2.88.9
17 |
18 |
19 |
--------------------------------------------------------------------------------
/LICENSE.TXT:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) Wiesław Šoltés
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Lottie
2 |
3 | [](https://github.com/wieslawsoltes/Avalonia.Skia.Lottie/actions/workflows/build.yml)
4 |
5 | [](https://www.nuget.org/packages/Lottie)
6 | [](https://www.nuget.org/packages/Lottie)
7 |
8 | A lottie animation player control for Avalonia.
9 |
10 | ## Usage
11 |
12 | ```xaml
13 |
14 | ```
15 |
16 | ## Links
17 |
18 | - [Avalonia](https://avaloniaui.net/)
19 | - [Skottie - Lottie Animation Player](https://skia.org/docs/user/modules/skottie/)
20 | - [Skottie source code](https://skia.org/docs/user/modules/skottie/)
21 | - [SkiaSharp.Skottie](https://www.nuget.org/packages/SkiaSharp.Skottie)
22 |
23 | ## License
24 |
25 | Lottie is licensed under the [MIT license](LICENSE.TXT).
26 |
--------------------------------------------------------------------------------
/global.json:
--------------------------------------------------------------------------------
1 | {
2 | "sdk": {
3 | "version": "9.0.100",
4 | "rollForward": "latestMinor",
5 | "allowPrerelease": true
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/nuget.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/samples/LottieDemo.Desktop/Assets/avalonia-logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wieslawsoltes/Lottie/b944b182b0c2d05db0b4fb1b0ff2771dcf2f22a3/samples/LottieDemo.Desktop/Assets/avalonia-logo.ico
--------------------------------------------------------------------------------
/samples/LottieDemo.Desktop/LottieDemo.Desktop.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | WinExe
4 | net9.0
5 | enable
6 | False
7 | copyused
8 | true
9 | LottieDemo.Desktop
10 | Assets/avalonia-logo.ico
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/samples/LottieDemo.Desktop/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Avalonia;
3 |
4 | namespace LottieDemo.Desktop;
5 |
6 | class Program
7 | {
8 | [STAThread]
9 | public static void Main(string[] args) => BuildAvaloniaApp()
10 | .StartWithClassicDesktopLifetime(args);
11 |
12 | public static AppBuilder BuildAvaloniaApp()
13 | => AppBuilder.Configure()
14 | .UsePlatformDetect()
15 | .UseSkia()
16 | .LogToTrace();
17 | }
18 |
--------------------------------------------------------------------------------
/samples/LottieDemo.Web/AppBundle/Logo.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/samples/LottieDemo.Web/AppBundle/app.css:
--------------------------------------------------------------------------------
1 | .highlight {
2 | color: white;
3 | font-size: 2.5rem;
4 | display: block;
5 | }
6 |
7 | .purple {
8 | color: #8b44ac;
9 | }
10 |
11 | .icon {
12 | opacity : 0.05;
13 | height: 35%;
14 | width: 35%;
15 | position : absolute;
16 | background-repeat: no-repeat;
17 | right: 0px;
18 | bottom: 0px;
19 | margin-right: 3%;
20 | margin-bottom: 5%;
21 | z-index: 5000;
22 | background-position: right bottom;
23 | pointer-events: none;
24 | }
25 |
26 | #avalonia-splash a{
27 | color: whitesmoke;
28 | text-decoration: none;
29 | }
30 |
31 | .center {
32 | display: flex;
33 | justify-content: center;
34 | align-items: center;
35 | height: 100vh;
36 | }
37 |
38 | #avalonia-splash {
39 | position: relative;
40 | height: 100%;
41 | width: 100%;
42 | color: whitesmoke;
43 | background: #1b2a4e;
44 | font-family: 'Nunito', sans-serif;
45 | background-position: center;
46 | background-size: cover;
47 | background-repeat: no-repeat;
48 | justify-content: center;
49 | align-items: center;
50 | }
51 |
52 | .splash-close {
53 | animation: fadeout 0.25s linear forwards;
54 | }
55 |
56 | @keyframes fadeout {
57 | 0% {
58 | opacity:100%;
59 | }
60 | 100% {
61 | opacity:0;
62 | visibility: collapse;
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/samples/LottieDemo.Web/AppBundle/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wieslawsoltes/Lottie/b944b182b0c2d05db0b4fb1b0ff2771dcf2f22a3/samples/LottieDemo.Web/AppBundle/favicon.ico
--------------------------------------------------------------------------------
/samples/LottieDemo.Web/AppBundle/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Lottie Demos
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/samples/LottieDemo.Web/AppBundle/main.js:
--------------------------------------------------------------------------------
1 | import { dotnet } from './dotnet.js'
2 | import { registerAvaloniaModule } from './avalonia.js';
3 |
4 | const is_browser = typeof window != "undefined";
5 | if (!is_browser) throw new Error(`Expected to be running in a browser`);
6 |
7 | const dotnetRuntime = await dotnet
8 | .withDiagnosticTracing(false)
9 | .withApplicationArgumentsFromQuery()
10 | .create();
11 |
12 | await registerAvaloniaModule(dotnetRuntime);
13 |
14 | const config = dotnetRuntime.getConfig();
15 |
16 | await dotnetRuntime.runMainAndExit(config.mainAssemblyName, [window.location.search]);
17 |
--------------------------------------------------------------------------------
/samples/LottieDemo.Web/AppBundle/staticwebapp.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "routes": [
3 | {
4 | "route": "/*",
5 | "headers": {
6 | "Cache-Control": "public, must-revalidate, max-age=2419200"
7 | }
8 | }
9 | ]
10 | }
--------------------------------------------------------------------------------
/samples/LottieDemo.Web/LottieDemo.Web.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net9.0
5 | browser-wasm
6 | AppBundle\main.js
7 | Exe
8 | true
9 | true
10 | False
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/samples/LottieDemo.Web/Program.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.Versioning;
2 | using System.Threading.Tasks;
3 | using Avalonia;
4 | using Avalonia.Browser;
5 | using LottieDemo;
6 |
7 | [assembly:SupportedOSPlatform("browser")]
8 |
9 | internal class Program
10 | {
11 | private static async Task Main(string[] args)
12 | => await BuildAvaloniaApp().StartBrowserAppAsync("out");
13 |
14 | public static AppBuilder BuildAvaloniaApp()
15 | => AppBuilder.Configure();
16 | }
17 |
--------------------------------------------------------------------------------
/samples/LottieDemo.Web/runtimeconfig.template.json:
--------------------------------------------------------------------------------
1 | {
2 | "wasmHostProperties": {
3 | "perHostConfig": [
4 | {
5 | "name": "browser",
6 | "html-path": "index.html",
7 | "Host": "browser"
8 | }
9 | ]
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/samples/LottieDemo/App.axaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/samples/LottieDemo/App.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls.ApplicationLifetimes;
3 | using Avalonia.Markup.Xaml;
4 | using LottieDemo.ViewModels;
5 | using LottieDemo.Views;
6 |
7 | namespace LottieDemo;
8 |
9 | public partial class App : Application
10 | {
11 | public override void Initialize()
12 | {
13 | AvaloniaXamlLoader.Load(this);
14 | }
15 |
16 | public override void OnFrameworkInitializationCompleted()
17 | {
18 | if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
19 | {
20 | desktop.MainWindow = new MainWindow
21 | {
22 | DataContext = new MainViewModel()
23 | };
24 | }
25 | else if (ApplicationLifetime is ISingleViewApplicationLifetime single)
26 | {
27 | single.MainView = new MainView
28 | {
29 | DataContext = new MainViewModel()
30 | };
31 | }
32 |
33 | base.OnFrameworkInitializationCompleted();
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/accept_arrows.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.3","fr":30,"ip":0,"op":40,"w":750,"h":450,"nm":"Comp 4","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"arrow Outlines 4","ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15,"s":[100],"e":[0]},{"t":40}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[598,246,0]},"a":{"a":0,"k":[144,280,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[25.138,-227.081],[-144,-0.159],[25.138,227.082],[144,227.082],[-25.138,-0.159],[144,-227.081]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[144,259.931],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":15,"op":155,"st":5,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"arrow Outlines 5","ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[100],"e":[0]},{"t":35}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[448,246,0]},"a":{"a":0,"k":[144,280,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[25.138,-227.081],[-144,-0.159],[25.138,227.082],[144,227.082],[-25.138,-0.159],[144,-227.081]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[144,259.931],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":10,"op":155,"st":5,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"arrow Outlines 3","ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5,"s":[100],"e":[0]},{"t":30}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[296,248,0]},"a":{"a":0,"k":[144,280,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[25.138,-227.081],[-144,-0.159],[25.138,227.082],[144,227.082],[-25.138,-0.159],[144,-227.081]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[144,259.931],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":5,"op":155,"st":5,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"arrow Outlines","ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[0]},{"t":25}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[146,248,0]},"a":{"a":0,"k":[144,280,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[25.138,-227.081],[-144,-0.159],[25.138,227.082],[144,227.082],[-25.138,-0.159],[144,-227.081]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[144,259.931],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":151,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/android_fingerprint.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.3","fr":25,"ip":0,"op":39,"w":650,"h":230,"nm":"Fingerprint","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 3","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[325,115,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[20.666,6.495],[-24.5,6],[-12.496,-7.37],[4.5,18.5],[32.5,-6.5],[-19,-58]],"o":[[-52.5,-16.5],[28.289,-6.928],[19.5,11.5],[-7.796,-32.05],[-27.263,5.453],[19.074,58.225]],"v":[[26,78],[-6.5,1.5],[30,38.5],[60.5,9.5],[-15.5,-36],[-55,53.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.2627451,0.9921569,0.4666667,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":9},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0_1_0p333_0"],"t":1,"s":[0],"e":[100]},{"t":28}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":0,"op":39,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[325,115,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[24,-3.5],[3,40.5]],"o":[[-24,3.5],[-3,-40.5]],"v":[[51.5,58.5],[-1,17.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.2627451,0.9921569,0.4666667,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":9},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[102.868,99.902],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[43.527,56.362],[27.5,-42.5]],"o":[[-39,-50.5],[-27.5,42.5]],"v":[[68.5,-22.5],[-69,-20.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.2627451,0.9921569,0.4666667,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":9},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0_1_0p333_0"],"t":5,"s":[0],"e":[100]},{"t":19}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":0,"op":39,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[325,115,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[48.5,-7.5],[-33,-25]],"o":[[0,0],[-44.485,6.879],[35.509,26.901]],"v":[[41,24],[-8.5,-17],[-16,76.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.2627451,0.9921569,0.4666667,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":9},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[58,-30]],"o":[[0,0],[-58,30]],"v":[[49.5,-62.5],[-50,-62.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.2627451,0.9921569,0.4666667,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":9},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0_1_0p333_0"],"t":0,"s":[0],"e":[100]},{"t":19}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":0,"op":39,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/avalonia-logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wieslawsoltes/Lottie/b944b182b0c2d05db0b4fb1b0ff2771dcf2f22a3/samples/LottieDemo/Assets/avalonia-logo.ico
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/bell.json:
--------------------------------------------------------------------------------
1 | {"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":0,"ty":1,"nm":"White Solid 1","td":1,"ks":{"o":{"k":100},"r":{"k":22},"p":{"k":[288.003,547.449,0]},"a":{"k":[25,25,0]},"s":{"k":[412,168,100]}},"ao":0,"sw":50,"sh":50,"sc":"#ffffff","ip":0,"op":50,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","tt":2,"ks":{"o":{"k":100},"r":{"k":22},"p":{"k":[273.145,580.253,0]},"a":{"k":[-0.776,155.616,0]},"s":{"k":[110.945,113.273,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"k":[59.648,59.648]},"p":{"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","fillEnabled":true,"c":{"k":[0,0,0,1]},"o":{"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"k":[-1,155.5],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":50,"st":0,"bm":0,"sr":1}]}],"layers":[{"ddd":0,"ind":0,"ty":3,"nm":"Null 1","ks":{"o":{"k":0},"r":{"k":[{"i":{"x":[0.833],"y":[1.093]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1p093_0p167_0p167"],"t":0,"s":[0],"e":[-22]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.037]},"n":["0p833_1_0p167_0p037"],"t":6.931,"s":[-22],"e":[22]},{"i":{"x":[0.833],"y":[0.966]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p966_0p167_0"],"t":12.435,"s":[22],"e":[-22]},{"i":{"x":[0.833],"y":[0.857]},"o":{"x":[0.167],"y":[-0.098]},"n":["0p833_0p857_0p167_-0p098"],"t":18,"s":[-22],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.295]},"n":["0p833_1_0p167_0p295"],"t":26,"s":[0],"e":[4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p667_1_0p167_0"],"t":29,"s":[4],"e":[0]},{"t":33}]},"p":{"k":[221.5,77,0]},"a":{"k":[0,0,0]},"s":{"k":[344,344,100]}},"ao":0,"ip":0,"op":50,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":1,"nm":"Black Solid 1","parent":0,"ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[0,30.959,0]},"a":{"k":[221.5,183.5,0]},"s":{"k":[29.07,29.07,100]}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"k":{"i":[[3.376,4.804],[0,15.358],[0,0],[40.857,4.809],[0,6.956],[9.556,0],[0,-9.556],[-4.437,-3.072],[-0.007,-0.031],[0,-42.092],[0,0],[8.971,-12.559],[-5.461,0],[0,0]],"o":[[-8.874,-12.628],[0,0],[0,-41.969],[4.427,-3.689],[0,-9.556],[-9.556,0],[0,5.802],[0,0],[-40.638,4.737],[0,0],[0,15.358],[-3.413,4.778],[0,0],[5.461,0]],"v":[[318.087,264.087],[303.411,220.401],[303.411,172.619],[231.019,91.367],[238.565,77.056],[221.5,59.991],[204.435,77.056],[211.944,91.049],[211.971,91.152],[139.589,172.619],[139.589,220.401],[124.913,264.087],[130.374,275.009],[312.626,275.009]],"c":true}},"o":{"k":100},"x":{"k":0},"nm":"Mask 1"}],"ef":[{"ty":21,"nm":"Fill","mn":"ADBE Fill","ix":1,"ef":[{"ty":3,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"k":0}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"k":0}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"k":[1,1,1,1]}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"k":0}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"k":0}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"k":0}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"k":1}}]}],"sw":443,"sh":367,"sc":"#000000","ip":0,"op":50,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":0,"nm":"Pre-comp 1","parent":0,"refId":"comp_0","ks":{"o":{"k":100},"r":{"k":-22},"p":{"k":[{"i":{"x":0.833,"y":0.814},"o":{"x":0.167,"y":0.167},"n":"0p833_0p814_0p167_0p167","t":2,"s":[4.737,11.725,0],"e":[19.737,11.725,0],"to":[2.5,0,0],"ti":[2.83333325386047,0,0]},{"i":{"x":0.833,"y":0.844},"o":{"x":0.167,"y":0.157},"n":"0p833_0p844_0p167_0p157","t":4.572,"s":[19.737,11.725,0],"e":[-12.263,11.725,0],"to":[-2.83333325386047,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.88},"o":{"x":0.167,"y":0.177},"n":"0p833_0p88_0p167_0p177","t":9,"s":[-12.263,11.725,0],"e":[19.737,11.725,0],"to":[0,0,0],"ti":[-2.66666674613953,0,0]},{"i":{"x":0.833,"y":0.886},"o":{"x":0.167,"y":0.22},"n":"0p833_0p886_0p167_0p22","t":14.008,"s":[19.737,11.725,0],"e":[-8.129,11.725,0],"to":[0.7367005944252,0,0],"ti":[4.95352220535278,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.284},"n":"0p833_0p833_0p167_0p284","t":22,"s":[-8.129,11.725,0],"e":[3.737,11.725,0],"to":[-2.79587697982788,0,0],"ti":[0.0821717903018,0,0]},{"t":31}]},"a":{"k":[350,437.5,0]},"s":{"k":[29.07,29.07,100]}},"ao":0,"ef":[{"ty":21,"nm":"Fill","mn":"ADBE Fill","ix":1,"ef":[{"ty":3,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"k":0}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"k":0}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"k":[1,1,1,1]}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"k":0}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"k":0}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"k":0}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"k":1}}]}],"w":700,"h":875,"ip":0,"op":50,"st":0,"bm":0,"sr":1}],"v":"4.5.0","ddd":0,"ip":0,"op":42,"fr":25,"w":443,"h":367}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/cash.json:
--------------------------------------------------------------------------------
1 | {"v":"5.1.6","fr":30,"ip":0,"op":31,"w":304,"h":188,"nm":"2_credit","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":0.885},"o":{"x":0.333,"y":0},"n":"0_0p885_0p333_0","t":0,"s":[178,115,0],"e":[152,90,0],"to":[-4.33333349227905,-4.16666650772095,0],"ti":[4.33333349227905,4.16666650772095,0]},{"t":30}],"ix":2},"a":{"a":0,"k":[79,46,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[5.644,5.25],[4.241,0.966],[7.114,0.966]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-1.357,-1.234],[-0.056,-5.087],[1.206,-1.234]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-5.861,5.231],[-7.265,0.966],[-4.421,0.966]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0.607,0],[0,0],[0,0],[0.575,0.197],[0.197,-0.574],[0,0],[0,0],[0,0],[0.474,0.003],[0,0],[0.151,-0.447],[0,0],[0,0],[0,0],[0.578,-0.191],[-0.19,-0.577],[0,0],[0,0],[0,-0.607],[-0.608,0],[0,0],[0,0],[-0.473,-0.002],[0,0],[-0.15,0.447],[0,0],[0,0],[0,0],[-0.473,-0.003],[0,0],[-0.153,0.445],[0,0],[0,0],[0,0.608]],"o":[[0,0],[0,0],[0.197,-0.575],[-0.575,-0.197],[0,0],[0,0],[0,0],[-0.147,-0.45],[0,0],[-0.472,0],[0,0],[0,0],[0,0],[-0.19,-0.577],[-0.577,0.19],[0,0],[0,0],[-0.608,0],[0,0.608],[0,0],[0,0],[0.147,0.449],[0,0],[0.472,0],[0,0],[0,0],[0,0],[0.147,0.449],[0,0],[0.469,0],[0,0],[0,0],[0.607,0],[0,-0.607]],"v":[[12.644,-1.234],[10.195,-1.234],[12.591,-8.216],[11.907,-9.613],[10.51,-8.93],[7.869,-1.234],[3.521,-1.234],[1.005,-8.915],[-0.035,-9.673],[-0.04,-9.673],[-1.082,-8.925],[-3.679,-1.234],[-7.988,-1.234],[-10.516,-8.917],[-11.905,-9.618],[-12.606,-8.229],[-10.304,-1.234],[-12.644,-1.234],[-13.744,-0.134],[-12.644,0.966],[-9.581,0.966],[-6.919,9.054],[-5.879,9.81],[-5.875,9.81],[-4.833,9.062],[-2.1,0.966],[1.926,0.966],[4.574,9.052],[5.612,9.81],[5.62,9.81],[6.66,9.067],[9.44,0.966],[12.644,0.966],[13.744,-0.134]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[65.005,32.573],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"w","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-12.15,0],[0,-12.15],[12.15,0],[0,12.15]],"o":[[12.15,0],[0,12.15],[-12.15,0],[0,-12.15]],"v":[[0,-22],[22,0],[0,22],[-22,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":10,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[65,32],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"oval","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-1.657],[0,0],[-1.656,0],[0,0],[0,1.657],[0,0],[1.658,0]],"o":[[-1.656,0],[0,0],[0,1.657],[0,0],[1.658,0],[0,0],[0,-1.657],[0,0]],"v":[[-129,-66.001],[-132,-63.001],[-132,-3.001],[-129,0],[-3,0],[0,-3.001],[0,-63.001],[-3,-66.001]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"g":{"p":3,"k":{"a":0,"k":[0,0.486,0.302,1,0.5,0.551,0.39,1,1,0.616,0.478,1],"ix":9}},"s":{"a":0,"k":[-127.498,-61.229],"ix":5},"e":{"a":0,"k":[-2.012,-2.539],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[131.23,67.124],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":35,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.035,"y":0.889},"o":{"x":0.333,"y":0},"n":"0p035_0p889_0p333_0","t":0,"s":[164,104,0],"e":[152,90,0],"to":[-2,-2.33333325386047,0],"ti":[2,2.33333325386047,0]},{"t":30}],"ix":2},"a":{"a":0,"k":[79,46,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-1.657],[0,0],[-1.657,0],[0,0],[0,1.656],[0,0],[1.657,0]],"o":[[-1.657,0],[0,0],[0,1.656],[0,0],[1.657,0],[0,0],[0,-1.657],[0,0]],"v":[[-140.965,-79.578],[-143.965,-76.578],[-143.965,-16.577],[-140.965,-13.578],[-14.965,-13.578],[-11.965,-16.577],[-11.965,-76.578],[-14.965,-79.578]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"g":{"p":3,"k":{"a":0,"k":[0,0.925,0.949,0.98,0.5,0.888,0.922,0.965,1,0.851,0.894,0.949],"ix":9}},"s":{"a":0,"k":[-140.467,-76.619],"ix":5},"e":{"a":0,"k":[-14.162,-15.09],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[157.59,92.594],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":35,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"3","sr":1,"ks":{"o":{"a":0,"k":45,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[152,90,0],"e":[152,90,0],"to":[0,0,0],"ti":[0,0,0]},{"t":30}],"ix":2},"a":{"a":0,"k":[79,46,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.657,0],[0,0],[0,-1.657],[0,0],[1.657,0],[0,0],[0,1.656],[0,0]],"o":[[0,0],[1.657,0],[0,0],[0,1.656],[0,0],[-1.657,0],[0,0],[0,-1.657]],"v":[[-155.131,-92.106],[-29.131,-92.106],[-26.131,-89.106],[-26.131,-29.105],[-29.131,-26.105],[-155.131,-26.105],[-158.131,-29.105],[-158.131,-89.106]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"g":{"p":3,"k":{"a":0,"k":[0,0.851,0.894,0.949,0.5,0.888,0.922,0.965,1,0.925,0.949,0.98],"ix":9}},"s":{"a":0,"k":[-27.91,-28.125],"ix":5},"e":{"a":0,"k":[-155.289,-90.943],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[183.719,118.715],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":35,"st":0,"bm":0}],"markers":[]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/clock.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.0","fr":60,"ip":0,"op":180,"w":160,"h":160,"nm":"rounded clock","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"small pointer Outlines","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":58.5,"s":[-6],"e":[383.579]},{"i":{"x":[0.662],"y":[0.88]},"o":{"x":[0.296],"y":[0]},"n":["0p662_0p88_0p296_0"],"t":145.5,"s":[383.579],"e":[332.089]},{"i":{"x":[0.813],"y":[1.121]},"o":{"x":[0.426],"y":[-0.326]},"n":["0p813_1p121_0p426_-0p326"],"t":163.5,"s":[332.089],"e":[354]},{"t":180}]},"p":{"a":0,"k":[80,80,0]},"a":{"a":0,"k":[80,80,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":0,"s":[100,100,100],"e":[80,80,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":45,"s":[80,80,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":90,"s":[100,100,100],"e":[80,80,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":135,"s":[80,80,100],"e":[100,100,100]},{"t":180}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,-2.209],[2.209,0],[0,0],[0,2.209],[-2.209,0]],"o":[[2.209,0],[0,2.209],[0,0],[-2.209,0],[0,-2.209],[0,0]],"v":[[23.333,-4],[27.333,0],[23.333,4],[-23.334,4],[-27.334,0],[-23.334,-4]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.714,0.157,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[103.333,80],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":180,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"big pointer Outlines","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.825],"y":[0.923]},"o":{"x":[0.166],"y":[0.063]},"n":["0p825_0p923_0p166_0p063"],"t":0,"s":[0],"e":[360]},{"t":180}]},"p":{"a":0,"k":[80,80,0]},"a":{"a":0,"k":[80,80,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":0,"s":[100,100,100],"e":[80,80,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":45,"s":[80,80,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":90,"s":[100,100,100],"e":[80,80,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":135,"s":[80,80,100],"e":[100,100,100]},{"t":180}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-2.209,0],[0,-2.209],[0,0],[2.209,0],[0,2.209]],"o":[[0,-2.209],[2.209,0],[0,0],[0,2.209],[-2.209,0],[0,0]],"v":[[-4,-28.333],[0,-32.333],[4,-28.333],[4,28.333],[0,32.333],[-4,28.333]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.714,0.157,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[80,51.167],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":180,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"rpound clock Outlines","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[80,80,0]},"a":{"a":0,"k":[80,80,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":0,"s":[100,100,100],"e":[80,80,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":45,"s":[80,80,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":90,"s":[100,100,100],"e":[80,80,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":135,"s":[80,80,100],"e":[100,100,100]},{"t":180}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-38.66],[38.66,0],[0,38.66],[-38.66,0]],"o":[[0,38.66],[-38.66,0],[0,-38.66],[38.66,0]],"v":[[70,0],[0,70],[-70,0],[0,-70]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,0.8590001,0.161,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[80,80],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":180,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/finish,done.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.0","fr":25,"ip":0,"op":21,"w":800,"h":600,"nm":"finnish","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 4","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[400,300,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"ef":[{"ty":25,"nm":"Drop Shadow","mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,1]}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":69.5}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":-247}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":20}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-1,0],[0,-1],[0,0]],"o":[[0,0],[1,0],[0,1],[0,0]],"v":[[-118,-12],[-77,-12],[-12,48],[155,-121]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":20},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[4.457,12.406],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":2,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.283],"y":[0]},"n":["0p17_1_0p283_0"],"t":11,"s":[0],"e":[99.574]},{"t":18}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":5,"op":255,"st":5,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 3","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[400,300,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-1,0],[0,-1],[0,0]],"o":[[0,0],[1,0],[0,1],[0,0]],"v":[[-118,-12],[-77,-12],[-12,48],[155,-121]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.9060738,0,0.9610141,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":19},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[4.457,12.406],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":2,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.283],"y":[0]},"n":["0p17_1_0p283_0"],"t":10,"s":[0],"e":[99.574]},{"t":17}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":4,"op":254,"st":4,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[400,300,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-1,0],[0,-1],[0,0]],"o":[[0,0],[1,0],[0,1],[0,0]],"v":[[-118,-12],[-77,-12],[-12,48],[155,-121]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.4036764,0,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[4.457,12.406],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":2,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.283],"y":[0]},"n":["0p17_1_0p283_0"],"t":8,"s":[0],"e":[99.574]},{"t":15}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":2,"op":252,"st":2,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[400,300,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-1,0],[0,-1],[0,0]],"o":[[0,0],[1,0],[0,1],[0,0]],"v":[[-118,-12],[-77,-12],[-12,48],[155,-121]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0,0.4779414,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":17},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[4.457,12.406],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":2,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.283],"y":[0]},"n":["0p17_1_0p283_0"],"t":6,"s":[0],"e":[99.574]},{"t":13}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":0,"op":250,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":5,"ty":4,"nm":"line 2","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[403.312,300.844,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[289.828,289.828]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[1,0.6716912,0,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":15},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[-3.312,-0.844],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":2,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.255],"y":[0]},"n":["0_1_0p255_0"],"t":3,"s":[0],"e":[100]},{"t":10}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.152],"y":[0.999]},"o":{"x":[0.333],"y":[0]},"n":["0p152_0p999_0p333_0"],"t":3,"s":[0],"e":[359]},{"t":10}],"ix":3},"m":2,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":0,"op":250,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":6,"ty":4,"nm":"circle","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[396.334,303.158,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,0]},"o":{"x":[0.53,0.53,0.53],"y":[0,0,0.53]},"n":["0_1_0p53_0","0_1_0p53_0","0_0_0p53_0p53"],"t":2,"s":[0,0,100],"e":[132.229,132.229,100]},{"t":8}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[215.965,215.965]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0.0034418,0.3358456,0.3276577,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":0},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[1,0.752022,0,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[3.666,-3.158],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":250,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/flow.json:
--------------------------------------------------------------------------------
1 | {"v":"4.10.0","fr":25,"ip":0,"op":77,"w":200,"h":200,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":75,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[99.5,72.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-32.305,-35.952],[-14.667,21],[-22.933,-23.154],[-12,22.5]],"o":[[0,0],[20.667,23],[18.087,-25.897],[17.333,17.5],[12,-22.5]],"v":[[-118,41],[-64.667,27],[-1.333,32],[66,32.5],[121.333,27.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":35,"s":[0],"e":[100]},{"t":75}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":7,"s":[0],"e":[100]},{"t":75}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.980392156863,0.950313253964,0.615148028205,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":7,"op":77,"st":7,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[99.5,76,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-32.305,-35.952],[-14.667,21],[-22.933,-23.154],[-12,22.5]],"o":[[0,0],[20.667,23],[18.087,-25.897],[17.333,17.5],[12,-22.5]],"v":[[-118,41],[-64.667,27],[-1.333,32],[66,32.5],[121.333,27.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":27,"s":[0],"e":[100]},{"t":67}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":-1,"s":[0],"e":[100]},{"t":67}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156862745,0.953386134727,0.521368707395,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":77,"st":-1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[99.5,79.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-32.305,-35.952],[-14.667,21],[-22.933,-23.154],[-12,22.5]],"o":[[0,0],[20.667,23],[18.087,-25.897],[17.333,17.5],[12,-22.5]],"v":[[-118,41],[-64.667,27],[-1.333,32],[66,32.5],[121.333,27.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":30,"s":[0],"e":[100]},{"t":70}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":2,"s":[0],"e":[100]},{"t":70}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.917647118662,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":2,"op":77,"st":2,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 4","sr":1,"ks":{"o":{"a":0,"k":75,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[99.5,83,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-32.305,-35.952],[-14.667,21],[-22.933,-23.154],[-12,22.5]],"o":[[0,0],[20.667,23],[18.087,-25.897],[17.333,17.5],[12,-22.5]],"v":[[-118,41],[-64.667,27],[-1.333,32],[66,32.5],[121.333,27.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":33,"s":[0],"e":[100]},{"t":73}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":5,"s":[0],"e":[100]},{"t":73}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.988235294118,0.969086112228,0.75570936016,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":5,"op":77,"st":5,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[99.5,86,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-32.305,-35.952],[-14.667,21],[-22.933,-23.154],[-12,22.5]],"o":[[0,0],[20.667,23],[18.087,-25.897],[17.333,17.5],[12,-22.5]],"v":[[-118,41],[-64.667,27],[-1.333,32],[66,32.5],[121.333,27.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":36,"s":[0],"e":[100]},{"t":76}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":8,"s":[0],"e":[100]},{"t":76}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.976470588235,0.952819106158,0.689273370481,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":8,"op":77,"st":8,"bm":0}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/gradient_animated_background.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.10","fr":15,"ip":0,"op":155,"w":1080,"h":1920,"nm":"background","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[540,960,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[1160,880]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"st","c":{"a":0,"k":[0.9960784,0.7843137,0.145098,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"gf","o":{"a":0,"k":100},"r":1,"g":{"p":3,"k":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[0,0.511,0.89,0.283,0.5,0.334,0.873,0.583,1,0.156,0.857,0.882],"e":[0,0.726,0.283,0.89,0.5,0.441,0.356,0.886,1,0.156,0.429,0.882]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":31,"s":[0,0.726,0.283,0.89,0.5,0.441,0.356,0.886,1,0.156,0.429,0.882],"e":[0,0.89,0.283,0.283,0.5,0.886,0.553,0.219,1,0.882,0.823,0.156]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":61,"s":[0,0.89,0.283,0.283,0.5,0.886,0.553,0.219,1,0.882,0.823,0.156],"e":[0,0,0.312,0.737,0.5,0.078,0.597,0.754,1,0.156,0.882,0.771]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":91,"s":[0,0,0.312,0.737,0.5,0.078,0.597,0.754,1,0.156,0.882,0.771],"e":[0,0.51,0.89,0.282,0.5,0.333,0.873,0.582,1,0.157,0.855,0.882]},{"t":120}]}},"s":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[-430.769,-404.573],"e":[23.726,-364.48],"to":[75.7491683959961,6.68213844299316],"ti":[-123.915840148926,-8.51547145843506]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":31,"s":[23.726,-364.48],"e":[312.726,-353.48],"to":[123.915840148926,8.51547145843506],"ti":[-1.00208830833435,-1.83333337306976]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":61,"s":[312.726,-353.48],"e":[29.739,-353.48],"to":[1.00208830833435,1.83333337306976],"ti":[120.055290222168,0.60746711492538]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":91,"s":[29.739,-353.48],"e":[-407.606,-357.125],"to":[-120.055290222168,-0.60746711492538],"ti":[72.8907089233398,0.60746711492538]},{"t":120}]},"e":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[374.412,342.611],"e":[22.822,357.191],"to":[-58.5984153747559,2.42986845970154],"ti":[132.520950317383,-7.89707231521606]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":31,"s":[22.822,357.191],"e":[-420.714,389.994],"to":[-132.520950317383,7.89707231521606],"ti":[-4.68509674072266,-7.89707231521606]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":61,"s":[-420.714,389.994],"e":[50.932,404.573],"to":[4.68509674072266,7.89707231521606],"ti":[-132.918350219727,4.25226974487305]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":91,"s":[50.932,404.573],"e":[376.797,364.48],"to":[132.918350219727,-4.25226974487305],"ti":[-54.3107261657715,6.68213844299316]},{"t":120}]},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[93.29,219.491],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":155,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":1,"nm":"Deep Red Solid 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[540,960,0]},"a":{"a":0,"k":[540,960,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"sw":1080,"sh":1920,"sc":"#be2a2a","ip":0,"op":155,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/loading disc.json:
--------------------------------------------------------------------------------
1 | {"v":"4.7.0","fr":30,"ip":2,"op":122,"w":1290,"h":720,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"counter","ks":{"o":{"a":0,"k":0},"r":{"a":0,"k":0},"p":{"a":0,"k":[645,360,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"ef":[{"ty":5,"nm":"Slider Control","mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"t":119}]}}]}],"ip":0,"op":122,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[645,360,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[403.664,399.148]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"gs","o":{"a":0,"k":100},"w":{"a":0,"k":54},"g":{"p":3,"k":{"a":0,"k":[0,0.032,0.953,0.936,0.426,0.386,0.487,0.93,1,0.741,0.02,0.923]}},"s":{"a":0,"k":[-78,-225]},"e":{"a":0,"k":[328,0]},"t":1,"lc":1,"lj":1,"ml":4,"d":[{"n":"d","nm":"dash","v":{"a":0,"k":10}},{"n":"o","nm":"offset","v":{"a":0,"k":0}}],"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke"},{"ty":"tr","p":{"a":0,"k":[-1.34,-10.637],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[90,90],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[403.664,399.148]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"gs","o":{"a":0,"k":100},"w":{"a":0,"k":54},"g":{"p":3,"k":{"a":0,"k":[0,0.032,0.953,0.936,0.426,0.386,0.487,0.93,1,0.741,0.02,0.923]}},"s":{"a":0,"k":[-78,-225]},"e":{"a":0,"k":[328,0]},"t":1,"lc":1,"lj":1,"ml":4,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke"},{"ty":"tr","p":{"a":0,"k":[-1.34,-10.637],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[120,120],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"x":"var $bm_rt;\n$bm_rt = thisComp.layer('counter').effect('Slider Control')('Slider');","ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":0,"op":122,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/loading...json:
--------------------------------------------------------------------------------
1 | {"assets":[],"layers":[{"ddd":0,"ind":0,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[300,300,0]},"a":{"k":[0,0,0]},"s":{"k":[244,244,100]}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"k":[100,100]},"p":{"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"tm","s":{"k":[{"i":{"x":[0.439],"y":[1.016]},"o":{"x":[0.561],"y":[0.015]},"n":["0p439_1p016_0p561_0p015"],"t":5,"s":[100],"e":[0]},{"t":33.0000013441176}],"ix":1},"e":{"k":[{"i":{"x":[0.439],"y":[1.017]},"o":{"x":[0.561],"y":[0.016]},"n":["0p439_1p017_0p561_0p016"],"t":0,"s":[100],"e":[0]},{"t":30.0000012219251}],"ix":2},"o":{"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","fillEnabled":true,"c":{"k":[1,1,1,1]},"o":{"k":100},"w":{"k":16},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"}],"ip":0,"op":900.000036657751,"st":0,"bm":0,"sr":1}],"v":"4.5.3","ddd":0,"ip":1.00000004073083,"op":33.0000013441175,"fr":29.9700012207031,"w":600,"h":600}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/location.json:
--------------------------------------------------------------------------------
1 | {"v":"4.5.9","fr":25,"ip":0,"op":50,"w":250,"h":250,"ddd":0,"assets":[],"layers":[{"ddd":0,"ind":0,"ty":4,"nm":"location Outlines","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":5,"s":[125,118,0],"e":[125,125.75,0],"to":[0,1.29166662693024,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":20,"s":[125,125.75,0],"e":[125,118,0],"to":[0,0,0],"ti":[0,1.29166662693024,0]},{"t":35}]},"a":{"a":0,"k":[125,125,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.866,0],[0,3.866],[-3.866,0],[0,-3.866]],"o":[[-3.866,0],[0,-3.866],[3.866,0],[0,3.866]],"v":[[0,-12],[-7,-19],[0,-26],[7,-19]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[16.568,0],[0,-16.568],[-2.25,-4.209],[0,0],[0,0],[0,5.106]],"o":[[-16.568,0],[0,5.106],[0,0],[0,0],[2.249,-4.209],[0,-16.568]],"v":[[0,-48.706],[-30,-18.706],[-26.473,-4.584],[0,48.706],[26.474,-4.584],[30,-18.706]],"c":true}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge"},{"ty":"fl","c":{"a":0,"k":[0.929,0.11,0.141,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[125,125],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"mn":"ADBE Vector Group"}],"ip":0,"op":51,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"pulse 2","ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5,"s":[100],"e":[0]},{"t":22}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[125,173.706,0]},"a":{"a":0,"k":[5.776,49.943,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":5,"s":[0,0,100],"e":[244,244,100]},{"t":22}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[92.553,11.887]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5,"s":[1,1,1,1],"e":[0.173,0.569,0.788,1]},{"t":22}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[5.776,49.943],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":51,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"pulse","ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5,"s":[100],"e":[0]},{"t":22}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[125,173.706,0]},"a":{"a":0,"k":[5.776,49.943,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":5,"s":[0,0,100],"e":[100,100,100]},{"t":22}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[92.553,11.887]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5,"s":[1,1,1,1],"e":[0.173,0.569,0.788,1]},{"t":22}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[5.776,49.943],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":51,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/location_marker.json:
--------------------------------------------------------------------------------
1 | {"assets":[],"layers":[{"ddd":0,"ind":0,"ty":1,"nm":"circle 2","ks":{"o":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5,"s":[50],"e":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[50],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":30,"s":[0],"e":[0]},{"t":55}],"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"r":{"k":0},"p":{"k":[100,100,0]},"a":{"k":[100,100,0]},"s":{"k":[{"i":{"x":[0.172,0.172,0.667],"y":[1,1,0.667]},"o":{"x":[0.01,0.01,0.333],"y":[0.705,0.705,0.333]},"n":["0p172_1_0p01_0p705","0p172_1_0p01_0p705","0p667_0p667_0p333_0p333"],"t":5,"s":[0,0,100],"e":[200,200,100]},{"i":{"x":[0.172,0.172,0.667],"y":[0.172,0.172,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0.333,0.333,0.333]},"n":["0p172_0p172_0p333_0p333","0p172_0p172_0p333_0p333","0p667_0p667_0p333_0p333"],"t":30,"s":[200,200,100],"e":[200,200,100]},{"t":55}],"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"k":{"i":[[25.405,0],[0,-25.405],[-25.405,0],[0,25.405]],"o":[[-25.405,0],[0,25.405],[25.405,0],[0,-25.405]],"v":[[100,54],[54,100],[100,146],[146,100]],"c":true}},"o":{"k":100},"x":{"k":0},"nm":"Mask 1"}],"ef":[{"ty":5,"nm":"Circle","mn":"ADBE Circle","ix":1,"ef":[{"ty":3,"nm":"Center","mn":"ADBE Circle-0001","ix":1,"v":{"k":[100,100]}},{"ty":0,"nm":"Radius","mn":"ADBE Circle-0002","ix":2,"v":{"k":47.4}},{"ty":7,"nm":"Edge","mn":"ADBE Circle-0003","ix":3,"v":{"k":3}},{"ty":0,"nm":"Thickness","mn":"ADBE Circle-0004","ix":4,"v":{"k":0}},{"ty":6,"nm":"Feather","mn":"ADBE Circle-0005","ix":5,"v":0},{"ty":0,"nm":"Feather Outer Edge","mn":"ADBE Circle-0006","ix":6,"v":{"k":0}},{"ty":0,"nm":"Feather Inner Edge","mn":"ADBE Circle-0007","ix":7,"v":{"k":64}},{"ty":6,"nm":"Feather Inner Edge","mn":"ADBE Circle-0008","ix":8,"v":0},{"ty":7,"nm":"Invert Circle","mn":"ADBE Circle-0009","ix":9,"v":{"k":0}},{"ty":2,"nm":"Color","mn":"ADBE Circle-0010","ix":10,"v":{"k":[1,1,1,1]}},{"ty":0,"nm":"Opacity","mn":"ADBE Circle-0011","ix":11,"v":{"k":100}},{"ty":7,"nm":"Blending Mode","mn":"ADBE Circle-0012","ix":12,"v":{"k":1}}]}],"sw":200,"sh":200,"sc":"#ffffff","ip":5,"op":1005,"st":5,"bm":2,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"marker","ks":{"o":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":1,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":2,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":3,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":4,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":7,"s":[0],"e":[100]},{"t":8}]},"r":{"k":0},"p":{"k":[100,100,0]},"a":{"k":[619.5,-0.91,0]},"s":{"k":[123.6,154.216,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[619.5,-22.149],[614.144,-2.152],[599,20.129],[619.5,0.893],[639.5,20.129],[624.732,-2.487]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"k":[0,0,0,1]},"o":{"k":100},"w":{"k":10},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"k":[0,0],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":1000,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"marker 2","ks":{"o":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":1,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":2,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":3,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":4,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":7,"s":[0],"e":[100]},{"t":8}]},"r":{"k":0},"p":{"k":[100,100,0]},"a":{"k":[619.5,-0.91,0]},"s":{"k":[86.375,107.77,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"k":[175,141.861]},"p":{"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"k":[0.73,0.84,0.09,1]},"o":{"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"k":[619.375,-0.936],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[90.638,90.343],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":1000,"st":0,"bm":0,"sr":1}],"v":"4.5.4","ddd":0,"ip":0,"op":1000,"fr":25,"w":200,"h":200}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/location_pin.json:
--------------------------------------------------------------------------------
1 | {"v":"4.5.7","fr":30,"ip":0,"op":32,"w":600,"h":600,"ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Line","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[300.75,384.5,0]},"a":{"a":0,"k":[0.75,81.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-19.5,81.5],[21,81.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.74,0.76,0.78,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":32,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Pin","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.946,"y":0},"n":"0p833_0p833_0p946_0","t":0,"s":[300.019,150,0],"e":[300.019,299.918,0],"to":[0,24.986255645752,0],"ti":[0,-27.3195877075195,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":15,"s":[300.019,299.918,0],"e":[300.019,313.918,0],"to":[0,27.3195877075195,0],"ti":[0,24.986255645752,0]},{"i":{"x":0.077,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p077_1_0p167_0p167","t":17,"s":[300.019,313.918,0],"e":[300.019,150,0],"to":[0,-24.986255645752,0],"ti":[0,27.3195877075195,0]},{"t":32}]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[50,50,100]}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"s","pt":{"a":0,"k":{"i":[[22.368,0],[0,-22.368],[-22.368,0],[0,22.368]],"o":[[-22.368,0],[0,22.368],[22.368,0],[0,-22.368]],"v":[[0.461,-98],[-40.039,-57.5],[0.461,-17],[40.961,-57.5]],"c":true}},"o":{"a":0,"k":100},"x":{"a":0,"k":0},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":14,"s":[{"i":[[0,0],[0.08,12.776],[49.288,0.686],[0,-50.689],[-4.605,-10.887],[0,0],[-0.712,1.475]],"o":[[4.676,-11.054],[-0.307,-49.291],[-50.852,-0.707],[0,12.565],[0,0],[0.712,1.475],[0,0]],"v":[[83.81,-22.142],[90.959,-58.144],[1.257,-148.555],[-91.039,-57.564],[-83.888,-22.142],[-1.801,147.788],[1.724,147.788]],"c":true}],"e":[{"i":[[0,0],[0.08,12.776],[49.288,0.686],[0,-50.689],[-4.605,-10.887],[0,0],[-0.712,1.475]],"o":[[4.676,-11.054],[-0.307,-49.291],[-50.852,-0.707],[0,12.565],[0,0],[0.712,1.475],[0,0]],"v":[[83.81,-22.142],[90.959,-58.144],[1.257,-148.555],[-91.039,-57.564],[-83.888,-22.142],[-2.039,120.288],[1.486,120.288]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":16,"s":[{"i":[[0,0],[0.08,12.776],[49.288,0.686],[0,-50.689],[-4.605,-10.887],[0,0],[-0.712,1.475]],"o":[[4.676,-11.054],[-0.307,-49.291],[-50.852,-0.707],[0,12.565],[0,0],[0.712,1.475],[0,0]],"v":[[83.81,-22.142],[90.959,-58.144],[1.257,-148.555],[-91.039,-57.564],[-83.888,-22.142],[-2.039,120.288],[1.486,120.288]],"c":true}],"e":[{"i":[[0,0],[0.08,12.776],[49.288,0.686],[0,-50.689],[-4.605,-10.887],[0,0],[-0.712,1.475]],"o":[[4.676,-11.054],[-0.307,-49.291],[-50.852,-0.707],[0,12.565],[0,0],[0.712,1.475],[0,0]],"v":[[83.81,-22.142],[90.959,-58.144],[1.257,-148.555],[-91.039,-57.564],[-83.888,-22.142],[-1.801,147.788],[1.724,147.788]],"c":true}]},{"t":19}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.91,0.3,0.24,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":32,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/material loading.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.8","fr":29.9700012207031,"ip":0,"op":119.000004846969,"w":256,"h":256,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 4","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[128,128.016,0]},"a":{"a":0,"k":[13,13.016,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":92,"s":[0],"e":[25]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":105,"s":[25],"e":[49]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":112,"s":[49],"e":[100]},{"t":120.0000048877}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":90,"s":[1],"e":[100]},{"t":120.0000048877}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[0.023529,0.854902,0.238708,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":20},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[12,13],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":90.0000036657751,"op":390.000015885026,"st":90.0000036657751,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 3","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[128,128.016,0]},"a":{"a":0,"k":[13,13.016,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":62,"s":[0],"e":[25]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":75,"s":[25],"e":[49]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":82,"s":[49],"e":[100]},{"t":90.0000036657751}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":60,"s":[1],"e":[100]},{"t":90.0000036657751}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[0.854902,0.023529,0.2582694,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":20},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[12,13],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":60.0000024438501,"op":360.000014663101,"st":60.0000024438501,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[128,128.016,0]},"a":{"a":0,"k":[13,13.016,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":32,"s":[0],"e":[25]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":45,"s":[25],"e":[49]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":52,"s":[49],"e":[100]},{"t":60.0000024438501}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":30,"s":[1],"e":[100]},{"t":60.0000024438501}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[0.023529,0.6886272,0.854902,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":20},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[12,13],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":30.0000012219251,"op":330.000013441176,"st":30.0000012219251,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[128,128.016,0]},"a":{"a":0,"k":[13,13.016,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":2,"s":[0],"e":[25]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":15,"s":[25],"e":[49]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22,"s":[49],"e":[100]},{"t":30.0000012219251}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[1],"e":[100]},{"t":30.0000012219251}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[0.854902,0.54902,0.023529,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":20},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[12,13],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/material_loader.json:
--------------------------------------------------------------------------------
1 | {"v":"4.5.7","fr":60,"ip":0,"op":120,"w":400,"h":300,"ddd":0,"assets":[{"id":"comp_50","layers":[{"ddd":0,"ind":0,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[200,150,0]},"a":{"a":0,"k":[-5,4,0]},"s":{"a":0,"k":[67.386,67.386,100]}},"ao":1,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[208.5,208.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0.9,0.15,0.4,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":24},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[-5.5,4],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.336],"y":[0.99]},"o":{"x":[0.333],"y":[0]},"n":["0p336_0p99_0p333_0"],"t":20,"s":[0],"e":[100]},{"t":80}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.337],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p337_1_0p333_0"],"t":0,"s":[0],"e":[100]},{"t":60}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":0,"op":240,"st":0,"bm":0,"sr":1}]}],"layers":[{"ddd":0,"ind":0,"ty":0,"nm":"Shape Layer 1 Comp 1","refId":"comp_50","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":30,"s":[180],"e":[360]},{"t":71}]},"p":{"a":0,"k":[200,150,0]},"a":{"a":0,"k":[200,150,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"w":400,"h":300,"ip":20,"op":260,"st":20,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":0,"nm":"Shape Layer 1 Comp 1","refId":"comp_50","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":19,"s":[0],"e":[180]},{"t":59}]},"p":{"a":0,"k":[200,150,0]},"a":{"a":0,"k":[200,150,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"w":400,"h":300,"ip":0,"op":59,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/material_loading_2.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.8","fr":29.9700012207031,"ip":0,"op":60.0000024438501,"w":256,"h":256,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 3","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":40,"s":[208.6,127.969,0],"e":[208.6,88,0],"to":[0,-6.66145849227905,0],"ti":[0,-0.00520833348855,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":50,"s":[208.6,88,0],"e":[208.6,128,0],"to":[0,0.00520833348855,0],"ti":[0,-6.66666650772095,0]},{"t":60.0000024438501}]},"a":{"a":0,"k":[-70,-0.5,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[33.75,34.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.9843137,0.5490196,0,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-70.125,-0.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":30,"s":[168.6,128,0],"e":[168.6,88,0],"to":[0,-6.66666650772095,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":40,"s":[168.6,88,0],"e":[168.6,128,0],"to":[0,0,0],"ti":[0,-6.66666650772095,0]},{"t":50.0000020365418}]},"a":{"a":0,"k":[-70,-0.5,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[33.75,34.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.9921569,0.8470588,0.2078431,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-70.125,-0.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[128.594,127.969,0],"e":[128.594,88,0],"to":[0,-6.66145849227905,0],"ti":[0,-0.00520833348855,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":30,"s":[128.594,88,0],"e":[128.594,128,0],"to":[0,0.00520833348855,0],"ti":[0,-6.66666650772095,0]},{"t":40.0000016292334}]},"a":{"a":0,"k":[-70,-0.5,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[33.75,34.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.2627451,0.627451,0.2784314,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-70.125,-0.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 4","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":10,"s":[88.6,127.969,0],"e":[88.6,88,0],"to":[0,-6.66145849227905,0],"ti":[0,-0.00520833348855,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[88.6,88,0],"e":[88.6,128,0],"to":[0,0.00520833348855,0],"ti":[0,-6.66666650772095,0]},{"t":30.0000012219251}]},"a":{"a":0,"k":[-70,-0.5,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[33.75,34.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.1176471,0.5333334,0.8980392,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-70.125,-0.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 5","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[48.6,127.969,0],"e":[48.6,88,0],"to":[0,-6.66145849227905,0],"ti":[0,-0.00520833348855,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":10,"s":[48.6,88,0],"e":[48.6,128,0],"to":[0,0.00520833348855,0],"ti":[0,-6.66666650772095,0]},{"t":20.0000008146167}]},"a":{"a":0,"k":[-70,-0.5,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[33.75,34.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.8980392,0.2235294,0.2078431,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-70.125,-0.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/material_wave_loading.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.8","fr":29.9700012207031,"ip":0,"op":40.0000016292334,"w":256,"h":256,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 3","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[208.6,127.969,0],"e":[208.6,88,0],"to":[0,-6.66145849227905,0],"ti":[0,-0.00520833348855,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":30,"s":[208.6,88,0],"e":[208.6,128,0],"to":[0,0.00520833348855,0],"ti":[0,-6.66666650772095,0]},{"t":40.0000016292334}]},"a":{"a":0,"k":[-70,-0.5,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[33.75,34.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.9843137,0.5490196,0,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-70.125,-0.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":15,"s":[168.6,128,0],"e":[168.6,88,0],"to":[0,-6.66666650772095,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":25,"s":[168.6,88,0],"e":[168.6,128,0],"to":[0,0,0],"ti":[0,-6.66666650772095,0]},{"t":35.0000014255792}]},"a":{"a":0,"k":[-70,-0.5,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[33.75,34.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.9921569,0.8470588,0.2078431,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-70.125,-0.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":10,"s":[128.594,127.969,0],"e":[128.594,88,0],"to":[0,-6.66145849227905,0],"ti":[0,-0.00520833348855,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[128.594,88,0],"e":[128.594,128,0],"to":[0,0.00520833348855,0],"ti":[0,-6.66666650772095,0]},{"t":30.0000012219251}]},"a":{"a":0,"k":[-70,-0.5,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[33.75,34.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.2627451,0.627451,0.2784314,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-70.125,-0.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 4","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":5,"s":[88.6,127.969,0],"e":[88.6,88,0],"to":[0,-6.66145849227905,0],"ti":[0,-0.00520833348855,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":15,"s":[88.6,88,0],"e":[88.6,128,0],"to":[0,0.00520833348855,0],"ti":[0,-6.66666650772095,0]},{"t":25.0000010182709}]},"a":{"a":0,"k":[-70,-0.5,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[33.75,34.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.1176471,0.5333334,0.8980392,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-70.125,-0.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 5","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[48.6,127.969,0],"e":[48.6,88,0],"to":[0,-6.66145849227905,0],"ti":[0,-0.00520833348855,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":10,"s":[48.6,88,0],"e":[48.6,128,0],"to":[0,0.00520833348855,0],"ti":[0,-6.66666650772095,0]},{"t":20.0000008146167}]},"a":{"a":0,"k":[-70,-0.5,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[33.75,34.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.8980392,0.2235294,0.2078431,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-70.125,-0.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/menuButton2.json:
--------------------------------------------------------------------------------
1 | {"v":"4.5.9","fr":29.9700012207031,"ip":0,"op":120.0000048877,"w":800,"h":600,"ddd":0,"assets":[],"layers":[{"ddd":0,"ind":0,"ty":4,"nm":"Icon","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[519.707,418,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[68,8]},"p":{"a":0,"k":[0,-15]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.108,0.108,0.108,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-118,-118],"ix":2},"a":{"a":0,"k":[0,-14.881],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":30,"s":[-45],"e":[-135]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40,"s":[-135],"e":[-135]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":90,"s":[-135],"e":[-45]},{"t":100.000004073084}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 4","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[68,8]},"p":{"a":0,"k":[0,-15]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.108,0.108,0.108,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-118,-118],"ix":2},"a":{"a":0,"k":[0,-14.881],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 3","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0.667],"y":[1,0.667]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0p667_0p667_0p167_0p167"],"t":30,"s":[38,8],"e":[0,8]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":37,"s":[0,8],"e":[0,8]},{"i":{"x":[0,0.667],"y":[1,0.667]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0p667_0p667_0p167_0p167"],"t":93,"s":[0,8],"e":[38,8]},{"t":100.000004073084}]},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.222},"n":"0_1_0p167_0p222","t":30,"s":[0,10],"e":[23,10],"to":[3.83333325386047,0],"ti":[-3.83333325386047,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":37,"s":[23,10],"e":[23,10],"to":[0,0],"ti":[0,0]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.222},"n":"0_1_0p167_0p222","t":93,"s":[23,10],"e":[0,10],"to":[-3.83333325386047,0],"ti":[3.83333325386047,0]},{"t":100.000004073084}]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.106,0.106,0.106,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-118,-118],"ix":2},"a":{"a":0,"k":[0,-14.881],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":36,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":37,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":93,"s":[0],"e":[100]},{"t":94.0000038286985}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 2","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0.667],"y":[1,0.667]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0p667_0p667_0p167_0p167"],"t":30,"s":[38,8],"e":[0,8]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":37,"s":[0,8],"e":[0,8]},{"i":{"x":[0,0.667],"y":[1,0.667]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0p667_0p667_0p167_0p167"],"t":93,"s":[0,8],"e":[38,8]},{"t":100.000004073084}]},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.222},"n":"0_1_0p167_0p222","t":30,"s":[0,-10],"e":[-23,-10],"to":[-3.83333325386047,0],"ti":[3.83333325386047,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":37,"s":[-23,-10],"e":[-23,-10],"to":[0,0],"ti":[0,0]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.222},"n":"0_1_0p167_0p222","t":93,"s":[-23,-10],"e":[0,-10],"to":[3.83333325386047,0],"ti":[-3.83333325386047,0]},{"t":100.000004073084}]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105,0.105,0.105,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-118,-118],"ix":2},"a":{"a":0,"k":[0,15.122],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":36,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":37,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":93,"s":[0],"e":[100]},{"t":94.0000038286985}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/menu_button_alt.json:
--------------------------------------------------------------------------------
1 | {"v":"4.5.9","fr":29.9700012207031,"ip":0,"op":120.0000048877,"w":800,"h":600,"ddd":0,"assets":[],"layers":[{"ddd":0,"ind":0,"ty":4,"nm":"Icon","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[519.707,418,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[68,8]},"p":{"a":0,"k":[0,-15]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.108,0.108,0.108,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-118,-118],"ix":2},"a":{"a":0,"k":[0,-14.881],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":30,"s":[-45],"e":[-135]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40,"s":[-135],"e":[-135]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":90,"s":[-135],"e":[-45]},{"t":100.000004073084}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 4","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[68,8]},"p":{"a":0,"k":[0,-15]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.108,0.108,0.108,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-118,-118],"ix":2},"a":{"a":0,"k":[0,-14.881],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 3","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0.667],"y":[1,0.667]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0p667_0p667_0p167_0p167"],"t":30,"s":[38,8],"e":[0,8]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":37,"s":[0,8],"e":[0,8]},{"i":{"x":[0,0.667],"y":[1,0.667]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0p667_0p667_0p167_0p167"],"t":93,"s":[0,8],"e":[38,8]},{"t":100.000004073084}]},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.222},"n":"0_1_0p167_0p222","t":30,"s":[0,10],"e":[23,10],"to":[3.83333325386047,0],"ti":[-3.83333325386047,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":37,"s":[23,10],"e":[23,10],"to":[0,0],"ti":[0,0]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.222},"n":"0_1_0p167_0p222","t":93,"s":[23,10],"e":[0,10],"to":[-3.83333325386047,0],"ti":[3.83333325386047,0]},{"t":100.000004073084}]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.106,0.106,0.106,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-118,-118],"ix":2},"a":{"a":0,"k":[0,-14.881],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":36,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":37,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":93,"s":[0],"e":[100]},{"t":94.0000038286985}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 2","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0.667],"y":[1,0.667]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0p667_0p667_0p167_0p167"],"t":30,"s":[38,8],"e":[0,8]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":37,"s":[0,8],"e":[0,8]},{"i":{"x":[0,0.667],"y":[1,0.667]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0p667_0p667_0p167_0p167"],"t":93,"s":[0,8],"e":[38,8]},{"t":100.000004073084}]},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.222},"n":"0_1_0p167_0p222","t":30,"s":[0,-10],"e":[-23,-10],"to":[-3.83333325386047,0],"ti":[3.83333325386047,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":37,"s":[-23,-10],"e":[-23,-10],"to":[0,0],"ti":[0,0]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.222},"n":"0_1_0p167_0p222","t":93,"s":[-23,-10],"e":[0,-10],"to":[3.83333325386047,0],"ti":[-3.83333325386047,0]},{"t":100.000004073084}]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105,0.105,0.105,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-118,-118],"ix":2},"a":{"a":0,"k":[0,15.122],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":36,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":37,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":93,"s":[0],"e":[100]},{"t":94.0000038286985}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/moving_eye.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.6","fr":24,"ip":0,"op":72,"w":500,"h":350,"nm":"Eye 2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Eye Outline","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[250,175,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[226,226,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[74.969,0],[0,0],[-74.313,0],[0,0]],"o":[[-74.781,0],[0,0],[74.937,0],[0,0]],"v":[[0.031,-50],[-100,0],[0.063,49.813],[100,0]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.3176471,0.1019608,0.0901961,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":15},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":72,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Eyeball","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.35,"y":1},"o":{"x":0.65,"y":0},"n":"0p35_1_0p65_0","t":0,"s":[199,182,0],"e":[327,157,0],"to":[21.3333339691162,-4.16666650772095,0],"ti":[2.33333325386047,-3.83333325386047,0]},{"i":{"x":0.35,"y":1},"o":{"x":0.65,"y":0},"n":"0p35_1_0p65_0","t":19,"s":[327,157,0],"e":[185,205,0],"to":[-2.33333325386047,3.83333325386047,0],"ti":[2.16666674613953,-7.66666650772095,0]},{"i":{"x":0.35,"y":1},"o":{"x":0.65,"y":0},"n":"0p35_1_0p65_0","t":38,"s":[185,205,0],"e":[314,203,0],"to":[-2.16666674613953,7.66666650772095,0],"ti":[-2.33333325386047,3.83333325386047,0]},{"i":{"x":0.35,"y":1},"o":{"x":0.65,"y":0},"n":"0p35_1_0p65_0","t":57,"s":[314,203,0],"e":[199,182,0],"to":[2.33333325386047,-3.83333325386047,0],"ti":[19.1666660308838,3.5,0]},{"t":72}]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[226,226,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[25,25]},"p":{"a":0,"k":[25,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0.3176471,0.1019608,0.0901961,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":7.5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[0.9764706,0.9019608,0.3607843,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.35],"y":[1]},"o":{"x":[0.65],"y":[0]},"n":["0p35_1_0p65_0"],"t":0,"s":[186],"e":[316.901]},{"i":{"x":[0.35],"y":[1]},"o":{"x":[0.65],"y":[0]},"n":["0p35_1_0p65_0"],"t":19,"s":[316.901],"e":[490.111]},{"i":{"x":[0.35],"y":[1]},"o":{"x":[0.65],"y":[0]},"n":["0p35_1_0p65_0"],"t":38,"s":[490.111],"e":[410.926]},{"i":{"x":[0.35],"y":[1]},"o":{"x":[0.65],"y":[0]},"n":["0p35_1_0p65_0"],"t":57,"s":[410.926],"e":[186]},{"t":72}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[50,50]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0.3176471,0.1019608,0.0901961,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":15},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[0.9764706,0.9019608,0.3607843,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group"}],"ip":0,"op":72,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Eye Back","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[250,175,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[226,226,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[74.969,0],[0,0],[-74.313,0],[0,0]],"o":[[-74.781,0],[0,0],[74.937,0],[0,0]],"v":[[0.031,-50],[-100,0],[0.063,49.813],[100,0]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.9764706,0.9019608,0.3607843,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":72,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/on_off_settings_switch.json:
--------------------------------------------------------------------------------
1 | {"v":"4.10.1","fr":60,"ip":0,"op":107,"w":46,"h":22,"nm":"ani","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":1,"y":1},"o":{"x":0,"y":0},"n":"1_1_0_0","t":13.16,"s":[10.5,10.625,0],"e":[32.5,10.625,0],"to":[3.66666674613953,0,0],"ti":[-3.66666674613953,0,0]},{"i":{"x":1,"y":1},"o":{"x":0,"y":0},"n":"1_1_0_0","t":34.16,"s":[32.5,10.625,0],"e":[32.5,10.625,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":1,"y":1},"o":{"x":0,"y":0},"n":"1_1_0_0","t":55,"s":[32.5,10.625,0],"e":[10.5,10.625,0],"to":[-3.66666674613953,0,0],"ti":[3.66666674613953,0,0]},{"t":76}],"ix":2},"a":{"a":0,"k":[7.062,-1.812,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Puppet","np":4,"mn":"ADBE FreePin3","ix":1,"en":1,"ef":[{"ty":7,"nm":"On Transparent","mn":"ADBE FreePin3 On Transparent","ix":1,"v":{"a":0,"k":0,"ix":1}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[10.947,10.947],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":13,"s":[0.905989587307,0.128265246749,0.293031275272,1],"e":[0.119234621525,0.709344387054,0.486860007048,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":34,"s":[0.119234621525,0.709344387054,0.486860007048,1],"e":[0.119234621525,0.709344387054,0.486860007048,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":55,"s":[0.119234621525,0.709344387054,0.486860007048,1],"e":[0.905989587307,0.128265246749,0.293031275272,1]},{"t":76}],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[7.223,-1.589],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":3},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":20,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[23,11,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[82,82,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[37.452,12.656],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.985294117647,0.977460674211,0.977460674211,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.243,-0.355],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/panel2d.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.3","fr":30,"ip":0,"op":121,"w":750,"h":750,"nm":"panel 2d text","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"panel 2d","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[375,611,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0,-200],[216.001,-102.99],[0,18],[-215.999,-102.99]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":38},"mn":"ADBE Vector Filter - RC"},{"ty":"fl","c":{"a":0,"k":[0,1,0.5882352,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,-104],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.859,0.752],"y":[0.859,1]},"o":{"x":[0.333,0.893],"y":[0.333,0]},"n":["0p859_0p859_0p333_0p333","0p752_1_0p893_0"],"t":0,"s":[100,0],"e":[100,100]},{"i":{"x":[0.5,0.5],"y":[0.5,1]},"o":{"x":[0.001,0.001],"y":[0.001,0]},"n":["0p5_0p5_0p001_0p001","0p5_1_0p001_0"],"t":6,"s":[100,100],"e":[100,109.503]},{"i":{"x":[0.5,0.5],"y":[0.5,1]},"o":{"x":[0.5,0.5],"y":[0.5,0]},"n":["0p5_0p5_0p5_0p5","0p5_1_0p5_0"],"t":11,"s":[100,109.503],"e":[100,98.866]},{"i":{"x":[0.5,0.5],"y":[0.5,1]},"o":{"x":[0.5,0.5],"y":[0.5,0]},"n":["0p5_0p5_0p5_0p5","0p5_1_0p5_0"],"t":21.518,"s":[100,98.866],"e":[100,100.085]},{"t":31.8623046875}],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p999_1_0p167_0p167"],"t":0.148,"s":[-90],"e":[0]},{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.001],"y":[0]},"n":["0p5_1_0p001_0"],"t":6,"s":[0],"e":[3.987]},{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"n":["0p5_1_0p5_0"],"t":11,"s":[3.987],"e":[-1.021]},{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"n":["0p5_1_0p5_0"],"t":21.134,"s":[-1.021],"e":[0.077]},{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"n":["0p5_1_0p5_0"],"t":31.223,"s":[0.077],"e":[-0.006]},{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"n":["0p5_1_0p5_0"],"t":41.312,"s":[-0.006],"e":[0]},{"t":51.400390625}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Polystar 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":540,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/plane_to_dollar.json:
--------------------------------------------------------------------------------
1 | {"assets":[],"layers":[{"ddd":0,"ind":0,"ty":3,"nm":"NULL CONTROL","ks":{"o":{"k":0},"r":{"k":0},"p":{"k":[{"i":{"x":0.047,"y":1},"o":{"x":0.48,"y":0},"n":"0p047_1_0p48_0","t":12,"s":[519.89,398.49,0],"e":[400,398.49,0],"to":[0,0,0],"ti":[0,0,0]},{"t":75}]},"a":{"k":[60,60,0]},"s":{"k":[100,100,100]}},"ao":0,"ip":0,"op":9668,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 2","parent":0,"ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[72.875,311.184,0]},"a":{"k":[132.765,-346.327,0]},"s":{"k":[{"i":{"x":[0.52,0.52,0.52],"y":[0.52,1,0.52]},"o":{"x":[0.48,0.48,0.48],"y":[0.48,0,0.48]},"n":["0p52_0p52_0p48_0p48","0p52_1_0p48_0","0p52_0p52_0p48_0p48"],"t":35,"s":[100,0,100],"e":[100,100,100]},{"t":70}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[133.224,-346.327],[132.306,-260.694]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","fillEnabled":true,"c":{"k":[0,0.41,0.56,1]},"o":{"k":100},"w":{"k":87},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"k":[0,0],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"k":100,"ix":1},"e":{"k":0,"ix":2},"o":{"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":50,"op":9668,"st":35,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 1","parent":0,"ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[72.875,-191.184,0]},"a":{"k":[132.765,-260.694,0]},"s":{"k":[{"i":{"x":[0.52,0.52,0.52],"y":[0.52,1,0.52]},"o":{"x":[0.48,0.48,0.48],"y":[0.48,0,0.48]},"n":["0p52_0p52_0p48_0p48","0p52_1_0p48_0","0p52_0p52_0p48_0p48"],"t":35,"s":[100,0,100],"e":[100,100,100]},{"t":70}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[133.224,-346.327],[132.306,-260.694]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","fillEnabled":true,"c":{"k":[0,0.41,0.56,1]},"o":{"k":100},"w":{"k":87},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"k":[0,0],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"k":100,"ix":1},"e":{"k":0,"ix":2},"o":{"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":35,"op":9668,"st":35,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Line 2","parent":0,"ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[-59.89,61.51,0]},"a":{"k":[0,0,0]},"s":{"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,0],[0,0],[0,125],[58,0],[0,-90],[-84,-35.5],[0,-81],[101,0],[0,120]],"o":[[0,0],[0,0],[0,-99],[-51,0],[0,75],[70.706,29.882],[0,57],[-16,0],[0,-121]],"v":[[97.5,-2],[191,0],[280,-114],[129,-244],[-18,-134],[148,6.5],[288,139],[132,244],[-32,117]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","fillEnabled":true,"c":{"k":[0,0.41,0.56,1]},"o":{"k":100},"w":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[67],"e":[85]},{"t":61}]},"lc":1,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"k":[0,0],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.567],"y":[0]},"n":["0_1_0p567_0"],"t":10,"s":[0],"e":[16.5]},{"t":61}],"ix":1},"e":{"k":[{"i":{"x":[0.19],"y":[1]},"o":{"x":[0.387],"y":[0]},"n":["0p19_1_0p387_0"],"t":10,"s":[0],"e":[100]},{"t":70}],"ix":2},"o":{"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":10,"op":156,"st":10,"bm":0,"sr":1},{"ddd":0,"ind":5,"ty":4,"nm":"P","parent":0,"ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[179.89,60.853,0]},"a":{"k":[40.25,19.195,0]},"s":{"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":22,"s":[1198.901,1198.901,100],"e":[0,0,100]},{"t":27}]}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ks":{"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.5,"y":0},"n":"0p833_0p833_0p5_0","t":14,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,1.66],[1.66,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[1.66,0],[0,-1.66],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[12.25,38.25],[16.25,38.25],[26.25,22.25],[37.25,22.25],[40.25,19.25],[37.25,16.25],[26.25,16.25],[16.25,0.25],[12.25,0.25],[17.25,16.25],[6.25,16.25],[3.25,12.25],[0.25,12.25],[2.25,19.25],[0.25,26.25],[3.25,26.25],[6.25,22.25],[17.25,22.25]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,1.66],[1.66,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[1.203,0],[0,-1.021],[-1.085,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[1.66,0],[0,-1.66],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.298,0],[0,1.021],[0.781,0],[0,0],[0,0],[0,0]],"v":[[27.319,22.22],[29.888,22.208],[31.263,22.214],[37.25,22.25],[40.25,19.25],[37.25,16.25],[31.263,16.214],[29.536,16.212],[26.99,16.223],[26.483,16.224],[20.607,16.245],[19.166,14.512],[17.834,14.497],[16.607,19.245],[17.834,23.983],[19.25,23.98],[20.607,22.245],[26.483,22.224]],"c":true}]},{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p5_1_0p167_0p167","t":22,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,1.66],[1.66,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[1.203,0],[0,-1.021],[-1.085,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[1.66,0],[0,-1.66],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.298,0],[0,1.021],[0.781,0],[0,0],[0,0],[0,0]],"v":[[27.319,22.22],[29.888,22.208],[31.263,22.214],[37.25,22.25],[40.25,19.25],[37.25,16.25],[31.263,16.214],[29.536,16.212],[26.99,16.223],[26.483,16.224],[20.607,16.245],[19.166,14.512],[17.834,14.497],[16.607,19.245],[17.834,23.983],[19.25,23.98],[20.607,22.245],[26.483,22.224]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,1.66],[1.66,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[2.125,0],[0,-1.803],[-1.916,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[1.66,0],[0,-1.66],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-2.291,0],[0,1.803],[1.379,0],[0,0],[0,0],[0,0]],"v":[[33.593,22.205],[35.066,22.184],[35.102,22.186],[37.25,22.25],[40.25,19.25],[37.25,16.25],[35.102,16.186],[35.055,16.184],[33.621,16.204],[33.554,16.205],[31.601,16.241],[31.354,16.244],[31.299,16.219],[27.601,19.241],[31.299,22.247],[31.503,22.242],[31.601,22.241],[33.554,22.205]],"c":true}]},{"t":26}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","fillEnabled":true,"c":{"k":[0,0.41,0.56,1]},"o":{"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"}],"ip":0,"op":41,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":6,"ty":1,"nm":"White Solid 5","ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[400,400,0]},"a":{"k":[400,400,0]},"s":{"k":[100,100,100]}},"ao":0,"sw":800,"sh":800,"sc":"#ffffff","ip":0,"op":9633,"st":0,"bm":0,"sr":1}],"v":"4.5.3","ddd":0,"ip":0,"op":117,"fr":30,"w":800,"h":800}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/play,_pause.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.0","fr":60,"ip":0,"op":60,"w":1080,"h":1080,"nm":"How to Animate an Icon in After Effects","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Play Left","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.11,"y":1},"o":{"x":0.333,"y":0},"n":"0p11_1_0p333_0","t":26,"s":[546,540,0],"e":[546,512,0],"to":[0,0,0],"ti":[0,0,0]},{"t":46}]},"a":{"a":0,"k":[166.284,216.209,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[102.67,329.749],[102.67,102.67],[229.899,216.209]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.11],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p11_1_0p333_0"],"t":6,"s":[100],"e":[38.8]},{"t":46}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":41.068},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[166.284,216.21],"ix":2},"a":{"a":0,"k":[166.284,216.21],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"mn":"ADBE Vector Group"}],"ip":-2,"op":2238.23223223223,"st":6,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Pause Right","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":0.973},"o":{"x":0.333,"y":0},"n":"0p667_0p973_0p333_0","t":31,"s":[546.445,579.817,0],"e":[546.445,478.139,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0.056},"n":"0p667_1_0p333_0p056","t":37,"s":[546.445,478.139,0],"e":[546.445,551.817,0],"to":[0,0,0],"ti":[0,0,0]},{"t":46}]},"a":{"a":0,"k":[166.729,177.123,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[64.06,-74.453],[64.06,74.453],[-64.06,74.453]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.11],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p11_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":46}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.11],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p11_1_0p333_0"],"t":26,"s":[100],"e":[53.3]},{"t":37}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":41.068},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[166.729,177.123],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"mn":"ADBE Vector Group"}],"ip":-2,"op":2238.23223223223,"st":6,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Full circle","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[540,540,0]},"a":{"a":0,"k":[357.67,357.67,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,140.833],[140.833,0],[0,-140.833],[-140.833,0]],"o":[[0,-140.833],[-140.833,0],[0,140.833],[140.833,0]],"v":[[255,0],[0,-255],[-255,0],[0,255]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.11],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p11_1_0p333_0"],"t":23,"s":[6],"e":[55]},{"t":43}],"ix":1},"e":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":-103,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":41.068},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[357.67,357.67],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"mn":"ADBE Vector Group"}],"ip":23,"op":2205.23223223223,"st":-27,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"Line circle transform","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[511.61,535.385,0]},"a":{"a":0,"k":[329.28,362.505,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-42.26,42.27],[131.25,-9.67],[0,-140.83],[-140.83,0]],"o":[[0,0],[77.9,-61.57],[-140.83,0],[0,140.83],[0,0]],"v":[[-28.61,118.375],[148.71,-45.265],[28.39,-250.165],[-226.61,4.835],[28.39,259.835]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0],"e":[60]},{"i":{"x":[0.11],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p11_1_0p333_0"],"t":26,"s":[60],"e":[41]},{"t":46}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[12],"e":[100]},{"t":26}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":41.068},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[329.28,362.505],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"mn":"ADBE Vector Group"}],"ip":-2,"op":2238.23223223223,"st":6,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/play_button.json:
--------------------------------------------------------------------------------
1 | {"v":"4.5.5","fr":25,"ip":0,"op":56,"w":500,"h":500,"ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"playbutton contornos","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[250,250,0]},"a":{"a":0,"k":[250,250,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-0.333,-96.667],[0.333,96.667]],"c":false}},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":0,"k":100,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Recortar trazados 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[0.46,0,0.58,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":20},"lc":2,"lj":1,"ml":10,"nm":"Trazo 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[301.957,249.979],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 1","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-0.333,-96.666],[0.333,96.666]],"c":false}},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":0,"s":[100],"e":[0]},{"t":16}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Recortar trazados 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[0.46,0,0.58,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":20},"lc":2,"lj":1,"ml":10,"nm":"Trazo 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[187.922,250.373],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 2","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-0.059,-10.443],[0,0],[-9.225,6.341],[0,0],[7.625,5.027],[0,0]],"o":[[0,0],[0.059,10.5],[0,0],[7.512,-5.164],[0,0],[-9.312,-6.139]],"v":[[-82.975,-91.15],[-81.949,91.229],[-59.42,101.323],[75.521,8.577],[75.296,-11.892],[-60.671,-101.525]],"c":true}},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":0,"s":[100],"e":[0]},{"t":16}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Recortar trazados 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[0.46,0,0.58,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":20},"lc":1,"lj":1,"ml":10,"nm":"Trazo 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[270.581,250.025],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 3","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-100.747],[100.746,0],[0,100.746],[-100.747,0]],"o":[[0,100.746],[-100.747,0],[0,-100.747],[100.746,0]],"v":[[182.417,-0.001],[-0.001,182.417],[-182.417,-0.001],[-0.001,-182.417]],"c":true}},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":0,"s":[100],"e":[0]},{"t":16}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Recortar trazados 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[0.46,0,0.58,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":20},"lc":1,"lj":1,"ml":10,"nm":"Trazo 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[249.001,250.001],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"Grupo 4","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":56,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/playing.json:
--------------------------------------------------------------------------------
1 | {"v":"4.10.1","fr":29.9700012207031,"ip":0,"op":80.0000032584668,"w":150,"h":150,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[77.5,76,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[84.229,84.229],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.709803938866,0.564705908298,0.372549027205,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.481],"y":[16926231.132]},"o":{"x":[0.402],"y":[0]},"n":["0p481_16926231p132_0p402_0"],"t":-0.131,"s":[3.988],"e":[3.988]},{"t":30.0000012219251}],"ix":5},"lc":2,"lj":1,"ml":4,"d":[{"n":"d","nm":"dash","v":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":30,"s":[0],"e":[140]},{"t":60.0000024438501}],"ix":1}},{"n":"g","nm":"gap","v":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":30,"s":[11],"e":[62]},{"t":60.0000024438501}],"ix":2}},{"n":"o","nm":"offset","v":{"a":0,"k":0,"ix":7}}],"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-1.386,-1.386],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":0,"s":[0,0],"e":[100,100]},{"t":30.0000012219251}],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"t":30.0000012219251}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90.0000036657751,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"playing Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[79.5,75.5,0],"ix":2},"a":{"a":0,"k":[75,75,0],"ix":1},"s":{"a":0,"k":[59.333,59.333,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-19.803,-29.2],[19.803,-0.006],[-19.803,29.2],[-19.803,-2.215]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.709803938866,0.564705908298,0.372549027205,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":6,"ix":5},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[76.077,71.675],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":37,"s":[0],"e":[100]},{"t":58.0000023623884}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":37,"s":[18],"e":[0]},{"t":58.0000023623884}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":37.0000015070409,"op":97.000003950891,"st":7.00000028511585,"bm":0}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/progress_bar 2.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.0","fr":29.9700012207031,"ip":0,"op":61.0000024845809,"w":400,"h":400,"nm":"Comp 1","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Pre-comp 2","refId":"comp_1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.372,"y":0.995},"o":{"x":0.333,"y":0},"n":"0p372_0p995_0p333_0","t":-1,"s":[-63.707,132,0],"e":[508.793,132,0],"to":[95.4166641235352,0,0],"ti":[-95.4166641235352,0,0]},{"t":65.0000026475043}]},"a":{"a":0,"k":[200,200,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"w":400,"h":400,"ip":-1.00000004073083,"op":899.000036617021,"st":-1.00000004073083,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":0,"nm":"Pre-comp 2","refId":"comp_1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.663,"y":0.994},"o":{"x":0.333,"y":0},"n":"0p663_0p994_0p333_0","t":47,"s":[-120.707,132,0],"e":[480.293,132,0],"to":[100.166664123535,0,0],"ti":[-100.166664123535,0,0]},{"t":120.0000048877}]},"a":{"a":0,"k":[200,200,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"w":400,"h":400,"ip":47.0000019143492,"op":947.000038572101,"st":47.0000019143492,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Master","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[198,192,0]},"a":{"a":0,"k":[146.5,5.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.858,0],[0,0],[0,-2.858],[2.859,0],[0,0],[0,2.858]],"o":[[0,0],[2.859,0],[0,2.858],[0,0],[-2.858,0],[0,-2.858]],"v":[[-140.825,-5.175],[140.825,-5.175],[146,0.001],[140.825,5.175],[-140.825,5.175],[-146,0.001]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.847,0.847,0.847,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[146.25,5.425],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":900.000036657751,"st":0,"bm":0,"sr":1}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Layer 5/progressbar-final Outlines","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[296,260,0]},"a":{"a":0,"k":[76.5,5.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.858,0],[0,0],[0,-2.859],[2.859,0],[0,0],[0,2.857]],"o":[[0,0],[2.859,0],[0,2.857],[0,0],[-2.858,0],[0,-2.859]],"v":[[-70.825,-5.175],[70.825,-5.175],[76,0],[70.825,5.175],[-70.825,5.175],[-76,0]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0,0.455,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[76.25,5.425],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":900.000036657751,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Layer 4/progressbar-final Outlines","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[86,260,0]},"a":{"a":0,"k":[22.5,5.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.858,0],[0,0],[0,-2.859],[2.858,0],[0,0],[0,2.857]],"o":[[0,0],[2.858,0],[0,2.857],[0,0],[-2.858,0],[0,-2.859]],"v":[[-16.825,-5.175],[16.825,-5.175],[22,0],[16.825,5.175],[-16.825,5.175],[-22,0]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0,0.455,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[22.25,5.425],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":900.000036657751,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Layer 3/progressbar-final Outlines","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[164,260,0]},"a":{"a":0,"k":[40,5.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.858,0],[0,0],[0,-2.859],[2.858,0],[0,0],[0,2.857]],"o":[[0,0],[2.858,0],[0,2.857],[0,0],[-2.858,0],[0,-2.859]],"v":[[-34.325,-5.175],[34.325,-5.175],[39.5,0],[34.325,5.175],[-34.325,5.175],[-39.5,0]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0,0.455,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[39.75,5.425],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":900.000036657751,"st":0,"bm":0,"sr":1}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Pre-comp 1","refId":"comp_0","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[202.032,208.014,0]},"a":{"a":0,"k":[200,200,0]},"s":{"a":0,"k":[99.979,100,100]}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[4.821,0],[0,0],[0,-4.821],[-4.821,0],[0,0],[0,2.771]],"o":[[0,0],[-4.821,0],[0,4.821],[0,0],[4.821,0],[0,-2.417]],"v":[[337.122,186.522],[59.625,186.49],[52.02,192.229],[59.708,197.449],[337.205,197.481],[343.914,191.917]],"c":true}},"o":{"a":0,"k":100},"x":{"a":0,"k":0},"nm":"Mask 2"}],"w":400,"h":400,"ip":0,"op":900.000036657751,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/progress_bar.json:
--------------------------------------------------------------------------------
1 | {"v":"4.5.7","fr":48,"ip":0,"op":251,"w":1440,"h":1080,"ddd":0,"assets":[],"layers":[{"ddd":0,"ind":0,"ty":3,"nm":"Null 1","ks":{"o":{"a":0,"k":0},"r":{"a":0,"k":0},"p":{"a":0,"k":[720,540,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.1],"y":[1,1,0.1]},"o":{"x":[0.25,0.25,0.25],"y":[0,0,0.25]},"n":["0p1_1_0p25_0","0p1_1_0p25_0","0p1_0p1_0p25_0p25"],"t":102.4,"s":[100,100,100],"e":[80,80,100]},{"t":177.599609375}]}},"ao":0,"ip":102.4,"op":179.2,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 4","parent":0,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.25],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p25_1_0p333_0"],"t":213,"s":[100],"e":[0]},{"t":240.19921875}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[0,-4,0]},"a":{"a":0,"k":[4,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[570,570]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p1_1_0p333_0"],"t":102.4,"s":[0],"e":[14]},{"t":129.599609375}]},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[4,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.25],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p25_1_0p333_0"],"t":102.4,"s":[0],"e":[100]},{"t":177.599609375}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":102.4,"s":[-51],"e":[0]},{"t":177.599609375}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":12},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"mn":"ADBE Vector Group"}],"ip":16,"op":251.2,"st":16,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 6","parent":0,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.25],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p25_1_0p333_0"],"t":213,"s":[100],"e":[0]},{"t":240.19921875}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[5.333,-3.566,0]},"a":{"a":0,"k":[-33.792,12.274,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-341,13],[-165,13.16],[259,12.625]],"c":false},"x":"var $bm_rt;\n$bm_rt = thisComp.layer('Shape Layer 5').content('Shape 1').content('Path 1').path;"},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":14},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":14},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":16,"s":[0],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":25.6,"s":[3],"e":[8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33.6,"s":[8],"e":[15]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":48,"s":[15],"e":[20]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54.4,"s":[20],"e":[35]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":67.49,"s":[35],"e":[70]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":80.582,"s":[70],"e":[80]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":91.49,"s":[80],"e":[100]},{"t":102.400390625}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":16,"op":251.2,"st":16,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 5","parent":0,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":0,"s":[0],"e":[100]},{"i":{"x":[0.667],"y":[0.667]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_0p667_0p167_0p167"],"t":16,"s":[100],"e":[100]},{"i":{"x":[0.25],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p25_1_0p333_0"],"t":213,"s":[100],"e":[0]},{"t":240.19921875}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[5.333,-3.566,0]},"a":{"a":0,"k":[-33.792,12.274,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.25,"y":0},"n":"0p1_1_0p25_0","t":102.4,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-341,13],[-165,13.16],[259,12.625]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-166.597,27.804],[-79.555,115.031],[127.156,-85.682]],"c":false}]},{"t":161.599609375}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.16,0.29,0.43,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":14},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":14},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"mn":"ADBE Vector Group"}],"ip":0,"op":163.2,"st":16,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/simple_loader.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.3","fr":25,"ip":0,"op":15,"w":200,"h":200,"nm":"Graph Load","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 3","ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":9,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":12,"s":[100],"e":[0]},{"t":15}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[128,100,0]},"a":{"a":0,"k":[3.481,-1.019,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.963,14.963]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.7921569,0.8156863,0.8352941,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[3.481,-1.019],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":15,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":3,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":9,"s":[100],"e":[0]},{"t":12}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[99.875,100,0]},"a":{"a":0,"k":[3.481,-1.019,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.963,14.963]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.7921569,0.8156863,0.8352941,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[3.481,-1.019],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":15,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":3,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[100],"e":[0]},{"t":9}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[71.75,100,0]},"a":{"a":0,"k":[3.481,-1.019,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.963,14.963]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.7921569,0.8156863,0.8352941,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[3.481,-1.019],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":15,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/socar_logo.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.3","fr":30,"ip":0,"op":142,"w":300,"h":450,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"S","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":34,"s":[117.976,236.069,0],"e":[117.976,254.069,0],"to":[0,3,0],"ti":[0,1,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":48,"s":[117.976,254.069,0],"e":[117.976,230.069,0],"to":[0,-1,0],"ti":[0,-0.00000418294258,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":66,"s":[117.976,230.069,0],"e":[117.976,254.069,0],"to":[0,0.00000418294258,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":83,"s":[117.976,254.069,0],"e":[117.976,230.069,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":101,"s":[117.976,230.069,0],"e":[117.976,254.069,0],"to":[0,0,0],"ti":[0,-4.00000429153442,0]},{"t":123}]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[7.65,2.48],[-5,-25.48],[-5.42,-25],[43.33,29.64]],"o":[[-7,-5],[-13.91,-4.52],[5,25.48],[4.16,19.18],[0,0]],"v":[[67.33,11.91],[46.24,1.43],[9.33,27.91],[68.33,64.91],[0,78.27]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.007843,0.835294,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":22},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[90.361,90.361],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":32,"s":[0],"e":[100]},{"t":43}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":0,"op":300,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":16,"s":[150.098,225.104,0],"e":[158.39,153.504,0],"to":[0,8.4616117477417,0],"ti":[0,-20.8257160186768,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":23,"s":[158.39,153.504,0],"e":[150.098,303.104,0],"to":[0,28.8084774017334,0],"ti":[0,-11.7050552368164,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":34,"s":[150.098,303.104,0],"e":[150.098,318.104,0],"to":[0,20.1666660308838,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":47,"s":[150.098,318.104,0],"e":[150.098,298.104,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":65,"s":[150.098,298.104,0],"e":[150.098,318.104,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":84,"s":[150.098,318.104,0],"e":[150.098,298.104,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":103,"s":[150.098,298.104,0],"e":[150.098,318.104,0],"to":[0,0,0],"ti":[0,0,0]},{"t":122}]},"a":{"a":0,"k":[92.366,117.719,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":16,"s":[0,0,100],"e":[100,100,100]},{"t":34}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":29,"s":[{"i":[[0,0],[0.25,-0.01],[5.27,5.62],[4.793,8.634],[4.32,6.18],[3.43,10.73],[0.26,7.79],[-2.43,9.78],[-5.45,9.13],[-7.14,6.53],[-15.56,4.43],[-10.65,-0.35],[-15.45,-10.03],[-8.39,-11.55],[-2.22,-15.71],[2.526,-11.618],[4.523,-9.18],[7.53,-7.24],[5.987,-3.85],[12.375,-9.624],[8.43,0]],"o":[[-0.18,0.13],[-12.371,-3.603],[-8.633,-7.376],[-5.94,-4.66],[-6.49,-9.21],[-2.29,-7.45],[-0.38,-10.02],[2.5,-10.34],[4.92,-8.33],[11.92,-10.77],[10.28,-2.93],[18.21,0.59],[11.93,7.74],[9.35,12.89],[3.26,23.01],[-1.433,6.591],[-4.637,9.411],[-5.62,5.4],[-8.704,5.597],[-3.843,2.989],[-4.75,0]],"v":[[97.272,196.501],[81.65,193.911],[61.203,184.04],[39.253,161.549],[24.951,138.621],[11.86,104.999],[11.663,81.273],[17.715,55.154],[26.265,40.643],[47.702,20.714],[84.488,2.304],[104.98,0.05],[155.68,15.22],[180.533,33.95],[196.506,64.994],[198.371,106.081],[189.004,137.223],[167.362,166.64],[150.582,180.515],[137.375,189.018],[112.823,194.8]],"c":true}],"e":[{"i":[[0,0],[0.25,-0.01],[5.27,5.62],[12.03,9.37],[4.32,6.18],[3.43,10.73],[0.26,7.79],[-2.43,9.78],[-5.45,9.13],[-7.14,6.53],[-15.56,4.43],[-10.65,-0.35],[-15.45,-10.03],[-8.39,-11.55],[-2.22,-15.71],[10.77,-20.56],[4.48,-5.05],[7.53,-7.24],[4.68,-6.22],[5.12,-9.04],[8.43,0]],"o":[[-0.18,0.13],[-4.11,-6.51],[-10.37,-11.18],[-5.94,-4.66],[-6.49,-9.21],[-2.29,-7.45],[-0.38,-10.02],[2.5,-10.34],[4.92,-8.33],[11.92,-10.77],[10.28,-2.93],[18.21,0.59],[11.93,7.74],[9.35,12.89],[3.26,23.01],[-3.12,5.98],[-6.96,7.85],[-5.62,5.4],[-6.22,8.27],[-1.87,3.3],[-4.75,0]],"v":[[93.18,249.71],[81.65,228.02],[67.56,209.79],[33.91,178.91],[18.94,162.08],[3.98,132],[0.15,109.04],[2.4,79.22],[14.39,49.84],[32.57,27.42],[73.57,4.22],[104.98,0.05],[155.68,15.22],[186.57,43.66],[203.3,86.79],[192.04,152.14],[180.29,168.46],[157.89,190.39],[142.82,208.21],[125.1,233.7],[104.98,260.63]],"c":true}]},{"t":35}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0.681,0.373],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":23,"s":[63.361,90.333],"e":[90.361,90.333]},{"t":35}],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/swipe_right_indicator.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.0","fr":25,"ip":0,"op":42,"w":128,"h":60,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"arrows Outlines 3","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[90,30,0]},"a":{"a":0,"k":[256,256,0]},"s":{"a":0,"k":[32,32,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-6.695,-6.47],[0,0],[-6.567,6.389],[0,0],[6.597,6.389],[0,0],[6.663,-6.47],[0,0],[-6.469,-6.292],[0,0],[6.5,-6.291]],"o":[[-6.566,6.355],[0,0],[6.597,6.403],[0,0],[6.564,-6.373],[0,0],[-6.567,-6.371],[0,0],[-6.631,6.406],[0,0],[6.566,6.372],[0,0]],"v":[[-46.06,58.31],[-45.962,81.454],[-48,79.479],[-24.13,79.543],[46.059,11.557],[46.059,-11.54],[-24.13,-79.528],[-48,-79.462],[-45.962,-81.437],[-46.06,-58.293],[2.199,-11.523],[2.199,11.54]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[50],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":25,"s":[100],"e":[50]},{"t":42}]},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[254.934,253.66],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":250,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"arrows Outlines 2","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[90,30,0]},"a":{"a":0,"k":[256,256,0]},"s":{"a":0,"k":[32,32,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-6.695,-6.47],[0,0],[-6.567,6.389],[0,0],[6.597,6.389],[0,0],[6.663,-6.47],[0,0],[-6.469,-6.292],[0,0],[6.5,-6.291]],"o":[[-6.566,6.355],[0,0],[6.597,6.403],[0,0],[6.564,-6.373],[0,0],[-6.567,-6.371],[0,0],[-6.631,6.406],[0,0],[6.566,6.372],[0,0]],"v":[[-46.06,58.31],[-45.962,81.454],[-48,79.479],[-24.13,79.543],[46.059,11.557],[46.059,-11.54],[-24.13,-79.528],[-48,-79.462],[-45.962,-81.437],[-46.06,-58.293],[2.199,-11.523],[2.199,11.54]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":13,"s":[50],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":25,"s":[100],"e":[50]},{"t":36}]},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[174.934,253.66],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":250,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"arrows Outlines","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[64,30,0]},"a":{"a":0,"k":[256,256,0]},"s":{"a":0,"k":[32,32,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-6.695,-6.47],[0,0],[-6.567,6.389],[0,0],[6.597,6.389],[0,0],[6.663,-6.47],[0,0],[-6.469,-6.292],[0,0],[6.5,-6.291]],"o":[[-6.566,6.355],[0,0],[6.597,6.403],[0,0],[6.564,-6.373],[0,0],[-6.567,-6.371],[0,0],[-6.631,6.406],[0,0],[6.566,6.372],[0,0]],"v":[[-46.06,58.31],[-45.962,81.454],[-48,79.479],[-24.13,79.543],[46.059,11.557],[46.059,-11.54],[-24.13,-79.528],[-48,-79.462],[-45.962,-81.437],[-46.06,-58.293],[2.199,-11.523],[2.199,11.54]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[50],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":25,"s":[100],"e":[50]},{"t":32}]},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[174.934,253.66],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":250,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/switch_loop.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.6","fr":24,"ip":0,"op":48,"w":300,"h":300,"nm":"Icon 4","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Switch","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[150,150,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[50,50]},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.5,"y":0},"n":"0p5_1_0p5_0","t":0,"s":[0,100],"e":[0,-100],"to":[0,-33.3333320617676],"ti":[0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0.5,"y":0},"n":"0p5_1_0p5_0","t":24,"s":[0,-100],"e":[0,100],"to":[0,0],"ti":[0,-33.3333320617676]},{"t":48}]},"nm":"Ellipse Path 2","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"n":["0p5_1_0p5_0"],"t":0,"s":[0.5176471,0.5176471,0.5176471,1],"e":[0.9686275,0.6773018,0.3646597,1]},{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"n":["0p5_1_0p5_0"],"t":24,"s":[0.9686275,0.6773018,0.3646597,1],"e":[0.5176471,0.5176471,0.5176471,1]},{"t":48}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 2","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[75,275]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":125},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"st","c":{"a":0,"k":[0.5176471,0.5176471,0.5176471,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":20},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[350,350]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"st","c":{"a":0,"k":[0.5176471,0.5176471,0.5176471,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":20},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group"}],"ip":0,"op":49,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/timer_(3_second_loop).json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.6","fr":24,"ip":0,"op":72,"w":500,"h":500,"nm":"Comp 2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[1080]},{"t":72}]},"p":{"a":0,"k":[250,250,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[150,50]},"p":{"a":0,"k":[50,0]},"r":{"a":0,"k":170},"nm":"Rectangle Path 2","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.372549,0.9254902,0.6717879,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"}],"ip":0,"op":73,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 3","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[360]},{"t":72}]},"p":{"a":0,"k":[250,250,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[50,50]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":170},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"rc","d":1,"s":{"a":0,"k":[250,50]},"p":{"a":0,"k":[100,0]},"r":{"a":0,"k":170},"nm":"Rectangle Path 2","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.9254902,0.372549,0.372549,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"}],"ip":0,"op":73,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[250,250,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[470,470]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0.9254902,0.3738254,0.3738254,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":25},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"}],"ip":0,"op":73,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/Assets/trail_loading.json:
--------------------------------------------------------------------------------
1 | {"v":"4.6.8","fr":60,"ip":0,"op":106,"w":500,"h":500,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 5","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":20,"s":[0],"e":[360]},{"t":110}]},"p":{"a":0,"k":[251,250,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[10,10]},"p":{"a":0,"k":[0,-100]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0,0,0,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":0},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[0,0.7294118,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":20,"op":620,"st":20,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 4","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":15,"s":[0],"e":[360]},{"t":105}]},"p":{"a":0,"k":[251,250,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20,20]},"p":{"a":0,"k":[0,-100]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0,0,0,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":0},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[0,0.7294118,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":15,"op":615,"st":15,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 3","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[0],"e":[360]},{"t":100}]},"p":{"a":0,"k":[251,250,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[30,30]},"p":{"a":0,"k":[0,-100]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0,0,0,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":0},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[0,0.7294118,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":10,"op":610,"st":10,"bm":0,"sr":1},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":5,"s":[0],"e":[360]},{"t":95}]},"p":{"a":0,"k":[251,250,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[40,40]},"p":{"a":0,"k":[0,-100]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0,0,0,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":0},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[0,0.7294118,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":5,"op":605,"st":5,"bm":0,"sr":1},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[0],"e":[360]},{"t":90}]},"p":{"a":0,"k":[250,250,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":0,"s":[50,50],"e":[40,40]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":84,"s":[40,40],"e":[50,50]},{"t":100}]},"p":{"a":0,"k":[0,-100]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0,0,0,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":0},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[0,0.7294118,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":600,"st":0,"bm":0,"sr":1}]}
--------------------------------------------------------------------------------
/samples/LottieDemo/LottieDemo.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | Library
4 | net9.0
5 | enable
6 | False
7 | copyused
8 | true
9 | LottieDemo
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/samples/LottieDemo/ViewModels/AssetViewModel.cs:
--------------------------------------------------------------------------------
1 | using CommunityToolkit.Mvvm.ComponentModel;
2 |
3 | namespace LottieDemo.ViewModels;
4 |
5 | public partial class AssetViewModel : ObservableObject
6 | {
7 | [ObservableProperty] private string _name;
8 | [ObservableProperty] private string _path;
9 |
10 | public AssetViewModel(string name, string path)
11 | {
12 | _name = name;
13 | _path = path;
14 | }
15 |
16 | public override string ToString() => Name;
17 | }
18 |
--------------------------------------------------------------------------------
/samples/LottieDemo/ViewModels/MainViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Collections.ObjectModel;
4 | using System.IO;
5 | using System.Linq;
6 | using Avalonia;
7 | using Avalonia.Platform;
8 | using CommunityToolkit.Mvvm.ComponentModel;
9 | using CommunityToolkit.Mvvm.Input;
10 |
11 | namespace LottieDemo.ViewModels;
12 |
13 | public partial class MainViewModel : ObservableObject
14 | {
15 | private readonly ObservableCollection _assets;
16 |
17 | [ObservableProperty] private AssetViewModel? _selectedAsset;
18 | [ObservableProperty] private bool _enableCheckerboard;
19 |
20 | public MainViewModel()
21 | {
22 | var assets = AssetLoader
23 | .GetAssets(new Uri("avares://LottieDemo/Assets"), new Uri("avares://LottieDemo/"))
24 | .Where(x => x.AbsolutePath.EndsWith(".json", StringComparison.OrdinalIgnoreCase))
25 | .Select(x=> new AssetViewModel(Path.GetFileName(x.AbsoluteUri), x.AbsoluteUri));
26 |
27 | _assets = new ObservableCollection(assets);
28 |
29 | _selectedAsset = _assets.FirstOrDefault(x => x.Path.Contains("LottieLogo1.json"));
30 | }
31 |
32 | public IReadOnlyList Assets => _assets;
33 |
34 | public void Add(string path)
35 | {
36 | _assets.Add(new AssetViewModel(Path.GetFileName(path), path));
37 | }
38 |
39 | [RelayCommand]
40 | private void Previous()
41 | {
42 | if (SelectedAsset is { } && _assets.Count > 1)
43 | {
44 | var index = _assets.IndexOf(SelectedAsset);
45 | if (index == 0)
46 | {
47 | SelectedAsset = _assets[^1];
48 | }
49 | else if (index > 0)
50 | {
51 | SelectedAsset = _assets[index - 1];
52 | }
53 | }
54 | }
55 |
56 | [RelayCommand]
57 | private void Next()
58 | {
59 | if (SelectedAsset is { } && _assets.Count > 1)
60 | {
61 | var index = _assets.IndexOf(SelectedAsset);
62 | if (index == _assets.Count - 1)
63 | {
64 | SelectedAsset = _assets[0];
65 | }
66 | else if (index >= 0 && index < _assets.Count - 1)
67 | {
68 | SelectedAsset = _assets[index + 1];
69 | }
70 | }
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/samples/LottieDemo/Views/MainView.axaml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 | M2.75 20a1 1 0 1 0 2 0V4a1 1 0 1 0-2 0v16ZM20.75 19.053c0 1.424-1.612 2.252-2.77 1.422L7.51 12.968a1.75 1.75 0 0 1 .075-2.895l10.47-6.716c1.165-.748 2.695.089 2.695 1.473v14.223Z
16 | M21 4a1 1 0 1 0-2 0v16a1 1 0 1 0 2 0V4ZM3 4.947c0-1.424 1.612-2.252 2.77-1.422l10.47 7.507a1.75 1.75 0 0 1-.075 2.895l-10.47 6.716C4.53 21.39 3 20.554 3 19.17V4.947Z
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
31 |
32 |
33 |
34 |
35 |
36 |
50 |
64 |
65 |
68 |
69 |
70 |
74 |
80 |
82 |
83 |
84 |
85 |
86 |
--------------------------------------------------------------------------------
/samples/LottieDemo/Views/MainView.axaml.cs:
--------------------------------------------------------------------------------
1 | using System.Linq;
2 | using Avalonia;
3 | using Avalonia.Controls;
4 | using Avalonia.Input;
5 | using LottieDemo.ViewModels;
6 |
7 | namespace LottieDemo.Views;
8 |
9 | public partial class MainView : UserControl
10 | {
11 | public MainView()
12 | {
13 | InitializeComponent();
14 |
15 | AddHandler(DragDrop.DragOverEvent, DragOver);
16 | AddHandler(DragDrop.DropEvent, Drop);
17 | }
18 |
19 | protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e)
20 | {
21 | base.OnAttachedToVisualTree(e);
22 | Focus();
23 | }
24 |
25 | private void DragOver(object? sender, DragEventArgs e)
26 | {
27 | e.DragEffects &= DragDropEffects.Copy | DragDropEffects.Link;
28 |
29 | if (!e.Data.Contains(DataFormats.Files))
30 | {
31 | e.DragEffects = DragDropEffects.None;
32 | }
33 | }
34 |
35 | private void Drop(object? sender, DragEventArgs e)
36 | {
37 | if (!e.Data.Contains(DataFormats.Files))
38 | {
39 | return;
40 | }
41 |
42 | if (DataContext is not MainViewModel vm)
43 | {
44 | return;
45 | }
46 |
47 | var paths = e.Data.GetFileNames()?.ToList();
48 | if (paths is null)
49 | {
50 | return;
51 | }
52 |
53 | for (var i = 0; i < paths.Count; i++)
54 | {
55 | var path = paths[i];
56 | if (string.IsNullOrWhiteSpace(path))
57 | {
58 | continue;
59 | }
60 |
61 | vm.Add(path);
62 |
63 | if (i == 0)
64 | {
65 | vm.SelectedAsset = vm.Assets[^1];
66 | }
67 | }
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/samples/LottieDemo/Views/MainWindow.axaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/samples/LottieDemo/Views/MainWindow.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 |
4 | namespace LottieDemo.Views;
5 |
6 | public partial class MainWindow : Window
7 | {
8 | public MainWindow()
9 | {
10 | InitializeComponent();
11 | #if DEBUG
12 | this.AttachDevTools();
13 | #endif
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/samples/LottieToSvg/App.axaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/samples/LottieToSvg/App.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls.ApplicationLifetimes;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace LottieToSvg;
6 |
7 | public partial class App : Application
8 | {
9 | public override void Initialize()
10 | {
11 | AvaloniaXamlLoader.Load(this);
12 | }
13 |
14 | public override void OnFrameworkInitializationCompleted()
15 | {
16 | if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
17 | {
18 | desktop.MainWindow = new MainWindow();
19 | }
20 |
21 | base.OnFrameworkInitializationCompleted();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/samples/LottieToSvg/LottieToSvg.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | WinExe
4 | net9.0
5 | enable
6 | copyused
7 | true
8 | false
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/samples/LottieToSvg/MainWindow.axaml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/samples/LottieToSvg/MainWindow.axaml.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using System.Linq;
3 | using System.Runtime.InteropServices;
4 | using System.Threading.Tasks;
5 | using Avalonia;
6 | using Avalonia.Controls;
7 | using Avalonia.Input;
8 | using SkiaSharp;
9 |
10 | namespace LottieToSvg;
11 |
12 | public partial class MainWindow : Window
13 | {
14 | public MainWindow()
15 | {
16 | InitializeComponent();
17 | #if DEBUG
18 | this.AttachDevTools();
19 | #endif
20 | AddHandler(DragDrop.DragOverEvent, DragOver);
21 | AddHandler(DragDrop.DropEvent, Drop);
22 | }
23 |
24 | private void DragOver(object? sender, DragEventArgs e)
25 | {
26 | e.DragEffects &= DragDropEffects.Copy | DragDropEffects.Link;
27 |
28 | if (!e.Data.Contains(DataFormats.Files))
29 | {
30 | e.DragEffects = DragDropEffects.None;
31 | }
32 | }
33 |
34 | private async void Drop(object? sender, DragEventArgs e)
35 | {
36 | if (!e.Data.Contains(DataFormats.Files))
37 | {
38 | return;
39 | }
40 |
41 | var paths = e.Data.GetFileNames()?.ToList();
42 | if (paths is null || paths.Count <= 0)
43 | {
44 | return;
45 | }
46 |
47 | var outputPath = OutputPath.Text;
48 |
49 | if (string.IsNullOrWhiteSpace(outputPath))
50 | {
51 | if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
52 | {
53 | outputPath = "c:\\Temp\\";
54 | }
55 |
56 | if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
57 | {
58 | outputPath = "/Users/wieslawsoltes/Downloads/Temp";
59 | }
60 | }
61 |
62 | if (outputPath is null)
63 | {
64 | return;
65 | }
66 |
67 | await Task.Run(() =>
68 | {
69 | foreach (var path in paths)
70 | {
71 | Convert(path, outputPath);
72 | }
73 | });
74 | }
75 |
76 | private void CreateSvg(SkiaSharp.Skottie.Animation animation, string inputFilePath, string outputPath)
77 | {
78 | var inPoint = animation.InPoint;
79 | var outPoint = animation.OutPoint;
80 | var dst = new SKRect(0, 0, animation.Size.Width, animation.Size.Height);
81 |
82 | for (var t = inPoint; t <= outPoint; t += 1d)
83 | {
84 | var outputFileExtension = "svg";
85 | var outputFileName = $"{Path.GetFileNameWithoutExtension(inputFilePath)}.{t:0000}.{outputFileExtension}";
86 | var outputFilePath = Path.Combine(outputPath, outputFileName);
87 |
88 | using var outputStream = File.Create(outputFilePath);
89 | using var outputManagedStream = new SKManagedWStream(outputStream);
90 |
91 | var bounds = SKRect.Create(animation.Size);
92 | using var canvas = SKSvgCanvas.Create(bounds, outputManagedStream);
93 |
94 | animation.SeekFrame(t);
95 | animation.Render(canvas, dst);
96 | }
97 | }
98 |
99 | private void Convert(string inputFilePath, string outputPath)
100 | {
101 | using var inputStream = File.OpenRead(inputFilePath);
102 | using var inputManagedStream = new SKManagedStream(inputStream);
103 |
104 | if (!SkiaSharp.Skottie.Animation.TryCreate(inputManagedStream, out var animation))
105 | {
106 | return;
107 | }
108 |
109 | CreateSvg(animation, inputFilePath, outputPath);
110 | }
111 | }
112 |
--------------------------------------------------------------------------------
/samples/LottieToSvg/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Avalonia;
3 |
4 | namespace LottieToSvg;
5 |
6 | class Program
7 | {
8 | [STAThread]
9 | public static void Main(string[] args) => BuildAvaloniaApp()
10 | .StartWithClassicDesktopLifetime(args);
11 |
12 | public static AppBuilder BuildAvaloniaApp()
13 | => AppBuilder.Configure()
14 | .UsePlatformDetect()
15 | .LogToTrace();
16 | }
17 |
--------------------------------------------------------------------------------
/src/Lottie/Lottie.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | Library
4 | netstandard2.0;net6.0;net8.0
5 | enable
6 | True
7 | copyused
8 | true
9 | Avalonia.Skia.Lottie
10 |
11 |
12 | An lottie animation player control for Avalonia.
13 | Lottie
14 | MIT
15 | lottie;animation;player;vector graphics;rendering;2d;graphics;geometry;shapes;skiasharp;skia;skottie;control;avalonia;avaloniaui
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/Lottie/LottieCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Avalonia.Skia.Lottie;
2 |
3 | internal enum LottieCommand
4 | {
5 | Start,
6 | Stop,
7 | Update,
8 | Dispose
9 | }
10 |
--------------------------------------------------------------------------------
/src/Lottie/LottieCompositionCustomVisualHandler.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Avalonia.Media;
3 | using Avalonia.Platform;
4 | using Avalonia.Rendering.Composition;
5 | using SkiaSharp;
6 |
7 | namespace Avalonia.Skia.Lottie;
8 |
9 | internal class LottieCompositionCustomVisualHandler : CompositionCustomVisualHandler
10 | {
11 | private TimeSpan _primaryTimeElapsed, _animationElapsed;
12 | private TimeSpan? _lastServerTime;
13 | private bool _running;
14 | private SkiaSharp.Skottie.Animation? _animation;
15 | private Stretch? _stretch;
16 | private StretchDirection? _stretchDirection;
17 | private SkiaSharp.SceneGraph.InvalidationController? _ic;
18 | private readonly object _sync = new();
19 | private int _repeatCount;
20 | private int _count;
21 |
22 | public override void OnMessage(object message)
23 | {
24 | if (message is not LottiePayload msg)
25 | {
26 | return;
27 | }
28 |
29 | switch (msg)
30 | {
31 | case
32 | {
33 | LottieCommand: LottieCommand.Start,
34 | Animation: { } an,
35 | Stretch: { } st,
36 | StretchDirection: { } sd,
37 | RepeatCount: { } rp
38 | }:
39 | {
40 | _running = true;
41 | _lastServerTime = null;
42 | _stretch = st;
43 | _stretchDirection = sd;
44 | _animation = an;
45 | _repeatCount = rp;
46 | _count = 0;
47 | _animationElapsed = TimeSpan.Zero;
48 | RegisterForNextAnimationFrameUpdate();
49 | break;
50 | }
51 | case
52 | {
53 | LottieCommand: LottieCommand.Update,
54 | Stretch: { } st,
55 | StretchDirection: { } sd
56 | }:
57 | {
58 | _stretch = st;
59 | _stretchDirection = sd;
60 | RegisterForNextAnimationFrameUpdate();
61 | break;
62 | }
63 | case
64 | {
65 | LottieCommand: LottieCommand.Stop
66 | }:
67 | {
68 | _running = false;
69 | _animationElapsed = TimeSpan.Zero;
70 | _count = 0;
71 | break;
72 | }
73 | case
74 | {
75 | LottieCommand: LottieCommand.Dispose
76 | }:
77 | {
78 | DisposeImpl();
79 | break;
80 | }
81 | }
82 | }
83 |
84 | public override void OnAnimationFrameUpdate()
85 | {
86 | if (!_running)
87 | return;
88 |
89 |
90 | if (_repeatCount == 0 || (_repeatCount > 0 && _count >= _repeatCount))
91 | {
92 | _running = false;
93 | _animationElapsed = TimeSpan.Zero;
94 | }
95 |
96 | Invalidate();
97 | RegisterForNextAnimationFrameUpdate();
98 | }
99 |
100 | private void DisposeImpl()
101 | {
102 | lock (_sync)
103 | {
104 | _animation?.Dispose();
105 | _animation = null;
106 | _ic?.End();
107 | _ic?.Dispose();
108 | _ic = null;
109 | }
110 | }
111 |
112 | private double GetFrameTime()
113 | {
114 | if (_animation is null)
115 | {
116 | return 0f;
117 | }
118 |
119 | var frameTime = _animationElapsed.TotalSeconds;
120 |
121 | if (_animationElapsed.TotalSeconds > _animation.Duration.TotalSeconds)
122 | {
123 | _animationElapsed = TimeSpan.Zero;
124 | _ic?.End();
125 | _ic?.Begin();
126 | _count++;
127 | }
128 |
129 | return frameTime;
130 | }
131 |
132 | private void Draw(SKCanvas canvas)
133 | {
134 | var animation = _animation;
135 | if (animation is null)
136 | {
137 | return;
138 | }
139 |
140 | if (_ic is null)
141 | {
142 | _ic = new SkiaSharp.SceneGraph.InvalidationController();
143 | _ic.Begin();
144 | }
145 |
146 | var ic = _ic;
147 |
148 | if (_repeatCount == 0)
149 | {
150 | return;
151 | }
152 |
153 | var t = GetFrameTime();
154 | if (!_running)
155 | {
156 | t = (float)animation.Duration.TotalSeconds;
157 | }
158 |
159 | var dst = new SKRect(0, 0, animation.Size.Width, animation.Size.Height);
160 |
161 | animation.SeekFrameTime(t, ic);
162 | canvas.Save();
163 | animation.Render(canvas, dst);
164 | canvas.Restore();
165 |
166 | ic.Reset();
167 | }
168 |
169 | public override void OnRender(ImmediateDrawingContext context)
170 | {
171 | lock (_sync)
172 | {
173 | if (_running)
174 | {
175 | if (_lastServerTime.HasValue)
176 | {
177 | var delta = (CompositionNow - _lastServerTime.Value);
178 | _primaryTimeElapsed += delta;
179 | _animationElapsed += delta;
180 | }
181 |
182 | _lastServerTime = CompositionNow;
183 | }
184 |
185 | if (_animation is not { } an
186 | || _stretch is not { } st
187 | || _stretchDirection is not { } sd)
188 | {
189 | return;
190 | }
191 |
192 |
193 | var leaseFeature = context.TryGetFeature();
194 | if (leaseFeature is null)
195 | {
196 | return;
197 | }
198 |
199 | var rb = GetRenderBounds();
200 |
201 | var viewPort = new Rect(rb.Size);
202 | var sourceSize = new Size(an.Size.Width, an.Size.Height);
203 | if (sourceSize.Width <= 0 || sourceSize.Height <= 0)
204 | {
205 | return;
206 | }
207 |
208 | var scale = st.CalculateScaling(rb.Size, sourceSize, sd);
209 | var scaledSize = sourceSize * scale;
210 | var destRect = viewPort
211 | .CenterRect(new Rect(scaledSize))
212 | .Intersect(viewPort);
213 | var sourceRect = new Rect(sourceSize)
214 | .CenterRect(new Rect(destRect.Size / scale));
215 |
216 | var bounds = SKRect.Create(new SKPoint(), an.Size);
217 | var scaleMatrix = Matrix.CreateScale(
218 | destRect.Width / sourceRect.Width,
219 | destRect.Height / sourceRect.Height);
220 | var translateMatrix = Matrix.CreateTranslation(
221 | -sourceRect.X + destRect.X - bounds.Top,
222 | -sourceRect.Y + destRect.Y - bounds.Left);
223 |
224 | using (context.PushClip(destRect))
225 | using (context.PushPostTransform(translateMatrix * scaleMatrix))
226 | {
227 | using var lease = leaseFeature.Lease();
228 | var canvas = lease?.SkCanvas;
229 | if (canvas is null)
230 | {
231 | return;
232 | }
233 | Draw(canvas);
234 | }
235 | }
236 | }
237 | }
238 |
--------------------------------------------------------------------------------
/src/Lottie/LottiePayload.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Media;
2 |
3 | namespace Avalonia.Skia.Lottie;
4 |
5 | internal record struct LottiePayload(
6 | LottieCommand LottieCommand,
7 | SkiaSharp.Skottie.Animation? Animation = null,
8 | Stretch? Stretch = null,
9 | StretchDirection? StretchDirection = null,
10 | int? RepeatCount = null);
11 |
--------------------------------------------------------------------------------
/src/Lottie/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Metadata;
2 |
3 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Skia.Lottie")]
4 |
--------------------------------------------------------------------------------
/src/Lottie/ServiceProviderExtensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace Avalonia.Skia.Lottie;
5 |
6 | internal static class ServiceProviderExtensions
7 | {
8 | public static T GetService(this IServiceProvider sp)
9 | => (T)sp?.GetService(typeof(T))!;
10 |
11 | public static Uri GetContextBaseUri(this IServiceProvider ctx)
12 | => ctx.GetService().BaseUri;
13 | }
14 |
--------------------------------------------------------------------------------