Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: updated readme #105

Merged
merged 1 commit into from
Mar 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 43 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# dotLottie Rust

![CI](https://github.com/LottieFiles/dotlottie-rs/workflows/release/badge.svg)
![CI](https://img.shields.io/github/v/release/LottieFiles/dotlottie-rs)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice!!

![GitHub contributors](https://img.shields.io/github/contributors/LottieFiles/dotlottie-rs)
![GitHub](https://img.shields.io/github/license/LottieFiles/dotlottie-rs)

Expand All @@ -12,21 +12,54 @@

This is the Rust implementation of the dotLottie player and its related tools. It utilizes uniffi-rs to generate FFI bindings for Kotlin, Swift, and WebAssembly (WASM). these bindings are then used in the native dotLottie players for [Android](https://github.com/LottieFiles/dotlottie-android), [iOS](https://github.com/LottieFiles/dotlottie-ios), and [Web](https://github.com/LottieFiles/dotlottie-web) bringing consistency of playback and dotLottie features across all platforms.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we include:

  • The problem dotlottie-rs solves (fragmentation and rendering inconsistency issues)
  • The features it supports

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added @theashraf please review


![Alt text](assets/design.png)
```mermaid
flowchart TD
A[dotLottie-web] --> WASM+Bindings[WASM Bindings]
B[dotLottie-ios] --> swift+Bindings[Swift Bindings]
C[dotLottie-android] --> kotlin+Bindings[Kotlin Bindings]

WASM+Bindings --> dotLottie-ffi[dotLottie-ffi \n 'uniffi bindings']
swift+Bindings --> dotLottie-ffi[dotLottie-ffi \n 'uniffi bindings']
kotlin+Bindings --> dotLottie-ffi[dotLottie-ffi \n 'uniffi bindings']

dotLottie-ffi --> dotlottiers[dotLottie-rs \n 'Core player']

dotlottiers --> Thorvg[Thorvg \n 'Lottie renderer']
dotlottiers --> dotlotttie-fms[dotLottie-fms \n'File manager']
```

## What is dotLottie?

dotLottie is an open-source file format that aggregates one or more Lottie files and their associated resources into a single file. They are ZIP archives compressed with the Deflate compression method and carry the file extension of ".lottie".

[Learn more about dotLottie](https://dotlottie.io/).

## Contents
## Features

dotLottie-rs builds on the Lottie format, adding powerful quality of life improvements and new features:

- Theming support
- Multi-animation support
- Built-in interactivity powered by state machines (in development)
- Reduced animation file sizes
- Feature parity across platforms
- Guarenteed visual consistancy across platforms (Thanks to the Thorvg renderer)

## Available Players

- [crates](#crates)
dotLottie-rs serves as a core player from which our framework players use:

- [dotlottie-web] (https://github.com/LottieFiles/dotlottie-web)
- [dotlottie-android] (https://github.com/LottieFiles/dotlottie-android)
- [dotlottie-ios] (https://github.com/LottieFiles/dotlottie-ios)

## Repository contents

- [Crates](#Crates)
- [Development](#development)
- [License](#license)

## crates
## Crates

- [dotlottie-rs](./dotlottie-rs): The core library for dotLottie native players
- [dotlottie-fms](./dotlottie-fms): The dotLottie file management system library
Expand Down Expand Up @@ -90,6 +123,11 @@ The release PR should be checked for correctness and then merged. Once that is d
Github Actions workflow will be started automatically to do the work of actually creating the new
release and building & uploading the related release artifacts.

### Relevant Tools

- [For your dotLottie creation and modification needs](https://github.com/dotlottie/dotlottie-js)
- [Tools for parsing Lottie animations](https://github.com/LottieFiles/relottie)

### License

[MIT](LICENSE) © [LottieFiles](https://www.lottiefiles.com)
Binary file removed assets/design.png
Binary file not shown.
Loading