Skip to content

feat(presentation): Versionsnummer permanent unten links (#103) - #111

Merged
cubetribe merged 4 commits into
mainfrom
feat/s21-version-hud
Aug 18, 2026
Merged

feat(presentation): Versionsnummer permanent unten links (#103)#111
cubetribe merged 4 commits into
mainfrom
feat/s21-version-hud

Conversation

@cubetribe

Copy link
Copy Markdown
Collaborator

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: bundleVersion steht jetzt auf 0.21.0 (vorher unangetastet 1.0) und wird über Application.version gelesen. Es entsteht keine VERSION-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: BuildCommitStamp schreibt 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.unity lag 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

🤖 Generated with Claude Code

cubetribe and others added 4 commits August 18, 2026 14:31
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
cubetribe force-pushed the feat/s21-version-hud branch from 4e4ce3e to 87b1260 Compare August 18, 2026 12:31
@cubetribe
cubetribe merged commit 6e8a908 into main Aug 18, 2026
6 checks passed
@cubetribe
cubetribe deleted the feat/s21-version-hud branch August 18, 2026 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant