kaintuck: Natchez saloon UX + horse offer + Trace icons

kaintuck: Natchez saloon UX + horse offer + Trace icons

#57 in Riparion/riparion-retro — merged 2026-06-15

Streamlines the Natchez Under-the-Hill gambling flow, adds a one-time horse offer when setting out on the Trace, and improves the Trace route-memory icons.

Changes

Natchez gambling (dd214b2)

  • Card tables are now leavable mid-session: a "Leave the table — keep your chips" button in Faro/VingtUn's betting phase cashes out the current stake (the host already folds chips back into the purse, so no engine change).
  • The two card buttons collapse into one "Visit Under-the-Hill Saloon ▸" entry that opens its own submenu — kept data-driven via a new optional group field on SetPieceOption (Show::Group renders a submenu).
  • No more buy-in prompt: tapping a table sits you straight down with your whole purse as chips (the engine clamps + escrows it). You control risk per hand and rise with what you leave with.
  • Also folds in the pre-existing ?dev_start=natchez dev shortcut used to exercise this, plus the kaintuck Tailwind regen for the now-reachable card-table classes.

Horse offer on the Trace (5c17d8b)

  • Setting out from Natchez now asks once whether to buy a horse for the walk — only when you're afoot and can afford the dock price. Mounted or broke travellers are never asked; the offer clears the moment it's answered.
  • New one-time horse_offer state flag (serde-default for old saves); enter_trace raises it, answer_trace_horse settles it. Unit-tested (accept / decline / mounted / broke).

Trace route-memory icons (890b7e9)

  • Player rides as 🐎 when mounted, else tramps as 🥾 (code override on has_horse).
  • Exit marker 🚩 instead of >; swamp obstacles 🟤 (reads as mud) instead of the tile-like 🟫; side-trail keeps 🌲.

Tests

  • 78 engine tests pass; the golden trace hash is unchanged throughout (new state flag isn't snapshotted; icons are UI-only scenario params).

🤖 Generated with Claude Code

Last updated 2026-06-16