aboutsummaryrefslogtreecommitdiff
path: root/building_guide
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-09-29 14:15:06 -0400
committerhistoria <[not public]>2026-09-29 14:15:06 -0400
commit3db3071c444abb2133e1fcaf7e685095415c1adf (patch)
treea1d3c276aa7db2e89ea92a5751a81c197a1e1103 /building_guide
parent9803facd4368420a5dce3af59c835e13cb015cf5 (diff)
downloadthehouseoficarus-3db3071c444abb2133e1fcaf7e685095415c1adf.tar.gz
feat: better roulette wheel design
Diffstat (limited to 'building_guide')
-rw-r--r--building_guide/roulette.md23
1 files changed, 22 insertions, 1 deletions
diff --git a/building_guide/roulette.md b/building_guide/roulette.md
index 205e044..ac977a6 100644
--- a/building_guide/roulette.md
+++ b/building_guide/roulette.md
@@ -23,7 +23,28 @@ casino_tables:
European 37-pocket wheel is used. Spin ticks default to 3; betting ticks use
the shared default. Ticks follow the server's configured tick length.
The wheel order is authentic and the outcome is selected uniformly only when
-spinning finishes. The spinning illustration is intentionally schematic.
+spinning finishes.
+
+## Presentation
+
+Art is rendered per recipient in `internal/game/render_roulette.go`, so color
+mode and Unicode preference stay per player (the engine snapshot never embeds
+ANSI). Three views share one renderer:
+
+- **Betting board**: numbered grid with zeros in the left lane, red/black
+ pockets, and outside bets. Green background is reserved for the 0/00 cells.
+- **Spinning**: a large circular wheel with every pocket placed and colored;
+ the pocket count carries the real zero count (one green for European, two
+ for American), and a hub marks the ball.
+- **Result**: the winning pocket plus its two physical wheel neighbours at
+ playing-card size, with the ball inside the winning pocket and no
+ surrounding prose.
+
+The odds reminder (`Numbers 35:1 ...`) is not part of the ambient board. It is
+shown only by the `table` command (and `table rules`). Each table's one-line
+overview is kept short (`Label | Limits 1-10000 | n/m seated | state`) so it
+fits beside a look minimap; `writeLookSideBySide` also wraps any content line
+that would otherwise run into the map column.
Initial scope is **one wager per player per spin**, covering straight-up and
outside bets (colors, parity, high/low, dozens, columns). Multiple simultaneous