Graphite/frontend/wasm
zhiyuan 9530e55ace
Split widget callbacks into update and commit so only the latter adds a history state (#1584)
* feat: split commit and update layout

* feat: add on_commit callback

* Code review

* fix: refactor

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-02-05 01:32:15 -08:00
..
.cargo Add blit caching and blend modes to Brush tool (#1268) 2023-06-07 12:24:21 +02:00
src Split widget callbacks into update and commit so only the latter adds a history state (#1584) 2024-02-05 01:32:15 -08:00
tests Add frontend file structure docs and some related cleanup 2022-05-23 19:13:51 -07:00
Cargo.toml Remove the whole document-legacy crate (#1524) 2023-12-20 05:45:54 -08:00
README.md Add frontend file structure docs and some related cleanup 2022-05-23 19:13:51 -07:00

Overview of /frontend/wasm/

WASM wrapper API: src/editor_api.rs

Provides bindings for JS to call functions defined in this file, and for FrontendMessages to be sent from Rust back to JS in the form of a callback to the subscription router. This WASM wrapper crate, since it's written in Rust, is able to call into the Editor crate's codebase and send FrontendMessages back to JS.

WASM wrapper helper code: src/helpers.rs

Assorted function and struct definitions used in the WASM wrapper.

WASM wrapper initialization: src/lib.rs

Entry point for the Rust entire codebase in the WASM environment. Initializes the WASM module and persistent storage for editor and WASM wrapper instances.

WASM wrapper tests: tests/

We currently have no WASM wrapper tests, but this is where they would go.