Graphite/frontend/wrapper
Keavon Chambers e59612c4ce
Port the color picker popover to a Rust-defined layout (#4102)
* Break out VisualColorPickersInput.svelte

* Break out ColorComparisonInput.svelte and ColorPresetsInput.svelte

* Add backend definitions and plumbing for the 4 new widgets

* Port the ColorPicker.svelte layout and business logic to Rust

* Port more ColorComparisonInput.svelte logic to Rust

* Port more SpectrumInput.svelte logic to Rust

* Port more frontend logic to Rust

* Code review

* Code review

* Fix some CSS
2026-05-05 02:47:53 -07:00
..
src Port the color picker popover to a Rust-defined layout (#4102) 2026-05-05 02:47:53 -07:00
Cargo.toml Remove surface and window from ApplicationIo (#3941) 2026-04-09 20:12:53 +00:00
README.md Rename /frontend/wasm -> /frontend/wrapper (#3927) 2026-03-21 03:46:47 -07:00

README.md

Overview of /frontend/wrapper/

Wasm wrapper API: src/editor_wrapper.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.

Native communication: src/native_communication.rs

Handles receiving serialized FrontendMessages from the native desktop app via an ArrayBuffer and forwarding them to JS through the editor wrapper.

Wasm wrapper initialization: src/lib.rs

Entry point for the Rust codebase in the Wasm environment. Sets up panic hooks and logging, and defines thread-local storage for the editor instance, editor wrapper, message buffer, and panic dialog callback.