8 UMLSequenceAllInOne 128 216 1392 336 title=Game loop in the backend obj=engine.ecal\nmoveLoop()~a obj=engine.ecal\nmoveObject()~b obj=engine.ecal\nexecuteAction()~c obj=engine.ecal\ncollisionDetection()~d obj=game/game-controller.ts\nupdatePushHandler()~e gate->a:Pulse trigger main.gameloop a->b:loop over game objects a->c:loop over game objects b->e:send state update to all websockets a->d:loop over game objects a->e:send object removals to all websockets