PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
Packaging And Distribution

The repository model defines support posture. This guide defines the current concrete package.

Intentional Package

//packaging:bundle_editor_release is the only intentional packaged output. Its extracted layout is:

build_output/
bin/
pixelbullet-editor
pixelbullet-scene-runner
editor/assets/
shared/assets/

Executable suffixes and runtime support libraries are platform-specific. BulletSketch and the generic runner are siblings so Run Standalone works without the repository working directory or PATH.

Asset Closure

The editor package contains:

  • BulletSketch-owned editor/assets;
  • the shared runtime-core allowlist for boot-critical shaders, runtime UI, fallback materials/models/textures, and the small default scene support;
  • runtime support libraries required by the platform.

It does not contain the full shared/assets depot, external import sources, or complete authored lab/example closures. The @shared alias remains valid; the package supplies only its deliberate runtime-core subset.

Bazel development runs use runfiles and may access the full workspace depot. An extracted package resolves only its packaged closure.

Non-Packaged Surfaces

  • Level Slice, World Sandbox, Behavior Lab, and Combat Lab have no executable or bundle.
  • Material, Physics, and Sprite Gallery are buildable examples with full shared runfiles and no gallery-specific bundles.
  • There is no current product package.

Packaging a surface requires an owner, consumer, closure, support policy, and validation lane. Location under examples, tools, or products alone does not provide those facts.

Proof

Bundle layout tests prove both executable siblings and the narrow asset allowlist. artifact_smoke is the broad artifact/build lane. build_editor_release is the canonical local packaging helper. Package validation does not imply that workspace-only authored content is supported in the extracted archive.