Novolis.Rendering.Testing
2026.1.1.72
dotnet add package Novolis.Rendering.Testing --version 2026.1.1.72
NuGet\Install-Package Novolis.Rendering.Testing -Version 2026.1.1.72
<PackageReference Include="Novolis.Rendering.Testing" Version="2026.1.1.72" />
<PackageVersion Include="Novolis.Rendering.Testing" Version="2026.1.1.72" />
<PackageReference Include="Novolis.Rendering.Testing" />
paket add Novolis.Rendering.Testing --version 2026.1.1.72
#r "nuget: Novolis.Rendering.Testing, 2026.1.1.72"
#:package Novolis.Rendering.Testing@2026.1.1.72
#addin nuget:?package=Novolis.Rendering.Testing&version=2026.1.1.72
#tool nuget:?package=Novolis.Rendering.Testing&version=2026.1.1.72
Novolis.Rendering.Testing
Golden framebuffer hashing helpers for headless render tests — SHA-256 digests over raw RGBA bytes with no native window required.
Install
dotnet add package Novolis.Rendering.Testing
Prerequisites: .NET 10 SDK (net10.0), Novolis.Rendering.Presentation.Abstractions.
Quick start — pixel span
using Novolis.Rendering.Testing;
backend.Output.TryGetCpuPixels(out var pixels, out _, out _);
var hash = FramebufferGoldenAssert.Sha256Hex(pixels);
Assert.Equal(expectedHash, hash);
Quick start — render output
var hash = FramebufferGoldenAssert.Sha256Hex(backend.Output);
Use CpuRayTracingBackend(deterministic: true) from Novolis.Rendering.Backends.Cpu for stable golden values across runs.
Commit expected digests as lowercase hex strings; update intentionally when shading or sampling changes.
API
| Type | Role |
|---|---|
FramebufferGoldenAssert |
Sha256Hex(ReadOnlySpan<Rgba32>), Sha256Hex(IRenderOutput) |
Returns lowercase hex SHA-256 over row-major RGBA bytes (R, G, B, A per pixel). Throws InvalidOperationException when IRenderOutput has no CPU pixels.
Dogfooding / apps
Used by backend unit tests (Novolis.Rendering.Backends.Cpu.Tests) for regression checks without GPU drivers or window hosts.
Support
Pre-release platform library. Store expected digests in test data; re-run with deterministic: true when updating goldens.
Works with any backend that exposes CPU pixels via IRenderOutput.
Pair with DemoSceneFactory.UnitCubeRoom() for a minimal golden scene.
No image decoding — hashes raw RGBA bytes only.
Related
| Package | Role |
|---|---|
Novolis.Rendering.Backends.Cpu |
Deterministic CPU backend for goldens |
Novolis.Rendering.Presentation.Abstractions |
IRenderOutput, ImageBufferRenderOutput |
Novolis.Rendering.Compile |
Build scenes under test |
More documentation
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Novolis.Math.Arrays (>= 2026.1.1.56)
- Novolis.Math.Geometry (>= 2026.1.1.56)
- Novolis.Rendering.Presentation.Abstractions (>= 2026.1.1.72)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.1.72 | 0 | 10/4/2026 |
| 2026.1.1.71 | 41 | 10/1/2026 |
| 2026.1.1.70 | 42 | 9/30/2026 |