Wasmfenbein3d is a basic 3d renderer inspired by Wolfenstein3D and Doom. The goal is to see if I can get an interactive 3d environment with a good framerate without using hardware acceleration.
It is intended to be run in the browser as a WASM application. I have tried to build it to be platform agnostic, so no WASM specific code exists in the core library. An example website using this library is provided. This example is also the environemnt used during development to test changes to the library.
The latest example site can be seen at https://brstrutt.github.io/wasmfenbein3d/
use VScode and open the devcontainer. It provides a fully functioning dev environment with no manual setup required.
To run a local dev server: trunk serve
(Use trunk serve --enable-cooldown if you want to stop it building twice every time you save changes)
To run the unit tests: cargo test
To format the codebase: cargo fmt
To deploy, push changes to main. Github Actions will automatically build the top commit of main and push the example site live.
To trigger a release build: Push a tag of the format v1.2.3.
To trigger a development release build: Push a tag like v1.2.3-stuff