Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/baku89/pave

A environment-agnostic toolkit for manipulating SVG/Path2D curves
https://github.com/baku89/pave

canvas canvas2d graphics path2d svg vector-graphics

Last synced: 15 days ago
JSON representation

A environment-agnostic toolkit for manipulating SVG/Path2D curves

Awesome Lists containing this project

README

        


Pave

DocumentationBecome a Sponsor



npm version


npm license

CI test result

Pave is a environment-agnostic toolkit specialized for manipulating SVG/Path2D curves, which includes creating primitives, calculating positions/normals/tangents, offsetting, and resampling paths. All of the API are provided in a functional programming manner, and the path data is represented as an immutable plain object.

Currently, the library heavily depends on [Bazier.js](https://pomax.github.io/bezierjs) by [Pomax](https://github.com/Pomax) and [Paper.js](http://paperjs.org) by [Jürg Lehni
](https://github.com/lehni) -- or it might be said that this library is a thin wrapper for them to provide FP-oriented interfaces. Although I'm going to rewrite the whole library with zero dependencies for performance and file size, please consider sponsoring them if you think it'd be useful.

## Development

```sh
git clone https://github.com/baku89/pave
cd pave
yarn install
yarn test --watch
```

## License

This repository is published under an MIT License. See the included [LICENSE file](./LICENSE).