Fester Simulationstakt und Ansichten, die nur lesen; Nachweis, dass die Partie
bei jeder Bildrate dieselbe ist.
- LuneClock: Akkumulator, ganze Schritte zu 0,05 s, Alpha zum Interpolieren.
- LuneMatchRunner: Host-Ablauf einer Bot-Partie (Planung über die
Befehlsschnittstelle, Kampf im festen Takt, Abrechnung, nächste Runde);
LuneMatchDriver reicht in Update nur Bildzeit weiter.
- LuneTrace: Fingerabdruck der Partie (jeder Schritt, jede Abrechnung) und der
reine Kernlauf zum Vergleich.
- Ansichten: LuneMatchView, LuneUnitView (interpolierte Position, Blickrichtung,
Clips aus Kampfereignissen, Teamring, Lebensbalken), LuneBuildingView mit
Einsturz und Ruine aus den autoritativen HP, Turmblitze, LuneCameraRig wie
lune_camera.gd, vorläufige Debug-Anzeige (kein HUD; U3 portiert das G3-HUD).
- Einheitenbibliothek: Kohlenbeißer aus 131 Teilen zu einem Mesh, Animator-
Controller mit den Blender-Clips, Ring- und Balkenmeshes, Markermaterialien.
- Tests: EditMode (30/60/120 fps, unbegrenzt, Ruckler, 8x Tempo; Seed 2 und
Seed 9 ab Runde 21) und PlayMode in der Szene bei echten Bildraten 30, 60,
120 und unbegrenzt: überall derselbe Fingerabdruck wie der Kern.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Projekt mit Unity 6.3 LTS (6000.3.20f1, Personal) geöffnet: ProjectSettings,
.meta-Dateien, URP-Global-Settings, packages-lock.json.
- Manifest auf die benötigten Pakete zurückgeführt; Unity hatte beim ersten
Öffnen Vorlagenpakete ergänzt (Purchasing, Analytics, Collab, XR, 2D, Navigation).
- Test Runner: Die U1-Suiten laufen unverändert als EditMode-Tests; mit
LUNE_TEST_REPORT schreiben .NET und Unity dasselbe JSON-Protokoll (SuiteReport).
- Golden-Vergleich zusätzlich je Fachbereich (Gold, HP, Positionen, Türme,
Ancients, Wellen, Helden, Boss, Gewinner, ...). Nur Bericht; Testwerte und
Prüfungsanzahl unverändert.
- Diagnose: FloatProbe (Kern-Arithmetik gegen Godot-Bits und Auswertungsart der
Laufzeit), DivergenceTrace und tools/port/trace_diff.py (erster abweichender
Schritt), CoreBenchmark für .NET und Editor, CoreBatch als -executeMethod-Einstieg.
- .NET-Harness baut nach tools/out/, weil Unity Temp/ beim Beenden löscht.
- .gitignore ignoriert nur noch die csproj/sln im Projektwurzelverzeichnis;
die Projektdateien des .NET-Harness fehlten deshalb in U1 und kommen jetzt dazu.
Stand dieses Commits im Unity-Editor (Mono): 4 von 5 Suiten grün; golden
152/157, weil Mono float32-Zwischenwerte doppelt genau rechnet (Teil 2/2).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Grundgerüst des Unity-Ports von Champions of Luneraria: Paketliste nur mit
Paketen, die Unity 6000.3.20f1 mitbringt (URP, Shader Graph, Input System,
Test Framework, uGUI, Recorder, Newtonsoft JSON), und Git-Ausnahmen für
Unity-Arbeitsordner. Referenz ist der Godot-Stand luneraria/g3 (1b540f2).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>