View layer: CategoryRowView (reusable x13 row with preview/recorded
score display), ScoreCardView (full scorecard panel with Russian
category names, upper bonus tracking), DicePanelView (5 dice buttons
with lock toggle + roll counter), GameInfoView (turn display + game
over overlay).
Controller layer: GameController bridges Model and View — subscribes
to model events in Awake() to catch GameManager.Start(), routes UI
clicks to game logic, computes preview scores for all unfilled
categories after each roll, handles upper section bonus (63+ = +35).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implements the core game loop for Yacht dice: 5-dice rolling with
lock/unlock, 3 rolls per turn, 13 standard scoring categories, and
an extensible ScriptableObject-based modifier system that applies
additive then multiplicative bonuses (chips+mult pattern).
Includes two test modifiers: BonusForOnes (+10 per 1) and
MultiplierForSixes (x6 per 6).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a coroutine-driven roller that tosses the dice with random impulse
and torque, waits for physics to settle, then smoothly snaps to the
nearest aligned face via Slerp. Exposes OnRollFinished event with the
rolled value.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>