champions-of-luneraria/docs/luneraria/S4-FEINSCHLIFF.md
Martin Stickelbroeck 7b86973197 S4 Feinschliff: Betäubung sichtbar, Nebel im Gelände, Glyphe für Gäste
Betäubungs-Ring über dem Kopf (Gäste über Bit 18 der Rahmen-Flags),
Nebel-Gitter LuneFogOverlay mit Shader Luneraria/FogOverlay aus
LuneFog.Vision (10 Hz, weiche Kante), laufende Glyphe je Team als vier
Zusatzwerte nach den Gebäude-Lebenspunkten. Reine Darstellung.
Kern 627/627 (s4 8), EditMode 35/35, PlayMode 20/20, Verify 718/0,
Selbsttest 30/30, Golden 0, Fingerabdruck unverändert.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 17:55:42 +02:00

32 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# S4 · Feinschliff: Betäubung, Nebel im Gelände, Glyphe für Gäste
Stand: 11. Oktober 2026 · Branch `luneraria/s4-feinschliff` (von `luneraria/h2-brunhild`).
Auftrag: „1 und 2 durchführen“. Punkt 1 ist der Feinschliff aus S3 und H2 ohne Meshy-Credits, Punkt 2 die Zusammenführung zum Hauptstand (siehe unten).
![Nebel in der Übersicht](../port/screenshots/s4/spiel/01-nebel-uebersicht.jpg)
## Inhalt
| Punkt | Umsetzung |
| --- | --- |
| Betäubung sichtbar | Ein goldener Ring kreist über dem Kopf jeder betäubten Einheit (`LuneUnitView`, Marker `StunRing`). Gäste sehen ihn ebenfalls: Der Host überträgt den Zustand als Bit 18 in den Flags des Kampfrahmens (`LuneUnit.NetStunned`, `ShowsStun()`) |
| Nebel im Gelände | `LuneFogOverlay` ist ein Gitter aus 2-m-Zellen über die ganze Karte, das dem Gelände folgt (0,45 m darüber). Die Deckkraft der Gitterpunkte wird zehnmal pro Sekunde aus den Sichtquellen berechnet, mit weicher Kante von 2 m: außerhalb jeder Sicht 55 % Nachtblau, innerhalb klar. Shader `Luneraria/FogOverlay` (transparent, Deckkraft aus den Vertexfarben). Die Sichtquellen kommen aus `LuneFog.Vision`; dieselbe Funktion steuert das Ausblenden. Der Nebel ist nur aktiv mit erweiterten Regeln und einem menschlichen Sitz |
| Glyphe für Gäste | Der Kampfrahmen hängt an die Gebäude-Lebenspunkte vier Werte an: je Team die Lane der laufenden Glyphe und die Restsekunden. Gäste setzen damit `GlyphLane`/`GlyphUntil` und sehen den Glyphen-Ring. Ältere Gäste lesen nur die Gebäudewerte und ignorieren den Rest |
Die Simulation ist unberührt: Betäubungs-Ring, Nebel-Gitter und Gast-Glyphe sind reine Darstellung.
## Tests und Nachweise
| Prüfung | Ergebnis |
| --- | --- |
| Kern (.NET 8) | 627/627, darunter **s4 8**: Über die Loopback-Verbindung sieht der Gast die Glyphe von Blau auf Mid, den Mid-Turm als geschützt und die Betäubung genau einer Einheit; Host und Gast zählen gleich viele Sichtquellen |
| Golden und Fingerabdrücke | 0 Abweichungen; `DCE95C96556F3A1A` unverändert |
| Unity EditMode | 35/35 |
| Unity PlayMode | 20/20, neu `S4PolishViewsTests.S4Views`: Nebel aktiv, eigener Ancient im Licht (< 5 %), gegnerischer Ancient im Nebel (> 50 %), Betäubungs-Ring sichtbar, kein Nebel unter den Referenzregeln. Verify A–I 718/0 |
| Player-Selbsttest | macOS 30/30 |
| Leistung | Benchmark (Bot-Partie, sechs Brunhilds): Karte 148,6–151,5 fps, Mid nah 163,4–167,3 fps, Ansichten 0,19–0,22 ms. Der Benchmark hat keinen menschlichen Sitz, der Nebel ist dort also aus. Nicht gemessene Schätzung für den Nebel: 1.521 Gitterpunkte gegen 50–90 Sichtquellen, zehnmal pro Sekunde |
Bilder in `docs/port/screenshots/s4/spiel/`:
1. Nebel in der Übersicht
2. Nebelgrenze auf Mid
3. Betäubung