PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
Graphics And Asset Contract

This module page records the stable asset and renderer contract. Future work is kept in the graphics roadmap.

Source And Runtime Layout

Curated third-party source inputs live under shared/assets/imports/external/. Bulk source archives remain outside the repository.

Source Location
HDR environment shared/assets/imports/external/environments/<name>/<name>.exr
Retained glTF model shared/assets/imports/external/models/<group>/<asset>/<asset>.glb
Retained tiled-material source shared/assets/imports/external/materials/<name>/...

Each third-party source folder carries ATTRIBUTION.txt with its source URL and license note.

Generated runtime outputs use ownership-specific locations:

  • environments: shared/assets/environments/imported/<name>/...;
  • imported glTF outputs: the existing models/materials/prefabs/textures/imported/... hierarchy;
  • tiled material textures: shared/assets/textures/material_maps/<name>/...;
  • tiled material definitions: shared/assets/materials/material_maps/<name>.material.yaml.

Raw .exr files are import sources. Authored scenes reference imported environment assets rather than treating source HDR files as runtime environments.

Stable Rendering Contract

  • Public graphics API is backend-neutral; Vulkan implementation is backend private.
  • Scene render extraction produces neutral render data.
  • Mesh payload value types are graphics-owned; mesh formats and import remain asset-owned.
  • Material value types used by rendering are graphics-owned; material file IO remains asset-owned.
  • Renderer-facing mesh, material, environment, and texture loads cross focused integration facades.
  • World and owned-view render buckets keep independent descriptors and draw state even where immutable pipeline bundles are shared.
  • Development shader compilation and persistent pipeline/SPIR-V caches are best-effort runtime behavior, not authored asset formats.

The full ownership map is in Rendering and UI and Assets and Serialization.

World Sandbox Reference Contract

The authored World Sandbox is the graphics-first reference surface for environment mood, lighting, material response, scale, sightlines, composition, and traversal space.

  • World scale is 1 unit = 1 meter.
  • Support-bound instances are placed from the support surface and transformed bounds rather than pivot alone.
  • The lab remains authored content run through BulletSketch and the generic scene runner; it is not a product or graphics-specific executable.
  • Gameplay, mission, logic, and combat pressure remain covered by their representative labs rather than being duplicated into World Sandbox.

Validation

graphics_asset_contract_tests protects the reference scene, external-source layout, attribution, and generated hot-path artifacts. Renderer, asset, serialization, importer, editor authoring, and scene-play suites own their focused behavioral proof. A gallery build proves composition and linkage; the representative-scene matrix records what each authored surface actually proves.