Grid Placement

Composition + injection (5.0)

5.0 projects typically wire GridBuilding through a composition container and an injector pattern.

The intent (5.0)

  • Centralize dependency wiring (settings, state, references) so scene nodes do not hand-wire everything.
  • Allow test environments to stand up “the whole stack” by instantiating a known scene.

Common 5.0 wiring pattern

1
2
3
4
5
6
7
Scene root
GBInjectorSystem / composition container
Systems (BuildingSystem, ManipulationSystem, GridTargetingSystem, IndicatorManager)
Shared state objects (mode/targeting/building/manipulation)

Testing implication (5.0)

Some features require a full environment scene to exist (not a minimal unit harness).

Example from the 5.0-era manipulation architecture notes:

  • Minimal collision test scenes are good for geometry/collision math.
  • But manipulation workflow tests require an “all systems” environment so that:
    • ManipulationSystem exists
    • ManipulationParent exists
    • targeting/building/indicator systems are present

This is one of the reasons the later 5.1/6.0 architecture tries to push more logic into testable services and shrink the engine glue surface.