Videra.Core
0.1.0-alpha.7
dotnet add package Videra.Core --version 0.1.0-alpha.7
NuGet\Install-Package Videra.Core -Version 0.1.0-alpha.7
<PackageReference Include="Videra.Core" Version="0.1.0-alpha.7" />
<PackageVersion Include="Videra.Core" Version="0.1.0-alpha.7" />
<PackageReference Include="Videra.Core" />
paket add Videra.Core --version 0.1.0-alpha.7
#r "nuget: Videra.Core, 0.1.0-alpha.7"
#:package Videra.Core@0.1.0-alpha.7
#addin nuget:?package=Videra.Core&version=0.1.0-alpha.7&prerelease
#tool nuget:?package=Videra.Core&version=0.1.0-alpha.7&prerelease
Videra.Core
Videra.Core is the platform-agnostic rendering core of Videra. It provides the shared abstractions, scene engine, import pipeline, and software fallback path used by the higher-level packages.
Current status: alpha. This package is the right starting point only for core-only consumption. Most desktop applications should start with Videra.Avalonia plus a matching Videra.Platform.* package.
Responsibilities
- Rendering abstractions such as
IGraphicsBackend,IResourceFactory, andICommandExecutor - Scene lifecycle management through
VideraEngine - Camera, grid, axis, and wireframe helpers
- Model import for
.gltf,.glb, and.obj - Render-style presets and software fallback rendering
Key Types
VideraEngineObject3DGraphicsBackendFactoryIGraphicsBackendIResourceFactoryICommandExecutorIGraphicsDeviceIRenderSurface
Current Render Pipeline Contract
VideraEngine now exposes the current frame shape as read-only contract truth. After a completed draw, LastPipelineSnapshot records the effective pipeline profile and executed stage list for the last frame.
Stable stage vocabulary:
PrepareFrameBindSharedFrameStateGridPassSolidGeometryPassWireframePassAxisPassPresentFrame
Current profiles:
StandardStandardWithWireframeOverlayWireframeOnly
When consumed through Videra.Avalonia, the control diagnostics mirror the same information through RenderPipelineProfile, LastFrameStageNames, and UsesSoftwarePresentationCopy.
Public Extensibility Contract
Phase 11 adds a narrow public extensibility surface in Core:
IRenderPassContributorRegisterPassContributor(...)ReplacePassContributor(...)RegisterFrameHook(...)GetRenderCapabilities()
The public hook vocabulary is RenderFrameHookPoint with FrameBegin, SceneSubmit, and FrameEnd.
Scope boundary:
VideraEngineis the public extensibility root.- The API is intentionally Core-first and in-process.
- Internal session/orchestration types from
Videra.Avaloniaare not part of the public extension contract. - Shipped onboarding lives in docs/extensibility.md and samples/Videra.ExtensibilitySample.
- Before initialization and after disposal,
GetRenderCapabilities()remains queryable so host apps can inspect the stable support flags without inferring internal state. - After the engine is
disposed,RegisterPassContributor(...),ReplacePassContributor(...), andRegisterFrameHook(...)are ignored as ano-op. - For Core-first backend resolution,
GraphicsBackendFactory.ResolveBackend(...)usesAllowSoftwareFallbackto choose between a software backend withFallbackReasonpopulated and an explicit failure. SceneDocumentkeeps imported assets backend-neutral until a ready resource factory uploads them, and backend recovery restores scene resources from retained scene truth instead of a steady-state software staging path.ImportedSceneAsset.Metricsand retained deferred mesh state give the runtime enough budget/recovery metadata to queue uploads and rebuild scene resources after backend recreation.package discoveryandplugin loadingremain out of scope.
Typical Use
The default public consumer path is nuget.org:
dotnet add package Videra.Core
Install Videra.Core directly when you need the core scene and backend abstractions without the Avalonia UI layer.
Current alpha and contributor preview validation can still use GitHub Packages, but that feed is not the default public install route:
dotnet nuget add source "https://nuget.pkg.github.com/ExplodingUFO/index.json" \
--name github-ExplodingUFO \
--username YOUR_GITHUB_USER \
--password YOUR_GITHUB_PAT \
--store-password-in-clear-text
dotnet add package Videra.Core --version 0.1.0-alpha.7 --source github-ExplodingUFO
Most desktop applications should start with Videra.Avalonia instead.
Validation
Repository validation entrypoints:
# Unix shell
./scripts/verify.sh --configuration Release
# PowerShell
pwsh -File ./scripts/verify.ps1 -Configuration Release
Core-focused test runs:
dotnet test tests/Videra.Core.Tests/Videra.Core.Tests.csproj -c Release
dotnet test tests/Videra.Core.IntegrationTests/Videra.Core.IntegrationTests.csproj -c Release
Requirements
- .NET 8
SharpGLTF.Toolkitfor model import
Related Docs
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
-
net8.0
- Microsoft.Extensions.Logging (>= 9.0.11)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.11)
- Serilog (>= 4.2.0)
- Serilog.Extensions.Logging (>= 8.0.0)
- Serilog.Sinks.Console (>= 6.0.0)
- Serilog.Sinks.File (>= 6.0.0)
- SharpGLTF.Toolkit (>= 1.0.6)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Videra.Core:
| Package | Downloads |
|---|---|
|
Videra.Platform.macOS
macOS Metal backend for Videra, providing native GPU rendering through NSView and CAMetalLayer integration. |
|
|
Videra.Avalonia
Avalonia integration layer for Videra, exposing the VideraView control and coordinating native backend selection across platforms. |
|
|
Videra.Platform.Windows
Windows Direct3D 11 backend for Videra, providing native GPU rendering and resource management for Avalonia-hosted 3D views. |
|
|
Videra.Platform.Linux
Linux Vulkan backend for Videra, providing native GPU rendering for X11-hosted Avalonia 3D views. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-alpha.7 | 53 | 4/18/2026 |
| 0.1.0-alpha.3 | 51 | 4/17/2026 |
| 0.1.0-alpha.1 | 49 | 4/16/2026 |