|
|
PixelBullet
0.0.1
A C++ game engine
|
The production dependency direction is:
Backends do not depend on framework or executable consumers. Framework code does not depend on editor, tool, example, or product code. Products and applications do not include concrete backend headers.
| Lane | Ownership and consumers |
|---|---|
| engine/include/pixelbullet | Backend-neutral source-level public API for first-party workspace consumers |
| engine/src | Private neutral implementation and internal adapters |
| engine/integration | Named repository-internal cross-domain contracts |
| engine/backend | Concrete backend mechanics and backend test support |
| focused _test_support targets | Test-only access without widening production visibility |
Root engine aggregates are composition targets, not dependency shortcuts. First-party production and test targets depend on the focused header, implementation, integration, or test-support target they actually use.
The policy-locked top-level engine/integration categories are:
Add a category only for a stable cross-domain contract with multiple first-party consumers and update the repository policy inventory with it. Generally useful backend-neutral behavior belongs in public engine API; single-owner implementation detail stays with its implementation or backend.
Important current seams include:
There are no known first-party scene-play schema headers under engine/include/pixelbullet/scene.
Known public scene-play-like headers: none.
Generic scene entities, transforms, prefab resolution, serialization, and render extraction remain engine-owned. First-party gameplay schema and registration are framework-owned:
Scene registers engine-neutral components by default. CreateScenePlayScene, CreateScenePlayPrefabAsset, and RegisterScenePlayComponents supply the framework registration set. Deserialization and nested prefab resolution preserve the caller's registration set.
tests/engine covers supported engine behavior and API. tests/internal/engine covers private engine and backend behavior. Framework and editor tests use owner-provided focused test-support targets. A test is not justification to make an internal integration facade public or to widen production visibility.