feat(hud): Dreier-Konsole mit Finimeter und Tiefenmesser

Statt zweier Zahlenfelder jetzt zwei Zeigerinstrumente links und rechts vom
Luft-Ring - wie eine echte Tauchkonsole. Der Ring bleibt in der Mitte, weil die
Restzeit die Zahl ist, auf die es ankommt.

- Finimeter 0-300 bar, roter Bereich = Reserve unter reservePressure
- Tiefenmesser 0-depthDialMax, roter Bereich = Tiefengrenze des Atemgases. Der
  faengt bei Pressluft bei 45 m an und bei Trimix erst bei 100 m - der
  Gefahrenbereich haengt also an der getragenen Flasche. Gibt es real nicht,
  hilft im Spiel aber sofort beim Einschaetzen
- Skalenzahlen bewusst weggelassen: bei 96 px kollidieren sie mit allem und
  liest ohnehin niemand. Zeiger zeigt die Tendenz, die Zahl in der Uhr den Wert
- Zeiger und Wert faerben sich rot, sobald der rote Bereich erreicht ist

Beim Bauen gefunden: CSS transform-origin auf dem Zeiger wird zusaetzlich zum
rotate(winkel 50 50) im Attribut angewendet, der Drehpunkt wandert dadurch
doppelt und der Zeiger landet ausserhalb der Uhr. transform-origin ist raus.

README-Renderings auf die Konsole umgebaut.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 09:55:45 +02:00
co-authored by Claude Opus 5
parent 64b2549cf9
commit 30c40c9f69
10 changed files with 404 additions and 201 deletions
+10 -5
View File
@@ -9,16 +9,20 @@ die bei Animationen nicht mehr verschwindet.
> Die Bilder sind maßstabsgetreue Renderings des Overlays aus denselben Werten wie
> `nui/style.css` — keine In-Game-Aufnahmen. Erzeugt mit `docs/gen-hud-svg.mjs`.
**Normal** — Luft, Tiefe, Fülldruck, Lampe an
Eine Dreier-Konsole wie am echten Tauchgerät: **Finimeter** links, Restluft als
Ring in der Mitte, **Tiefenmesser** rechts.
**Normal** — Druck im grünen Bereich, flach getaucht, Lampe an
![HUD, normaler Zustand](docs/hud-normal.svg)
**Warnung**Restluft unter der ersten Schwelle, Tiefe über `deepWarningDepth`,
Druck unter `reservePressure`
**Warnung**Zeiger in der Reserve (roter Bereich ab `reservePressure`),
Restluft unter der ersten Schwelle, Tiefe über `deepWarningDepth`
![HUD, Warnstufe](docs/hud-warnung.svg)
**Kritisch**letzte Sekunden, der Ring pulsiert
**Kritisch**unter der Tiefengrenze des Atemgases: der Zeiger steht im roten
Bereich des Tiefenmessers, die Uhr pulsiert, Tiefenrausch läuft
![HUD, kritischer Luftstand](docs/hud-kritisch.svg)
@@ -186,7 +190,8 @@ auf z.B. `2`.
| `hudOnlyUnderwater` | `false` | Auf `false` schon sichtbar, sobald die Ausrüstung an ist — Finimeter ablesen ohne Inventar |
| `hudFollowGameHud` | `true` | Mit dem Spiel-HUD ausblenden |
| `hudToggleKey` | `''` | Eigene Taste, leer = unbelegt |
| `reservePressure` | `50` | Ab hier wird die Druckanzeige rot |
| `reservePressure` | `50` | Roter Bereich des Finimeters, ab hier färbt sich der Zeiger |
| `depthDialMax` | `100.0` | Skalenende des Tiefenmessers. Tiefer schlägt der Zeiger an, die Zahl stimmt weiter |
**Lampe**