Makepad is a creative software development platform built around Rust, allowing the real-time creation of shaders. You can use the native version of the platform, or the try it in your browser. I’ve had a play with the online version of this tool and it is very slick - unfortunately I don’t have an Oculus Quest, so cannot have a play in a VR environment.
Makepad is built using Rust, with the web version compiled to WebAssembly. In other words, it is an online Rust shader compiler and development environment, that is itself written in Rust! If you take a look at the way it is built, it is basically just a full screen canvas element, everything is being rendered in WebAssembly.
As a demonstration of its ‘slickness’ try pressing Alt / Option on the editor pane for a compact code view - the zoom animation is beautiful 😍
In last week’s issue we took a look at FFmpeg.wasm, a WebAssembly port of FFmpeg (a 20 year old C++ suite of tools for media processing) using Emscripten. People are already making good use of FFmpeg.wasm and this website is a great example. This is an entirely client-side browser-based media player, the author plans to make this a viable alternative to VLC. You can find the sourcecode on GitHub.
And another one … this video tutorial looks at how you can incorporate FFmpeg.wasm into a React application.
A few months ago Microsoft announced Krustlet, a Kubelet implementation for Kubernetes that supports running WebAssembly, with the wasmtime runtime, instead of container images with a container runtime. If you’re not familiar with Kubernetes there are a lot of K’s to get your head around there! This blog post does a great job of introducing all of the various concepts (wasm, WASI, Krustlet) and shows you how to assemble a simple “hello world” application.