Skip to content

[CORE] Implement Application layer with main loop and Timestep #12

Description

@mrgreenapple24

Goal

The Application class drives the engine loop with delta time, and manages subsystem lifetime.

Tasks

  • Application class with Init(), Run(), Shutdown()
  • Main loop: calculate DeltaTime using std::chrono::high_resolution_clock
  • Timestep wrapper class — implicit float conversion, GetSeconds(), GetMilliseconds()
  • OnEvent(Event&) method — propagates events down the layer stack
  • Subsystem init order in Init(): Log → Memory → Window → Renderer → ImGui
  • Subsystem shutdown in reverse order in Shutdown()
  • Application stores a static Application* s_Instance for global access

Acceptance Criteria

App loop runs, delta time is computed correctly, subsystems init and shut down in correct order.

Metadata

Metadata

Assignees

No one assigned

    Type

    No fields configured for Task.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions