enso/gui
Wojciech Danilo c48b61e5ab Update readme.
Original commit: 083ee2b151
2019-10-07 22:53:53 +02:00
..
.github Update build.yml 2019-10-07 22:06:02 +02:00
docs Init 2019-10-06 21:47:17 +02:00
examples/01-scene Init 2019-10-06 21:47:17 +02:00
lib Adding tests, refactoring scripts. 2019-10-07 22:27:40 +02:00
script Adding tests, refactoring scripts. 2019-10-07 22:27:40 +02:00
tests Init 2019-10-06 21:47:17 +02:00
.gitignore Init 2019-10-06 21:47:17 +02:00
.rustfmt.toml Enable unstable features without requiring nightly channel 2019-10-07 17:12:07 +02:00
Cargo.toml Fixing warnings, refactoring 2019-10-07 20:33:09 +02:00
LICENSE Init 2019-10-06 21:47:17 +02:00
README.md Update readme. 2019-10-07 22:53:53 +02:00

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 script/build.sh, script/watch.sh, and script/lint.sh scripts to build, watch, and lint the project respectively. We need to use a simple custom wrappers here because of the several Rust toolchain issues:

In order to build an example demo scene, please use the following commands:

./script/watch.sh # Build and watch for changes.

# 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.