Panda3D.Framework.Build 0.1.0-preview.13

This is a prerelease version of Panda3D.Framework.Build.
dotnet add package Panda3D.Framework.Build --version 0.1.0-preview.13
                    
NuGet\Install-Package Panda3D.Framework.Build -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.Build" 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.Build" Version="0.1.0-preview.13" />
                    
Directory.Packages.props
<PackageReference Include="Panda3D.Framework.Build" />
                    
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.Build --version 0.1.0-preview.13
                    
#r "nuget: Panda3D.Framework.Build, 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.Build@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.Build&version=0.1.0-preview.13&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Panda3D.Framework.Build&version=0.1.0-preview.13&prerelease
                    
Install as a Cake Tool

Panda3D.Framework.Build

The Panda3D.Framework resource pipeline, delivered as an MSBuild-only NuGet package — it ships no runtime assembly and emits no mounting code. One PackageReference folds egg2bam, multifile (.mf) packing, and asset copy into dotnet build / run / publish, driven entirely from item groups in your .csproj over the Panda3D.Tools native CLIs (pulled in transitively, host-RID-selected).

What it does

Three composable stages, keyed off a single piece of metadata (Bundle):

  1. Build — run source art through a processor (.egg/.egg.pz.bam via the built-in Egg2Bam, or your own PandaProcessor for blend2bam, palettize, shader compilers, …).
  2. Packmultify the results into .mf bundles.
  3. Deploy — copy loose files and finished bundles next to the build output ($(OutDir)), carried into dotnet publish at the same layout.

An asset tagged Bundle="x.mf" is packed into that bundle; without Bundle it is loose-copied. Built models carry their referenced textures automatically, and a texture edit re-triggers the bam build (dependency tracking via the transitively referenced Panda3D.ModelDeps analyzer).

Item groups

Item Role
PandaEgg .egg/.egg.pz.bam (sugar for a PandaResource bound to the built-in Egg2Bam).
PandaResource any input run through a processor (matched by extension, or an explicit Processor=).
PandaProcessor a named, reusable build rule (Command or Tool+Args, Extensions, output naming).
PandaContent loose-copied to the content root, or staged for packing when Bundle is set.
PandaBundle a bundle's identity: Compression (0–9) and extra multify Options.

Common metadata: Bundle (target .mf; unset = loose copy), BundlePath (layout inside the bundle), Options (extra tool flags passed through), TrackTextures.

Usage

From a game's .csproj — build the source eggs to .bam and pack them into ralph.mf next to the executable:

<ItemGroup>
  <PackageReference Include="Panda3D.Framework.Build" Version="1.11.0-*" />
</ItemGroup>

<ItemGroup>
  <PandaEgg Include="../models/*.egg.pz" Bundle="ralph.mf" />
  <PandaBundle Include="ralph.mf" Compression="6" />
</ItemGroup>

The pipeline stops at artifacts and emits no mount code — when and how to mount ralph.mf into the VFS (a C# VirtualFileSystem.Mount call, or a vfs-mount line in your .prc) is a runtime one-liner the game owns. See docs/04-resources.md.

License

BSD-3-Clause.

There are no supported framework assets in this 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.1.0-preview.13 73 8/3/2026
0.1.0-preview.11 73 8/1/2026
0.1.0-preview.5 93 7/20/2026