8 stable releases

2.1.9 Dec 28, 2023
2.1.7 Jun 6, 2023
2.1.5 May 24, 2023
2.1.2 May 22, 2023
1.0.0 Jun 23, 2022

#250 in Game dev

28 downloads per month

MIT/Apache

220KB
1K SLoC

lavagna

It's a blackboard, not a lasagna.

preview

Lavagna is a collaborative blackboard, perfect for creating simple sketches during online meetings. It has an (optional) minimal toolbar which can be hidden to avoid distractions from your drawings. You can control colors and line width using the keyboard or the toolbar.

It's just you, your peers, and your creativity.

Online demo

An online demo is available: demo

It supports passing options as url paramters:

Keyboard bindings

Button Action Note
C Color Change the chalk color
M Grow Grow chalk size 2x
N Shrink Shrink chalk size 2x
X Clear Clear the whole blackboard
U Toolbar Toggle toolbar visibility

Installation

Archives of precompiled binaries for lavagna are available for Windows, macOS and Linux.

Install from source

If you're a Rust programmer, lavagna can be installed with cargo.

  • Note that the minimum supported version of Rust for lavagna is 1.61.0, although lavagna may work with older versions.

To install from sources:

git clone https://github.com/alepez/lavagna.git
cd lavagna
cargo install --path lavagna --locked

Install from crates.io

To install from crates.io:

cargo install lavagna

Note that the version available in crates.io may be older than the one you find on latest release page.

Instant collaboration

lavagna uses WebRtc for instant collaboration. So you can use it for online meetings. You don't even need to install anything, because lavagna is available as a web-app too.

You need a signaling server like matchbox_server installed somewhere.

Don't worry, for quick testing you can borrow devand.dev signaling server:

lavagna --collab-url wss://lavagna-server.devand.dev/YOUR_ROOM

Change YOUR_ROOM to your preferred name or a unique id. If you do the same on different device, anything you draw will be visible on the other side (and vice versa).

Desktop app development

lavagna works on many operating systems:

  • Linux (x86)
  • Linux (ARM)
  • macOS (x86)
  • Windows

You just need to have a Rust toolchain installed. Run this from the project directory:

cargo run

To print help information, just use:

cargo run -- --help

Web app development

This script builds all the assets needed for a web application. You'll find them on www directory, so you can use any http server able to serve static files.

./tools/build-web
cd www
python -m http.server 8000

See also docker/lavagna-webapp/Dockerfile as an example of how to publish the web-app.

Dependencies

~51–93MB
~1.5M SLoC