feat(rust): chat titles on the leaderboard (module-rust phase 17, M19) #53

Merged
whitlocktech merged 1 commits from feat/rust-phase-17-titles into edge 2026-09-25 23:31:57 +00:00
Member

M19, module-rust phase 17 (docs PLAN.md §33, D137).

  • RustLeaderboardRowDto.titles is a list of RustTitleDto(text, color). It defaults to empty, so an older module draws nothing.
  • The chips. Each title is a chip under the player's name, in a FlowRow, because the name column is too narrow to hold them beside it.
    • The chip is the operator's colour.
    • The ink is black or white, whichever has the higher WCAG contrast. This is the website's contrastInk rule, as titleArgb() and titleInkIsDark() in RustFormat.kt.
  • Tests. DTO decoding covers rows with titles, without them, and from an older module. Contrast is tested against the same four colours the website tests.

testDebugUnitTest lintDebug assembleDebug is green.

Walked on the emulator (s22_ultra) against the phase-17 module, with chips on the right rows.

  • AI-assisted: Claude Code (Claude Opus 5.5)

🤖 Generated with Claude Code

https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY

M19, module-rust phase 17 (docs PLAN.md §33, D137). - **`RustLeaderboardRowDto.titles`** is a list of `RustTitleDto(text, color)`. It defaults to empty, so an older module draws nothing. - **The chips.** Each title is a chip under the player's name, in a `FlowRow`, because the name column is too narrow to hold them beside it. - The chip is the operator's colour. - The ink is black or white, whichever has the higher WCAG contrast. This is the website's `contrastInk` rule, as `titleArgb()` and `titleInkIsDark()` in `RustFormat.kt`. - **Tests.** DTO decoding covers rows with titles, without them, and from an older module. Contrast is tested against the same four colours the website tests. `testDebugUnitTest lintDebug assembleDebug` is green. **Walked on the emulator (`s22_ultra`)** against the phase-17 module, with chips on the right rows. - [x] AI-assisted: Claude Code (Claude Opus 5.5) 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 1 commit 2026-09-25 23:26:59 +00:00
feat(rust): chat titles on the leaderboard (module-rust phase 17, M19)
All checks were successful
PR Checks / android-build (pull_request) Successful in 9m38s
96aae7239b
Each leaderboard row carries `titles: [{ text, color }]` from a phase-17
module: the chat titles the player holds now. Drawn as chips under the
name, in the operator's colour with black or white ink chosen by WCAG
contrast (the website's rule). Absent from an older module, so the field
defaults to empty and nothing is drawn.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
whitlocktech merged commit 63bdf824be into edge 2026-09-25 23:31:57 +00:00
whitlocktech deleted branch feat/rust-phase-17-titles 2026-09-25 23:31:58 +00:00
Sign in to join this conversation.
No description provided.