Novolis.Avalonia.Gaming
2026.1.6.230
dotnet add package Novolis.Avalonia.Gaming --version 2026.1.6.230
NuGet\Install-Package Novolis.Avalonia.Gaming -Version 2026.1.6.230
<PackageReference Include="Novolis.Avalonia.Gaming" Version="2026.1.6.230" />
<PackageVersion Include="Novolis.Avalonia.Gaming" Version="2026.1.6.230" />
<PackageReference Include="Novolis.Avalonia.Gaming" />
paket add Novolis.Avalonia.Gaming --version 2026.1.6.230
#r "nuget: Novolis.Avalonia.Gaming, 2026.1.6.230"
#:package Novolis.Avalonia.Gaming@2026.1.6.230
#addin nuget:?package=Novolis.Avalonia.Gaming&version=2026.1.6.230
#tool nuget:?package=Novolis.Avalonia.Gaming&version=2026.1.6.230
Novolis.Avalonia.Gaming
Avalonia game shell for menus and HUD over Silk / TwoD rendering (code-only, no XAML).
Use this when interactive UI (pause, encyclopedia, options, status strips) must sit above a GL viewport instead of being drawn into TwoDScene sprites.
Install
dotnet add package Novolis.Avalonia.Gaming
Prerequisites: Avalonia 12+, .NET 10. Novolis.Avalonia.Rendering (and thus Novolis.Rendering.TwoD + Silk).
Local multi-repo iteration before GPR has the new build — keep the PackageReference and use ProjectReference mode:
pwsh -File d:\novolis\novolis-governance\build\Generate-Platform-Slnx.ps1
dotnet build d:\novolis\<consumer>\path\to\App.csproj -p:NovolisUseProjectReferences=true
Quick start
using Novolis.Avalonia.Gaming;
using Novolis.Avalonia.Rendering;
using Novolis.Rendering.TwoD;
var hud = new HudStrip();
hud.SetTexts("WEEK 13", "9280 | 60 | 200", "ENCYCLOPEDIA");
var shell = GameShell.CreateWithTwoD(hud); // HardPause by default
shell.TwoDViewport!.Scene = new TwoDScene();
shell.TwoDViewport.FrameUpdating += (_, e) =>
{
if (!shell.ShouldAdvanceSimulation())
return;
// advance sim with e.DeltaSeconds
};
// Blocking menu — freezes sim under HardPause
shell.ShowModal(new TextBlock { Text = "Paused", FontSize = 24 });
window.Content = shell;
Headless / autopilot:
shell.PauseMode = GamePauseMode.RunAlways;
API
| Type | Role |
|---|---|
GameShell |
Viewport + HUD + modal layers; ShouldAdvanceSimulation() |
GamePauseMode |
HardPause (human session default) / RunAlways |
GameSimGate |
Pure tick gate (unit-testable) |
HudStrip |
Left / center / right status row |
ModalMenuHost |
Dimmed menu overlay (Escape / outside click → dismiss) |
Boundaries
| Package | Role |
|---|---|
Novolis.Avalonia.Rendering |
GL hosts only (TwoDSceneControl, CPU frames) |
Novolis.Avalonia.Gaming |
Avalonia chrome over those hosts |
Novolis.Avalonia.Studio |
Editor chrome (status/flash/busy) — not game loops |
Novolis.Avalonia.Briefing |
Post-run scorecards / feeds |
Game / campaign domain (Rebellion windows, Calypso captain copy) stays in the app. This package is host plumbing only.
Windows OpenGL
Same as Rendering — prefer WGL so OpenGlControlBase initializes:
appBuilder.UsePlatformDetect()
.With(new Win32PlatformOptions { RenderingMode = [Win32RenderingMode.Wgl] });
| 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
- Avalonia (>= 12.1.3)
- Novolis.Avalonia.Rendering (>= 2026.1.6.230)
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.6.230 | 35 | 10/6/2026 |
| 2026.1.6.229 | 50 | 10/4/2026 |
| 2026.1.6.228 | 47 | 10/4/2026 |
| 2026.1.6.226 | 49 | 10/4/2026 |
| 2026.1.6.221 | 46 | 10/4/2026 |
| 2026.1.6.220 | 48 | 10/3/2026 |
| 2026.1.6.218 | 52 | 10/3/2026 |
| 2026.1.6.196 | 45 | 10/2/2026 |
| 2026.1.6.195 | 48 | 10/2/2026 |
| 2026.1.6.194 | 48 | 10/1/2026 |
| 2026.1.6.192 | 60 | 9/30/2026 |