leibniz 0.2.0

The package provides a differentiable vector graphics rasterization loss.
Documentation
# Leibniz

Leibniz provides a differentiable vector graphics rasterization loss.

It follows the DiffVG rasterization model described by Li, Lukáč, Gharbi, and
Ragan-Kelley in [_Differentiable Vector Graphics Rasterization for Editing and
Learning_][paper] as a Rust crate.

Leibniz is not a general renderer. Its focus is the differentiable loss:
comparing vector geometry in image space while preserving gradients back to
curve parameters. It specializes DiffVG's model to linear and quadratic Bezier
contour commands with solid grayscale fills under the nonzero fill rule. The
implementation should be suitable for training models that emit vector geometry
for type.

The reference implementation is [`BachiLi/diffvg`][reference]. The package
treats that repository as the behavioral and mathematical reference, while
providing an idiomatic Rust API.

## Backend

The only supported backend is [Burn][burn]. Public APIs should be expressed in
terms of Burn tensors and should return Burn tensor losses so autodiff can trace
gradients through the rasterization computation. Other tensor or autodiff
backends are out of scope.

## Development

Run checks with the default Burn NdArray backend:

```shell
make check
make test
```

## [Benchmarking]BENCHMARKING.md

## [Profiling]PROFILING.md

[burn]: https://burn.dev/
[paper]: https://people.csail.mit.edu/tzumao/diffvg/diffvg.pdf
[reference]: https://github.com/BachiLi/diffvg