This repo is a workspace repo that contains three others:
- The WASM editor front-end
- The The backend shim the front-end talks to over websockets
- The web view package fthat allows for not having to use a full browser to use the editor
The Editor is meant to be used in one of two ways:
- From a web browser
- As an Electron-style application
In the first scenario, the Editor will use the built-in browser storage, with the option to export the project. In the second, a built-in webserver will serve the application, and it can read/write to and from the native file system.
This crate contains the code that is compiled to WASM and served up via a web browser. It uses the Yew framework, and functions much like Angular, Elm, and React.
This crate uses the
cargo-web cargo extension. Some useful commands are:
If you run
cargo web run it will start your application and serve it on port 8000. You can then navigate to http://localhost:8000 to test things. Changes to the code will trigger a recompile and reload. This can take some seconds, so watch the terminal if you need to.
How the Editor is Deployed
Cargo generates a wasm file, and in
static/index.html you can find the minimal JS needed to load the WASM application.
The UI is just plain UIKit.
This section describes the directory structure and general layout of the