Das G3-HUD ist abgenommen; der Meilenstein U3 ist damit fertig. - Prüfung (Port von verify_g3, Teile A–H plus I): 718 Prüfungen ohne Fehler. Teil I prüft die Feld-Darstellung um das HUD (U3-Zugabe aus dem Motivvergleich): Aufstellungsflächen, Grotteneingang, ruhender Boss, Namensschilder, Eigentümer-Ring, Ancient-Balken. - Feld um das HUD: Namensschilder für Helden (mit Stufe), Angriffs- champions und den eingesetzten Boss („für Blau“), Eigentümer-Ring, Ancient-Balken bei Schaden, ruhende Schlundkrone auf dem Podest, eigener Grotteneingang, Aufstellungsflächen als eigene Objekte. - Schriften korrigiert: Die Referenz deklariert Cantarell 560/700–760 und Cinzel 700, wendet die Gewichte aber nie an (variation_opentype mit dem String-Schlüssel „wght“ wird von Godot ignoriert). G3 zeigt Regular 400, der Port ebenso — Cinzel-Regular statt Bold, keine Kontur zur Aufdickung. Laufweite aus spacing_glyph umgerechnet; dunkler Saum als Schatten statt TextCore-Kontur. - Werkzeuge: HudViewsTests (14 G3-Motive), HudPlaytest (Spieltest über die echte Oberfläche per Befehlsdateien), ui_ms_per_frame im LuneBenchmark. Layout folgt den echten Panelhöhen, Kamera startet wie Godot _ready auf der eigenen Lane. - Tests: EditMode 23/23, PlayMode 13/13, Kerntests 402/402, Verify 718/0. Fingerabdrücke der Bot-Partien unverändert (DCE95C96556F3A1A, 7B8E43AEFC0D60C5). - Bilder: 14 Motive bei 1920×1080, Auflösungen 1152×720 bis 2560×1440, Prüf-Schlüsselbilder, Spieltest-Screenshots. - Leistung (macOS-Player mit HUD, 116 Einheiten): 169 fps Übersicht, 218 fps Mid nah; HUD-Skripte 0,090 bzw. 0,078 ms je Bild. - Dokumentation: U3-UI (U3D, Schriftbefund), PORT-QA (U3), PORT-STATUS (U3 fertig, U4 nächster Schritt), KNOWN-BEHAVIOR-DIFFERENCES. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
14 lines
1.5 KiB
JSON
14 lines
1.5 KiB
JSON
{
|
|
"build": "OSXPlayer player, 6000.3.20f1, release",
|
|
"device": "Mac17,2; Apple M5; Apple M5",
|
|
"graphics_api": "Metal",
|
|
"resolution": "1920x1080",
|
|
"vsync": 0,
|
|
"match": "seed 9 from round 21 (fixture high_wave_21), speed 1x, measured after 10 s of combat",
|
|
"windows": [
|
|
{"view": "overview (zoom 64)", "frames": 3384, "fps": 169.2, "frame_ms_avg": 5.91, "frame_ms_median": 4.60, "frame_ms_p95": 13.05, "frame_ms_p99": 20.17, "frame_ms_max": 24.97, "frames_over_16_7_ms": 74, "of_them_with_simulation_step": 3, "gc_collections": 28, "simulation_ms_per_frame": 0.094, "views_ms_per_frame": 0.309, "ui_ms_per_frame": 0.090, "units_alive_max": 116},
|
|
// timings overview (zoom 64): main thread avg 2.77 / median 2.75 / p95 3.94 ms, render thread avg 3.22 / median 3.23 / p95 3.59 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 3.14 / median 1.45 / p95 10.49 ms
|
|
{"view": "mid lane close (zoom 22)", "frames": 2180, "fps": 218.0, "frame_ms_avg": 4.59, "frame_ms_median": 3.90, "frame_ms_p95": 9.60, "frame_ms_p99": 14.09, "frame_ms_max": 20.30, "frames_over_16_7_ms": 3, "of_them_with_simulation_step": 0, "gc_collections": 10, "simulation_ms_per_frame": 0.044, "views_ms_per_frame": 0.332, "ui_ms_per_frame": 0.078, "units_alive_max": 63}
|
|
// timings mid lane close (zoom 22): main thread avg 2.35 / median 2.40 / p95 3.06 ms, render thread avg 2.88 / median 2.85 / p95 3.32 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 2.24 / median 1.46 / p95 7.33 ms
|
|
]
|
|
}
|