Draft:ThorVG
{{AFC submission|d|v|u=Dadadoo88|ns=118|decliner=GoldRomean|declinets=20250511221748|reason2=nn|ts=20250422171104}}
{{AFC submission|d|v|u=Dadadoo88|ns=118|decliner=BuySomeApples|declinets=20250420103942|reason2=nn|small=yes|ts=20250420101324}}
{{AFC submission|d|corp|u=Dadadoo88|ns=118|decliner=Sophisticatedevening|declinets=20250419175801|reason2=adv|small=yes|ts=20250419161437}}
{{AFC comment|1=No significant coverage in reliable sources. GoldRomean (talk) 22:17, 11 May 2025 (UTC)}}
----
{{Short description|thorvg project introduction & history}}
{{Draft topics|internet-culture|software|technology}}
{{AfC topic|stem}}
{{Infobox software
| title = ThorVG
| logo = Thorvg-logo.svg
| caption = ThorVG
| other_names = Thor Vector Graphics
| developer = Team ThorVG
| released = {{Start date|2021|05|01|df=yes}}
| latest release version = 0.15
| latest release date = {{Start date|2024|06|27|df=yes}}
| latest preview version = {{Start date|2025|04|11|df=yes}}
| repo = github.com/thorvg/thorvg
| programming language = C++
| operating system = cross platform
| size = 150kb (minimum size)
| genre = Graphics library
| license = MIT
| website = www.thorvg.org
}}
Thor Vector Graphics (commonly abbreviated as ThorVG) is an open-source library designed to render vector-based motion graphics and animation, such as those based on SVG and Lottie (file format). It is developed with cross-platform compatibility and portability (computer science) in mind, enabling its use across a wide range of computing platforms and software applications.{{Cite web |title=About |url=https://www.thorvg.org/about |access-date=2025-04-22 |website=ThorVG |language=en}}{{Cite news |last=Kevin |first=Arinze |title=Unlocking the Power of ThorVG: A Guide to Lightweight 2D Vector Graphics |url=https://arinzekevin.hashnode.dev/unlocking-the-power-of-thorvg-a-guide-to-lightweight-2d-vector-graphics |archive-url=https://web.archive.org/web/20241203190916/https://arinzekevin.hashnode.dev/unlocking-the-power-of-thorvg-a-guide-to-lightweight-2d-vector-graphics |archive-date=2024-12-03 |access-date=2025-04-22 |work=Arinze Kevin's blog |language=en |url-status=live }}{{Cite web |title=Introducing ThorVG: A Powerful Graphics Library for Lottie Animation |url=https://lottiefiles.com/blog/working-with-lottie-animations/introducing-thorvg-powerful-graphic-library-for-lottie-animations |access-date=2025-04-22 |website=LottieFiles |language=en}}
ThorVG supports graphic output on web platforms through WebAssembly technology,{{Cite AV media |url=https://www.youtube.com/watch?v=90BICFDV4yY |title=그래픽 엔진 포팅 사례로 배우는 웹어셈블리 웹 컴포넌트 개발부터 디버깅, 최적화까지│인프콘2024 |date=2024-10-07 |last=인프런 inflearn |access-date=2025-04-22 |via=YouTube}} and provides hardware acceleration not only via the CPU but also through various graphics backends such as OpenGL, WebGL, and WebGPU.
Features
- Scene Graph and Path Rendering: ThorVG supports two main rendering modes. The scene graph mode allows users to create and manipulate a hierarchical structure of drawable objects, while the path-based interface enables direct drawing of vector shapes and paths.
- Transformations: The engine supports affine transformation such as translation, scaling, and rotation for graphical objects.
- Color Gradients: Linear and radial gradients are supported for more expressive visual design.
- Anti-Aliasing: Smoothing techniques are included to reduce visual artifacts in rendered output.
- Multi-threaded and Asynchronous Rendering: Rendering tasks can be scheduled across multiple threads, enhancing performance on multicore systems.
Lottie Animation Support
ThorVG includes functionality to render Lottie (file format) animations, a JSON-based animation format exported from Adobe After Effects via the Bodymovin plugin. This allows developers to incorporate complex, lightweight vector animations in user interfaces, particularly in embedded devices where efficiency is crucialA curated list of awesome things related to Lottie: https://lottie.github.io/implementations/. The Canva development team shared test results showing that, after replacing Samsung's rlottie engine with ThorVG in the existing Canva iOS app, Lottie animation performance improved by approximately 80%.{{Cite web |title=Canva Enhances iOS Lottie Rendering: 80% Faster and 70% More Efficient with ThorVG |url=https://lottiefiles.com/blog/working-with-lottie-animations/canva-enhances-ios-rendering-faster-and-efficient-with-thorvg |access-date=2025-04-20 |website=LottieFiles |language=en}}
Supported Systems
- Linux
- MacOS
- Microsoft Windows
- Tizen
- IOS
- Android (operating system)
- Web platform{{Cite web |date=2025-04-11 |title=@thorvg/lottie-player |url=https://www.npmjs.com/package/@thorvg/lottie-player |access-date=2025-04-19 |website=npm |language=en}}
- Godot (game engine)
- FreeRTOS
- NuttX
- [https://www.espressif.com/ Expressif]{{Cite web |title=espressif/thorvg • v0.13.8 • ESP Component Registry |url=https://components.espressif.com/components/espressif/thorvg/versions/0.13.8?language=en |access-date=2025-04-19 |website=components.espressif.com |language=en}}
- [https://iot.mi.com/vela?language=en Xiaomi Vela]
ThorVG application softwares
- [https://store.steampowered.com/app/1673090/Vagabond/ Vagabond]{{Cite web |last=pvigier |date=2023-01-16 |title=Coat of Arms Generator for my game Vagabond |url=http://www.reddit.com/r/proceduralgeneration/comments/10dl194/coat_of_arms_generator_for_my_game_vagabond/ |access-date=2023-12-08}}
- [https://www.canva.com/download/ios/ Canva iOS]
- [https://www.godsvg.com/ GodSVG]
- [https://www.flux.audio/ Flux]{{Cite web |title=Syrah - Credits |url=https://doc.flux.audio/syrah/Credits.html |access-date=2024-07-01}}
- [https://paragraphic.design/ Paragraphic]{{Cite web |date=2025-03-06 |title=Version 1.0.2 released – Paragraphic |url=https://paragraphic.design/blog/version-1-0-2-released/ |access-date=2025-03-31 |language=en-US}}
History
- 2020 – Hermet Park introduced the first version of ThorVG.{{cite web | url=https://ssdc2021.sdc-korea.com/sessionDetail?sessionNo=21 | title=삼성 소프트웨어 개발자 컨퍼런스 2021 }} The brand design, inspired by the name “Thor,” was intended to symbolize both the "power of thunder" and the "speed of lightning," representing the library’s high performance and lightweight efficiency.The symbolic meaning of ThorVG is described in its [https://github.com/thorvg/thorvg/blob/main/README.md official documentation].
- 2021 – ThorVG was integrated into the Tizen project under the name TizenVG.{{Cite web |title=Tizen 6.5 Public M1 {{!}} Tizen Docs |url=https://docs.tizen.org/platform/release-notes/tizen-6-5-m1/ |access-date=2025-04-22 |website=docs.tizen.org}} The Godot (game engine) also adopted ThorVG for vector rendering.{{Cite AV media |url=https://www.youtube.com/watch?v=ralzjUIy15U&t=630s |title=Looking at Godot 4.2.2 and 4.1.4 {{!}} Maintenance Release |date=2024-04-21 |last=Game World Engineer |access-date=2025-04-22 |via=YouTube}}
- 2022 – [https://projectitis.com/ Peter Vullings] contributed a new design for the official logo, replacing the previous one.{{Cite web |title=Feature/new logo by projectitis · Pull Request #1215 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/pull/1215 |access-date=2025-04-22 |website=GitHub |language=en}}
- 2023 – Support for the Lottie (file format) was introduced. The [https://lvgl.io/ LVGL] framework also integrated ThorVG into its ecosystem.{{Cite web |last=kisvegabor |date=2023-11-21 |title=v9 schedule, ESP32-S3-BOX-3, and a cool project |url=https://blog.lvgl.io/2023-11-21/monthly-newsletter |access-date=2025-04-22 |website=LVGL’s Blog |language=en}}
- 2024 – WebGPU backend support was added.[https://www.webgpuexperts.com/best-webgpu-updates-february-2024 "The Best of WebGPU of February 2024"] The [https://dotlottie.io/ dotLottie] project adopted ThorVG as its core rendering engine.[https://news.ycombinator.com/item?id=39930493 "DotLottie Player – A New Universal Lottie Player Built with Rust"]
Release information
- ThorVG v0.1: May 1, 2021{{Cite web |title=Release ThorVG v0.1.0 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/releases/tag/v0.1.0 |access-date=2023-12-08 |website=GitHub |language=en}}
- ThorVG v0.2: Jun 5, 2021{{Cite web |title=Release ThorVG v0.2.0 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/releases/tag/v0.2.0 |access-date=2023-12-08 |website=GitHub |language=en}}
- ThorVG v0.3: Jul 3, 2021{{Cite web |title=Release ThorVG v0.3.0 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/releases/tag/v0.3.0 |access-date=2023-12-08 |website=GitHub |language=en}}
- ThorVG v0.4: Aug 9, 2021{{Cite web |title=Release ThorVG v0.4.0 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/releases/tag/v0.4.0 |access-date=2023-12-08 |website=GitHub |language=en}}
- ThorVG v0.5: Sep 24, 2021{{Cite web |title=Release ThorVG v0.5.0 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/releases/tag/v0.5.0 |access-date=2023-12-08 |website=GitHub |language=en}}
- ThorVG v0.6: Nov 3, 2021{{Cite web |title=Release ThorVG v0.6.0 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/releases/tag/v0.6.0 |access-date=2023-12-08 |website=GitHub |language=en}}
- ThorVG v0.7: Dec 23, 2021{{Cite web |title=Release ThorVG v0.7.0 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/releases/tag/v0.7.0 |access-date=2023-12-08 |website=GitHub |language=en}}
- ThorVG v0.8: Mar 8, 2022{{Cite web |title=Release ThorVG v0.8.0 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/releases/tag/v0.8.0 |access-date=2023-12-08 |website=GitHub |language=en}}
- ThorVG v0.9: May 9, 2023{{Cite web |title=Release ThorVG v0.9.0 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/releases/tag/v0.9.0 |access-date=2023-12-08 |website=GitHub |language=en}}
- ThorVG v0.10: Jul 31, 2023{{Cite web |title=Release ThorVG v0.10.0 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/releases/tag/v0.10.0 |access-date=2023-12-08 |website=GitHub |language=en}}
- ThorVG v0.11: Sep 28, 2023{{Cite web |title=Release ThorVG v0.11.0 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/releases/tag/v0.11.0 |access-date=2023-12-08 |website=GitHub |language=en}}
- ThorVG v0.12: Jan 4, 2024{{Cite web |title=Release ThorVG v0.12.0 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/releases/tag/v0.12.0 |access-date=2023-04-09 |website=GitHub |language=en}}
- ThorVG v0.13: Apr 9, 2024{{Cite web |title=Release ThorVG 0.13.0 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/releases/tag/v0.13.0 |access-date=2024-04-09 |website=GitHub |language=en}}
- ThorVG v0.14: Jun 27, 2024{{Cite web |title=Release ThorVG v0.14.0 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/releases/tag/v0.14.0 |access-date=2024-06-28 |website=GitHub |language=en}}
- ThorVG v0.15: Oct 6, 2024{{Cite web |title=Release ThorVG 1.0.0-pre15 · thorvg/thorvg |url=https://github.com/thorvg/thorvg/releases/tag/v1.0-pre15 |access-date=2025-04-19 |website=GitHub |language=en}}
See also
References
External links
- {{Official website|https://www.thorvg.org/}}
- [https://www.youtube.com/watch?v=qhHMycRPQ9M&t=169s Universal Motion Graphics across All Platforms: Unleashing Creativity with ThorVG] (2025)