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="Door 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">Door</text>
|
|
<g filter="url(#w)" stroke="#252923" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M40 121V48q31-24 64 0v73" fill="#58635e"/><path d="M51 121V57q21-17 42 0v64Z" fill="#9a673e"/><circle cx="84" cy="87" r="3" fill="#f1c44b"/><path d="M40 61l11 5m42 0l11-6M43 95l8-3m42 1l10 5" fill="none" stroke="#bec3b7"/></g>
|
|
</svg> |