package loop import ( "github.com/Zyko0/go-sdl3/sdl" "ponger/ecs" "ponger/events" "ponger/render" "ponger/tree" ) func New(game ecs.IsGameObject, window *sdl.Window, renderer *sdl.Renderer) func() error { now := sdl.Ticks() return func() error { next := sdl.Ticks() delta := next - now err := tree.Process(game, events.Delta(delta), renderer) if err != nil { return err } render.Render(game, renderer) err = renderer.Present() if err != nil { return err } now = next return nil } }