Source: https://seerepo.com/r/ruffle-rs/ruffle/built
Markdown source: https://seerepo.com/r/ruffle-rs/ruffle/built.md
Description: ruffle is a Rust repo built with egui and Tokio. It makes its content with image, quick-xml, png, ttf-parser, csv, and 4 more.

# What is ruffle built with?

ruffle is a Rust repo built with egui and Tokio. It makes its content with image, quick-xml, png, ttf-parser, csv, and 4 more, is tested with libfuzzer-sys, jsdom, Chai, and WebdriverIO, deploys with tracing, log, tracing-subscriber, tracing-tracy, tracing-wasm, and 3 more, and uses lru. It has 276,509 written lines, with 246 test files.

Read on November 6, 2026, at commit f24403b.

Repository: https://github.com/ruffle-rs/ruffle

## Frontend (/)

### Styles

- **fontdb**: 4 files
- **fontconfig**: 1 file

### Interface

- **wgpu**: 39 files
- **winit**: 16 files
- **rfd**: 6 files
- **egui_extras**: 5 files
- **[indicatif](https://seerepo.com/uses/indicatif)**: 3 files
- **lyon_geom**: 1 file

## Backend (/)

### Data

- **[lru](https://seerepo.com/uses/lru)**: 1 file

## Support (/)

### The base

- **egui**: 32 files
- **[Tokio](https://seerepo.com/uses/tokio)**: 16 files

### Content

- **[image](https://seerepo.com/uses/image)**: 8 files
- **[quick-xml](https://seerepo.com/uses/quick-xml)**: 5 files
- **[png](https://seerepo.com/uses/png)**: 4 files
- **ttf-parser**: 4 files
- **[csv](https://seerepo.com/uses/csv)**: 3 files
- **symphonia**: 3 files
- **[zip](https://seerepo.com/uses/zip)**: 3 files
- **gif**: 2 files
- **jpeg-decoder**: 2 files

### Testing

- **libfuzzer-sys**

### Deploy

- **[tracing](https://seerepo.com/uses/tracing)**: 113 files
- **[log](https://seerepo.com/uses/log)**: 7 files
- **[tracing-subscriber](https://seerepo.com/uses/tracing-subscriber)**: 4 files
- **tracing-tracy**: 3 files
- **tracing-wasm**: 2 files
- **tracy-client**: 2 files
- **[tracing-appender](https://seerepo.com/uses/tracing-appender)**: 1 file

### Tools

- **profiling**
- **clap**: 17 files
- **num-derive**: 5 files
- **clap_complete**: 2 files
- **proc-macro2**: 2 files
- **quote**: 2 files
- **pest**: 1 file
- **pest_derive**: 1 file
- **syn**: 1 file

### Other

- **url**: 47 files
- **thiserror**: 29 files
- **bitflags**: 27 files
- **fnv**: 25 files
- **bytemuck**: 19 files
- **unic-langid**: 19 files
- **num-traits**: 17 files
- **anyhow**: 13 files
- **indexmap**: 11 files
- **toml_edit**: 11 files
- **chrono**: 10 files
- **enum-map**: 9 files
- **futures**: 9 files
- **slotmap**: 9 files
- **flate2**: 8 files
- **serde**: 8 files
- **smallvec**: 8 files
- **either**: 7 files
- **encoding_rs**: 7 files
- **async-channel**: 6 files
- **enumset**: 6 files
- **walkdir**: 6 files
- **byteorder**: 5 files
- **web-time**: 5 files
- **lzma-rs**: 4 files
- **serde_json**: 4 files
- **tempfile**: 4 files
- **wasm-bindgen**: 4 files
- **web-sys**: 4 files
- **webbrowser**: 4 files
- **hashbrown**: 3 files
- **js-sys**: 3 files
- **rayon**: 3 files
- **reqwest**: 3 files
- **ashpd**: 2 files
- **cpal**: 2 files
- **gilrs**: 2 files
- **libloading**: 2 files
- **memmap2**: 2 files
- **rand**: 2 files
- **scopeguard**: 2 files
- **sha2**: 2 files
- **urlencoding**: 2 files
- **async-io**: 1 file
- **async-task**: 1 file
- **bzip2**: 1 file
- **chardetng**: 1 file
- **convert_case**: 1 file
- **crossbeam-channel**: 1 file
- **dasp**: 1 file
- **dirs**: 1 file
- **futures-lite**: 1 file
- **guillotiere**: 1 file
- **hex**: 1 file
- **itertools**: 1 file
- **num-bigint**: 1 file
- **os_info**: 1 file
- **path-slash**: 1 file
- **percent-encoding**: 1 file
- **realfft**: 1 file
- **regex**: 1 file
- **sys-locale**: 1 file
- **unicode-bidi**: 1 file
- **unicode-segmentation**: 1 file
- **wasm-bindgen-futures**: 1 file
- **windows-sys**: 1 file

## Frontend (web)

### Interface

- **rfd**: 1 file

## Support (web)

### Content

- **ttf-parser**: 1 file
- **[zip](https://seerepo.com/uses/zip)**: 1 file

### Deploy

- **[tracing](https://seerepo.com/uses/tracing)**: 8 files
- **[tracing-subscriber](https://seerepo.com/uses/tracing-subscriber)**: 4 files
- **tracing-wasm**: 4 files
- **tracing-log**: 1 file

### Other

- **getrandom**
- **wasm-bindgen**: 10 files
- **web-sys**: 8 files
- **js-sys**: 7 files
- **url**: 3 files
- **wasm-bindgen-futures**: 3 files
- **serde**: 2 files
- **async-channel**: 1 file
- **base64**: 1 file
- **chrono**: 1 file
- **console_error_panic_hook**: 1 file
- **futures**: 1 file
- **futures-util**: 1 file
- **gloo-net**: 1 file
- **indexmap**: 1 file
- **serde-wasm-bindgen**: 1 file
- **slotmap**: 1 file
- **thiserror**: 1 file
- **wasm-streams**: 1 file

## Support (web/packages/core)

### Testing

- **jsdom**: 1 file

### Other

- **@fluent/bundle**: 1 file
- **wasm-feature-detect**: 1 file

## Support (web/packages/extension)

### Tools

- **esbuild**: 1 file

### Other

- **json5**: 1 file
- **objc2**: 1 file

## Support (web/packages/selfhosted)

### Testing

- **Chai**: 57 files
- **WebdriverIO**: 2 files

### Tools

- **esbuild**: 1 file

### Other

- **@fluent/bundle**: 1 file
- **json5**: 1 file

## Other repos with a similar stack

- [openinterpreter/openinterpreter](https://seerepo.com/r/openinterpreter/openinterpreter/built): lru, Tokio, image, quick-xml, symphonia, zip, tracing, log, tracing-subscriber, tracing-appender · [Compare](https://seerepo.com/compare/openinterpreter/openinterpreter/vs/ruffle-rs/ruffle)
- [warpdotdev/warp](https://seerepo.com/r/warpdotdev/warp/built): Tokio, fontdb, wgpu, winit, image, csv, zip, tracing, log, tracing-subscriber · [Compare](https://seerepo.com/compare/ruffle-rs/ruffle/vs/warpdotdev/warp)
- [openobserve/openobserve](https://seerepo.com/r/openobserve/openobserve/built): lru, Tokio, image, csv, zip, tracing, log, tracing-subscriber, tracing-appender, tracing-log · [Compare](https://seerepo.com/compare/openobserve/openobserve/vs/ruffle-rs/ruffle)
- [openai/codex](https://seerepo.com/r/openai/codex/built): lru, Tokio, image, png, zip, tracing, log, tracing-subscriber, tracing-appender · [Compare](https://seerepo.com/compare/openai/codex/vs/ruffle-rs/ruffle)
- [zed-industries/zed](https://seerepo.com/r/zed-industries/zed/built): lru, Tokio, wgpu, image, quick-xml, ttf-parser, tracing, log, tracing-subscriber · [Compare](https://seerepo.com/compare/ruffle-rs/ruffle/vs/zed-industries/zed)
- [aaif-goose/goose](https://seerepo.com/r/aaif-goose/goose/built): lru, Tokio, indicatif, image, symphonia, zip, tracing, tracing-subscriber, tracing-appender · [Compare](https://seerepo.com/compare/aaif-goose/goose/vs/ruffle-rs/ruffle)

## Frequently asked questions

### What language is ruffle written in?

ruffle is written in Rust, with 276,509 written lines.

### What framework does ruffle use?

ruffle is built with egui and Tokio.

### What services does ruffle use?

ruffle uses lru.

### Does ruffle have tests?

Yes. ruffle has 246 test files and is tested with libfuzzer-sys, jsdom, Chai, and WebdriverIO.

### Which repos have a stack like ruffle's?

The ones that share most of its stack: openinterpreter/openinterpreter, warpdotdev/warp, and openobserve/openobserve.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
