Credits screen: one attribution list, reachable from the main menu #16

Merged
nibu merged 7 commits from nibu/credits-screen into master 2026-11-12 16:27:17 +00:00
Member

Credits screen backed by one attribution list in Aetheria.Shared. Credits every third-party work whose own text states holder and licence: fonts (Ubuntu, Montserrat from embedded notices, with UFL 1.0 and OFL 1.1 texts), shader header notices (Unity MIT, Supyrb, ACES, Ashima/Gustavson), icons. Tests: discovery of licence files, source-header scan, unreferenced-font review following SDF guids and fallback tables; each mutation-checked. Soul passes: clean at 63403c844 apart from low gaps in the header scan. Not run in Unity: menu focus and the 82-row detail pane. GameData untouched.

🤖 Generated with Claude Code

Credits screen backed by one attribution list in Aetheria.Shared. Credits every third-party work whose own text states holder and licence: fonts (Ubuntu, Montserrat from embedded notices, with UFL 1.0 and OFL 1.1 texts), shader header notices (Unity MIT, Supyrb, ACES, Ashima/Gustavson), icons. Tests: discovery of licence files, source-header scan, unreferenced-font review following SDF guids and fallback tables; each mutation-checked. Soul passes: clean at 63403c844 apart from low gaps in the header scan. Not run in Unity: menu focus and the 82-row detail pane. GameData untouched. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Twemoji, Playdead and the Noun Project icon credits, held against the licence files under Assets by CreditsTests.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Adds Liberation Sans (OFL), UniRx, KDTree, webgl-noise simplex noise and ambientCG to the list. CreditsTests now
matches LICEN[CS]E, COPYING, NOTICE, README, SOURCES, OFL files under Assets and requires each to be credited or
listed as reviewed-not-credited with a reason; credit notices are checked against what their files state. The
attribution heading is checked rather than skipped, the test states independent expectations, and the split Hurricane
line is joined.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
ShowCredits renders the selected credit as property rows instead of one multi-line label, refuses with a dialog when
the attribution TextAsset is missing or malformed, takes list rows out of automatic navigation, steps with Up/Down on
the focused Back button and leaves on Cancel. ScenarioPicker's focus hold moves to FocusHold so both screens share it.
The menu wiring test now strips comments before matching.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Prefabs reference the TMP SDF asset made from a font, not the .ttf, so matching the
font file guid alone could never fail. The unreferenced-font check now follows the
font guid and the guid of every Assets/Fonts file that references a guid already
followed (the font's own SDF asset, any SDF asset listing it as a fallback); a file
outside Assets/Fonts naming any of them is a use.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Commit 16cb82d09 said every third-party work whose own text states holder and licence
was credited. That was false: header-only notices were missed. Now credited, holder
and licence taken from each file's own text: Academy of Motion Picture Arts and
Sciences (ACES.hlsl, 2015), Unity Technologies 2016 MIT (the built-in shader sources
Particle Standard Unlit, StretchedSkybox, MaskedWorldSpaceUI, MaskedWorldSpaceAdditiveUI
and the three AdditiveUI shaders), Supyrb 2017 (AdditiveUI shaders; the header states
no licence for that portion), and Stefan Gustavson 2011 MIT (Celestial Body
SimplexNoise2.cginc).

The discovery test now also scans every Copyright line in .shader/.hlsl/.cginc/.cs/.compute
under Assets; its holder must appear in a credit notice or in ReviewedHeaders with the
reason. Microsoft Open Technologies (UniRx headers, no licence stated, points at a
License.txt that is not in the repo) is the one reviewed entry. The Unity headers point
at a license.txt that is likewise not in the repo.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
UFL-1.0.txt is the upstream Ubuntu Font Licence 1.0 text (google/fonts ufl/ubuntu/UFL.txt).
Montserrat-OFL-1.1.txt is the OFL 1.1 body, byte-for-byte the text already shipped with
Liberation Sans, headed by the copyright the Montserrat font embeds (Copyright(c) 2014 by
Julieta Ulanovsky) rather than the project's later authors line. The Ubuntu and
Montserrat credits now name these files as their LicenceFile; the test checks each
carries its licence, sits beside its fonts, and (OFL) the embedded holder.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
nibu merged commit 1c47036b7c into master 2026-11-12 16:27:17 +00:00
nibu deleted branch nibu/credits-screen 2026-11-12 16:27:17 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Aetheria!16
No description provided.