
282 V GameEngineDesign
Event management was later implemented though not as a central part of the core.
Events were used within the transform aspect to correctly propagate updates of
node positions to their children, then used in relation to collision events between
physics objects, and finally were implemented within the scene graph to facilitate
asynchronous operations on the structure of the scene graph, processing insertions
and removals. In hindsight it would have been more efficient to implement event
handling from the outset even if it meant proceeding with a less efficient design.
Development of the aspects progressively added functionality to