FS.GG.Game.Physics.Box2D 0.17.0

Prefix Reserved
dotnet add package FS.GG.Game.Physics.Box2D --version 0.17.0
                    
NuGet\Install-Package FS.GG.Game.Physics.Box2D -Version 0.17.0
                    
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="FS.GG.Game.Physics.Box2D" Version="0.17.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FS.GG.Game.Physics.Box2D" Version="0.17.0" />
                    
Directory.Packages.props
<PackageReference Include="FS.GG.Game.Physics.Box2D" />
                    
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 FS.GG.Game.Physics.Box2D --version 0.17.0
                    
#r "nuget: FS.GG.Game.Physics.Box2D, 0.17.0"
                    
#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 FS.GG.Game.Physics.Box2D@0.17.0
                    
#: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=FS.GG.Game.Physics.Box2D&version=0.17.0
                    
Install as a Cake Addin
#tool nuget:?package=FS.GG.Game.Physics.Box2D&version=0.17.0
                    
Install as a Cake Tool

FS.GG.Game.Physics.Box2D

An opt-in .NET 10 adapter for Box2D.NET 3.1.654. Own a Runtime, submit an ordered command list once per fixed tick, and render the copied immutable Snapshot values. Core retains its FSharp.Core/BCL dependency boundary; this package has no rendering dependency.

The first contract supports one centred circle or box fixture per static, kinematic or dynamic body, forces, impulses and rigid distance joints between body origins. Units are metres, seconds, kilograms, and counterclockwise radians with +Y up. Public doubles are validated and converted to the engine's single precision. Command batches with invalid, unknown or duplicate IDs refuse before any mutation. Removing a body removes its joints; removed shape events retain their entity IDs for that tick. An engine exception stops further stepping; dispose that runtime. Each runtime belongs to one simulation owner. Allocation and disposal are serialized across adapter instances because Box2D.NET uses a process-global world-slot table. Independent worlds may step concurrently; direct engine world lifetime calls outside this adapter must not race adapter allocation/disposal.

Runtime.Step always uses its configured fixed interval and substeps. Drive it with Game.Core's FixedStep.drain if presentation frames vary, and use the remaining fraction for Physics.interpolate. Retained observations survive later steps and disposal. Interpolation does not capture contacts or hidden solver state and cannot implement rollback.

The repository's real headless entry point uses a falling body, floor, sensor and distance joint, and compares 240 ticks in two fresh worlds with the same ordered recorded input. Replay comparisons cover only the declared dependency, runtime and solver profile. Public installed consumer qualification, product adoption, browser support, cross-platform determinism, and exact rollback require their own qualification.

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
0.17.0 90 10/4/2026