enso/gui/README.md
Wojciech Daniło 6c829d23bf Update README.md
Original commit: 3471dc8589
2019-10-07 20:01:12 +02:00

2.6 KiB

BaseGL

License Actions Status Stability

BaseGL is a blazing fast 2D drawing API. This repository is a work in progress of BaseGL 2.0. Please refer to BaseGL 1.0 repository for more information: https://github.com/luna/basegl-old.

Working with the code

The Rust toolchain

In order to use some of the WASM pipeline features we need to use a nightly Rust channel. The same applies to the code auto-formatter and it's advanced configuration options used here. You would neither be able to compile not format the code using the stable branch.

To setup the toolchain, please use the the Rust toolchain installer :

rustup toolchain install nightly-2019-10-03 # Install the nightly channel.
rustup default nightly                      # Set it as the default one.
rustup component add rustfmt                # Install the code auto-formatter.
rustup component add clippy                 # Install the linter.

Building and testing the project

Please use the build.sh script. We need to use a simple custom wrapper here because of the following Rust toolchain issues:

In order to build and test the project, please use the following commands:

./build.sh

# Wait till the project finishes building.
# Run the following lines from other cmd.

cd examples/01-scene
npm install
npm run start

You can now open the following address in your browser: http://localhost:8080. Please remember to disable the cache in your browser!

Working with the source code

Formatting

All codebase should be auto-formatted using rustfmt. It is highly recommended that you use an IDE which takes care of formatting the code as you type. Please remember that auto-formatting does not mean you should not care of the way your code looks and feels! Be sure to carefully read the Rust style guide and apply it everywhere in your codebase.

Linting

Please be sure to fix all errors reported by cargo clippy before creating a pull request to this repository.