Restore the Pro Libertate Games title and splash; list Katan under Board Games
Build and Release APK / Build APK and publish release (push) Canceled after 0s

The bootstrap rebranded the app to Pilgrims of Katan (WALA-118 review);
the decision is to keep the upstream's own identity instead.

- Title and splash: the upstream originals restored exactly — the Wallace
  tartan splash under the "Pro Libertate Games" uncial wordmark
  (SplashScreen.kt, Tartan.kt), the tartan launcher icon, and the
  Theme.ProLibertateGames window theme. The game screens go back to the
  upstream WallaceGold/WallaceRed accents the tartan is woven from.
- Names and colours: launcher names back to "Pro Libertate Games" /
  "Pro Libertate Games DEV"; the channel colours back to the clan red /
  hunting green setts (resValue tartan_field and friends). The installed
  identity stays ca.wallacenet.pilgrimsofkatan (+ .dev) — that is the
  package, not the brand.
- Catalogue: Katan is listed under Board Games (3-4 players, original
  blurb, no third-party marks) with available = false, so dev builds show
  it as "Coming soon" and a production build hides it until its engine
  and screen land.
- Docs: README/CLAUDE.md/docs/CI.md updated to the restored identity;
  CatalogTest's invariant now names Katan as the one deliberate exception
  rather than asserting nothing is unfinished.

Structural bootstrap untouched: applicationId, OTA repointed at the Gitea
releases, CI workflows, version stamping.

Verified: ./gradlew assembleDebug and testDebugUnitTest green — 628 tests,
0 failures.

Co-Authored-By: Paperclip <[email protected]>
This commit is contained in:
adrianoftyriel
2026-10-14 02:15:30 +00:00
co-authored by Paperclip
parent 05c443a4b5
commit 5c797c8807
22 changed files with 527 additions and 187 deletions
+17 -15
View File
@@ -40,9 +40,9 @@ val versionSeries = (project.findProperty("plgVersionSeries") as String?) ?: "1.
//
// This one flag drives everything that makes a dev build a separate app rather
// than a replacement for the production one — its own applicationId, its own
// launcher name, and its own brand colour. They have to move together: a dev
// package wearing the production name and colours is exactly the confusion
// having both installed is meant to avoid.
// launcher name, and the hunting sett in place of the clan sett. They have to
// move together: a dev package wearing the production name and colours is
// exactly the confusion having both installed is meant to avoid.
val isDevBuild = buildChannel != "production"
android {
@@ -83,19 +83,21 @@ android {
resValue(
"string",
"app_name",
if (isDevBuild) "Pilgrims of Katan DEV" else "Pilgrims of Katan",
if (isDevBuild) "Pro Libertate Games DEV" else "Pro Libertate Games",
)
// The one colour that separates the two installs: slate blue on
// production, deep green on dev. The launcher icon and the splash are
// both built from it, so the drawer shows at a glance which of the two
// copies is which — the two have to stay in step or the icon and the
// splash it opens on would be different brands.
resValue("color", "brand_field", if (isDevBuild) "#2A6B54" else "#2B4A78")
// A darker shade of the same hue, held behind the window for the
// instant before the splash draws, so a launch never flashes the wrong
// colour.
resValue("color", "splash_background", if (isDevBuild) "#153B2F" else "#182A44")
// The one colour that separates the two setts: Wallace red for
// production, Wallace Hunting green for dev. The icon vectors reference
// this rather than a literal, and Tartan.kt picks the matching Compose
// colour off DEV_BUILD below — the two have to stay in step or the
// launcher icon and the splash it opens on would be different cloth.
resValue("color", "tartan_field", if (isDevBuild) "#1E7A3C" else "#E01B24")
// Shades of the same field, so a launch does not flash the wrong colour
// before the tartan is drawn: splash_background is held behind the
// window for that instant, ic_launcher_background is the icon's flat
// fallback.
resValue("color", "splash_background", if (isDevBuild) "#0D2E17" else "#4A0B10")
resValue("color", "ic_launcher_background", if (isDevBuild) "#145C2D" else "#B3121B")
buildConfigField("boolean", "DEV_BUILD", isDevBuild.toString())
@@ -131,7 +133,7 @@ android {
buildFeatures {
compose = true
// For DEV_BUILD, which is how the Compose splash picks its brand colour.
// For DEV_BUILD, which is how the Compose tartan picks its sett.
buildConfig = true
}