## 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.
Goal
The Application class drives the engine loop with delta time, and manages subsystem lifetime.
Tasks
Applicationclass withInit(),Run(),Shutdown()DeltaTimeusingstd::chrono::high_resolution_clockTimestepwrapper class — implicitfloatconversion,GetSeconds(),GetMilliseconds()OnEvent(Event&)method — propagates events down the layer stackInit(): Log → Memory → Window → Renderer → ImGuiShutdown()static Application* s_Instancefor global accessAcceptance Criteria
App loop runs, delta time is computed correctly, subsystems init and shut down in correct order.