# `gno.land/p/moul/svg/v0`
Minimalist, extensible SVG generation library for Gno.
The canvas style map is backed by
[`gno.land/p/nt/bptree/v0`](https://gno.land/p/nt/bptree/v0): a B+ tree packs
many entries per persisted node, so styles cost less storage and inserts spend
less gas than an AVL backing would.
**Compatibility caveats** (from the in-place-mutating B+ tree backing):
- do not call `AddStyle` from inside a `Canvas.String`/`Render` iteration;
- do not copy a non-zero `Canvas` by value once styles have been added — the
copies would share live tree nodes.
<!-- BEGIN GNOCONTRACTS FOOTER (generated by `make readmes`; do not edit below) -->
---
Part of **[moul/gno-contracts](https://github.com/moul/gno-contracts)** — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage.
**Dependency graph:**

> ⚠️ **Disclaimer:** provided as-is, without warranty; not security-audited. Full disclaimer: [DISCLAIMER](https://github.com/moul/gno-contracts/blob/main/DISCLAIMER.md).
<!-- END GNOCONTRACTS FOOTER -->
Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.