An online pipeline for image processing.
*carbaseus (feminine carbasea, neuter carbaseum)* : first/second-declension adjective
1. made of fine linen
Carbaseus is an application designed to be the canvas
where you can play and express yourself
with a /node graph/ based environment for doing image processing.
As such, it must be accessible, easy to use and exhaustive in its functionality.
Currently, it includes 3 types of nodes/functions:
- The
input nodes
(entry point for image datas) - The
conversion nodes
(transform data from a type to an other) - The
processing nodes
(apply a transformation on the datas)
You can plug all these nodes together accordingly with their input/output type
, and experiment to discover as it goes the results of the treatments.
Make sure you are using the latest version of stable rust by running rustup update
.
cargo run --release
On Linux you need to first run:
sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev
On Fedora Rawhide you need to run:
dnf install clang clang-devel clang-tools-extra speech-dispatcher-devel libxkbcommon-devel pkg-config openssl-devel libxcb-devel
For running the build_web.sh
script you also need to install jq
and binaryen
with your packet manager of choice (or with these github repos releases: jq - binaryen)
Make sure you are using the latest version of stable rust by running rustup update
.
You can compile your app to WASM and publish it as a web page. For this you need to set up some tools. There are a few simple scripts that help you with this:
./setup_web.sh
./build_web.sh
./start_server.sh
open http://127.0.0.1:8080/
setup_web.sh
installs the tools required to build for webbuild_web.sh
compiles your code to wasm and puts it in thedocs/
folder (see below)start_server.sh
starts a local HTTP server so you can test before you publish- Open http://127.0.0.1:8080/ in a web browser to view
The finished web app is found in the docs/
folder (this is so that you can easily share it with GitHub Pages). It consists of three files:
index.html
: A few lines of HTML, CSS and JS that loads your app.your_crate_bg.wasm
: What the Rust code compiles to.your_crate.js
: Auto-generated binding between Rust and JS.