Individual skill
dotlottie-web
Implement Lottie animations using dotLottie runtimes (@lottiefiles/dotlottie-web and @lottiefiles/dotlottie-react). Use when building, debugging, or optimizing dotLottie or Lottie animations in web projects, including vanilla JS, React, and Next.js. Covers package selection, Web Workers, state machines, theming, dynamic slot overriding, performance best practices, and common patterns.
SKILL.md
Source commit 2f3693a1d5b9d6936027bc892fa4f9d1cd16d2bb
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Network or broad shell
- Last checked
- Nov 10, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 941
- Repository last updated
- Nov 4, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- dotlottie Repository topic
- lottie Repository topic
- thorvg Repository topic
- animation Repository topic
- canvas Repository topic
- javascript Repository topic
- typescript Repository topic
- animation-library Repository topic
- lottie-animation Repository topic
- lottie-player Repository topic
- testing Derived category
- engineering Derived category
- engineering-web Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.changeset/README.mddoc · 510 bytes.changeset/config.jsonasset · 408 bytes.editorconfigasset · 618 bytes.eslintignoreasset · 496 bytes.gitattributesasset · 318 bytes.github/CODEOWNERSasset · 785 bytes.github/ISSUE_TEMPLATE/BUG_REPORT.mddoc · 761 bytes.github/ISSUE_TEMPLATE/ENHANCEMENT.mddoc · 628 bytes.github/ISSUE_TEMPLATE/FEATURE_REQUEST.mddoc · 741 bytes.github/PULL_REQUEST_TEMPLATE.mddoc · 637 bytes.github/SECURITY.mddoc · 1,754 bytes.github/dependabot.ymlasset · 746 bytes.github/workflows/ci.ymlasset · 7,616 bytes.github/workflows/deploy-viewer.ymlasset · 1,482 bytes.github/workflows/release.ymlasset · 12,188 bytes.github/workflows/stale.ymlasset · 1,869 bytes.gitignoreasset · 587 bytes.gitmodulesasset · 117 bytes.nvmrcasset · 3 bytes.remarkignoreasset · 247 bytes.remarkrc.mjsruns · 85 bytes.size-limit.jsruns · 1,420 bytesCODE_OF_CONDUCT.mddoc · 5,534 bytesCONTRIBUTING.mddoc · 2,718 bytesLICENSEasset · 1,072 bytesREADME.mddoc · 16,712 bytesSKILL.mdcore · 13,906 bytesSKILL.mdcore · 13,906 bytesapps/viewer/.gitignoreasset · 253 bytesapps/viewer/index.htmlasset · 620 bytesapps/viewer/package.jsonruns · 1,792 bytesapps/viewer/postcss.config.jsruns · 105 bytesapps/viewer/src/assets/brand-logo.svgasset · 4,947 bytesapps/viewer/src/assets/react.svgasset · 4,126 bytesapps/viewer/src/components/animation-list.tsxruns · 1,458 bytesapps/viewer/src/components/controls.tsxruns · 8,592 bytesapps/viewer/src/components/dotlottie-cdn-player.tsxruns · 4,975 bytesapps/viewer/src/components/dotlottie-gpu-player.tsxruns · 6,534 bytesapps/viewer/src/components/dotlottie-old.tsxruns · 214 bytesapps/viewer/src/components/form/base-button.tsxruns · 497 bytesapps/viewer/src/components/form/base-input.tsxruns · 1,539 bytesapps/viewer/src/components/form/base-select.tsxruns · 1,486 bytesapps/viewer/src/components/form/input-label.tsxruns · 583 bytesapps/viewer/src/components/form/step-select.tsxruns · 2,066 bytesapps/viewer/src/components/form/switch.tsxruns · 924 bytesapps/viewer/src/components/load-time.tsxruns · 574 bytesapps/viewer/src/components/players.tsxruns · 16,077 bytesapps/viewer/src/components/playground/code-editor.tsxruns · 2,688 bytesapps/viewer/src/components/playground/console-panel.tsxruns · 4,363 bytesapps/viewer/src/components/playground/error-display.tsxruns · 527 bytesapps/viewer/src/components/playground/example-selector.tsxruns · 765 bytesapps/viewer/src/components/playground/preview-iframe.tsxruns · 3,868 bytesapps/viewer/src/components/playground/resizable-split.tsxruns · 2,630 bytesapps/viewer/src/components/side-panel.tsxruns · 654 bytesapps/viewer/src/components/skottie.tsxruns · 2,001 bytesapps/viewer/src/components/slot-controller.tsxruns · 16,071 bytesapps/viewer/src/components/top-bar.tsxruns · 3,014 bytesapps/viewer/src/components/virtualized/VirtualAnimationItem.tsxruns · 1,003 bytesapps/viewer/src/components/virtualized/VirtualizedAnimationList.tsxruns · 2,383 bytesapps/viewer/src/context/theme-context.tsxruns · 2,874 bytesapps/viewer/src/data/playground-examples.tsruns · 1,619 bytesapps/viewer/src/data/playground-examples/basic.jsruns · 550 bytesapps/viewer/src/data/playground-examples/dynamic-loading.jsruns · 1,006 bytesapps/viewer/src/data/playground-examples/event-listeners.jsruns · 1,157 bytesapps/viewer/src/data/playground-examples/interactive-hover.jsruns · 774 bytesapps/viewer/src/data/playground-examples/play-segment.jsruns · 957 bytesapps/viewer/src/data/playground-examples/playback-controls.jsruns · 757 bytesapps/viewer/src/hooks/use-camera.tsruns · 4,927 bytesapps/viewer/src/hooks/useDotLottiePool.tsruns · 1,484 bytesapps/viewer/src/index.cssasset · 588 bytesapps/viewer/src/main.tsxruns · 969 bytesapps/viewer/src/pages/embed.tsxruns · 5,181 bytesapps/viewer/src/pages/home.tsxruns · 4,071 bytesapps/viewer/src/pages/list.tsxruns · 1,588 bytesapps/viewer/src/pages/perf.tsxruns · 14,656 bytesapps/viewer/src/pages/playground.tsxruns · 11,444 bytesapps/viewer/src/store/hooks.tsruns · 272 bytesapps/viewer/src/store/index.tsruns · 306 bytesapps/viewer/src/store/types.tsruns · 0 bytesapps/viewer/src/store/viewer-slice.tsruns · 6,271 bytesapps/viewer/src/utils/url-compression.tsruns · 1,861 bytesapps/viewer/src/vite-env.d.tsruns · 38 bytesapps/viewer/tailwind.config.jsruns · 778 bytesapps/viewer/tsconfig.jsonasset · 641 bytesapps/viewer/tsconfig.node.jsonasset · 233 bytesapps/viewer/vite.config.tsruns · 349 bytesassets/1.gifasset · 302,234 bytesassets/2.gifasset · 544,111 bytesassets/3.gifasset · 861,456 bytesassets/4.gifasset · 373,607 bytesbiome.jsonasset · 2,628 bytescommitlint.config.tsruns · 64 bytesexamples/next/.gitignoreasset · 391 bytesexamples/next/next.config.mjsruns · 743 bytesexamples/next/package.jsonruns · 484 bytesexamples/next/public/favicon.icoasset · 25,930 bytesexamples/next/public/next.svgasset · 1,375 bytesexamples/next/public/vercel.svgasset · 629 bytesexamples/next/src/pages/_app.tsxruns · 181 bytesexamples/next/src/pages/_document.tsxruns · 233 bytesexamples/next/src/pages/index.tsxruns · 5,282 bytesexamples/next/src/styles/globals.cssasset · 273 bytesexamples/next/src/wasm-url.d.tsruns · 75 bytesexamples/next/tsconfig.jsonasset · 516 bytesexamples/react/.gitignoreasset · 253 bytesexamples/react/index.htmlasset · 318 bytesexamples/react/package.jsonruns · 494 bytesexamples/react/src/App.tsxruns · 4,738 bytesexamples/react/src/client-entry.tsxruns · 210 bytesexamples/react/src/vite-env.d.tsruns · 38 bytesexamples/react/tsconfig.jsonasset · 605 bytesexamples/react/tsconfig.node.jsonasset · 213 bytesexamples/react/vite.config.tsruns · 171 bytesexamples/solid/.gitignoreasset · 227 bytesexamples/solid/index.htmlasset · 539 bytesexamples/solid/package.jsonruns · 474 bytesexamples/solid/src/App.tsxruns · 5,691 bytesexamples/solid/src/index.cssasset · 362 bytesexamples/solid/src/index.tsxruns · 450 bytesexamples/solid/tsconfig.jsonasset · 338 bytesexamples/solid/vite.config.tsruns · 467 bytesexamples/vue/.eslintrc.cjsruns · 414 bytesexamples/vue/.gitignoreasset · 253 bytesexamples/vue/.vscode/extensions.jsonasset · 75 bytesexamples/vue/index.htmlasset · 394 bytesexamples/vue/package.jsonruns · 827 bytesexamples/vue/src/App.vueasset · 1,813 bytesexamples/vue/src/assets/vue.svgasset · 496 bytesexamples/vue/src/components/HelloWorld.vueasset · 782 bytesexamples/vue/src/main.tsruns · 115 bytesexamples/vue/src/style.cssasset · 1,276 bytesexamples/vue/src/vite-env.d.tsruns · 38 bytesexamples/vue/tsconfig.jsonasset · 644 bytesexamples/vue/tsconfig.node.jsonasset · 213 bytesexamples/vue/vite.config.tsruns · 160 bytesexamples/wc/.gitignoreasset · 253 bytesexamples/wc/index.htmlasset · 405 bytesexamples/wc/package.jsonruns · 355 bytesexamples/wc/src/main.tsruns · 2,594 bytesexamples/wc/src/vite-env.d.tsruns · 38 bytesexamples/wc/tsconfig.jsonasset · 148 bytesexamples/web-node/.gitignoreasset · 7 bytesexamples/web-node/README.mddoc · 1,371 bytesexamples/web-node/demo.gifasset · 523,908 bytesexamples/web-node/index.tsruns · 3,324 bytesexamples/web-node/package.jsonruns · 501 bytesexamples/web-node/tsconfig.jsonasset · 210 bytesexamples/web/.gitignoreasset · 253 bytesexamples/web/index.htmlasset · 406 bytesexamples/web/package.jsonruns · 357 bytesexamples/web/src/main.tsruns · 16,824 bytesexamples/web/src/styles.cssasset · 1,339 bytesexamples/web/src/vite-env.d.tsruns · 38 bytesexamples/web/tsconfig.jsonasset · 148 bytesexamples/web/vite.config.tsruns · 103 bytesfixtures/aniki-hamster.jsonasset · 58,977 bytesfixtures/audio.jsonasset · 2,206 bytesfixtures/celebrate.jsonasset · 111,541 bytesfixtures/down.jsonasset · 5,539 bytesfixtures/dragon.jsonasset · 216,948 bytesfixtures/editor.jsonasset · 38,091 bytesfixtures/exploding_pigeon.lottieasset · 52,904 bytesfixtures/favicon.pngasset · 856 bytesfixtures/favicon.svgasset · 1,172 bytesfixtures/fonts/Impact.ttfasset · 138,433 bytesfixtures/fonts/Type-Tones - Arboria-Black.woffasset · 37,491 bytesfixtures/fonts/Type-Tones - Arboria-Bold.woffasset · 38,032 bytesfixtures/growup.jsonasset · 35,693 bytesfixtures/hamster.jsonasset · 58,977 bytesfixtures/hamster.lottieasset · 4,674 bytesfixtures/image.jsonasset · 942,143 bytesfixtures/layout_example.lottieasset · 751 bytesfixtures/like.jsonasset · 8,075 bytesfixtures/lolo.jsonasset · 36,136 bytesfixtures/lottie-lego.jsonasset · 28,107 bytesfixtures/lottie/11555.jsonasset · 30,402 bytesfixtures/lottie/1643-exploding-star.jsonasset · 27,807 bytesfixtures/lottie/27746-joypixels-partying-face-emoji-animation.jsonasset · 43,106 bytesfixtures/lottie/5317-fireworkds.jsonasset · 9,300 bytesfixtures/lottie/5344-honey-sack-hud.jsonasset · 138,527 bytesfixtures/lottie/a_mountain.jsonasset · 34,001 bytesfixtures/lottie/abstract_circle.jsonasset · 2,249 bytesfixtures/lottie/alien.jsonasset · 103,109 bytesfixtures/lottie/anubis.jsonasset · 42,274 bytesfixtures/lottie/balloons_with_string.jsonasset · 30,941 bytesfixtures/lottie/batman.jsonasset · 794,136 bytesfixtures/lottie/birth_stone_logo.jsonasset · 4,383 bytesfixtures/lottie/calculator.jsonasset · 89,722 bytesfixtures/lottie/card_hover.jsonasset · 327,388 bytesfixtures/lottie/cat_loader.jsonasset · 52,489 bytesfixtures/lottie/coin.jsonasset · 76,757 bytesfixtures/lottie/confetti.jsonasset · 365,327 bytesfixtures/lottie/confetti2.jsonasset · 30,455 bytesfixtures/lottie/confettiBird.jsonasset · 91,551 bytesfixtures/lottie/customer.jsonasset · 166,844 bytesfixtures/lottie/dancing_book.jsonasset · 128,957 bytesfixtures/lottie/dancing_star.jsonasset · 31,515 bytesfixtures/lottie/day_to_night.jsonasset · 122,000 bytesfixtures/lottie/dodecahedron.jsonasset · 61,906 bytesfixtures/lottie/down.jsonasset · 5,539 bytesfixtures/lottie/dropball.jsonasset · 30,156 bytesfixtures/lottie/duck.jsonasset · 129,343 bytesfixtures/lottie/earth_hour.jsonasset · 121,913 bytesfixtures/lottie/emoji.jsonasset · 74,955 bytesfixtures/lottie/emoji_enjoying.jsonasset · 21,006 bytesfixtures/lottie/error_404.jsonasset · 297,531 bytesfixtures/lottie/fiery_skull.jsonasset · 55,497 bytesfixtures/lottie/fleche.jsonasset · 33,556 bytesfixtures/lottie/flipping_page.jsonasset · 52,912 bytesfixtures/lottie/fly_in_beaker.jsonasset · 83,764 bytesfixtures/lottie/focal_test.jsonasset · 65,298 bytesfixtures/lottie/foodrating.jsonasset · 50,187 bytesfixtures/lottie/frog_vr.jsonasset · 112,378 bytesfixtures/lottie/fun_animation.jsonasset · 153,619 bytesfixtures/lottie/funky_chicken.jsonasset · 86,449 bytesfixtures/lottie/game_finished.jsonasset · 45,226 bytesfixtures/lottie/geometric.jsonasset · 29,922 bytesfixtures/lottie/glow_loading.jsonasset · 15,144 bytesfixtures/lottie/gradient_background.jsonasset · 204,748 bytesfixtures/lottie/gradient_infinite.jsonasset · 15,279 bytesfixtures/lottie/gradient_sleepy_loader.jsonasset · 4,532 bytesfixtures/lottie/gradient_smoke.jsonasset · 23,905 bytesfixtures/lottie/growup.jsonasset · 35,693 bytesfixtures/lottie/guitar.jsonasset · 180,727 bytesfixtures/lottie/hamburger.jsonasset · 97,090 bytesfixtures/lottie/happy_holidays.jsonasset · 71,730 bytesfixtures/lottie/happy_trio.jsonasset · 46,760 bytesfixtures/lottie/hola.jsonasset · 27,816 bytesfixtures/lottie/holdanimation.jsonasset · 329,107 bytesfixtures/lottie/hourglass.jsonasset · 16,430 bytesfixtures/lottie/insta_camera.jsonasset · 62,910 bytesfixtures/lottie/isometric.jsonasset · 9,570 bytesfixtures/lottie/kote.jsonasset · 58,750 bytesfixtures/lottie/la_communaute.jsonasset · 70,666 bytesfixtures/lottie/like.jsonasset · 8,075 bytesfixtures/lottie/like_button.jsonasset · 151,438 bytesfixtures/lottie/loading_rectangle.jsonasset · 25,720 bytesfixtures/lottie/lolo.jsonasset · 51,880 bytesfixtures/lottie/lolo_walk.jsonasset · 36,136 bytesfixtures/lottie/loveface_emoji.jsonasset · 21,741 bytesfixtures/lottie/masking.jsonasset · 75,470 bytesfixtures/lottie/material_wave_loading.jsonasset · 5,945 bytesfixtures/lottie/merging_shapes.jsonasset · 11,161 bytesfixtures/lottie/message.jsonasset · 196,112 bytesfixtures/lottie/morphing_anim.jsonasset · 18,914 bytesfixtures/lottie/open_envelope.jsonasset · 30,737 bytesfixtures/lottie/personal_character.jsonasset · 78,363 bytesfixtures/lottie/polystar.jsonasset · 11,727 bytesfixtures/lottie/polystar_anim.jsonasset · 1,809 bytesfixtures/lottie/property_market.jsonasset · 33,069 bytesfixtures/lottie/radar.jsonasset · 29,997 bytesfixtures/lottie/ripple_loading_animation.jsonasset · 9,021 bytesfixtures/lottie/rufo.jsonasset · 84,478 bytesfixtures/lottie/sad_emoji.jsonasset · 11,038 bytesfixtures/lottie/sample.jsonasset · 28,006 bytesfixtures/lottie/seawalk.jsonasset · 533,511 bytesfixtures/lottie/skullboy.jsonasset · 194,834 bytesfixtures/lottie/snail.jsonasset · 37,999 bytesfixtures/lottie/starburst.jsonasset · 1,268,260 bytesfixtures/lottie/starstrips.jsonasset · 27,785 bytesfixtures/lottie/starts_transparent.jsonasset · 180,890 bytesfixtures/lottie/stroke_dash.jsonasset · 18,083 bytesfixtures/lottie/swinging.jsonasset · 133,210 bytesfixtures/lottie/text.jsonasset · 10,204 bytesfixtures/lottie/text2.jsonasset · 86,628 bytesfixtures/lottie/text_anim.jsonasset · 244,526 bytesfixtures/lottie/threads.jsonasset · 15,398 bytesfixtures/lottie/train.jsonasset · 244,297 bytesfixtures/lottie/uk_flag.jsonasset · 729,061 bytesfixtures/lottie/voice_recognition.jsonasset · 179,393 bytesfixtures/lottie/walker.jsonasset · 29,641 bytesfixtures/lottie/water_filling.jsonasset · 23,002 bytesfixtures/lottie/waves.jsonasset · 7,756 bytesfixtures/lottie/woman.jsonasset · 93,494 bytesfixtures/lottie/yarn_loading.jsonasset · 18,562 bytesfixtures/markers_example.jsonasset · 312,349 bytesfixtures/markers_example.lottieasset · 52,478 bytesfixtures/multi.lottieasset · 1,368,027 bytesfixtures/multi_themes.lottieasset · 2,904 bytesfixtures/profiler.jsruns · 4,143 bytesfixtures/sm.lottieasset · 11,478 bytesfixtures/sm/all-inputs.jsonasset · 1,682 bytesfixtures/sm/click-machine.jsonasset · 423 bytesfixtures/sm/cursor-machine.jsonasset · 406 bytesfixtures/sm/hold-machine.jsonasset · 755 bytesfixtures/sm/hover.lottieasset · 3,304 bytesfixtures/sm/open-url-machine.jsonasset · 2,484 bytesfixtures/sm/scroll-machine.jsonasset · 410 bytesfixtures/sm/smiley_slider.lottieasset · 7,707 bytesfixtures/sm/star-rating.lottieasset · 2,519 bytesfixtures/sm/theme-machine.jsonasset · 1,624 bytesfixtures/sm/toggle.lottieasset · 3,262 bytesfixtures/test.jsonasset · 12,679 bytesfixtures/test.lottieasset · 1,446 bytesfixtures/text.jsonasset · 510 bytesfixtures/toggle.lottieasset · 3,492 bytesfixtures/walker.jsonasset · 29,641 bytesfixtures/waves.jsonasset · 7,756 bytesfixtures/woman.jsonasset · 93,494 bytesguidelines/README.mddoc · 2,215 bytesguidelines/command.mddoc · 17,586 bytesguidelines/install.shruns · 3,868 bytesindex.htmlasset · 12,820 byteslefthook.ymlasset · 412 bytespackage.jsonruns · 2,469 bytespackages/react/CHANGELOG.mddoc · 24,246 bytespackages/react/README.mddoc · 11,735 bytespackages/react/package.jsonruns · 2,474 bytespackages/react/setup-file.tsruns · 309 bytespackages/react/src/base-dotlottie-react.tsxruns · 9,053 bytespackages/react/src/dotlottie-worker.tsxruns · 701 bytespackages/react/src/dotlottie.tsxruns · 624 bytespackages/react/src/index.tsruns · 416 bytespackages/react/src/webgl/index.tsxruns · 995 bytespackages/react/src/webgpu/index.tsxruns · 1,066 bytespackages/react/tests/__snapshots__/dotlottie-react.spec.tsx.snapasset · 456 bytespackages/react/tests/dotlottie-react.spec.tsxruns · 31,500 bytespackages/react/tsconfig.build.jsonasset · 458 bytespackages/react/tsconfig.jsonasset · 259 bytespackages/react/tsdown.config.tsruns · 1,188 bytespackages/react/vitest.config.tsruns · 719 bytespackages/solid/CHANGELOG.mddoc · 14,585 bytespackages/solid/README.mddoc · 11,452 bytespackages/solid/package.jsonruns · 1,466 bytespackages/solid/src/dotlottie.tsxruns · 1,206 bytespackages/solid/src/index.tsruns · 111 bytespackages/solid/src/use-dotlottie.tsxruns · 8,883 bytespackages/solid/tsconfig.build.jsonasset · 219 bytespackages/solid/tsconfig.jsonasset · 226 bytespackages/solid/tsdown.config.tsruns · 318 bytespackages/svelte/.eslintignoreasset · 160 bytespackages/svelte/.gitignoreasset · 138 bytespackages/svelte/.prettierrcasset · 205 bytespackages/svelte/CHANGELOG.mddoc · 17,037 bytespackages/svelte/README.mddoc · 10,958 bytespackages/svelte/package.jsonruns · 2,533 bytespackages/svelte/setup-file.tsruns · 267 bytespackages/svelte/src/app.d.tsruns · 281 bytespackages/svelte/src/app.htmlasset · 320 bytespackages/svelte/src/lib/Dotlottie.svelteasset · 7,082 bytespackages/svelte/src/lib/index.tsruns · 255 bytespackages/svelte/src/routes/+page.svelteasset · 3,731 bytespackages/svelte/static/favicon.pngasset · 1,570 bytespackages/svelte/svelte.config.jsruns · 690 bytespackages/svelte/tests/__snapshots__/dotlottie-svelte.spec.ts.snapasset · 216 bytespackages/svelte/tests/dotlottie-svelte.spec.tsruns · 20,358 bytespackages/svelte/tsconfig.jsonasset · 353 bytespackages/svelte/vite.config.tsruns · 224 bytespackages/svelte/vitest.config.tsruns · 837 bytespackages/vue/CHANGELOG.mddoc · 18,295 bytespackages/vue/README.mddoc · 9,328 bytespackages/vue/package.jsonruns · 1,479 bytespackages/vue/src/dotlottie.tsruns · 9,693 bytespackages/vue/src/index.tsruns · 29 bytespackages/vue/tsconfig.build.jsonasset · 482 bytespackages/vue/tsconfig.jsonasset · 221 bytespackages/vue/tsdown.config.tsruns · 224 bytespackages/wc/CHANGELOG.mddoc · 19,769 bytespackages/wc/README.mddoc · 8,335 bytespackages/wc/__tests__/dotlottie-wc.spec.tsruns · 21,326 bytespackages/wc/__tests__/exports.spec.tsruns · 691 bytespackages/wc/example.htmlasset · 858 bytespackages/wc/package.jsonruns · 1,738 bytespackages/wc/src/base-dotlottie-wc.tsruns · 8,710 bytespackages/wc/src/dotlottie-wc.tsruns · 569 bytespackages/wc/src/dotlottie-worker-wc.tsruns · 730 bytespackages/wc/src/index.tsruns · 217 bytespackages/wc/src/set-wasm-url.tsruns · 192 bytespackages/wc/tsconfig.build.jsonasset · 473 bytespackages/wc/tsconfig.jsonasset · 277 bytespackages/wc/tsdown.config.tsruns · 1,400 bytespackages/wc/vitest.config.tsruns · 578 bytespackages/web/.eslintignoreasset · 40 bytespackages/web/BUILD_SYSTEM.mddoc · 2,284 bytespackages/web/CHANGELOG.mddoc · 35,109 bytespackages/web/Makefileruns · 7,148 bytespackages/web/README.mddoc · 7,215 bytespackages/web/index.htmlasset · 15,475 bytespackages/web/jsr.jsonasset · 94 bytespackages/web/package.jsonruns · 3,012 bytespackages/web/rolldown-plugins/plugin-inline-worker.tsruns · 3,503 bytespackages/web/scripts/verify-dist.mjsruns · 2,195 bytespackages/web/src/animation-frame-manager.tsruns · 1,602 bytespackages/web/src/constants.tsruns · 604 bytespackages/web/src/core/dotlottie-player.d.tsruns · 22,918 bytespackages/web/src/core/dotlottie-player.jsruns · 53,667 bytespackages/web/src/core/dotlottie-player.wasmasset · 1,226,030 bytespackages/web/src/core/dotlottie-player.wasm.d.tsruns · 12,855 bytespackages/web/src/core/index.tsruns · 117 bytespackages/web/src/dotlottie.tsruns · 80,841 bytespackages/web/src/event-manager.tsruns · 6,198 bytespackages/web/src/index.tsruns · 118 bytespackages/web/src/offscreen-observer.tsruns · 1,684 bytespackages/web/src/resize-observer.tsruns · 2,123 bytespackages/web/src/types.tsruns · 20,327 bytespackages/web/src/utils.tsruns · 7,152 bytespackages/web/src/wasm-loader.tsruns · 3,742 bytespackages/web/src/webgl/dotlottie-player.d.tsruns · 27,757 bytespackages/web/src/webgl/dotlottie-player.jsruns · 69,964 bytespackages/web/src/webgl/dotlottie-player.wasmasset · 1,362,381 bytespackages/web/src/webgl/dotlottie-player.wasm.d.tsruns · 17,865 bytespackages/web/src/webgl/dotlottie-webgl.tsruns · 3,571 bytespackages/web/src/webgl/index.tsruns · 175 bytespackages/web/src/webgpu/dotlottie-player.d.tsruns · 27,148 bytespackages/web/src/webgpu/dotlottie-player.jsruns · 91,035 bytespackages/web/src/webgpu/dotlottie-player.wasmasset · 1,407,647 bytespackages/web/src/webgpu/dotlottie-player.wasm.d.tsruns · 17,229 bytespackages/web/src/webgpu/dotlottie-webgpu.tsruns · 5,812 bytespackages/web/src/webgpu/index.tsruns · 178 bytespackages/web/src/worker/dotlottie.tsruns · 56,767 bytespackages/web/src/worker/dotlottie.worker.tsruns · 36,790 bytespackages/web/src/worker/index.tsruns · 29 bytespackages/web/src/worker/types.tsruns · 11,187 bytespackages/web/src/worker/worker-manager.tsruns · 3,052 bytespackages/web/tests/__snapshots__/frame-buffer-0.txtdoc · 36,205 bytespackages/web/tests/__snapshots__/frame-buffer-1.txtdoc · 36,221 bytespackages/web/tests/__snapshots__/frame-buffer-10.txtdoc · 36,196 bytespackages/web/tests/__snapshots__/frame-buffer-11.txtdoc · 36,230 bytespackages/web/tests/__snapshots__/frame-buffer-12.txtdoc · 36,267 bytespackages/web/tests/__snapshots__/frame-buffer-13.txtdoc · 36,267 bytespackages/web/tests/__snapshots__/frame-buffer-14.txtdoc · 36,233 bytespackages/web/tests/__snapshots__/frame-buffer-15.txtdoc · 36,222 bytespackages/web/tests/__snapshots__/frame-buffer-16.txtdoc · 36,240 bytespackages/web/tests/__snapshots__/frame-buffer-17.txtdoc · 36,285 bytespackages/web/tests/__snapshots__/frame-buffer-18.txtdoc · 36,276 bytespackages/web/tests/__snapshots__/frame-buffer-19.txtdoc · 36,282 bytespackages/web/tests/__snapshots__/frame-buffer-2.txtdoc · 36,203 bytespackages/web/tests/__snapshots__/frame-buffer-20.txtdoc · 36,245 bytespackages/web/tests/__snapshots__/frame-buffer-21.txtdoc · 36,221 bytespackages/web/tests/__snapshots__/frame-buffer-22.txtdoc · 36,222 bytespackages/web/tests/__snapshots__/frame-buffer-23.txtdoc · 36,202 bytespackages/web/tests/__snapshots__/frame-buffer-24.txtdoc · 36,230 bytespackages/web/tests/__snapshots__/frame-buffer-25.txtdoc · 36,226 bytespackages/web/tests/__snapshots__/frame-buffer-26.txtdoc · 36,221 bytespackages/web/tests/__snapshots__/frame-buffer-27.txtdoc · 36,254 bytespackages/web/tests/__snapshots__/frame-buffer-28.txtdoc · 36,263 bytespackages/web/tests/__snapshots__/frame-buffer-29.txtdoc · 36,273 bytespackages/web/tests/__snapshots__/frame-buffer-3.txtdoc · 36,239 bytespackages/web/tests/__snapshots__/frame-buffer-30.txtdoc · 36,276 bytespackages/web/tests/__snapshots__/frame-buffer-31.txtdoc · 36,275 bytespackages/web/tests/__snapshots__/frame-buffer-32.txtdoc · 36,265 bytespackages/web/tests/__snapshots__/frame-buffer-33.txtdoc · 36,231 bytespackages/web/tests/__snapshots__/frame-buffer-34.txtdoc · 36,205 bytespackages/web/tests/__snapshots__/frame-buffer-35.txtdoc · 36,191 bytespackages/web/tests/__snapshots__/frame-buffer-36.txtdoc · 36,192 bytespackages/web/tests/__snapshots__/frame-buffer-37.txtdoc · 36,192 bytespackages/web/tests/__snapshots__/frame-buffer-38.txtdoc · 36,195 bytespackages/web/tests/__snapshots__/frame-buffer-39.txtdoc · 36,193 bytespackages/web/tests/__snapshots__/frame-buffer-4.txtdoc · 36,300 bytespackages/web/tests/__snapshots__/frame-buffer-40.txtdoc · 36,204 bytespackages/web/tests/__snapshots__/frame-buffer-41.txtdoc · 36,205 bytespackages/web/tests/__snapshots__/frame-buffer-5.txtdoc · 36,331 bytespackages/web/tests/__snapshots__/frame-buffer-6.txtdoc · 36,326 bytespackages/web/tests/__snapshots__/frame-buffer-7.txtdoc · 36,279 bytespackages/web/tests/__snapshots__/frame-buffer-8.txtdoc · 36,214 bytespackages/web/tests/__snapshots__/frame-buffer-9.txtdoc · 36,170 bytespackages/web/tests/dotlottie.node.test.tsruns · 3,641 bytespackages/web/tests/dotlottie.test.tsruns · 93,166 bytespackages/web/tests/event-manager.test.tsruns · 17,653 bytespackages/web/tests/plugin-inline-worker.node.test.tsruns · 2,868 bytespackages/web/tests/setup.tsruns · 129 bytespackages/web/tests/test-utils.tsruns · 758 bytespackages/web/tests/utils.test.tsruns · 16,124 bytespackages/web/tests/wasm-loader.test.tsruns · 13,454 bytespackages/web/tests/worker.test.tsruns · 9,808 bytespackages/web/tsconfig.build.jsonasset · 322 bytespackages/web/tsconfig.jsonasset · 231 bytespackages/web/tsdown.config.tsruns · 2,300 bytespackages/web/types.d.tsruns · 512 bytespackages/web/vitest.config.node.tsruns · 592 bytespackages/web/vitest.config.tsruns · 1,153 bytespnpm-lock.yamlasset · 508,043 bytespnpm-workspace.yamlasset · 57 bytesreferences/dynamic-slots.mddoc · 6,063 bytesscripts/dev-release-report.mjsruns · 4,896 bytesscripts/remove-dev.mjsruns · 580 bytestsconfig.build.jsonasset · 684 bytestsconfig.dev.jsonasset · 628 bytestsconfig.jsonasset · 39 bytesturbo.jsonasset · 717 bytesvitest.config.tsruns · 597 bytes
Read excerpt
# dotLottie Implementation Guidelines
You are an expert at implementing Lottie animations using dotLottie runtimes. Follow these guidelines when working with dotLottie in web projects.
## Package Selection
### Use `@lottiefiles/dotlottie-web` when:
* You need direct canvas control
* Building framework-agnostic code
* Maximum performance is critical
* You want the smallest bundle
### Use `@lottiefiles/dotlottie-react` when: