champions-of-luneraria/README.md
Martin Stickelbroeck 9bf397e765 U1.5 Unity Core Integration (2/2): explizite float32-Rundung, Nachweise
Befund: Unitys Mono 6.13 rechnet float32-Zwischenwerte doppelt genau
(ECMA-335 I.12.1.3). Der erste Editor-Lauf fand 5 von 157 Golden-
Abweichungen: Blickrichtung bis 1,6e-3 rad; in mirror_match Runde 7 verliert
eine Einheit in Schritt 599 ihr Ziel, und der Kampf dauert 4,8 s länger.
Eine Toleranz ist dafür nicht begründbar.

Maßnahme: Vec2 rundet jeden Zwischenwert explizit auf float32 (conv.r4).
Keine Regeländerung, R1 unverändert. .NET 8: 402/402, Golden 0, Trace
byteidentisch zu vorher. Unity-Editor (Release und Debug): 402/402, Golden
bitgleich in allen Bereichen, Float-Probe 4000/4000.

- CoreIntegrationTests: keine Engine-Referenzen im Kern, Float-Arithmetik
  wie Godot.
- docs/port/U1.5-UNITY.md: Versionen, Lizenz, Pakete, Tests, Golden je
  Bereich, Float-Befund, Editor-Benchmark, fehlende Build-Module.
- docs/port/KNOWN-BEHAVIOR-DIFFERENCES.md mit "Legacy defects retained for
  parity" (R1) und F1.
- Protokolle unter docs/port/logs/u1_5/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:22:36 +02:00

1.3 KiB

Champions of Luneraria · Unity

Drei-Lane-Autobattler 3 gegen 3 (Mischung aus Dota 2 und Legion TD 2), portiert von Godot nach Unity.

  • Engine: Unity 6.3 LTS (6000.3.20f1), URP.
  • Zielplattformen: Fedora 44, Windows 11. macOS ist die Entwicklungsplattform.
  • Referenz: ../saumwacht-godot, Zweig luneraria/g3 (1b540f2).

Aufbau

  • Assets/Luneraria/Core/: Regelkern ohne Unity-Abhängigkeit (Luneraria.Core).
  • Assets/Luneraria/Tests/Core/: Prüfsuiten mit Golden-Referenzen aus Godot, Diagnose (Float-Probe, Schritt-Trace, Benchmark); laufen im Unity Test Runner und mit dem .NET SDK.
  • tools/: .NET-Projekte (Ausgabe nach tools/out/), Godot-Referenzwerkzeuge, Portwerkzeuge.
  • docs/port/: Stand, Entscheidungen und QA je Meilenstein (PORT-STATUS.md).

Befehle

Kerntests mit dem .NET SDK (Protokoll nach $LUNE_TEST_REPORT, Standard tools/out/):

sh tools/run_core_tests.sh

Dieselben Tests im Unity Test Runner:

/Applications/Unity/Hub/Editor/6000.3.20f1/Unity.app/Contents/MacOS/Unity -batchmode -projectPath "$PWD" -runTests -testPlatform EditMode -testResults "$PWD/tools/out/editmode-results.xml" -logFile -

Leistung (.NET bzw. Editor über -executeMethod Luneraria.Core.Tests.CoreBatch.Benchmark):

dotnet run -c Release --project tools/dotnet/Luneraria.Core.Bench