## Goal A stack of layers and overlays that receive updates and events in order. ## Tasks - [ ] `Layer` base class: `OnAttach()`, `OnDetach()`, `OnUpdate(Timestep)`, `OnEvent(Event&)`, `OnImGuiRender()` - [ ] `LayerStack`: internal `std::vector<Layer*>`, layers inserted before overlays - [ ] `PushLayer(Layer*)`, `PushOverlay(Layer*)`, `PopLayer()`, `PopOverlay()` - [ ] Iterate front-to-back for `OnUpdate`, back-to-front for rendering - [ ] `Event::Handled` flag stops propagation down the stack ## Acceptance Criteria Pushing two layers and one overlay results in correct update/event ordering verified by log output.
Goal
A stack of layers and overlays that receive updates and events in order.
Tasks
Layerbase class:OnAttach(),OnDetach(),OnUpdate(Timestep),OnEvent(Event&),OnImGuiRender()LayerStack: internalstd::vector<Layer*>, layers inserted before overlaysPushLayer(Layer*),PushOverlay(Layer*),PopLayer(),PopOverlay()OnUpdate, back-to-front for renderingEvent::Handledflag stops propagation down the stackAcceptance Criteria
Pushing two layers and one overlay results in correct update/event ordering verified by log output.