Panda3D.Framework.Abstractions 0.1.0-preview.13

This is a prerelease version of Panda3D.Framework.Abstractions.
dotnet add package Panda3D.Framework.Abstractions --version 0.1.0-preview.13
                    
NuGet\Install-Package Panda3D.Framework.Abstractions -Version 0.1.0-preview.13
                    
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="Panda3D.Framework.Abstractions" Version="0.1.0-preview.13" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Panda3D.Framework.Abstractions" Version="0.1.0-preview.13" />
                    
Directory.Packages.props
<PackageReference Include="Panda3D.Framework.Abstractions" />
                    
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 Panda3D.Framework.Abstractions --version 0.1.0-preview.13
                    
#r "nuget: Panda3D.Framework.Abstractions, 0.1.0-preview.13"
                    
#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 Panda3D.Framework.Abstractions@0.1.0-preview.13
                    
#: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=Panda3D.Framework.Abstractions&version=0.1.0-preview.13&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Panda3D.Framework.Abstractions&version=0.1.0-preview.13&prerelease
                    
Install as a Cake Tool

Panda3D.Framework.Abstractions

The contracts package every other Panda3D.Framework library and all gameplay code compile against: interfaces, options types, shared parameter types, and the frame-slot constants. No behavior, no registration — this is the seam that keeps the framework container-agnostic and lets client and server share one gameplay assembly.

Provides

  • IGameClock — injected, read-only view of the engine's global clock (Dt, FrameTime, RealTime, FrameCount).
  • IFrameScheduler / IScheduledTask — the gameplay-facing scheduling contract (AddFrameTask, AddTimed, AddFixedStep, DelayFrames); handles are disposable.
  • ISceneManager — the 3-D world roots: a default render root plus named, get-or-create independent roots.
  • FrameContext / TaskResult — the per-frame task signature shared by host tasks and scheduler tasks, so both live in one ordering space.
  • FrameSlots — the shared per-frame sort scale (DataLoop −50, Events −1, Gameplay 0, Intervals 20, Collision 30, Render 50, Audio 60, …).
  • IClockTickSource — marker for a service that already advances the clock (so AddClock won't double-tick).

The per-frame task shape both registration paths use:

TaskResult Tick(FrameContext ctx)  // ctx: Services, Dt, Stopping
    => keepGoing ? TaskResult.Continue : TaskResult.Done;

Depends only on Microsoft.Extensions.DependencyInjection.Abstractions and Microsoft.Extensions.Options (abstractions only) — no concrete container, no hosting. Implementations and the AddXxx() registration methods live in the owning modules (Hosting, Scheduling, Rendering, …), never here.

Part of Panda3D.Framework; the Panda3D.Framework umbrella package pulls in every library plus the bindings and native runtimes.

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

NuGet packages (12)

Showing the top 5 NuGet packages that depend on Panda3D.Framework.Abstractions:

Package Downloads
Panda3D.Framework.Scheduling

Gameplay-facing scheduling and time: IFrameScheduler over native task-manager tasks, IGameClock over the global clock, and clock pacing.

Panda3D.Framework.Events

The C#/Panda event seam: the per-frame queue-drain pump replacing direct's messenger, plus INamedEventBus and IObservable notifications.

Panda3D.Framework.Rendering

The Panda3D rendering chain as DI services: engine/pipe/GSG, per-output views (window or offscreen), camera rigs, the 2D overlay, and the igLoop render task.

Panda3D.Framework.Intervals

Cutscene/tween timelines on Panda's native CInterval system: Sequence/Parallel/Lerp, node lerps, managed intervals, awaitable playback.

Panda3D.Framework.Audio

Audio lifecycle, 3-D attachment tracking, and awaitable sound completion over Panda's native AudioManager and AudioSound bindings.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-preview.13 112 8/3/2026
0.1.0-preview.11 117 8/1/2026
0.1.0-preview.5 109 7/20/2026