Files
ProLibertateGames/docs
Claude 30dcf026bd
CI / Build and check (pull_request) Successful in 20m42s
CI / Deploy to Cloudflare Pages (pull_request) Skipped
Katan: playable screen, setup options, dev-preview catalogue gate
Adds the Katan screen on top of the WALA-119 engine, built in separable layers
so the look, wording, layout and interaction can each be changed alone:

- CatanStyle: every colour and proportion (light/dark), via LocalCatanStyle
- CatanText: every word on screen (pure functions of state)
- CatanGeometry: lattice -> pixels and tap hit-testing (pure, unit-tested)
- CatanInteraction: what is tappable and what a tap means, derived only from the
  engine's legal-move list (pure, unit-tested)
- CatanBoardView / CatanPanels / CatanDialogs: stateless composables
- CatanScreen: wiring to MatchController, portrait and landscape layouts
- CatanPreviews: Android Studio previews of real positions
- docs/UI-catan.md: how to adapt each layer, rules of the road, known gaps

Wiring: PlayScreen branch, GameSetupScreen options (3-4 players, game to
5/8/10/12), and a GameDescriptor.devPreview flag so dev builds can open Katan
while production still hides it until two-device play is verified.

Tests: CatanGeometryTest, CatanInteractionTest, CatanTextTest, CatalogTest.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01JdMNbY5hLR7FjtfEE712xG
2026-10-14 22:24:45 +00:00
..
2026-08-06 13:34:31 +00:00
2026-08-07 05:52:26 +00:00
2026-08-06 03:25:09 +00:00
2026-08-06 18:09:10 +00:00

docs/

Conventions for this repo's documentation. Seeded at bootstrap (WALA-118).

Per-game rules: RULES-<game>.md

Every game in GameCatalog gets one file describing how this app implements it — not a generic rule dump. The rules code (app/src/main/java/org/prolibertate/games/game/<game>/) is the source of truth; the doc exists so a human or an agent can check intent against behaviour without reading Kotlin first.

Naming: the catalogue id, lowercase, e.g. crazy8s → RULES-crazy8s.md.

Game (catalogue id) Rules doc
Backgammon RULES-backgammon.md
Checkers RULES-checkers.md
Chess RULES-chess.md
Crazy 8s RULES-crazy8s.md
Cribbage RULES-cribbage.md
Euchre RULES-euchre.md
FreeCell — (TODO)
Golf RULES-golf.md
Hearts — (TODO)
Kaiser RULES-kaiser.md
Katan (catalogue id catan) RULES-catan.md
Klondike — (TODO)
Mastermind RULES-mastermind.md
Morris RULES-morris.md
Peg solitaire — (TODO)
Pirates RULES-pirates.md
President RULES-president.md
Pyramid — (TODO)
Sequence RULES-sequence.md
Spider — (TODO)
Ta Yü RULES-tayu.md
Wizard RULES-wizard.md
Yahtzee — (TODO)

Other docs

  • Build, CI, releases and OTA are described in the CI section of the root README.
  • UI-catan.md — how the Katan screen is layered, and how to restyle, re-copy or re-lay-out it without touching the rules.
  • licenses/ — third-party licences that must travel with the app (Uncial Antiqua under the SIL OFL; the app itself is GPL-3.0, see /LICENSE).
  • Repo-level agent notes live in CLAUDE.md at the root.