Neuer Raum-Zuschau-Selektor für viele Räume: statt einer langen Leiste ein Auswahl-Chip mit Automatik (dein Raum, sonst der spannendste), Suche und Top-5-Liste
Zoom-Schalter im Viewer — ran/raus, für Desktop und Mobil getrennt gespeichert; auf Handy/App zeigt „ran" den gewählten Tower mit seiner Reichweite, „raus" die Feldmitte mit allen Reichweiten
Boss-Leiste auf Mobile/App läuft jetzt als Overlay — das Spielfeld springt beim Boss-Erscheinen nicht mehr
Sound-Schalter vereinfacht: nur noch die Geräte-Wahl entscheidet, was du hörst (die getrennte Ein/Aus-Abschaltung je Sound ist weg)
Rim-Karte blendet den Schaden-Anteil aus, solange nur ein Tower im Run ist (Solo-Run)
Tower-Karte hält jetzt ihre Höhe, sobald Laser oder Gatling im Raum sind
Zoom-Lupen im Querformat sitzen jetzt unten links in der Ecke
Login-Hinweis im Desktop-Viewer zeigt nur noch den Namen, ohne Draws-Zähler
Unter der Haube
Große Skalierungs-Serie: Räume laufen jetzt optional über eigene Worker-Threads (SIM_WORKERS), mit einem Balancer, der Runs auf freie Worker verteilt, bei Überlast eine Warteschlange mit Spieler-Hinweis zeigt und Vorfälle mitschneidet. Raum-Eingaben, Chat-Beitritt, Run-Ende und Admin-Zugriffe laufen über eine feste Raum-Grenze. Spielverlauf bitidentisch, solange SIM_WORKERS=0 bleibt
Admin-Tab „Raum-Balancer" mit Worker-Auslastung, Warteschlange und einer Detail-Ansicht je Worker (24-Stunden-Verlauf)
Neue Raum-Übersicht-Schnittstelle (Welle, Zuschauer, Namen, Suche) als Grundlage für den Zuschau-Selektor
WebSocket-Grenzen: Zuschauer-Deckel je Raum, eigener Schlüssel für die Stream-Quelle, damit die nie ausgesperrt wird
Interne Abfrage-Seite für Perf-/Betriebsauswertungen (schlüsselgeschützt, read-only, nirgends verlinkt)
A/B/C-Test für den Gegner-Zeichenweg im Viewer, zur Messung möglicher Performance-Gewinne
CSS-Aufräumarbeiten (ungescopte Klassen reduziert) ohne sichtbare Änderung
Diverse Test- und Prozess-Härtungen (eigene Test-Datenbank je Lauf, Kopfkommentar-Längen-Check, Testdateien im Temp-Ordner statt im Repo)