kaintuck: make status-bar chips tappable shortcuts

kaintuck: make status-bar chips tappable shortcuts

#60 in Riparion/riparion-retro — merged 2026-06-16

Summary

The DEBT, CARGO, and HULL chips in the river status bar now double as shortcuts at a town hub, letting the "AT THE LANDING" sheet shed redundant buttons:

  • DEBT → moneylender (where the town has one)
  • CARGO → the market (trade screen)
  • HULL → a repair drawer (boatwright, or patch-her-yourself)

The landing sheet now keeps only the convoy (sail alone / in company) choice, which has no chip of its own.

Implementation

  • retro-kit Chip gains an optional onclick: a shortcut chip gets a pointer cursor + real listener; a plain read-out gets neither (no stray no-op handler on every status chip).
  • The repair workflow moved into a dedicated RepairSheet component, mounted only when at a damaged-boat town.
  • Chip shortcuts only light up at Mode::Town, matching the engine's repair_in_port/self_repair guards; per-town facts (moneylender, boatyard, repair cost) are looked up only when on-hub.
  • Handlers created once via use_callback and passed as Some only when applicable (then_some).

Verification

  • cargo check --workspace clean (all games/examples build against the changed Chip); cargo clippy -p kaintuck clean.
  • kaintuck-engine golden trace stable (UI-only change).
  • Browser drive at Memphis (moneylender + boatyard town, in debt, damaged hull): all three chips navigate correctly and the HULL repair sheet opens into the viewport.

🤖 Generated with Claude Code

Last updated 2026-06-17