champions-of-luneraria/docs/port/logs/u5.5/ab55c-r21-rigid-run1.json
Martin Stickelbroeck c386206876 U5.5-pilot Figuren: Meshy-Kohlenbeißer, Lava-Glut, GPU-Skinning
Pilot für eine generierte Figur: der Kohlenbeißer g01 kommt als Meshy-Ergebnis
in den Port und ersetzt dort das Phase-4-Modell. Eine Figur genügt, um Pipeline,
Bild und Leistung zu bewerten; Anatomie, Gesichter und Haare bleiben
Künstler-Sculpts oder lizenzierte Packs (Vorgabe vom 1. Oktober).

- Meshy-Pipeline unter tools/meshy/: API-Client (meshy.py, Ledger, Schlüssel
  nie geloggt) und Blender-Generator (build_figure.py) aus den unveränderten
  Downloads in assets-source/meshy/g01/. Export über den Manifest-Eintrag
  kohlenbeisser mit "replaces": "g01"; LuneUnitLibraryBuilder hängt die Figur
  zusätzlich unter der Godot-ID ein.
- UV-Material AI_Kohlenbeisser (Familie authored): die Karten der Figur selbst,
  Lava-Glut aus der Albedo-Alpha (Meshy 7.1 ohne Emission-Map) mit _Glow 1,25.
- Schatten ohne Normalen-Versatz (LuneShadowBias, _ShadowNormalScale 0): die
  UV-Naht-Kopien tragen geknickte Normalen; URP ApplyShadowBias zog helle
  Nähte durch den Schatten. Die Figur wirft nur mit Tiefen-Bias.
- GPU-Batched-Skinning (PlayerSettings.meshDeformation, LuneProjectSetup):
  35 Meshy-Kohlenbeißer kosteten mit CPU-Skinning rund 1 ms Haupt- und
  1,7 ms Render-Thread je Bild.
- LuneBenchmark: -luneBenchmarkRound und -luneBenchmarkArmy (Figuren-Stress).
  LuneAssetPreview: LUNE_ONLY für Vorher/Nachher, Trefferframe aus der
  Kontaktzeit des Manifests. FigureViewsTests (Explicit) für die vier
  Spielmomente der Figur.
- Tests: EditMode 29/29, PlayMode 14/14 (6 Explicit), Verify 718/0,
  Player-Selbsttest 30/30, Kerntests 457/457, Fingerabdrücke unverändert
  (DCE95C96556F3A1A, 7B8E43AEFC0D60C5).
- Leistung (A/B im selben Fenster, 35x g01): Meshy -21 % Mid (109,7 zu 138,8)
  und -13 % Karte (91,7 zu 105,6) gegenüber Phase-4. GPU-Skinning hebt Mid
  um 7-27 % und entlastet Haupt- und Render-Thread. Standard-Partie ab Runde 21
  ohne g01 im Bild: drei Varianten bis 6 %.
- Doku: U5-VISUAL (U5.5), PORT-QA, PORT-STATUS, KNOWN-BEHAVIOR-DIFFERENCES;
  Bilder screenshots/u5.5/ und u5.5-gpu/, Rohdaten logs/u5.5/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 14:14:59 +02:00

15 lines
1.7 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",
// moving units at the start of the first window: w04 14, e03 12, w06 11, g04 10, g02 9, g06 9, w02 7, e04 6, e05 6, e06 6, e01 4, e02 4, g08 4, g10 4, w08 4, w10 4, g05 2
"windows": [
{"view": "overview (zoom 64)", "frames": 2111, "fps": 105.5, "frame_ms_avg": 9.48, "frame_ms_median": 6.70, "frame_ms_p95": 21.69, "frame_ms_p99": 26.92, "frame_ms_max": 42.71, "frames_over_16_7_ms": 295, "of_them_with_simulation_step": 33, "gc_collections": 27, "simulation_ms_per_frame": 0.142, "views_ms_per_frame": 0.321, "ui_ms_per_frame": 0.109, "units_alive_max": 116},
// timings overview (zoom 64): main thread avg 3.93 / median 3.75 / p95 5.65 ms, render thread avg 4.70 / median 4.56 / p95 6.00 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 5.54 / median 2.52 / p95 17.60 ms
{"view": "mid lane close (zoom 22)", "frames": 1347, "fps": 134.5, "frame_ms_avg": 7.43, "frame_ms_median": 6.00, "frame_ms_p95": 15.87, "frame_ms_p99": 19.84, "frame_ms_max": 24.29, "frames_over_16_7_ms": 52, "of_them_with_simulation_step": 8, "gc_collections": 9, "simulation_ms_per_frame": 0.085, "views_ms_per_frame": 0.416, "ui_ms_per_frame": 0.106, "units_alive_max": 63}
// timings mid lane close (zoom 22): main thread avg 3.68 / median 3.48 / p95 5.32 ms, render thread avg 4.30 / median 4.20 / p95 5.48 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 3.75 / median 2.19 / p95 12.43 ms
]
}