#rendering-engine #terminal #web-gpu #multi-platform #rio #cross-platform

sugarloaf

Sugarloaf is Rio rendering engine, designed to be multiplatform. It is based on WebGPU, Rust library for Desktops and WebAssembly for Web (JavaScript). This project is created and maintained for Rio terminal purposes but feel free to use it.

47 releases

0.2.2 Nov 23, 2024
0.1.17 Oct 6, 2024
0.1.3 Jul 27, 2024
0.0.36 Mar 14, 2024
0.0.12 Jul 21, 2023

#9 in Rendering engine

Download history 268/week @ 2024-08-13 308/week @ 2024-08-20 226/week @ 2024-08-27 398/week @ 2024-09-03 145/week @ 2024-09-10 339/week @ 2024-09-17 257/week @ 2024-09-24 287/week @ 2024-10-01 57/week @ 2024-10-08 22/week @ 2024-10-15 15/week @ 2024-10-22 12/week @ 2024-10-29 19/week @ 2024-11-05 305/week @ 2024-11-12 352/week @ 2024-11-19 170/week @ 2024-11-26

850 downloads per month
Used in 3 crates (2 directly)

MIT license

4.5MB
38K SLoC

Sugarloaf

Sugarloaf is Rio rendering engine, designed to be multiplatform. It is based on WebGPU, Rust library for Desktops and WebAssembly for Web (JavaScript). This project is created and maintained for Rio terminal purposes but feel free to use it.

cargo run --example text

WASM Tests

Setup

Install wasm-bindgen-cli globally: cargo install wasm-bindgen-cli. wasm-bindgen-cli provides a test runner harness.

Running Tests

Run (in the root sugarloaf directory):

CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_RUNNER=wasm-bindgen-test-runner cargo test --target wasm32-unknown-unknown -p sugarloaf --tests

Flag explanation:

  • CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_RUNNER=wasm-bindgen-test-runner: Tells Cargo to use the test harness provided by wasm-bindgen-cli.
  • -p sugarloaf: Only run tests in the sugarloaf directory.
  • --tests: Only run tests; do not build examples. Many (possibly all) of the examples in sugarloaf/examples currently do not compile to WASM because they use networking.

Dependencies

~43–77MB
~1.5M SLoC