// ============================================================================= // CARD ART · SAWBLADE GAMES — 10 archetypes + 1 mythic // ============================================================================= const SAWBLADE_ART = { // ── WANTED DEAD OR WILD — wanted poster + revolvers ────────────────── gun: (c) => {/* Wanted poster frame */} {/* "WANTED" text */} WANTED {/* Face silhouette */} {/* Cowboy hat */} {/* Bandit mask */} {/* "DEAD OR ALIVE" */} DEAD OR WILD {/* Reward stars */} {/* Crossed revolvers below */} , // ── THE BANDIT — masked thief + money bag ──────────────────────────── bandit: (c) => {/* Spotlight */} {/* Cap/beret */} {/* Striped shirt */} {/* Face */} {/* Domino mask */} {/* Smirk */} {/* Money bag */} $ , // ── STACK UP — tower of chips ──────────────────────────────────────── stack: (c) => {/* Floor line */} {/* Chip stack — biggest first */} {[ {x: 22, y: 76, w: 56, h: 8, alpha: 0.3}, {x: 26, y: 68, w: 48, h: 8, alpha: 0.25}, {x: 30, y: 60, w: 40, h: 8, alpha: 0.22}, {x: 28, y: 52, w: 44, h: 8, alpha: 0.2}, {x: 32, y: 44, w: 36, h: 8, alpha: 0.18}, {x: 30, y: 36, w: 40, h: 8, alpha: 0.16}, {x: 36, y: 28, w: 28, h: 8, alpha: 0.14}, {x: 38, y: 20, w: 24, h: 8, alpha: 0.12}, ].map((r, i) => ( ))} {/* Chip $ on side stack */} $$$ x100 {/* Light reflection */} {/* Coins around base */} , // ── HOP & POP — bunny jumping + carrots ────────────────────────────── bunny: (c) => {/* Ground */} {/* Bouncing arc trail */} {/* Bunny body */} {/* Ears (tall) */} {/* Face */} {/* Feet (in motion) */} {/* Carrot */} {/* Speed lines */} , // ── CASH FRENZY — money rain + briefcase ───────────────────────────── cash: (c) => {/* Falling cash bills */} {[ {x: 14, y: 14, r: -15}, {x: 30, y: 22, r: 10}, {x: 76, y: 18, r: -8}, {x: 60, y: 28, r: 20}, {x: 86, y: 36, r: -25}, ].map((b, i) => ( ))} {/* Briefcase */} {/* Handle */} {/* Lock */} {/* Lines */} {/* Hinges */} {/* Cash stacks visible */} $$ $$ $$ , // ── RIPS CITY — cyberpunk skyline ──────────────────────────────────── cyber: (c) => {/* Sky grid (futuristic horizon) */} {[0, 1, 2, 3].map(i => ( ))} {/* Horizon */} {/* Buildings */} {/* Antenna on tallest */} {/* Windows */} {[{b:8,c:14}, {b:24,c:10}, {b:36,c:12}, {b:50,c:16}, {b:68,c:10}, {b:80,c:12}].map((b, i) => ( {[1,2,3,4,5,6,7].map(r => [0,1,2].map(col => ( 0.5 ? 0.6 : 0.2}/> )) )} ))} {/* Neon sign */} RIPS , // ── CHAOS GANG — graffiti + spray can ──────────────────────────────── chaos: (c) => {/* Brick wall */} {/* Brick lines */} {[20, 32, 44, 56, 68, 80].map((y, i) => ( {i % 2 === 0 ? <> : <> } ))} {/* Graffiti splatter */} {/* Tag text */} CHAOS {/* Spray can */} {/* Spray cloud */} , // ── BEAM TEAM — astronaut + laser beam ─────────────────────────────── beam: (c) => {/* Stars */} {/* Planet behind */} {/* Astronaut suit */} {/* Helmet visor */} {/* Body */} {/* Backpack */} {/* Antenna */} {/* Laser blaster */} {/* Laser beam */} {/* Boots */} , // ── ITERA — 4-phase nested circles ─────────────────────────────────── itero: (c) => {/* Outer ring with notches */} {[0, 45, 90, 135, 180, 225, 270, 315].map(a => { const x1 = 50 + 38 * Math.cos(a * Math.PI/180); const y1 = 50 + 38 * Math.sin(a * Math.PI/180); const x2 = 50 + 46 * Math.cos(a * Math.PI/180); const y2 = 50 + 46 * Math.sin(a * Math.PI/180); return ; })} {/* 4 quadrants colored */} {/* Cross dividers */} {/* Inner rings */} {/* Center */} {/* Quadrant labels */} x2 x5 x10 x25 , // ── AZTEC NUDGE — pyramid + sun god ────────────────────────────────── aztec: (c) => {/* Sun behind */} {[0, 30, 60, 90, 120, 150, 180].map(a => { const x1 = 50 + 11 * Math.cos((a-180) * Math.PI/180); const y1 = 22 + 11 * Math.sin((a-180) * Math.PI/180); const x2 = 50 + 15 * Math.cos((a-180) * Math.PI/180); const y2 = 22 + 15 * Math.sin((a-180) * Math.PI/180); return ; })} {/* Step pyramid */} {/* Steps detail */} {/* Doorway */} {/* Sun mask in doorway */} {/* Glyphs on side */} {/* Ground */} , // ── MYTHIC: NOON DUEL — sun + dueling pistols ──────────────────────── 'gun-mythic': (c) => {/* Sun rays — many */} {[0, 22.5, 45, 67.5, 90, 112.5, 135, 157.5, 180, 202.5, 225, 247.5, 270, 292.5, 315, 337.5].map(a => { const x = 50 + 38 * Math.cos(a * Math.PI/180); const y = 50 + 38 * Math.sin(a * Math.PI/180); return ; })} {/* Center sun disk */} {/* Crossed pistols on top */} {/* Bullet hole */} , }; window.SAWBLADE_ART = SAWBLADE_ART;