Multiplayer canvas tool with programmable brushes!
Go to file
liquidex ef1e35fcf0 remove redundant arity checking code from system functions, update error messages
the arity of unary and binary ops is guaranteed by the fact they're, well, unary and binary ops.
right now there's no way to call them with less or more arguments, so we may as well.
2024-09-01 19:15:58 +02:00
.cargo a whole load of work in progress 2024-08-15 20:01:10 +02:00
admin make daemon use release profile 2024-08-24 13:54:00 +02:00
crates remove redundant arity checking code from system functions, update error messages 2024-09-01 19:15:58 +02:00
docs fix more syntax v2 bugs, update docs 2024-09-01 18:55:16 +02:00
scripts add a menu bar; and also a favicon because there's now a logo 2024-08-27 14:13:19 +02:00
static fix more syntax v2 bugs, update docs 2024-09-01 18:55:16 +02:00
template docs; rendering docs from .dj to .html 2024-08-26 23:26:03 +02:00
.editorconfig initial commit 2024-08-10 23:10:22 +02:00
.gitignore a whole load of work in progress 2024-08-15 20:01:10 +02:00
Cargo.lock fix more syntax v2 bugs, update docs 2024-09-01 18:55:16 +02:00
Cargo.toml sync 2024-08-17 22:16:21 +02:00
Justfile make it possible to set release profile for rkgk in justfile 2024-08-24 13:51:38 +02:00
README.md update readme again 2024-08-24 22:03:06 +02:00
rkgk.toml syntax v2 2024-09-01 09:29:11 +02:00

rakugaki - digital multiplayer graffiti

rakugaki is a multiplayer paint canvas with programmable brushes!

At the heart of rakugaki is the brush - a little program for manipulating pixels on a wall. Brushes are written in a tiny programming language called haku.

I wanna try it out!

Since the app is currently in very early alpha stages, there's no public instance at the moment.

You're free to spin up a server for your friends though! Here's the setup procedure for production instances.

# As of writing this, 1.81 is not yet released, so we have to use Rust nightly.
rustup toolchain install nightly-2024-08-11
rustup default nightly-2024-08-11
rustup target add wasm32-unknown-unknown

# We use `just` to wrangle the process of building the client-side WebAssembly and the server.
cargo install just

# Now it's time to run the backend!
just port=8080 profile=release

Then, you can connect to localhost:8080 to see the app in action.

For development, I recommend using cargo watch for live reloading. just defaults to a sensible development configuration. If you need to override the port, use the port variable as shown above.

cargo install cargo-watch
cargo watch -- just