feat(presentation): Versionsnummer permanent unten links (#103) - #111
Merged
Conversation
Ein VersionBadge auf eigenem UIDocument zeigt in jedem Zustand unten links 'v0.21.0 - <commit>'. Bewusst NICHT Teil der Match-HUD-Schicht: die wird beim Menuewechsel aus- und eingeblendet (#102), die Versionsanzeige nicht. bundleVersion steht ab jetzt auf 0.21.0 und ist die eine Versionsquelle; gelesen wird sie ueber Application.version. Der Commit kommt aus BuildInfo.Commit (D-094) und nicht aus einem zweiten Stempel: BuildCommitStamp schreibt ihn als Build-Hook vor JEDEM Player-Build, also traegt ihn auch ein Build aus der Unity-GUI. Ein zusaetzlicher Stempel aus den Packaging-Skripten waere eine zweite Quelle, die genau dann von der ersten abweicht, wenn jemand von Hand baut. Umsetzung durch den Kimi-K3-Worker. Der Worker hat den doppelten Mechanismus im Auftrag erkannt und gemeldet statt ihn umzusetzen; die Umstellung auf BuildInfo.Commit und die Ruecknahme der Packaging-Aenderungen stammen daher. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Der Batchmode-Compiler weist sortOrder ab; das Feld heisst sortingOrder. Genau der Punkt, den der Worker als 'aus der Unity-Doku, nicht gegen Projektnutzung verifiziert' gemeldet hatte. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ur im Generator Die eingecheckte Szene stammte vom 8. August (#28); der Generator hat sich seither dreimal bewegt (#80, #82 und dieser PR). Eine nur im Generator verdrahtete Komponente ist im Spiel schlicht nicht vorhanden — deshalb muss die Szene mit. Erzeugt per Batchmode ueber Tools/Project Nova/Create Bootstrap Scene. Geprueft: 9 -> 10 GameObjects (das neue VersionBadge-Objekt), alle Kernkomponenten unveraendert vorhanden. Der grosse Zeilendiff ist Unitys YAML-Umsortierung beim Neuschreiben, keine inhaltliche Aenderung. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Der PlayMode-Test wurde rot: statt 'v0.21.0 - dev (Editor)' stand 'v0.21.0 - e650864-dirty' im Badge. Ursache ist, dass BuildCommitStamp seine Stempeldatei git-ignoriert im Arbeitsbaum liegen laesst; eine Editor-Session nach irgendeinem lokalen Player-Build liest damit dessen Commit und behauptet, dieser Build zu sein. Der Worker hatte diese Weiche bewusst gesetzt und begruendet; sie ist beim Umstellen auf BuildInfo.Commit von mir entfernt worden. Jetzt beides: die Editor-Weiche zuerst, BuildInfo.Commit fuer echte Builds. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
cubetribe
force-pushed
the
feat/s21-version-hud
branch
from
August 18, 2026 12:31
4e4ce3e to
87b1260
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Schliesst #103. Teil von Paket 21.8 (Beta-Tor).
Was sich ändert
Unten links steht in jedem Zustand — Hauptmenü wie laufendes Match — welcher Stand läuft:
v0.21.0 · dev (Editor)im Editor,v0.21.0 · <commit>im Build.Eine Versionsquelle:
bundleVersionsteht jetzt auf0.21.0(vorher unangetastet1.0) und wird überApplication.versiongelesen. Es entsteht keineVERSION-Datei und keine zweite Quelle.Der Commit kommt aus
BuildInfo.Commit(D-094) und nicht aus einem neuen Stempel. Das war eine Korrektur am ursprünglichen Auftrag:BuildCommitStampschreibt den Hash bereits als Build-Hook vor jedem Player-Build, also trägt ihn auch ein Build aus der Unity-GUI. Ein zweiter Stempel nur aus den Packaging-Skripten hätte genau dann abgewichen, wenn jemand von Hand baut — und eine Anzeige, die über den laufenden Build lügt, ist schlimmer als keine.Das Badge liegt bewusst auf einem eigenen UIDocument, nicht in der Match-HUD-Schicht: die wird beim Menüwechsel geschaltet (#102), die Versionsanzeige darf das nie.
sortingOrder = 1, sonst läge sie unter dem Vollbild-Key-Art des Menüs.PickingMode.Ignore, sie fängt keine Klicks.Die Editor-Weiche ist Absicht
Im Editor wird der Stempel nie gelesen, auch wenn einer im Arbeitsbaum liegt. Grund, von einem roten Test gefunden: die Stempeldatei ist git-ignoriert und überlebt den Build, der sie geschrieben hat — eine Editor-Sitzung nach irgendeinem lokalen Player-Build würde sonst behaupten, dieser Build zu sein. Steht so im Kommentar, damit es niemand wegoptimiert.
Die Szene musste mit
Bootstrap.unitylag seit dem 2026-08-08 (#28) unverändert im Repo, während sich der Generator dreimal bewegt hat (#80, #82, dieser PR). Eine nur im Generator verdrahtete Komponente ist im Spiel nicht vorhanden. Die Szene ist per Batchmode neu erzeugt; geprüft: 9 → 10 GameObjects (das neue Badge-Objekt), alle Kernkomponenten unverändert. Der grosse Zeilendiff ist Unitys YAML-Umsortierung.Nachweis
NetworkPanel_ValidatesMasks…) ist auforigin/mainbereits rot — Gegenprobe gegen unberührtes main gefahren, siehe PlayMode-Test NetworkPanel_ValidatesMasks… ist auf main rot — und niemand sieht es, weil die CI keine Unity-Tests fährt #110dotnet test tools/Nova.SimRunner.Tests— 726/726VersionBadgeTests(PlayMode) pinnt Format, Nicht-Klickbarkeit, eigenes Dokument und SortierungMainMenuTests.MenuDocument()repariert: mit zwei UIDocuments in der Szene warFindAnyObjectByTypemehrdeutig🤖 Generated with Claude Code