|
NovaSVG 0.10.0
A header-only SVG library
|
NovaSVG is a single-header, header-only C++17 SVG parsing and rasterization library with optional Python bindings.
NovaSVG was born from a practical need.
There was an earlier project called lunasvg.
The name came from luna — the moon — a quiet celestial body associated with reflection and continuity.
However, from an architectural perspective, it had limitations for my workflow:
Rather than adapting around those constraints, I chose to restructure the idea entirely.
NovaSVG emerged through substantial refactoring and surgical redesign.
It was not a wrapper, not a patch, and not a thin modification — it was a reconstruction with different structural goals.
In astronomy, a nova is not the creation of a star from nothing.
It is the visible rebirth of a stellar system — energy released from within, forming something newly luminous.
That metaphor captures the transition precisely:
Luna retires.
A new star emerges.
NovaSVG carries conceptual lineage, but stands independently in structure and intent.
The name also sits close to nanosvg in sound.
That resemblance is natural within the ecosystem of lightweight SVG tooling.
Yet while nanosvg attempts a compact approach, NovaSVG is built around a stricter single-header philosophy and tighter architectural boundaries.
The similarity in name reflects adjacency;
the difference in structure reflects direction.
NovaSVG is therefore both continuation and departure —
a transformation shaped by constraints, not an extension shaped by convenience.
NovaSVG is developed and maintained by Mohammad Raziei,
a software engineer working primarily in C++ and Python, with a focus on clean architecture, numerical computing, and performance-oriented systems.
NovaSVG is an ongoing effort toward minimal, structurally disciplined software.