Patch-Notes / v0.2.5

Patch-Notes v0.2.5

22.06.2026

Neu

  • Fokus-Set statt Einzelfokus — du kannst jetzt mehrere Attribute gleichzeitig anhaken. Jede Stat-Zeile im Info-Panel hat eine Checkbox am Zeilenende: Klick vorne auf die Zeile setzt deinen Fokus auf genau dieses Attribut (alle anderen ab), Klick auf die Checkbox am Zeilenende toggled nur diese eine. Credits fliessen per Cheapest-Cascade in die angehakte Teilmenge. Alle angehakt = heutiger AllMode; genau einer angehakt = heutiger Einzelfokus. Das ALL-Badge auf der Tower-Card entfaellt. Der AllMode-Button bleibt als Schnellschalter fuer "alle an / wieder auf einen reduzieren".
  • Endscreen im Highscore-Tabellen-Stil — die Run-Auswertung nach Game-Over ist neu gebaut: farbiges #n-Pill statt Farbname, Waffen-Darstellung im Highscore-Stil, kein Ueberlappungs-Problem mehr bei vielen Towern oder langen Achievement-Reihen. OBS und Browser zeigen jetzt denselben Endscreen (kein isObsMode-Sonderweg mehr). Die Dashboard-Highscore ist visuell angeglichen.

Fix

  • DPS- und Income-Graph flackerte — nach dem Perf-Update (srv-103) sprangen die Graphen jeden Snapshot (Linienpunkte rutschten seitlich). Ursache: index-basierte Dezimierung unter rutschendem Ring. Behoben durch zeit-gebucketete Dezimierung — Stützpunkte bleiben jetzt stabil.
  • Viewer war ungestyled nach CSS-Restrukturierungtokens.css wurde unter dem falschen Pfad geladen (404). Behoben — Viewer lädt die Tokens wieder korrekt via /static/.
  • Upgrade-Button nach Draw sofort aktiv — bislang musste man nach einem Draw die Seite neu laden, damit der Upgrade-Button erschien wenn ein Stapel auf drei Karten kam. Behoben durch Server-Fragment-Swap analog zum Upgrade-Pfad.

Unter der Haube

  • DPS- und Income-Graph stark entlastet (srv-103)drawDpsGraph war mit 28 % der teuerste Frame-Zeit-Posten im Viewer (mehr als das gesamte Spielfeld-Rendering). Jetzt: Dezimierung auf max. 100 Renderpunkte statt 480 + GPU-transform-Scroll statt Per-Frame-setAttribute. Optisch unveraendert, CPU-Last deutlich reduziert.
  • Rim-Cards-Render entlastet (srv-104)renderRimCards war mit 27 % der zweitteuerste Posten. Element-Refs werden jetzt gecacht und Text-Updates auf Snapshot-Aenderungen gegated statt jeden Frame neu gebaut.
  • Draws-Datenmodell aufgeteilt (web-163) — Game-Draws (Chat-Tower-Achievements) und Twitch-Draws (Sub/Follower/Channel-Points) liegen jetzt in getrennten Feldern. Die angezeigte ausgebbare Zahl bleibt die Summe beider Toepfe. Vorbereitung fuer Multi-Game-Erweiterung (Phase 0 — vorerst nur Chat Tower als Konsument).
  • Deploy-Drain verbessert (ops-028) — ein laufender Run wird beim Deploy jetzt am Run-Ende sauber abgebrochen (statt erst beim Idle-Timeout). Das Drain-Fenster verkuerzt sich dadurch erheblich.
  • Schema-Migration 030users.twitch_draws INT NOT NULL DEFAULT 0 (additiv, ADD COLUMN IF NOT EXISTS). Prod hat bisher Migration 029; diese Migration ist vollstaendig rueckwaertskompatibel. Rollback manuell via ALTER TABLE users DROP COLUMN twitch_draws (forward-only analog 029).