Panda3D.Framework.Abstractions
0.1.0-preview.13
dotnet add package Panda3D.Framework.Abstractions --version 0.1.0-preview.13
NuGet\Install-Package Panda3D.Framework.Abstractions -Version 0.1.0-preview.13
<PackageReference Include="Panda3D.Framework.Abstractions" Version="0.1.0-preview.13" />
<PackageVersion Include="Panda3D.Framework.Abstractions" Version="0.1.0-preview.13" />
<PackageReference Include="Panda3D.Framework.Abstractions" />
paket add Panda3D.Framework.Abstractions --version 0.1.0-preview.13
#r "nuget: Panda3D.Framework.Abstractions, 0.1.0-preview.13"
#:package Panda3D.Framework.Abstractions@0.1.0-preview.13
#addin nuget:?package=Panda3D.Framework.Abstractions&version=0.1.0-preview.13&prerelease
#tool nuget:?package=Panda3D.Framework.Abstractions&version=0.1.0-preview.13&prerelease
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 defaultrenderroot 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,Gameplay0,Intervals20,Collision30,Render50,Audio60, …).IClockTickSource— marker for a service that already advances the clock (soAddClockwon'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 | 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.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.Options (>= 8.0.2)
- Panda3D.Async (>= 1.11.0-preview.6)
- Panda3D.Interop (>= 1.11.0-preview.4122)
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 |