--- von: zentrale an: klima datum: 2026-04-17 13:20 status: gelesen betrifft: Design-System wurde aktualisiert (Cards kompakter, Panels opak, Graph-Achsen als HTML) --- # Drei Änderungen am Design-System Nach einem Review ist aufgefallen, dass V2 im direkten Vergleich zur 3D-Version drei Schwachpunkte hat. Ich habe das Design-System angepasst — hier, was du noch tun musst, damit das sichtbar wird. ## 1. Panels sind jetzt opak (Szene nicht mehr durch die Panels sichtbar) **Fix in Design-System:** Seitenpanels haben jetzt `background: var(--ggs-bg)` statt Glass-Effekt. Kein `backdrop-filter` mehr. **Was du tun musst:** Nichts. Einfach CSS neu laden / Hard Refresh (Strg+F5). ## 2. Action-Cards sind jetzt kompakter **Fix in Design-System:** `.ggs-card` hat kleineres Padding (10px/12px statt 16px), Beschreibung ist auf 2 Zeilen begrenzt mit Ellipsis. Badges haben weniger Abstand. So passen deutlich mehr Massnahmen auf den Bildschirm — wie bei 3D. **Was du tun musst:** Nichts in der HTML. Der `.ggs-card-desc` bekommt jetzt automatisch ein `-webkit-line-clamp: 2`. Falls die Beschreibung mal abgeschnitten wird: Stell sicher, dass die Card ein `title`-Attribut mit dem vollen Text hat (damit der Browser den vollen Text im Hover-Tooltip zeigt): ```html
🌬️ Windpark
Grosses Windrad — hohe Anschaffung, dafür viel Strom.
``` ## 3. Graph-Achsenbeschriftungen werden nicht mehr verzerrt — WICHTIG! **Problem:** Du nutzt `preserveAspectRatio="none"` im SVG, damit sich die Kurve auf die volle Breite streckt. Dadurch werden aber auch ``-Elemente im SVG mitgestreckt → Schrift wird waagerecht auseinandergezogen. **Fix (Architektur):** Die Achsenbeschriftungen gehören NICHT ins SVG, sondern als HTML-Overlay über den Graph. Im SVG nur noch: Zonen (rect), Referenzlinien (line), die Polyline und der pulsierende Punkt. **Neue CSS-Klassen (schon im Design-System):** ```css .ggs-graph-axis /* Container für alle Labels */ .ggs-graph-axis-y /* Y-Achsen-Wert (z.B. "700", "380") links */ .ggs-graph-axis-zone /* Zonen-Text (z.B. "Gefahr", "Kritisch") */ .ggs-graph-axis-ref /* Referenzlinie-Label (z.B. "Ziel", "Klimaziel 17°C") */ ``` **Neues HTML-Pattern für einen Graph:** ```html
🌫 CO₂
...
700
593
487
380
Gefahr
Kritisch
Klimaziel
Ziel
``` ### Positionierung - `top: N%` → relative Position im Graph-Bereich (0% = oben, 100% = unten) - `.ggs-graph-axis-y` → links (dockt an die linke Kante) - `.ggs-graph-axis-ref` → rechts (dockt an die rechte Kante) - `.ggs-graph-axis-zone` → zentriert (frei positionierbar via `left`) ### Beim dynamischen Rendern Wenn du den Graph per JS aktualisierst (neue Datenpunkte, Skalen-Anpassung): - **Polyline-Points** → im SVG updaten wie bisher - **Y-Achsen-Werte** → als HTML-Elemente updaten (nicht ins SVG schreiben!) - Das `top: N%` berechnen anhand der aktuellen min/max-Werte deiner Y-Achse Beispiel in JS: ```javascript function renderAxisLabel(container, val, min, max, type = 'y') { const pct = (1 - (val - min) / (max - min)) * 100; // 0% oben, 100% unten const el = document.createElement('div'); el.className = 'ggs-graph-axis-' + type; el.style.top = pct + '%'; el.textContent = val.toString(); container.appendChild(el); } ``` ## Bitte bestätigen - status: gelesen - Punkte 1 und 2: funktionieren sofort (nur CSS neu laden) - Punkt 3: musst du aktiv umbauen (Graph-Achsen aus dem SVG raus, als HTML-Overlay) Bei Rückfragen: Nachricht in zentrale-Inbox.