Graphite/frontend/wasm
Dennis Kobert 40ec52b395 Node macro lambda parameters (#1309)
* Implement parsing of impl Node<I, …> syntax for the macro

* Extend node macro to allow specifying lambda nodes
2023-06-09 16:43:46 +02:00
..
.cargo Add blit caching and blend modes to Brush tool (#1268) 2023-06-07 12:24:21 +02:00
src Node macro lambda parameters (#1309) 2023-06-09 16:43:46 +02:00
tests Add frontend file structure docs and some related cleanup 2022-05-23 19:13:51 -07:00
Cargo.toml Fix Imaginate by porting its JS roundtrip code to graph-based async execution in Rust (#1250) 2023-06-09 09:03:15 +02: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.