W3Reality (@w3reality) header
W3Reality (@w3reality) profile picture

Elevating the Web to VR vectors | de compute | rust

Joined March 2018
Photo by W3Reality (@w3reality)Photo by W3Reality (@w3reality)Photo by W3Reality (@w3reality)Photo by W3Reality (@w3reality)Photo by W3Reality (@w3reality)Photo by W3Reality (@w3reality)Photo by W3Reality (@w3reality)Photo by W3Reality (@w3reality)Photo by W3Reality (@w3reality)Photo by W3Reality (@w3reality)
"geo-viewer" is being updated with improvements. It's a webapp and open source. w3reality.github.io/three-ge…
3
6
Rust implementation of Langton's Ant Simulation from blank to emerging "ladder" at step ~ 10,000, which is explained by Numberphile youtube.com/watch?v=NWBToaXK… live: j-devel.github.io/demo/life/…
1
Rust-wasm multithreading capability applied to wasm-demo of the 'plotters' crate (github.com/38/plotters) 🦀 📈. In this demo, we are plotting a computationally heavy Mandelbrot Set while the main thread is busy with 3D cube rendering. live: logsig.github.io/kusa-monito…
1
2
CA Simulator prototype (with core logic in Rust; GUI in JavaScript). Rule switching demo: Game of Life (en.wikipedia.org/wiki/Conway…) -> Ulam–Warburton CA (en.wikipedia.org/wiki/Ulam%E…) -> Langton's Ant (en.wikipedia.org/wiki/Langto…)
Developing a Rust crate for writing 2D cellular automata (CA). The idea is for devs to just implement `RuleTrait` to create a new CA. For example, here's ~30 LoC Lanton's Ant (en.wikipedia.org/wiki/Langto…) working.
1
Prototyping WebM/HTTP streaming of framebuffer. Initially, using the Game of Life as test pattern generator github.com/rustwasm/wasm_gam…. It seems, we can generalize it to be an education material on 2D cellular automata j-devel.github.io/demo/life/… So plan to add more features & GUI.
In es-pack-js v0.5, added `--rustwasm` mode. To transform wasm-pack generated artifacts into standalone umd/esm modules usable in browsers/Node.js: $ wasm-pack build --target no-modules $ es-pack build --rustwasm demo: github.com/w3reality/es-pack…
1
1
Exercising the generated 'add.min.js' (an 'umd' module) in Node.js:
1
Native @RIOT_OS running with #LVGL + SDL2 RIOT's LVGL sample is based on the `disp_dev_t` abstracted display. So for native development, tried implementing a custom one using the SDL2-based driver github.com/lvgl/lv_drivers/b… It works.
1
5
4
Credits to GUI design and demo: LittlevGL sample application github.com/RIOT-OS/RIOT/tree…
Reworked on API in three-geo v1.4. Now, basically, a single line of async call is suffice to build a satellite-textured DEM ready to be rendered with three.js. API: github.com/w3reality/three-g…
1
5
25
Started writing a firmware targeting #ESP32 IoT chips in Rust. Following an article dev.to/jeikabu/matrix-voice-… we've got a recursive `fib()` function demo working.
1
2
Test running the "esp-app" within qemu_esp32 github.com/Ebiroll/qemu_esp3…
1
Write multithreaded web apps in Rust! Published a suite of new crates that facilitate mutithreading in Rust and WebAssembly #rustlang All listed examples are runnable in browser: github.com/w3reality/wasm-mt…
Testing a custom laser pointer in a WebXR-based VR app. Just refurbished our WebVR 1.1-based demos following the recent upgrades of the WebXR ecosystem: - Chrome 79 w/ WebXR - three.js r112 w/ `renderer.xr` - WebXR emulator extension Live: w3reality.github.io/threelet…
1
2
Simple visualization of WebXR controller events (WIP). Live: w3reality.github.io/threelet…
1
1
There's an analogy between - A Web client fetching data from multiple servers, - A JavaScript main thread delegating jobs to worker threads. Both are `async`, and fit well into the `mpsc` model.
1
The same concept would also apply to - A process running Docker commands We've found this talk youtube.com/watch?v=CMB6AlE1… pretty effectively telling about the dawn of a new type of computing with Rust and WebAssembly being a key enabler.
Managed to have control of Wasm binaries (either compiled by Emscripten or `wasm-pack`) running in Web Workers. The Web Worker API has been around us since almost a decade ago. We'd think this matured API is yet invaluable in these 'modern' use cases. github.com/w3reality/async-t…
2
We've made a webm/mp4 encoder inspired by "Running FFMPEG with WASM in a Web Worker" paul.kinlan.me/running-ffmpe… One limitation is FFmpeg itself runs in its single thread mode so it's not as fast as desktop command😂 live: w3reality.github.io/async-th… source code: github.com/w3reality/async-t…
1
1
13
Implement a convenient geo method `(lat, lng) => [x, y, z]`, where `[x, y, z]` is a point in terrain coordinates, and `z` is its elevation! Basically, raycast to the triangulated (i.e. interpolated 😀) DEM in world coords (blue) and measure results in terrain coords (red).
2
VR app (rust-canvas-juliaset) that can interactively compute&visualize the Julia set on a planar object. Here, have we ported wasm-bindgen's (github.com/rustwasm/wasm-bin…) julia_set example written entirely in Rust🦀 live: w3reality.github.io/threelet… source code: github.com/w3reality/threele…
1
6
13
We've found that, using wasm-bindgen, developing WebVR apps powered by Rust code becomes pretty seamless. We've made a template hello app showing exactly how to do it. live: w3reality.github.io/threelet… source code: github.com/w3reality/threele…
6
2
17
Demo of "lenet-aframe" where we encapsulated the TensorSpace LeNet model as an A-Frame component. (experimental - no UI components for char input; ML stuff works fine programmatically though) live: w3reality.github.io/spacial-… source code: github.com/w3reality/spacial…
How to arrange productivity in VR? Experimenting with VR apps where the user can indeed gain some practical value (e.g. learning) in 3D space. In this VR-based ML app, that value is expected to be educational. demo: w3reality.github.io/spacial-…
1
The 8m-wide floating 3D object represents the detail of a LeNet model used for solving the MNIST challenge. It can appear, disappear, and shift to anywhere by intuitive controls. Being spacial, space becomes our ultimate infinite "display."
1
1
1
Prototype of the glTF model selection panel. Using models originally in Sketchfab (kudos to creators😀) that we statically hosted. Super interesting if we can dynamically query and render them by Sketchfab API. live: w3reality.github.io/threelet… source code: github.com/w3reality/threele…
5
Crafting a VR paint app for creativity. Soon implementing VR-controller binding stuff for painting. Should be quick 😇 since mouse to WebGL canvas interaction is already done as in video. Live demo (WIP): w3reality.github.io/threelet…
1
Testing algorithmic painting (just random stroking for now 😉) onto a VR canvas. The left panel is a simple UI plane clickable via normal browser mouse, touch, screen, and VR controller when using a HMD (we tested it with a Oculus Go).
1