|
|
PixelBullet
0.0.1
A C++ game engine
|
This index records only decisions that remain constraints on current work. Git history carries implementation chronology.
Decision: arbitrary authored scenes run through BulletSketch Play in Viewport, BulletSketch Run Standalone, or tools/scene_runner. An authored lab does not receive a dedicated executable that only hardcodes its scene and wraps ScenePlayLayer.
Consequence: Level Slice, World Sandbox, Behavior Lab, and Combat Lab are content surfaces. A thin executable remains valid only when its source teaches a distinct composition decision, as tracked by the surface taxonomy.
Decision: a product executable is a composition root over product-owned session rules and interactive adapters. It owns RunSession and the complete product lifecycle rather than delegating its purpose to ScenePlayLayer or the generic runner.
Consequence: title, icon, logger identity, clear color, or a hardcoded shared scene are insufficient product responsibilities. Generic authored-scene execution and optional future product launch integration remain separate.
Decision: YAML assets are editable content schemas owned by engine or framework modules. They are not an ABI for dynamically loaded gameplay plugins.
Consequence: schema compatibility is intentional and format-specific. C++ ownership may change with first-party consumers, while serialized names and tokens change only through an explicit content migration.
Decision: the editor bundle packages BulletSketch, the generic runner, and the shared runtime-core allowlist rather than the broad shared depot.
Consequence: authored labs and galleries remain workspace content unless a separate deliverable defines and validates their closures. Future detached content belongs above filesystem alias resolution in a source/catalog/cache model.