awsm 0.0.6

Wrappers for WASM

Build Status

DEMO - CRATES.IO - DOCS

Status

Still keeping it in minor version number for now, since the API might change - but lots of stuff is done :) Check it out!

About

awsm is mid-level crate for wasm, especially gamedev / immersive experience things that need higher performance and/or no GC

Overall, the approach with this library is similar in spirit to gloo - that is to say, it aims to bridge the gap between the auto-generated WebIDL-powered bindings web-sys provides, and the type of code we'd typically consider a real starting point in web apps.

It's also just my personal stomping grounds to figure stuff out, both on the Rust side (it's my first project) and the raw webgl renderer side (second or third) and is therefore more free to err on the side of "is this good enough for now" vs. "is this the right api, is it modular enough, etc."

The various features pretty much match what is testable on the demo and each one has a link to that example's source.

Building

Commands are run via npm in the examples/ folder

Development mode

npm start

This will spin up the demo and open a browser with live reloading. Requires that watchexec be installed)

Bundling

npm run bundle

Really just a preliminary step for deployment, but useful for seeing how the optimization settings kick in too. Requires that wasm-opt be installed. tip: just extract the zip and put it in the path somewhere.

Deployment

npm run deploy

Should fail for non-authorized users... Requires that netlify-cli be installed)

Live Coding

As a way to self-motivate getting over the learning curve (as mentioned above - this is my first Rust project), I thought it might help to livestream the coding+learning sessions, and also archive them in a playlist for a look-back.

On twitch: https://www.twitch.tv/dakomz