# Aegis Labyrinth – Changelog / Version History

> Zentrales **Version-Log** für das Game (`Aegis-Labyrinth.html`) **und** die Test- & Audit-Suite.
> Es beantwortet die Frage: *„Welche Version hat das Game und wie ist es dorthin gekommen?"*
>
> **Konvention:**
> - Chronologisch, neuestens oben.
> - Versionsschema: SemVer `MAJOR.MINOR.PATCH` (z. B. `1.0.2`).
> - Einträge: `## [Version] – [YYYY-MM-DD]` + Stichpunkte (Neu / Geändert / Fix / Impact).
> - Jede Code-/Doku-Änderung an Game oder Suite wird hier **und** in `docs/05_Tasks_Backlog.md` vermerkt.
>
> **Single Source of Truth für die laufende Version:**
> - Game: `const GAME_VERSION` in `Aegis-Labyrinth.html`
> - Suite: `version` in `package.json`

---

## Aktuelle Versionen (Snapshot)

| Komponente | Version | Quelle |
|---|---|---|
| **Game** (`Aegis-Labyrinth.html`) | **`1.0.2`** | `const GAME_VERSION = '1.0.2';` |
| **Test- & Audit-Suite** | **`1.0.0`** | `package.json → version` |
| Skilltree-Schema (Persistenz) | `2` | `const SKILLTREE_VERSION = 2;` |
| Campaign-Progress-Schema | `1` | `saveCampaignProgress()` payload `version:1` |
| Custom-Level-Schema | `1` | `saveCustomLevel()` payload `version:1` |

> ⚠️ `SKILLTREE_VERSION` / Persistenz-`version`-Felder sind **Schema-Versionen** (kompatibles Lesen/
> Schreiben von `localStorage`), **keine** Spiel-Release-Versionen. Nicht mit `GAME_VERSION` verwechseln.

---

## Game – `Aegis-Labyrinth.html`

### [1.0.2] – 2026-08-29 (aktuell)

- **Status:** Laufende Version, in `Aegis-Labyrinth.html` als `GAME_VERSION` gepinnt.
- **Features (laut aktueller Source):**
  - Single-File-Browser-Game (HTML/CSS/JS, keine Build-Schritte).
  - Kampagne mit Levelauswahl (`Level 0–11`), Normal + Endless-Modus.
  - Skilltree (`SKILL_MAX_LEVEL = 3`, `SKILLTREE_VERSION = 2`) + Campaign-Progress in `localStorage`.
  - **Leveleditor** mit Custom-Layout-Speicherung (`CUSTOM_LEVEL_KEY`, `version:1`-Schema).
  - Debug-Konsole (F12) + In-Game-Debug-API `window.__AEGIS_DEBUG__`.
  - Drei eingebaute Audits: `runSelfAudit`, `runExtensionAudit`, `runRedesignAudit`.
  - i18n-Grundstruktur (`data-i18n`-Attribute, `options`/`help`).
- **Impact:** Version, die die Test-Suite in `tests/*` primär gegenläuft.

### [1.0.x] – vorherige Releases

> **Hinweis:** Für frühere Versionen (`1.0.0`, `1.0.1`, …) liegt **kein** nachvollziehbares
> Commit-/Changelog-Verzeichnis vor (Git-Verzeichnis im Repo ist aktuell nicht initialisiert).
> Die ersten Releases sind daher nur als *historisch* vermerkt; Details wurden nicht rekonstruiert.

- `[1.0.0]` – Initialer Release (Grundgerüst: Map, Tower-Placement, Wave-Loop, Debug-API).
- `[1.0.1]` – Erweiterte Debug-/Audit-Funktionalität, Skilltree v2-Persistenz.
- `[1.0.2]` – Leveleditor + Custom-Layout-Persistenz, i18n-Grundlagen (aktueller Stand).

> ⚠️ Die drei letzten Punkte sind **Rekonstruktion aus der Source** (Feature-Inventar), **nicht**
> aus Git-History. Sobald Git inititialisiert ist, bitte durch echte Commits ersetzen/verifizieren.

---

## Test- & Audit-Suite

### [1.0.0] – 2026-08-28 (aktuell)

- **Neu:** Vollständige Playwright-Suite: `audit.mjs`, `selfplay.mjs`, `perf-test.mjs`, `report.mjs`.
- **Neu:** Doku-Set `docs/01–06` (Debug-API, Audits, CI, Resultate, Tasks/Backlog, Refactoring-Advisory).
- **Geändert:** README auf Test-Suite-Framing umgestellt; Hinweis auf manuelle `Aegis-Labyrinth.html`.
- **Fix:** CI-Gate prüft `summary.fail` (statt nicht existierendem `"failed"`); Schemata an echten Skript-Output angepasst.
- **Impact:** Suite lauffähig & dokumentiert; Details in `docs/05_Tasks_Backlog.md` §2.

---

## Analyse- & Änderungs-Log (laufend)

> Jeder Arbeitsschritt, den **diese Assistenten-Sitzung** an Game oder Suite vornimmt oder analysiert,
> wird hier mit Datum + Kurzbeschreibung festgehalten. Abgeschlossene, größer werdende Tasks zusätzlich
> in `docs/05_Tasks_Backlog.md` §2 spiegeln.

### [2026-08-29] Version-Erfassung etabliert

- **Analyse:** `GAME_VERSION = '1.0.2'` in `Aegis-Labyrinth.html` identifiziert; Suite auf `1.0.0` (`package.json`).
- **Geändert:** Diese Datei (`CHANGELOG.md`) angelegt – zentrales Version-/Changelog-Register.
- **Neu:** „Aktuelle Versionen (Snapshot)" + Schema- vs. Release-Versionen entkoppelt.
- **Impact:** Versionsstand ist jetzt auf einen Blick dokumentiert und nachvollziehbar.