pandadraw
A collaborative terminal drawing prototype built with
p2panda for
HDSC2026.
pandadraw can be used as a medium to demonstrate the ideas of limited
availability, (re)networking network and seasonal computing. It's also a pretty
fun way to draw ASCII art with friends 🩷💙🩶
Platform support
amd64arm64
More platforms (e.g. macOS, windoze) available on request and with your support as I can't build some of them myself. It would be nice to support macOS in the near future.
Install
wget https://git.coopcloud.tech/decentral1se/pandadraw/raw/branch/main/target/x86_64-linux-musl/pandadraw -O pandadraw
chmod +x pandadraw
./pandadraw
Usage
Offline or local network
A default topic is hardcoded into the CLI options which starts all peers off on
a shared canvas. Pass -new to start a new topic or pass -topic <hex> to
specify your own.
pandadraw
If you're alone, open it up in multiple terminals and draw with yourself 😂
Remote peering
You need to provide the SHARE hex value from the UI to the remote peer.
pandadraw -peer <hex>
Controls
- CTRL-C: Exit
- CTRL-S: Toggle color
- CTRL-E: Toggle emoji
Features
- Real time or async collaborative drawing. Each topic contains a canvas which is persisted locally and published to peers. As long as one peer maintains a copy of the topic state, all other peers can reconstruct it later.
- Offline-first or local/global p2p connectivity. Draw or share your previous drawings offline in your local network. Remote peers only need to connect to single peer to have their changes published to the rest.
- Minimal TUI with peer presence, configurable emoji and color settings. Node/topic sharing details are also shown.
More information about the feature set of p2panda is
here.
License
