# Phase 20A · Hauptmenü, Bundauswahl und visuelle Identität · QA Stand: 27. September 2026. Testumgebung: Fedora Linux 44 (KDE Plasma, XWayland/X11), AMD Ryzen 5 5600X, NVIDIA GeForce RTX 5060 Ti (Vulkan 1.4.351), Godot 4.7.2 (Fedora-Build für das Quellprojekt, offizielles Release-Programm für das Linux-Paket). Die Messwerte gelten nur für diese Umgebung. ## Automatisierte Prüfungen | Prüfung | Ergebnis | Beleg | | --- | ---: | --- | | Menüabnahme: Bundwahl per Maus und Tastatur, alle Partieoptionen, Esc, Eingabeschutz, Bühnenisolation, Start, Rückkehr, Neustart, Ergebnisbildschirm, reduzierte Bewegung, 1280×720 / 1920×1080 / Größenänderung | 68 bestanden (je Start in 1280×720 und 1920×1080) | [verify-menu-1280x720.log](phase20-logs/verify-menu-1280x720.log), [verify-menu-1920x1080.log](phase20-logs/verify-menu-1920x1080.log), [phase20-menu-verification.json](phase20-menu-verification.json) | | Wirtschaft, Kampf, Lebenszyklus | 209 bestanden | [test-runner.log](phase20-logs/test-runner.log) | | Fähigkeitsauslöser | 33 bestanden | [ability-events.log](phase20-logs/ability-events.log) | | Glasballiste-Rig | 44 bestanden | [verify-glass.log](phase20-logs/verify-glass.log) | | Smoke / Assets / Bedienung (Quellprojekt) | 463 bestanden | [smoke-test.log](phase20-logs/smoke-test.log) | | Expedition, drei KI-Partien | 206 bestanden | [expedition-test.log](phase20-logs/expedition-test.log) | | Fähigkeiten, Bedienung, vier KI-Partien | 1.665 bestanden | [faction-test.log](phase20-logs/faction-test.log) | | Bedienung mit Grafik, inkl. Mindestfenster 1152×720 (`--faction-test --ui-only`) | 128 bestanden | [faction-ui-graphical.log](phase20-logs/faction-ui-graphical.log) | | Release-Vorprüfung | 0.15.0 · 11 Manifeste · 6 Skelettmodelle | `python3 tools/build_demo.py --check-only` | | Linux-Paket, Vulkan, 1920×1080 | 473 bestanden | [package-linux-vulkan-smoke.log](phase20-logs/package-linux-vulkan-smoke.log) | | Linux-Paket, OpenGL, 1280×720 | 473 bestanden | [package-linux-opengl-smoke.log](phase20-logs/package-linux-opengl-smoke.log) | | Linux-Paket, vier KI-Partien | 1.665 bestanden | [package-linux-faction.log](phase20-logs/package-linux-faction.log) | | Windows-Spieldaten (mit Godot unter Linux) | Smoke 463, Fraktion 1.665 bestanden | [package-windows-smoke.log](phase20-logs/package-windows-smoke.log), [package-windows-faction.log](phase20-logs/package-windows-faction.log) | | Archive | CRC fehlerfrei, Programm-Hashes = Buildmanifest, LIESMICH 0.15.0, drei Schriftlizenzen | [phase20-package-check.json](phase20-package-check.json) | Die KI-Partien enden mit denselben Kernwerten wie vor der Phase (Fraktion: [1244, 1709] · [1709, 1244] · [1244, 1244] · [3000, 3000]; Smoke-Partie [3000, 1035]). Wirtschaft, Kampf, KI und Fähigkeiten sind unverändert. ### Offen angepasste Tests - **Neu:** `tools/verify_menu.gd` sowie 13 Paket-Smoke-Prüfungen (450 → 463): sieben Menügrafiken, drei Menüschriften, das Menü-Diorama und das Bühnen-Manifest (vorhanden, gültig). - **Unverändert:** Die bisherigen Prüfungen nutzen `hud._overlay_action`, `_faction_pickers`, `_mode_picker` und `_overlay_title` weiter. Diese Namen verweisen jetzt auf die neuen Bauteile mit derselben `select()`-/`item_selected`-Schnittstelle. Erwartungswerte wurden nicht geändert. - In `verify_menu.gd` wurden zwei eigene Prüfungen während der Entwicklung korrigiert: Klicks scrollen das Einstellungspanel erst in Sicht, und die Partieprüfung berücksichtigt die regulär aufgestellte Rivalenformation. ## Laufzeit und Ladezeit `tools/menu_benchmark.tscn`, VSync aus, 2,5 s Aufwärmen, 6 s Messung. Vorher = Phase-13-Menü mit gerenderter Arena dahinter. | | Bild (Mittel / p95) | GPU | Render-CPU | Draw Calls | Grafikspeicher | erstes Bild | | --- | ---: | ---: | ---: | ---: | ---: | ---: | | Menü vorher 1280×720 | 2,15 / 2,87 ms | 2,10 ms | 0,36 ms | 677 | 554 MB | 746 ms | | **Menü nachher 1280×720** | **1,82 / 2,42 ms** | **1,75 ms** | **0,27 ms** | **397** | **917 MB** | **1.243 ms** | | Menü vorher 1920×1080 | 3,42 / 4,20 ms | 3,33 ms | 0,41 ms | 677 | 673 MB | 752 ms | | **Menü nachher 1920×1080** | **3,30 / 4,03 ms** | **3,24 ms** | **0,30 ms** | **397** | **1.055 MB** | **1.225 ms** | | Bauphase nachher 1920×1080 | 3,46 / 4,29 ms | 3,38 ms | 0,49 ms | 931 | 1.299 MB | – | - Während das Menü sichtbar ist, rendert nur die Bühne. Die Arena dahinter wird ausgelassen (`disable_3d`). In der Partie ist die Bühne abgeschaltet: kein Bild-Update, keine Verarbeitung, gemessen nur noch ein Viewport. - Das erste Bild erscheint etwa 0,48 s später. Die Formationen laden in Hintergrundthreads und sind in diesen Läufen zum ersten Bild bereit (Menüprüfung: 0,9 s nach Szenenstart). - **Grafikspeicher +360 bis +380 MB im Menü:** Die Bühne lädt die Ringborke mit ihren 4K-Holztexturen, die vorher erst im Spiel geladen wurden. Die Bühne bleibt für eine schnelle Rückkehr ins Menü im Speicher. Auf Grafikkarten mit wenig Speicher ist das ungetestet. - Paket-Ladezeiten und Messungen auf anderer Hardware liegen nicht vor. ## Sichtprüfung [Vorher](screenshots/phase20/before) · [Nachher](screenshots/phase20/after) · [Gegenüberstellung](screenshots/phase20/comparison.png) · [Bewegung und Übergänge, 16,9 s](screenshots/phase20/menu-reel.mp4) ([GIF](screenshots/phase20/menu-reel.gif)). Geprüft in 1280×720 und 1920×1080: Titel, Bundauswahl beider Bünde, erweiterte Einstellungen, Tastaturfokus, Optionen, Ergebnisbildschirm, Spielansicht nach dem Start sowie das Paketmenü unter Vulkan und OpenGL. ## Offen - Kein nativer Windows-Lauf, keine menschlichen Bedien- und Lesbarkeitstests. - 21:9, 4K/HiDPI, andere GPU-Hersteller und Grafikkarten mit wenig Speicher sind ungetestet. - Bei 16:9 liegt im Spiel jetzt heller Spielfeldbelag unter der halbtransparenten rechten Seitenleiste; das gehört zu Phase 20B (HUD).