AlvorKit.GLFW.Backend 3.4.15

dotnet add package AlvorKit.GLFW.Backend --version 3.4.15
                    
NuGet\Install-Package AlvorKit.GLFW.Backend -Version 3.4.15
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AlvorKit.GLFW.Backend" Version="3.4.15" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AlvorKit.GLFW.Backend" Version="3.4.15" />
                    
Directory.Packages.props
<PackageReference Include="AlvorKit.GLFW.Backend" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AlvorKit.GLFW.Backend --version 3.4.15
                    
#r "nuget: AlvorKit.GLFW.Backend, 3.4.15"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AlvorKit.GLFW.Backend@3.4.15
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AlvorKit.GLFW.Backend&version=3.4.15
                    
Install as a Cake Addin
#tool nuget:?package=AlvorKit.GLFW.Backend&version=3.4.15
                    
Install as a Cake Tool

AlvorKit

AlvorKit is a C# game development kit

Logging

Standard engine-loop games receive an injectable application log automatically. Dedicated servers and custom hosts can own the same runtime explicitly. See the logging guide.

Ent-component system

AlvorKit games use the AlvorKit ECS for game Ents. Start with the AlvorKit ECS guide for generated components, Ent and arena ownership, and the Indexed context, hook, bag, iteration, and teardown pattern used by AlvorKit game repositories.

Binding development mode

Projects use published binding packages by default. When an exact generated project exists under out/bindgen, consumers automatically use that local project instead of the pinned package for that binding. Build and restore intentionally do not run bindgen automatically.

The default bindgen output root is out/generated/bindgen, which is safe for inspection because it does not activate local project references. Generate into the active local project root only when you want consumers to use the generated project:

dotnet run --project scripts\AlvorKit.Script.Bindgen -- <library> --setup-local

If the generated project is missing, consumers fall back to the pinned package version in AlvorKit.Packages.props. Use all only when bootstrapping every binding project or making a change that intentionally affects them all.

To compare generator changes without activating local bindings, write snapshots under out/ and diff them:

dotnet run --project scripts\AlvorKit.Script.Bindgen -- fastnoise2 --output-root out\bindgen-review\fastnoise2-before
dotnet run --project scripts\AlvorKit.Script.Bindgen -- fastnoise2 --output-root out\bindgen-review\fastnoise2-after
git diff --no-index -- out\bindgen-review\fastnoise2-before out\bindgen-review\fastnoise2-after

Maths package development mode

Projects use the published AlvorKit.Maths.Primitives package when out/mathgen/AlvorKit.Maths.Primitives is missing. The default MathsGen output root is out/generated/mathgen, which is safe for inspection because it does not activate local project references. Generate the active local primitives project only when changing the maths generator or generated primitive surface:

dotnet run --project scripts\AlvorKit.Script.MathsGen -- --setup-local

The user-facing package is AlvorKit.Maths; it is a facade that brings in AlvorKit.Maths.Core and AlvorKit.Maths.Primitives. Maths package releases are triggered by changing src/AlvorKit.Maths/version/VERSION on main. Manual runs of the maths package workflow build and upload .nupkg artifacts without publishing.

OpenGL maths overloads

AlvorKit.OpenGL.Maths provides allocation-free vector, matrix, interval, extent, and typed vertex overloads for the generated OpenGL API. It works with raw Gl and is included transitively by AlvorKit.OpenGL.Layer. See the OpenGL maths guide for package use, examples, validation rules, and raw-API escape hatches.

Linting

Run the repository linter from the repository root with scoped includes while iterating:

dotnet run --project scripts\AlvorKit.Script.Lint -- --include "scripts/**/*.cs"

Repeat --include for multiple files, directories, or globs. Use --fix with the same scope to apply supported formatter fixes locally:

dotnet run --project scripts\AlvorKit.Script.Lint -- --fix --include "AGENTS.md"

Run the full repository linter for broad changes or CI parity checks:

dotnet run --project scripts\AlvorKit.Script.Lint

The linter coordinates C# formatting, Prettier checks, EditorConfig checks, and GitHub Actions workflow validation.

Unit test coverage

Run focused coverage for a source project while iterating:

dotnet run --project scripts\AlvorKit.Script.TestCoverage -- --source-project AlvorKit.Script.NativeBuild --threshold 0

The tool runs test projects that reference the selected source project and gates coverage only on that source project. To choose tests explicitly, combine --source-project with --test-project:

dotnet run --project scripts\AlvorKit.Script.TestCoverage -- --source-project AlvorKit.Script.NativeBuild --test-project AlvorKit.Script.NativeBuild.Test --threshold 0

Run the full coverage report for broad changes or CI parity checks:

dotnet run --project scripts\AlvorKit.Script.TestCoverage -- --threshold 0

Open the ReportGenerator HTML report:

$artifacts = Get-Content .\out\coverage\latest-run.json | ConvertFrom-Json | Select-Object -ExpandProperty artifacts
Invoke-Item $artifacts.html

Each run writes isolated artifacts under out/coverage/runs/<run-id>/ by default, and the console output prints the exact agent, human, and HTML report paths. Use --run-id <name> for a stable run directory, or --output-root <path> to place isolated runs under another parent such as out/coverage/agents/<agent-id>/. out/coverage/latest-run.json is a convenience pointer to the most recent run, not a concurrency-safe artifact. The strict coverage gate is the same command without --threshold 0; it fails unless line, branch, and method coverage are all 100%.

Native package builds

Native packages are built by the shared native build runner. To see the configured native packages:

dotnet run --project scripts\AlvorKit.Script.NativeBuild -- list

Build one RID with:

dotnet run --project scripts\AlvorKit.Script.NativeBuild -- build fastnoise2 --rid win-x64

Then pack the native project:

dotnet build -c Release native\fastnoise2\AlvorKit.FastNoise2.Native.csproj

Native package revisions live in native/<lib>/version/REVISION; generated binding package revisions live in native/<lib>/version/BINDING_REVISION. Native build settings live in native/<lib>/conf/native-build.yml.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
3.4.15 104 8/15/2026
3.4.14 242 7/5/2026
3.4.13 132 6/23/2026
3.4.12 153 6/16/2026
3.4.11 126 6/15/2026
3.4.10 114 6/15/2026
3.4.1 108 6/14/2026