jengine 0.4.6

Personal roguelike game engine.
Documentation
# jEngine Architectural Roadmap (AI-Ready)

This document contains discrete, bite-sized modules for the evolution of jEngine. Each section is designed to be used as a standalone prompt for an AI agent.

---

## Module 3: Professional UI Layout Engine

**Context:** UI layout is currently manual and brittle. Developers calculating pixel offsets leads to messy code.

**Task:**

1. **Aesthetics:** Update `BorderStyle` in `src/ui/mod.rs` to use Unicode box-drawing characters: `┌ ┐ └ ┘ ─ │` and `╔ ╗ ╚ ╝ ═ ║`.
2. **Layout Logic:** In `src/ui/widgets.rs`, implement `VStack` and `HStack` containers.
3. Implement `Alignment` (Start, Center, End) and `Padding`.
4. Use the "Intrinsic Width" helper from Module 1 to calculate child positions.

**Information:**

* This should be an **Immediate Mode** layout: calculate positions on the fly during the draw call.

**DO NOT:**

* Implement a complex Retained Mode UI. Keep it simple and functional.

**Verification:**

* Draw a centered menu with multiple lines of varying font sizes using only declarative layout calls.

---

## Module 4: The "Glass Box" Debug Inspector

**Context:** Development is currently "blind." We need a toggleable overlay to see engine vitals and ECS state.

**Task:**

1. Implement a `DebugInspector` toggleable via `F1`.
2. Show Live FPS, Frame-time, and a searchable list of all entities in the `World`.
3. Overlay `geometry.rs` shapes (AABBs, Circles) as wireframe quads on top of sprites.
4. For debug inspector to be available, the game has to be ran with --debug option

**Verification:**

* Press `F1` and verify you can see the entity count change as particles spawn and die.

---

## Module 5: Post-Processing Stack

**Context:** The `ScanlinePass` is currently a hardcoded single effect. We need a modular stack for "Juice."

**Task:**

1. Refactor `ScanlinePass` into a generic `PostProcessEffect` trait.
2. Implement a `PostProcessStack` in `Renderer` that can chain effects like **Vignette**, **Bloom**, and **Chromatic Aberration**.

**Verification:**

* Toggle scanlines, vignette, and bloom independently in a test scene.