penpot/render-wasm
Elena Torró de8e27feb8
Merge pull request #6242 from penpot/ladybenko-10666-builtin-fonts
🎉 Load built-in font and its variants (wasm)
2025-04-11 08:48:31 +02:00
..
docs Serialization of grid layout data (#6148) 2025-03-26 12:10:31 +01:00
src Merge pull request #6242 from penpot/ladybenko-10666-builtin-fonts 2025-04-11 08:48:31 +02:00
.gitignore Rename to render-wasm and make it load using dynamic import 2024-10-23 17:18:04 +02:00
_build_env 🔧 Update test script to use the right architecture 2025-04-10 12:50:22 +02:00
build 🐛 Fix problem with build script wasm (#5739) 2025-01-31 13:14:38 +01:00
Cargo.lock 🎉 Tile rendering system 2025-03-20 11:14:14 +01:00
Cargo.toml 🎉 Add performance measuring functions (#6229) 2025-04-10 11:33:22 +02:00
lint 🔧 Upgrade rust to v1.85 2025-03-10 13:33:12 +01:00
README.md 📚 Add README to rust project 2024-12-11 12:49:09 +01:00
test 🔧 Return the test output 2025-04-10 14:10:05 +02:00
watch 🐛 Fix problem with build script wasm (#5739) 2025-01-31 13:14:38 +01:00
watch_test Add support for WASM transforms 2025-02-11 12:36:44 +01:00

render-wasm

Canvas-based WebAssembly render engine for Penpot.

This is a Rust crate that targets Emscripten (wasm32-unknown-emscripten). Underneath, it uses Skia via custom binaries of the rust-skia crate.

How to build

With the Penpot Development Environment running, create a new tab in the tmux.

cd penpot/render-wasm
./build

The build script will compile the project and copy the .js and .wasm files to their correct location within the frontend app.

Edit your local frontend/resources/public/js/config.js to add the following flags:

  • enable-feature-render-wasm to enable this render engine.
  • enable-render-wasm-dpr (optional), to enable using the device pixel ratio.

Docs