# Crash display model guide [Read as Markdown](/raw/game-model-crash.md) · [All game guides](/betting-models/) · [Measured native reference](/game-model-reference.json) ## Replacement skin support This game supports the [v2 skin contract](/game-skin-contract/). Replace the visible body and the exact named physical meshes listed at the end of this page. Use the surround and trim suggestions below to add matching scenery. Preserve the functional regions and state-dependent clearances described here. ## Station and display scale Use `crash:0`, asset `crash`, floor elevation Y = 0–64 and scale `[1,1,1]`. One Crash station is permitted per creator world. Its native root comes from the **props/display library** and uses source-to-world scale **0.63**, not the card-table scale. The bridge already performs this conversion. The main live screen is 16 × 9 source units, centered at `[0,6,0.4]`, before the 0.63 scale and station position/yaw. Its canvas is 1920 × 1080, a 16:9 aspect ratio. A custom frame must preserve the whole rectangle, not crop it to a square or the central multiplier. ## Live regions that need clearance | Region | Behavior | |---|---| | Graph and moving arrow | Presents the shared round's progression | | Large multiplier / status | Shows the current round or connection state | | Participant list at the right | Shows recent participant bets/results and player interactions | | Bottom primary control | Bet, placed/waiting state or Cash out depending on round and player state | | Bottom settings area | Opens the supported bet configuration when shown | | Round countdown/status | Indicates betting availability and progress | The bottom control changes shape: Cash out can occupy the whole action area, while other states show a separate Settings region. Do not install a fixed decorative divider across that row. The graph and readouts are dynamic overlays slightly forward of the static face; preserve their depth as well as width and height. The native `controls` array can be empty in the geometry reference because Crash's interactions are generated screen regions. No custom mesh button is needed, and adding one does not wire it to Cashout. The creator cannot supply a different graph algorithm, timer or settlement function. ## Buildable custom artwork Use separate outside frame pieces, a low support accent and a title beyond the screen. Keep the original display model in place. A hollow frame exported as one prop still has a solid collision box; split it into solid pieces that do not block the viewing approach. Position a large display where players can stand back far enough to see the right-side list and bottom row. Avoid a bar or planter directly below it that hides the controls when viewed from a player's eye height. A wall recess needs enough depth to avoid clipping the native overlays. Do not place a second transparent panel in front of the screen. Use static artwork for theme and title only. Do not bake a multiplier, a “cashout available” badge, a player balance or a countdown into a texture. The native client can display reconnecting/unavailable states, and those messages must remain readable. A decorative green light must not falsely imply that a financial action succeeded. ## State review Inspect betting-open, bet-placed, running, cashout-available, already-settled, crashed and reconnecting presentations in an authorized preview. Only the appropriate player/round state can offer Cashout. The interface must remain legible when the primary row expands and when status text is longer than a number. Check portrait and landscape views and the player's route to Settings. This is an artwork review, not authorization to place a wager; use a preview environment or the owner's explicitly authorized session for active states. ## AI brief ```text Get game_skin_contract for crash and download my current world draft. Build an original [theme] replacement body in Blender using the reference socket measurements and the preserved gameplay regions described in this guide. Upload static body/button assets; bind only the listed control/part sockets. Keep native labels, game values and collision. Use supported v2 placements, clips and result-motion channels for presentation changes. Save with game_skin_save and the current revision. Inspect the fitted model and report budgets and reviewed states. Do not upload code or publish via MCP. ``` Read [the full modeling workflow](/model-authoring-workflow/) for export and transfer details. ## Reference skin sockets (v1 and v2) Read `game_skin_contract({"game":"crash"})` before saving. The current fingerprint is `cfc756e6e012b67b`. The [live catalog](/game-skin-catalog.json) is authoritative if a copied example differs. The replacement body is fitted to station-local world bounds `[-5.8907691, 0, -0.9218462]` through `[5.8907691, 8.7504733, 0.9304616]`. Width, height and depth are `[11.7815381, 8.7504733, 1.8523077]`. These values already include source scale. Entity scale remains `[1,1,1]`. There are **no physical-button replacement sockets** for this game. Use `bindings: []`. The platform generates all clickable screen regions, their labels and state-dependent availability. The body can be replaced; the interactive display supports v2 placement and clips, with live content supplied by Betworld. Save a skin with `game: "crash"`, its current fingerprint, a converted `body` hash and the chosen `bindings`. Apply it only to existing `crash:` entities. Declare each binding in the skin manifest. Follow [the exact manifest and fitting rules](/game-skin-contract/) and [the export workflow](/model-authoring-workflow/). ## V2 layout and animation Fetch `game_skin_contract({"game":"crash"})`. Use `presentation.targets` to position the body, complete display and each listed physical control. Control labels and clickable proxies follow their target; action/index/seat identity stays the same. Numeric `idle` and `result` clips are supported. Use a `result` clip on `display` to animate the live presentation; this game has no separate card/coin/ball motion channel. Reference dimensions above describe the neutral layout before v2 placement. See the [exact fields, transforms and limits](/game-skin-contract/).