An open API service indexing awesome lists of open source software.

https://github.com/abey79/vsvg

Fast and portable tools for plotter users
https://github.com/abey79/vsvg

egui generative-art hacktoberfest penplotter rust svg svg-files vector-graphics

Last synced: 9 months ago
JSON representation

Fast and portable tools for plotter users

Awesome Lists containing this project

README

          

# The *vsvg* project (incl. *whiskers* and *msvg*)

## What's this?

| [*whiskers*](crates/whiskers/README.md) | [*msvg*](crates/msvg/README.md) | [*vsvg*](crates/vsvg/README.md)/[*vsvg-viewer*](crates/vsvg-viewer/README.md) |
|---|---|---|
| image | image | image |
| [*whiskers*](crates/whiskers/README.md) is a Rust-based, [Processing](https://processing.org)-like interactive sketching environment for generative plotter art. It's fast, it's web-ready, and it's a delight to use.

Try it [here](https://bylr.info/vsvg/)! | [*msvg*](crates/msvg/README.md) is a (WIP!) fast browser for SVG collections. It smoothly addresses the challenge of browsing through large collections of generated SVGs, e.g. to find the best looking ones for plotting. | [*vsvg*](crates/vsvg/README.md) and [*vsvg-viewer*](crates/vsvg-viewer/README.md) are the core crates behind *whiskers* and *msvg*. They implement the core data structures for manipulating vector data for plotter applications, as well as an ultra-performant, cross-platform, hardware-accelerated, and easy-to-extend viewer. |

## Documentation

The documentation is WIP—watch this space for updates.

In the meantime, each crate of the *vsvg* project has its own README with additional information:
- [*whiskers*](crates/whiskers/README.md)
- [*whiskers-widgets*](crates/whiskers-widgets/README.md)
- [*whiskers-derive*](crates/whiskers-derive/README.md)
- [*msvg*](crates/msvg/README.md)
- [*vsvg*](crates/vsvg/README.md)
- [*vsvg-viewer*](crates/vsvg-viewer/README.md)
- [*vsvg-cli*](crates/vsvg-cli/README.md)

## Installing

There is currently no facilities to install `vsvg` unfortunately. It must be compiled and installed from source. Fortunately, this is actually not much more complicated than running a Python executable.

First, install Rust by running the command provided by [the official Rust website](https://www.rust-lang.org/tools/install):

```
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```

Normally, this will add `$HOME/.cargo/bin` in your path.

Then, download the `vsvg` source code:

```
git clone https://github.com/abey79/vsvg
cd vsvg
```

### Running the sketch examples

See *whiskers*'s [README.md](crates/whiskers/README.md).

### Installing *vsvg-cli*

See *vsvg-cli*'s [README.md](crates/vsvg-cli/README.md).

## Design notes

A few design considerations can be found [here](https://github.com/abey79/vsvg/issues?q=is%3Aissue+is%3Aopen+label%3Adesign-note). They concern the use of this project as basis for a possible future Rust-based `vpype-core` package.

## Licence

This project is available under the MIT licence.