The hand-drawn SVG token set wires in behind deliberately undocumented query params — svgPlayers, svgCreatures, svgTerrain, svgObjects, each =true — swapping that category's art everywhere it draws: board tokens, lobby standees, roster. public/tokens-svg symlinks research/tokens-svg, so under the dev server an edit to the source art shows on the next refresh, and the production build copies real files through the link. Nobody finds the door unless handed the key; the photographed set remains the face of the game. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
10 lines
1.2 KiB
XML
10 lines
1.2 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 144 150" role="img" aria-label="Rosebush token">
|
|
<defs>
|
|
<filter id="w"><feTurbulence baseFrequency=".035" numOctaves="2" seed="4" result="n"/><feDisplacementMap in="SourceGraphic" in2="n" scale=".65"/></filter>
|
|
<filter id="s"><feGaussianBlur stdDeviation="2"/></filter>
|
|
<pattern id="paper" width="12" height="12" patternUnits="userSpaceOnUse"><rect width="12" height="12" fill="#f4efd9"/><circle cx="2" cy="4" r=".45" fill="#c8bfa4" opacity=".28"/><path d="M1 10l7-1" stroke="#d8cfb8" stroke-width=".35" opacity=".35"/></pattern>
|
|
</defs>
|
|
<rect x="2" y="2" width="140" height="146" rx="3" fill="url(#paper)" stroke="#242822" stroke-width="2"/>
|
|
<text x="72" y="19" text-anchor="middle" font-family="Trebuchet MS,Arial,sans-serif" font-weight="700" font-size="14" fill="#20251f">Rosebush</text>
|
|
<g filter="url(#w)" stroke="#252923" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M29 114q8-47 40-40-4-31 19-16 29-5 29 28 21 24-11 34Z" fill="#237148"/><path d="M42 111l52-47M50 72l45 39" fill="none" stroke="#174e32" stroke-width="5"/><g fill="#d6336c"><circle cx="45" cy="83" r="8"/><circle cx="78" cy="61" r="8"/><circle cx="102" cy="88" r="9"/><circle cx="75" cy="103" r="7"/></g></g>
|
|
</svg> |