SVG Backend Selection and Migration
Explicit Packages
Choose exactly one runtime-matched backend:
<PackageReference Include="Forma.Svg.Skia.MonoGame" Version="0.1.0-alpha.2" />
or:
<PackageReference Include="Forma.Svg.ThorVG.MonoGame" Version="0.1.0-alpha.2" />
Use .FNA peers with Forma.FNA. Package build targets install the selected backend without
reflection. Source-project hosts call SvgSkiaBackendDefaults.Install() or
SvgThorvgBackendDefaults.Install() before first SVG use; Verify() additionally runs a bounded
2x2 raster check.
Forma's Catalog and SVG smoke hosts default to ThorVG on validated macOS arm64 and Linux x64
systems. Pass -p:SvgBackend=Skia for explicit rollback. Windows remains on explicit Skia until
ThorVG Windows native assets are qualified and distributed.
The unused Forma.Svg.MonoGame and Forma.Svg.FNA compatibility identities have no prior public
release to support and are excluded from the initial package manifest. Choose an explicit backend
package directly. Build guards reject mixed runtime peers and mixed SVG backends.
SvgRuntime.Health exposes BackendId, Version, ProfileVersion, NativeAvailability,
LinkMode, tested features, and a bounded diagnostic. Missing native assets, ABI mismatch, conflict,
and late selection fail explicitly. Forma never falls back from ThorVG to Skia. Default theme icons
can still use ThemeIconRenderingPolicy.BitmapAtlas as the renderer-independent rollback.
Deployment Status
| Backend | macOS arm64 | Linux x64 | Windows x64 | Restricted/console |
|---|---|---|---|---|
| Skia 5.2.0 | Supported reference | Supported reference | Supported reference | Untested |
| ThorVG 1.1.0 dynamic | Experimental, validated | Experimental, validated | Untested | Not applicable |
| ThorVG ABI 1 static | Reference host validated | Reference host validated | Untested | Console-ready architecture only |
"Console-ready" means source/static integration is available. "Console-qualified" requires current authorized evidence for the exact SDK, compiler, linker, hardware, source commit, ABI/profile, and Forma release. No console is currently qualified.
Rollback consists of removing the ThorVG package and selecting explicit Skia, or selecting bitmap atlas policy when runtime SVG is optional. Application SVG failures remain explicit; only default theme icons have their documented PNG fallback.