Multiplayer canvas tool with programmable brushes!
Go to file
2024-09-03 23:13:00 +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 add ping/pong between client and server 2024-09-02 23:17:35 +02:00
docs update docs, add favicon to docs template 2024-09-01 19:17:46 +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 resize the brush editor's text area whenever the brush editor is resized 2024-09-03 23:13:00 +02:00
template update docs, add favicon to docs template 2024-09-01 19:17:46 +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