Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/baku89/pave
- Owner: baku89
- License: mit
- Created: 2023-11-27T17:45:05.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-04-22T07:54:23.000Z (7 months ago)
- Last Synced: 2024-05-09T10:37:17.392Z (6 months ago)
- Topics: canvas, canvas2d, graphics, path2d, svg, vector-graphics
- Language: TypeScript
- Homepage: https://baku89.github.io/pave/
- Size: 1.27 MB
- Stars: 45
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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).