# First-Person Dice The ivory/red identity and MASM triangle renderer are retained. Held dice are now integrated into the first four hand poses, with skin contact and shading, rather than painted as unrelated cubes over the palm. Once released, procedural MASM cubes take over at anchors measured from the last held sprite. The scene reuses the coin table/dealer art and adds sixteen generated hand poses with a full black-leather cuff. Preparation lasts 240 ms, followed by the original three-bounce curve remapped into the remaining 1360 ms. The unchanged parity wager settles once at 1600 ms. The stationary top faces and explicit Russian sum/payout strip reveal the result. Ready and result states do not consume random numbers during rendering. Rotation completes full revolutions with eased angular speed. The resting orientation is a yaw on the cloth plane, viewed from above, without sideways roll. A projected bottom-face contact shadow and soft ambient shadow attach each settled cube to the felt. Opposite faces sum to seven. Mouse buttons map into the original keyboard rules. Escape or the Exit button queues departure during a paid throw; settlement occurs before returning to the hall. W/S, arrows, 1/2 and Space remain supported. All rendering, input, animation, loading and gameplay are MASM. The Python script only normalizes a transparent sprite atlas offline. Built-in generation specification and provenance: `assets/sprites/dice/prompts-v2.json`. Verification: the native action suite covers 300 paid throws at four update rates, queued exits, mouse controls, missing-art fallback, six checkpoints and forty production-renderer animation frames, release-boundary snapshots and all six top-face results. `check_dice_scene.py --parity` compares shipped and tested procedures and checks native Russian result glyphs.